SYMBOL INDEX (12141 symbols across 620 files) FILE: compute_tools/src/bin/compute_ctl.rs type Cli (line 65) | struct Cli { method parse_remote_ext_base_url (line 162) | fn parse_remote_ext_base_url(value: &str) -> Result { method parse_privileged_role_name (line 180) | fn parse_privileged_role_name(value: &str) -> Result { function get_external_http_port (line 197) | fn get_external_http_port(cli: &Cli) -> u16 { function get_internal_http_port (line 203) | fn get_internal_http_port(cli: &Cli) -> u16 { function main (line 213) | fn main() -> Result<()> { function init (line 289) | fn init( function get_config (line 310) | fn get_config(cli: &Cli) -> Result { function deinit_and_exit (line 332) | fn deinit_and_exit(tracing_provider: Option, ex... function handle_exit_signal (line 362) | fn handle_exit_signal(sig: i32, dev_mode: bool) { function verify_cli (line 376) | fn verify_cli() { function verify_remote_ext_base_url (line 381) | fn verify_remote_ext_base_url() { function verify_privileged_role_name (line 420) | fn verify_privileged_role_name() { FILE: compute_tools/src/bin/fast_import.rs constant PG_WAIT_TIMEOUT (line 45) | const PG_WAIT_TIMEOUT: std::time::Duration = std::time::Duration::from_s... constant PG_WAIT_RETRY_INTERVAL (line 46) | const PG_WAIT_RETRY_INTERVAL: std::time::Duration = std::time::Duration:... type Command (line 49) | enum Command { method as_str (line 89) | fn as_str(&self) -> &'static str { type Args (line 98) | struct Args { type Spec (line 114) | struct Spec { type EncryptionSecret (line 123) | enum EncryptionSecret { constant DEFAULT_LOCALE (line 129) | const DEFAULT_LOCALE: &str = if cfg!(target_os = "macos") { function decode_connstring (line 135) | async fn decode_connstring( type PostgresProcess (line 158) | struct PostgresProcess { method new (line 167) | fn new(pgdata_dir: Utf8PathBuf, pg_bin_dir: Utf8PathBuf, pg_lib_dir: U... method prepare (line 177) | async fn prepare(&self, initdb_user: &str) -> Result<(), anyhow::Error> { method start (line 196) | async fn start( method shutdown (line 258) | async fn shutdown(&mut self) -> Result<(), anyhow::Error> { function wait_until_ready (line 273) | async fn wait_until_ready(connstring: String, create_dbname: String) { function run_dump_restore (line 330) | async fn run_dump_restore( function cmd_pgdata (line 448) | async fn cmd_pgdata( function cmd_dumprestore (line 543) | async fn cmd_dumprestore( function main (line 600) | pub(crate) async fn main() -> anyhow::Result<()> { FILE: compute_tools/src/bin/fast_import/aws_s3_sync.rs constant MAX_PARALLEL_UPLOADS (line 8) | const MAX_PARALLEL_UPLOADS: usize = 10; function upload_dir_recursive (line 11) | pub(crate) async fn upload_dir_recursive( function upload_file (line 83) | pub(crate) async fn upload_file( FILE: compute_tools/src/bin/fast_import/child_stdio_to_log.rs function relay_process_output (line 13) | pub(crate) async fn relay_process_output(stdout: Option, st... FILE: compute_tools/src/bin/fast_import/s3_uri.rs type S3Uri (line 7) | pub struct S3Uri { method append (line 40) | pub fn append(&self, suffix: &str) -> Self { method fmt (line 49) | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { type Value (line 55) | type Value = Self; method parse_ref (line 57) | fn parse_ref( type Err (line 13) | type Err = anyhow::Error; method from_str (line 16) | fn from_str(uri: &str) -> Result { FILE: compute_tools/src/catalog.rs function get_dbs_and_roles (line 19) | pub async fn get_dbs_and_roles(compute: &Arc) -> anyhow::Re... type SchemaDumpError (line 40) | pub enum SchemaDumpError { function get_database_schema (line 57) | pub async fn get_database_schema( FILE: compute_tools/src/checker.rs function check_writability (line 10) | pub async fn check_writability(compute: &ComputeNode) -> Result<()> { FILE: compute_tools/src/communicator_socket_client.rs constant NEON_COMMUNICATOR_SOCKET_NAME (line 14) | const NEON_COMMUNICATOR_SOCKET_NAME: &str = "neon-communicator.socket"; function connect_communicator_socket (line 18) | pub async fn connect_communicator_socket(pgdata: &Path) -> anyhow::Re... FILE: compute_tools/src/compute.rs constant BUILD_TAG_DEFAULT (line 71) | const BUILD_TAG_DEFAULT: &str = "latest"; constant DEFAULT_INSTALLED_EXTENSIONS_COLLECTION_INTERVAL (line 80) | const DEFAULT_INSTALLED_EXTENSIONS_COLLECTION_INTERVAL: u64 = 3600; type ComputeNodeParams (line 85) | pub struct ComputeNodeParams { type TaskHandle (line 136) | type TaskHandle = Mutex>>; type ComputeNode (line 139) | pub struct ComputeNode { method new (line 570) | pub fn new(params: ComputeNodeParams, config: ComputeConfig) -> Result... method run (line 627) | pub fn run(self) -> Result> { method wait_spec (line 752) | pub fn wait_spec(&self) -> Result { method start_compute (line 793) | fn start_compute(self: &Arc, pg_handle: &mut Option Res... method start_vm_monitor (line 1091) | fn start_vm_monitor(&self, disable_lfc_resizing: bool) -> StartVmMonit... method cleanup_after_postgres_exit (line 1128) | fn cleanup_after_postgres_exit(&self) -> Result { method has_feature (line 1168) | pub fn has_feature(&self, feature: ComputeFeature) -> bool { method set_status (line 1178) | pub fn set_status(&self, status: ComputeStatus) { method set_failed_status (line 1183) | pub fn set_failed_status(&self, err: anyhow::Error) { method get_status (line 1188) | pub fn get_status(&self) -> ComputeStatus { method get_timeline_id (line 1192) | pub fn get_timeline_id(&self) -> Option { method create_pgdata (line 1202) | fn create_pgdata(&self) -> Result<()> { method try_get_basebackup (line 1223) | fn try_get_basebackup(&self, compute_state: &ComputeState, lsn: Lsn) -... method fix_zenith_signal_neon_signal (line 1246) | fn fix_zenith_signal_neon_signal(&self) -> Result<()> { method try_get_basebackup_grpc (line 1266) | fn try_get_basebackup_grpc(&self, spec: &ParsedSpec, lsn: Lsn) -> Resu... method try_get_basebackup_libpq (line 1311) | fn try_get_basebackup_libpq(&self, spec: &ParsedSpec, lsn: Lsn) -> Res... method get_basebackup (line 1382) | pub fn get_basebackup(&self, compute_state: &ComputeState, lsn: Lsn) -... method check_safekeepers_synced_async (line 1413) | pub async fn check_safekeepers_synced_async( method check_safekeepers_synced (line 1489) | pub fn check_safekeepers_synced(&self, compute_state: &ComputeState) -... method sync_safekeepers (line 1507) | pub fn sync_safekeepers(&self, storage_auth_token: Option) -> ... method sync_safekeepers_with_retries (line 1563) | fn sync_safekeepers_with_retries(&self, storage_auth_token: Option Result<(... method prewarm_postgres_vm_memory (line 1728) | pub fn prewarm_postgres_vm_memory(&self) -> Result<()> { method start_postgres (line 1789) | pub fn start_postgres(&self, storage_auth_token: Option) -> Re... method wait_postgres (line 1841) | fn wait_postgres(&self, mut pg_handle: PostgresHandle) -> std::process... method post_apply_config (line 1862) | pub fn post_apply_config(&self) -> Result<()> { method get_conn_conf (line 1886) | pub fn get_conn_conf(&self, application_name: Option<&str>) -> postgre... method get_tokio_conn_conf (line 1894) | pub fn get_tokio_conn_conf(&self, application_name: Option<&str>) -> t... method get_maintenance_client (line 1902) | pub async fn get_maintenance_client( method apply_config (line 1972) | pub fn apply_config(&self, compute_state: &ComputeState) -> Result<()> { method signal_refresh_configuration (line 2047) | pub async fn signal_refresh_configuration(&self) -> Result<()> { method pg_reload_conf (line 2074) | fn pg_reload_conf(&self) -> Result<()> { method reconfigure (line 2089) | pub fn reconfigure(&self) -> Result<()> { method configure_as_primary (line 2179) | pub fn configure_as_primary(&self, compute_state: &ComputeState) -> Re... method watch_cert_for_changes (line 2212) | pub async fn watch_cert_for_changes(self: Arc) { method tls_config (line 2265) | pub fn tls_config(&self, spec: &ComputeSpec) -> &Option { method update_last_active (line 2274) | pub fn update_last_active(&self, last_active: Option>) { method check_for_core_dumps (line 2296) | pub fn check_for_core_dumps(&self) -> Result<()> { method collect_insights (line 2370) | pub async fn collect_insights(&self) -> String { method download_extension (line 2410) | pub async fn download_extension( method set_role_grants (line 2495) | pub async fn set_role_grants( method install_extension (line 2552) | pub async fn install_extension( method prepare_preload_libraries (line 2602) | pub async fn prepare_preload_libraries( method wait_timeout_while_pageserver_connstr_unchanged (line 2693) | pub fn wait_timeout_while_pageserver_connstr_unchanged(&self, duration... method spawn_extension_stats_task (line 2719) | pub fn spawn_extension_stats_task(&self) { method terminate_extension_stats_task (line 2755) | fn terminate_extension_stats_task(&self) { method spawn_lfc_offload_task (line 2761) | pub fn spawn_lfc_offload_task(self: &Arc, interval: Duration) { method terminate_lfc_offload_task (line 2794) | fn terminate_lfc_offload_task(&self) { method update_installed_extensions_collection_interval (line 2800) | fn update_installed_extensions_collection_interval(&self, spec: &Compu... method set_spec (line 2819) | pub fn set_spec(params: &ComputeNodeParams, state: &mut ComputeState, ... method update_attached_metric (line 2825) | pub fn update_attached_metric(params: &ComputeNodeParams, state: &mut ... type RemoteExtensionMetrics (line 166) | pub struct RemoteExtensionMetrics { type ComputeState (line 173) | pub struct ComputeState { method new (line 211) | pub fn new() -> Self { method set_status (line 229) | pub fn set_status(&mut self, status: ComputeStatus, state_changed: &Co... method set_failed_status (line 241) | pub fn set_failed_status(&mut self, err: anyhow::Error, state_changed:... method default (line 248) | fn default() -> Self { type ParsedSpec (line 254) | pub struct ParsedSpec { method validate (line 267) | pub fn validate(&self) -> Result<(), String> { type Error (line 306) | type Error = anyhow::Error; method try_from (line 307) | fn try_from(spec: ComputeSpec) -> Result { function maybe_cgexec (line 412) | fn maybe_cgexec(cmd: &str) -> Command { type PostgresHandle (line 426) | struct PostgresHandle { method pid (line 433) | fn pid(&self) -> Pid { type StartVmMonitorResult (line 438) | struct StartVmMonitorResult { function create_databricks_roles (line 449) | pub(crate) fn create_databricks_roles() -> Vec { type DatabricksEnvVars (line 506) | pub struct DatabricksEnvVars { method new (line 518) | pub fn new( constant DATABRICKS_ENDPOINT_ID_ENVVAR (line 547) | const DATABRICKS_ENDPOINT_ID_ENVVAR: &'static str = "DATABRICKS_ENDPOI... constant DATABRICKS_WORKSPACE_HOST_ENVVAR (line 548) | const DATABRICKS_WORKSPACE_HOST_ENVVAR: &'static str = "DATABRICKS_WOR... method to_env_var_list (line 551) | pub fn to_env_var_list(self) -> Vec<(String, String)> { function installed_extensions (line 2846) | pub async fn installed_extensions(conf: tokio_postgres::Config) -> Resul... function forward_termination_signal (line 2860) | pub fn forward_termination_signal(dev_mode: bool) { type JoinSetExt (line 2934) | trait JoinSetExt { method spawn_blocking_child (line 2935) | fn spawn_blocking_child(&mut self, f: F) -> tokio::task::AbortHandle function spawn_blocking_child (line 2942) | fn spawn_blocking_child(&mut self, f: F) -> tokio::task::AbortHandle function duplicate_safekeeper_connstring (line 2962) | fn duplicate_safekeeper_connstring() { FILE: compute_tools/src/compute_prewarm.rs type EndpointStoragePair (line 16) | struct EndpointStoragePair { method from_spec_and_endpoint (line 25) | fn from_spec_and_endpoint( constant KEY (line 21) | const KEY: &str = "lfc_state"; method lfc_prewarm_state (line 49) | pub async fn lfc_prewarm_state(&self) -> LfcPrewarmState { method lfc_offload_state (line 53) | pub fn lfc_offload_state(&self) -> LfcOffloadState { method prewarm_lfc (line 59) | pub fn prewarm_lfc(self: &Arc, from_endpoint: Option) -> b... method endpoint_storage_pair (line 94) | fn endpoint_storage_pair(&self, from_endpoint: Option) -> Result... method prewarm_impl (line 100) | async fn prewarm_impl( method offload_lfc (line 188) | pub fn offload_lfc(self: &Arc) -> bool { method offload_lfc_async (line 203) | pub async fn offload_lfc_async(self: &Arc) { method offload_lfc_with_state_update (line 216) | async fn offload_lfc_with_state_update(&self) { method offload_lfc_impl (line 230) | async fn offload_lfc_impl(&self) -> Result { method cancel_prewarm (line 280) | pub fn cancel_prewarm(self: &Arc) { FILE: compute_tools/src/compute_promote.rs method promote (line 12) | pub async fn promote(self: &std::sync::Arc, cfg: PromoteConfig) ->... method promote_impl (line 41) | async fn promote_impl(&self, cfg: PromoteConfig) -> anyhow::Result Result { function write_postgres_conf (line 49) | pub fn write_postgres_conf( function with_compute_ctl_tmp_override (line 385) | pub fn with_compute_ctl_tmp_override(pgdata_path: &Path, options: &st... FILE: compute_tools/src/configurator.rs function configurator_main_loop (line 13) | fn configurator_main_loop(compute: &Arc) { function launch_configurator (line 197) | pub fn launch_configurator(compute: &Arc) -> thread::JoinHa... FILE: compute_tools/src/disk_quota.rs constant DISK_QUOTA_BIN (line 4) | pub const DISK_QUOTA_BIN: &str = "/neonvm/bin/set-disk-quota"; function set_disk_quota (line 9) | pub fn set_disk_quota(size_bytes: u64, fs_mountpoint: &str) -> anyhow::R... FILE: compute_tools/src/extension_server.rs function get_pg_config (line 91) | fn get_pg_config(argument: &str, pgbin: &str) -> String { function get_pg_version (line 109) | pub fn get_pg_version(pgbin: &str) -> PgMajorVersion { function get_pg_version_string (line 116) | pub fn get_pg_version_string(pgbin: &str) -> String { function parse_pg_version (line 120) | fn parse_pg_version(human_version: &str) -> PgMajorVersion { function download_extension (line 145) | pub async fn download_extension( function create_control_files (line 229) | pub fn create_control_files(remote_extensions: &RemoteExtSpec, pgbin: &s... function download_extension_tar (line 262) | async fn download_extension_tar(remote_ext_base_url: &Url, ext_path: &st... function do_extension_server_request (line 296) | async fn do_extension_server_request(uri: Url) -> Result Vec { function initialize_metrics (line 56) | pub fn initialize_metrics() { FILE: compute_tools/src/http/extract/json.rs type Json (line 11) | pub(crate) struct Json(pub T); type Rejection (line 18) | type Rejection = (StatusCode, axum::Json); function from_request (line 20) | async fn from_request(req: Request, state: &S) -> Result &Self::Target { method deref_mut (line 42) | fn deref_mut(&mut self) -> &mut Self::Target { FILE: compute_tools/src/http/extract/path.rs type Path (line 12) | pub(crate) struct Path(pub T); type Rejection (line 19) | type Rejection = (StatusCode, axum::Json); function from_request_parts (line 21) | async fn from_request_parts(parts: &mut Parts, state: &S) -> Result &Self::Target { method deref_mut (line 43) | fn deref_mut(&mut self) -> &mut Self::Target { FILE: compute_tools/src/http/extract/query.rs type Query (line 12) | pub(crate) struct Query(pub T); type Rejection (line 19) | type Rejection = (StatusCode, axum::Json); function from_request_parts (line 21) | async fn from_request_parts(parts: &mut Parts, state: &S) -> Result &Self::Target { method deref_mut (line 43) | fn deref_mut(&mut self) -> &mut Self::Target { FILE: compute_tools/src/http/extract/request_id.rs type RequestId (line 13) | pub(crate) struct RequestId(pub String); type Rejection (line 55) | type Rejection = RequestIdRejection; method from_request_parts (line 57) | async fn from_request_parts(parts: &mut Parts, _state: &S) -> Result StatusCode { method message (line 36) | pub fn message(&self) -> String { method into_response (line 46) | fn into_response(self) -> axum::response::Response { type Target (line 69) | type Target = String; method deref (line 71) | fn deref(&self) -> &Self::Target { method deref_mut (line 77) | fn deref_mut(&mut self) -> &mut Self::Target { method fmt (line 83) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: compute_tools/src/http/headers.rs constant X_REQUEST_ID (line 2) | pub const X_REQUEST_ID: &str = "x-request-id"; FILE: compute_tools/src/http/middleware/authorize.rs type Authorize (line 17) | pub(in crate::http) struct Authorize { method new (line 28) | pub fn new(compute_id: String, instance_id: Option, jwks: JwkS... type RequestBody (line 61) | type RequestBody = Body; type ResponseBody (line 62) | type ResponseBody = Body; type Future (line 63) | type Future = BoxFuture<'static, Result, Response) -> Self::Future { method verify (line 147) | fn verify( FILE: compute_tools/src/http/middleware/request_id.rs function maybe_add_request_id_header (line 9) | pub async fn maybe_add_request_id_header(mut request: Request, next: Nex... FILE: compute_tools/src/http/mod.rs type JsonResponse (line 16) | struct JsonResponse; method create_response (line 20) | fn create_response(code: StatusCode, body: impl Serialize) -> Response { method success (line 29) | pub(self) fn success(code: StatusCode, body: impl Serialize) -> Respon... method error (line 40) | pub(self) fn error(code: StatusCode, error: impl ToString) -> Response { method invalid_status (line 50) | pub(self) fn invalid_status(status: ComputeStatus) -> Response { FILE: compute_tools/src/http/routes/check_writability.rs function is_writable (line 13) | pub(in crate::http) async fn is_writable(State(compute): State; type FailpointConfig (line 11) | pub struct FailpointConfig { function configure_failpoints (line 24) | pub(in crate::http) async fn configure_failpoints( FILE: compute_tools/src/http/routes/grants.rs function add_grant (line 14) | pub(in crate::http) async fn add_grant( FILE: compute_tools/src/http/routes/hadron_liveness_probe.rs function hadron_liveness_probe (line 9) | pub(in crate::http) async fn hadron_liveness_probe( FILE: compute_tools/src/http/routes/insights.rs function get_insights (line 12) | pub(in crate::http) async fn get_insights(State(compute): State Json Json Response { function cancel_prewarm (line 49) | pub(in crate::http) async fn cancel_prewarm(compute: Compute) -> StatusC... FILE: compute_tools/src/http/routes/metrics.rs function get_metrics (line 21) | pub(in crate::http) async fn get_metrics() -> Response { function get_autoscaling_metrics (line 57) | pub(in crate::http) async fn get_autoscaling_metrics( FILE: compute_tools/src/http/routes/metrics_json.rs function get_metrics (line 11) | pub(in crate::http) async fn get_metrics(State(compute): State Self { FILE: compute_tools/src/http/routes/promote.rs function promote (line 6) | pub(in crate::http) async fn promote( FILE: compute_tools/src/http/routes/refresh_configuration.rs function refresh_configuration (line 21) | pub(in crate::http) async fn refresh_configuration( FILE: compute_tools/src/http/routes/status.rs function get_status (line 13) | pub(in crate::http) async fn get_status(State(compute): State impl IntoResponse { method handle_405 (line 181) | async fn handle_405() -> impl IntoResponse { method listener (line 185) | async fn listener(&self) -> Result { method ip (line 192) | fn ip(&self) -> IpAddr { method port (line 201) | fn port(&self) -> u16 { method serve (line 208) | async fn serve(self, compute: Arc) { method launch (line 240) | pub fn launch(self, compute: &Arc) { method fmt (line 52) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function from (line 61) | fn from(server: &Server) -> Self { FILE: compute_tools/src/installed_extensions.rs function list_dbs (line 15) | async fn list_dbs(client: &mut Client) -> Result, PostgresEr... function get_installed_extensions (line 42) | pub async fn get_installed_extensions( function initialize_metrics (line 124) | pub fn initialize_metrics() { FILE: compute_tools/src/local_proxy.rs function configure (line 12) | pub fn configure(local_proxy: &LocalProxySpec) -> Result<()> { function write_local_proxy_conf (line 20) | fn write_local_proxy_conf(path: &Utf8Path, local_proxy: &LocalProxySpec)... function notify_local_proxy (line 29) | fn notify_local_proxy(path: &Utf8Path) -> Result<()> { FILE: compute_tools/src/logger.rs function init_tracing_and_logging (line 19) | pub fn init_tracing_and_logging( function inlinify (line 80) | pub fn inlinify(s: &str) -> String { function startup_context_from_env (line 84) | pub fn startup_context_from_env() -> Option { constant UNKNOWN_IDS (line 132) | const UNKNOWN_IDS: &str = r#""pg_instance_id": "", "pg_compute_id": """#; function update_ids (line 135) | pub fn update_ids(instance_id: &Option, compute_id: &Option io::Result { method flush (line 216) | fn flush(&mut self) -> io::Result<()> { type Writer (line 222) | type Writer = Self; method make_writer (line 224) | fn make_writer(&self) -> Self::Writer { function test_log_pg_json_shape_formatter (line 230) | fn test_log_pg_json_shape_formatter() { FILE: compute_tools/src/lsn_lease.rs function launch_lsn_lease_bg_task_for_static (line 19) | pub fn launch_lsn_lease_bg_task_for_static(compute: &Arc) { function lsn_lease_bg_task (line 41) | fn lsn_lease_bg_task( function acquire_lsn_lease_with_retry (line 68) | fn acquire_lsn_lease_with_retry( function try_acquire_lsn_lease (line 112) | fn try_acquire_lsn_lease( function acquire_lsn_lease_libpq (line 158) | fn acquire_lsn_lease_libpq( function acquire_lsn_lease_grpc (line 194) | fn acquire_lsn_lease_grpc( FILE: compute_tools/src/metrics.rs type CPlaneRequestRPC (line 21) | pub enum CPlaneRequestRPC { method as_str (line 26) | pub fn as_str(&self) -> &str { constant UNKNOWN_HTTP_STATUS (line 33) | pub const UNKNOWN_HTTP_STATUS: &str = "unknown"; function collect (line 132) | pub fn collect() -> Vec { FILE: compute_tools/src/migration.rs type MigrationRunner (line 9) | pub(crate) struct MigrationRunner<'m> { function new (line 17) | pub fn new(client: &'m mut Client, migrations: &'m [&'m str], lakebase_m... function get_migration_id (line 29) | async fn get_migration_id(&mut self) -> Result { function update_migration_id (line 43) | async fn update_migration_id(txn: &mut Transaction<'_>, migration_id: i6... function prepare_database (line 75) | async fn prepare_database(&mut self) -> Result<()> { function run_migration (line 96) | async fn run_migration(client: &mut Client, migration_id: i64, migration... function run_migrations (line 127) | pub async fn run_migrations(mut self) -> Result<()> { FILE: compute_tools/src/monitor.rs constant PG_DEFAULT_INIT_TIMEOUIT (line 14) | const PG_DEFAULT_INIT_TIMEOUIT: Duration = Duration::from_secs(60); constant MONITOR_CHECK_INTERVAL (line 15) | const MONITOR_CHECK_INTERVAL: Duration = Duration::from_millis(500); type ComputeMonitor (line 23) | struct ComputeMonitor { method report_down (line 50) | fn report_down(&self) { method report_up (line 66) | fn report_up(&mut self) { method downtime_info (line 71) | fn downtime_info(&self) -> String { method check_interrupts (line 83) | fn check_interrupts(&mut self) -> bool { method run (line 112) | pub fn run(&mut self) -> anyhow::Result<()> { method check (line 206) | fn check(&mut self, cli: &mut Client) -> anyhow::Result<()> { function wait_for_postgres_start (line 354) | fn wait_for_postgres_start(compute: &ComputeNode) { function get_database_stats (line 405) | fn get_database_stats(cli: &mut Client) -> anyhow::Result<(f64, i64)> { function get_backends_state_change (line 444) | fn get_backends_state_change(cli: &mut Client) -> anyhow::Result) -> thread::JoinHandle<... FILE: compute_tools/src/params.rs constant DEFAULT_LOG_LEVEL (line 1) | pub const DEFAULT_LOG_LEVEL: &str = "info"; constant PG_HBA_ALL_MD5 (line 9) | pub const PG_HBA_ALL_MD5: &str = "host\tall\t\tall\t\tall\t\tmd5"; FILE: compute_tools/src/pg_helpers.rs constant POSTGRES_WAIT_TIMEOUT (line 29) | const POSTGRES_WAIT_TIMEOUT: Duration = Duration::from_millis(60 * 1000); function escape_literal (line 37) | pub fn escape_literal(s: &str) -> String { function escape_conf_value (line 49) | pub fn escape_conf_value(s: &str) -> String { type GenericOptionExt (line 54) | pub trait GenericOptionExt { method to_pg_option (line 55) | fn to_pg_option(&self) -> String; method to_pg_setting (line 56) | fn to_pg_setting(&self) -> String; method to_pg_option (line 61) | fn to_pg_option(&self) -> String { method to_pg_setting (line 73) | fn to_pg_setting(&self) -> String { type PgOptionsSerialize (line 85) | pub trait PgOptionsSerialize { method as_pg_options (line 86) | fn as_pg_options(&self) -> String; method as_pg_settings (line 87) | fn as_pg_settings(&self) -> String; method as_pg_options (line 93) | fn as_pg_options(&self) -> String { method as_pg_settings (line 106) | fn as_pg_settings(&self) -> String { type GenericOptionsSearch (line 119) | pub trait GenericOptionsSearch { method find (line 120) | fn find(&self, name: &str) -> Option; method find_ref (line 121) | fn find_ref(&self, name: &str) -> Option<&GenericOption>; method find (line 126) | fn find(&self, name: &str) -> Option { method find_ref (line 133) | fn find_ref(&self, name: &str) -> Option<&GenericOption> { type RoleExt (line 139) | pub trait RoleExt { method to_pg_options (line 140) | fn to_pg_options(&self) -> String; method to_pg_options (line 146) | fn to_pg_options(&self) -> String { type DatabaseExt (line 170) | pub trait DatabaseExt { method to_pg_options (line 171) | fn to_pg_options(&self) -> String; method to_pg_options (line 180) | fn to_pg_options(&self) -> String { type DatabricksSettingsExt (line 189) | pub trait DatabricksSettingsExt { method as_pg_settings (line 190) | fn as_pg_settings(&self) -> String; method as_pg_settings (line 194) | fn as_pg_settings(&self) -> String { type Escaping (line 227) | pub trait Escaping { method pg_quote (line 228) | fn pg_quote(&self) -> String; method pg_quote_dollar (line 229) | fn pg_quote_dollar(&self) -> (String, String); method pg_quote (line 238) | fn pg_quote(&self) -> String { method pg_quote_dollar (line 248) | fn pg_quote_dollar(&self) -> (String, String) { function get_existing_roles_async (line 269) | pub async fn get_existing_roles_async(client: &tokio_postgres::Client) -... function get_existing_dbs_async (line 289) | pub async fn get_existing_dbs_async( function wait_for_postgres (line 331) | pub fn wait_for_postgres(pg: &mut Child, pgdata: &Path) -> Result<()> { function create_pgdata (line 439) | pub fn create_pgdata(pgdata: &str) -> Result<()> { function update_pgbouncer_ini (line 450) | fn update_pgbouncer_ini( function tune_pgbouncer (line 472) | pub async fn tune_pgbouncer( function handle_postgres_logs (line 564) | pub fn handle_postgres_logs(stderr: std::process::ChildStderr) -> JoinHa... function handle_postgres_logs_async (line 575) | async fn handle_postgres_logs_async(stderr: tokio::process::ChildStderr)... function postgres_conf_for_db (line 622) | pub fn postgres_conf_for_db(connstr: &url::Url, dbname: &str) -> Result<... FILE: compute_tools/src/pg_isready.rs function pg_isready (line 8) | pub fn pg_isready(bin: &str, port: u16) -> anyhow::Result<()> { function get_pg_isready_bin (line 27) | pub fn get_pg_isready_bin(pgbin: &str) -> String { FILE: compute_tools/src/pgbouncer.rs constant PGBOUNCER_PIDFILE (line 1) | pub const PGBOUNCER_PIDFILE: &str = "/tmp/pgbouncer.pid"; FILE: compute_tools/src/rsyslog.rs constant POSTGRES_LOGS_CONF_PATH (line 13) | const POSTGRES_LOGS_CONF_PATH: &str = "/etc/rsyslog.d/postgres_logs.conf"; function get_rsyslog_pid (line 15) | fn get_rsyslog_pid() -> Option { function wait_for_rsyslog_pid (line 32) | fn wait_for_rsyslog_pid() -> Result { function restart_rsyslog (line 74) | fn restart_rsyslog() -> Result<()> { function parse_audit_syslog_address (line 87) | fn parse_audit_syslog_address( function generate_audit_rsyslog_config (line 130) | fn generate_audit_rsyslog_config( function configure_audit_rsyslog (line 149) | pub fn configure_audit_rsyslog( type PostgresLogsRsyslogConfig (line 190) | pub struct PostgresLogsRsyslogConfig<'a> { function new (line 195) | pub fn new(host: Option<&'a str>) -> Self { function build (line 199) | pub fn build(&self) -> Result { function current_config (line 218) | fn current_config() -> Result { function configure_postgres_logs_export (line 229) | pub fn configure_postgres_logs_export(conf: PostgresLogsRsyslogConfig) -... function pgaudit_gc_main_loop (line 268) | async fn pgaudit_gc_main_loop(log_directory: String) -> Result<()> { function launch_pgaudit_gc (line 317) | pub fn launch_pgaudit_gc(log_directory: String) { function test_postgres_logs_config (line 332) | fn test_postgres_logs_config() { function test_parse_audit_syslog_address (line 362) | fn test_parse_audit_syslog_address() { function test_generate_audit_rsyslog_config (line 451) | fn test_generate_audit_rsyslog_config() { FILE: compute_tools/src/spec.rs function do_control_plane_request (line 23) | fn do_control_plane_request( function get_config_from_control_plane (line 77) | pub fn get_config_from_control_plane(base_uri: &str, compute_id: &str) -... function update_pg_hba (line 138) | pub fn update_pg_hba(pgdata_path: &Path, databricks_pg_hba: Option<&Stri... function update_pg_ident (line 167) | pub fn update_pg_ident(pgdata_path: &Path, databricks_pg_ident: Option<&... function copy_tls_certificates (line 191) | pub fn copy_tls_certificates( function add_standby_signal (line 220) | pub fn add_standby_signal(pgdata_path: &Path) -> Result<()> { function handle_neon_extension_upgrade (line 234) | pub async fn handle_neon_extension_upgrade(client: &mut Client) -> Resul... function handle_migrations (line 243) | pub async fn handle_migrations( FILE: compute_tools/src/spec_apply.rs method apply_spec_sql (line 40) | pub fn apply_spec_sql( method apply_spec_sql_db (line 362) | async fn apply_spec_sql_db( method max_service_connections (line 410) | pub fn max_service_connections( type DB (line 480) | pub enum DB { method new (line 486) | pub fn new(db: Database) -> DB { method is_owned_by (line 490) | pub fn is_owned_by(&self, role: &PgIdent) -> bool { method fmt (line 499) | fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { type PerDatabasePhase (line 508) | pub enum PerDatabasePhase { type ApplySpecPhase (line 520) | pub enum ApplySpecPhase { type Operation (line 550) | pub struct Operation { type MutableApplyContext (line 555) | pub struct MutableApplyContext { function apply_operations (line 574) | pub async fn apply_operations<'a, Fut, F>( function get_operations (line 671) | async fn get_operations<'a>( FILE: compute_tools/src/sql/create_databricks_misc.sql function health_check_write_succeeds (line 3) | CREATE OR REPLACE FUNCTION health_check_write_succeeds() FILE: compute_tools/src/swap.rs constant RESIZE_SWAP_BIN (line 6) | pub const RESIZE_SWAP_BIN: &str = "/neonvm/bin/resize-swap"; function resize_swap (line 9) | pub fn resize_swap(size_bytes: u64) -> anyhow::Result<()> { FILE: compute_tools/src/sync_sk.rs type TimelineStatusResponse (line 7) | pub enum TimelineStatusResponse { type TimelineStatusOkResponse (line 13) | pub struct TimelineStatusOkResponse { function ping_safekeeper (line 19) | pub async fn ping_safekeeper( function check_if_synced (line 54) | pub fn check_if_synced(responses: Vec) -> Option... FILE: compute_tools/src/tls.rs type CertDigest (line 9) | pub struct CertDigest(digest::Digest); function watch_cert_for_changes (line 11) | pub async fn watch_cert_for_changes(cert_path: String) -> tokio::sync::w... function compute_digest (line 28) | async fn compute_digest(cert_path: &str) -> CertDigest { function try_compute_digest (line 40) | async fn try_compute_digest(cert_path: &str) -> Result { constant SERVER_CRT (line 46) | pub const SERVER_CRT: &str = "server.crt"; constant SERVER_KEY (line 47) | pub const SERVER_KEY: &str = "server.key"; function update_key_path_blocking (line 49) | pub fn update_key_path_blocking(pg_data: &Path, tls_config: &TlsConfig) { function try_update_key_path_blocking (line 64) | fn try_update_key_path_blocking(pg_data: &Path, tls_config: &TlsConfig) ... function verify_key_cert (line 91) | fn verify_key_cert(key: &str, cert: &str) -> Result<()> { constant CERT (line 130) | const CERT: &str = " constant KEY (line 174) | const KEY: &str = " constant INCORRECT_KEY (line 183) | const INCORRECT_KEY: &str = " function certificate_verification (line 192) | fn certificate_verification() { function certificate_verification_fail (line 198) | fn certificate_verification_fail() { FILE: compute_tools/tests/config_test.rs function write_test_file (line 10) | fn write_test_file(path: &Path, content: &str) { function check_file_content (line 15) | fn check_file_content(path: &Path, expected_content: &str) { function test_line_in_file (line 24) | fn test_line_in_file() { FILE: compute_tools/tests/pg_helpers_tests.rs function params_serialize (line 9) | fn params_serialize() { function settings_serialize (line 24) | fn settings_serialize() { function ident_pg_quote (line 60) | fn ident_pg_quote() { function ident_pg_quote_dollar (line 67) | fn ident_pg_quote_dollar() { function generic_options_search (line 93) | fn generic_options_search() { function test_escape_literal (line 122) | fn test_escape_literal() { FILE: control_plane/src/background_process.rs constant STOP_RETRY_TIMEOUT (line 39) | const STOP_RETRY_TIMEOUT: Duration = Duration::from_secs(10); constant STOP_RETRIES (line 40) | const STOP_RETRIES: u128 = STOP_RETRY_TIMEOUT.as_millis() / RETRY_INTERV... constant RETRY_INTERVAL (line 41) | const RETRY_INTERVAL: Duration = Duration::from_millis(100); constant DOT_EVERY_RETRIES (line 42) | const DOT_EVERY_RETRIES: u128 = 10; constant NOTICE_AFTER_RETRIES (line 43) | const NOTICE_AFTER_RETRIES: u128 = 50; type InitialPidFile (line 47) | pub enum InitialPidFile { function start_process (line 56) | pub async fn start_process( function stop_process (line 170) | pub fn stop_process( function wait_until_stopped (line 221) | pub fn wait_until_stopped(process_name: &str, pid: Pid) -> anyhow::Resul... function fill_rust_env_vars (line 253) | fn fill_rust_env_vars(cmd: &mut Command) -> &mut Command { function fill_remote_storage_secrets_vars (line 279) | fn fill_remote_storage_secrets_vars(mut cmd: &mut Command) -> &mut Comma... function fill_env_vars_prefixed_neon (line 297) | fn fill_env_vars_prefixed_neon(mut cmd: &mut Command) -> &mut Command { function pre_exec_create_pidfile (line 310) | fn pre_exec_create_pidfile

(cmd: &mut Command, path: P) -> &mut Command function process_started (line 369) | async fn process_started( function process_has_stopped (line 389) | pub(crate) fn process_has_stopped(pid: Pid) -> anyhow::Result { FILE: control_plane/src/bin/neon_local.rs constant DEFAULT_SAFEKEEPER_ID (line 63) | const DEFAULT_SAFEKEEPER_ID: NodeId = NodeId(1); constant DEFAULT_PAGESERVER_ID (line 64) | const DEFAULT_PAGESERVER_ID: NodeId = NodeId(1); constant DEFAULT_BRANCH_NAME (line 65) | const DEFAULT_BRANCH_NAME: &str = "main"; constant DEFAULT_PG_VERSION (line 69) | const DEFAULT_PG_VERSION: PgMajorVersion = PgMajorVersion::PG17; constant DEFAULT_PG_VERSION_NUM (line 70) | const DEFAULT_PG_VERSION_NUM: &str = "17"; constant DEFAULT_PAGESERVER_CONTROL_PLANE_API (line 72) | const DEFAULT_PAGESERVER_CONTROL_PLANE_API: &str = "http://127.0.0.1:123... type Cli (line 77) | struct Cli { type NeonLocalCmd (line 83) | enum NeonLocalCmd { type InitCmdArgs (line 113) | struct InitCmdArgs { type StartCmdArgs (line 129) | struct StartCmdArgs { type StopCmdArgs (line 136) | struct StopCmdArgs { type StopMode (line 143) | enum StopMode { type TenantCmd (line 150) | enum TenantCmd { type TenantCreateCmdArgs (line 159) | struct TenantCreateCmdArgs { function parse_placement_policy (line 194) | fn parse_placement_policy(s: &str) -> anyhow::Result { type TenantSetDefaultCmdArgs (line 201) | struct TenantSetDefaultCmdArgs { type TenantConfigCmdArgs (line 208) | struct TenantConfigCmdArgs { type TenantImportCmdArgs (line 219) | struct TenantImportCmdArgs { type TimelineCmd (line 227) | enum TimelineCmd { type TimelineListCmdArgs (line 236) | struct TimelineListCmdArgs { type TimelineBranchCmdArgs (line 244) | struct TimelineBranchCmdArgs { type TimelineCreateCmdArgs (line 265) | struct TimelineCreateCmdArgs { type TimelineImportCmdArgs (line 284) | struct TimelineImportCmdArgs { type PageserverCmd (line 315) | enum PageserverCmd { type PageserverStatusCmdArgs (line 324) | struct PageserverStatusCmdArgs { type PageserverStartCmdArgs (line 332) | struct PageserverStartCmdArgs { type PageserverStopCmdArgs (line 344) | struct PageserverStopCmdArgs { type PageserverRestartCmdArgs (line 356) | struct PageserverRestartCmdArgs { type StorageControllerCmd (line 368) | enum StorageControllerCmd { type StorageControllerStartCmdArgs (line 375) | struct StorageControllerStartCmdArgs { type StorageControllerStopCmdArgs (line 396) | struct StorageControllerStopCmdArgs { type StorageBrokerCmd (line 409) | enum StorageBrokerCmd { type StorageBrokerStartCmdArgs (line 416) | struct StorageBrokerStartCmdArgs { type StorageBrokerStopCmdArgs (line 424) | struct StorageBrokerStopCmdArgs { type SafekeeperCmd (line 433) | enum SafekeeperCmd { type EndpointStorageCmd (line 441) | enum EndpointStorageCmd { type EndpointStorageStartCmd (line 448) | struct EndpointStorageStartCmd { type EndpointStorageStopCmd (line 457) | struct EndpointStorageStopCmd { type SafekeeperStartCmdArgs (line 466) | struct SafekeeperStartCmdArgs { type SafekeeperStopCmdArgs (line 483) | struct SafekeeperStopCmdArgs { type SafekeeperRestartCmdArgs (line 496) | struct SafekeeperRestartCmdArgs { type EndpointCmd (line 518) | enum EndpointCmd { type EndpointListCmdArgs (line 531) | struct EndpointListCmdArgs { type EndpointCreateCmdArgs (line 539) | struct EndpointCreateCmdArgs { type EndpointStartCmdArgs (line 596) | struct EndpointStartCmdArgs { type EndpointReconfigureCmdArgs (line 638) | struct EndpointReconfigureCmdArgs { type EndpointRefreshConfigurationArgs (line 653) | struct EndpointRefreshConfigurationArgs { type EndpointStopCmdArgs (line 660) | struct EndpointStopCmdArgs { type EndpointUpdatePageserversCmdArgs (line 675) | struct EndpointUpdatePageserversCmdArgs { type EndpointGenerateJwtCmdArgs (line 686) | struct EndpointGenerateJwtCmdArgs { type MappingsCmd (line 696) | enum MappingsCmd { type MappingsMapCmdArgs (line 702) | struct MappingsMapCmdArgs { type TimelineTreeEl (line 717) | struct TimelineTreeEl { type RepoLock (line 727) | struct RepoLock { method new (line 732) | fn new() -> Result { function main (line 748) | fn main() -> Result<()> { function print_timelines_tree (line 810) | fn print_timelines_tree( function print_timeline (line 853) | fn print_timeline( function get_tenant_id (line 923) | fn get_tenant_id( function get_tenant_shard_id (line 938) | fn get_tenant_shard_id( function handle_init (line 951) | fn handle_init(args: &InitCmdArgs) -> anyhow::Result { function get_default_pageserver (line 1026) | fn get_default_pageserver(env: &local_env::LocalEnv) -> PageServerNode { function handle_tenant (line 1034) | async fn handle_tenant(subcmd: &TenantCmd, env: &mut local_env::LocalEnv... function handle_timeline (line 1178) | async fn handle_timeline(cmd: &TimelineCmd, env: &mut local_env::LocalEn... function handle_endpoint (line 1319) | async fn handle_endpoint(subcmd: &EndpointCmd, env: &local_env::LocalEnv... function parse_safekeepers (line 1647) | fn parse_safekeepers(safekeepers_str: &Option) -> Result Result HashMap anyhow::Result<()> { method load (line 90) | pub fn load(path: &Path) -> anyhow::Result { FILE: control_plane/src/broker.rs type StorageBroker (line 15) | pub struct StorageBroker { method from_env (line 21) | pub fn from_env(env: &LocalEnv) -> Self { method initialize (line 25) | pub fn initialize(&self) -> anyhow::Result<()> { method start (line 36) | pub async fn start(&self, retry_timeout: &Duration) -> anyhow::Result<... method stop (line 79) | pub fn stop(&self) -> anyhow::Result<()> { method pid_file_path (line 84) | fn pid_file_path(&self) -> Utf8PathBuf { FILE: control_plane/src/endpoint.rs type EndpointConf (line 92) | pub struct EndpointConf { type ComputeControlPlane (line 114) | pub struct ComputeControlPlane { method load (line 125) | pub fn load(env: LocalEnv) -> Result { method get_port (line 155) | fn get_port(&mut self) -> u16 { method create_jwks_from_pem (line 166) | fn create_jwks_from_pem(pem: &Pem) -> Result { method new_endpoint (line 196) | pub fn new_endpoint( method check_conflicting_endpoints (line 283) | pub fn check_conflicting_endpoints( type Endpoint (line 312) | pub struct Endpoint { method from_dir_entry (line 406) | fn from_dir_entry(entry: std::fs::DirEntry, env: &LocalEnv) -> Result<... method create_endpoint_dir (line 451) | fn create_endpoint_dir(&self) -> Result<()> { method setup_pg_conf (line 461) | fn setup_pg_conf(&self) -> Result { method endpoint_path (line 577) | pub fn endpoint_path(&self) -> PathBuf { method pgdata (line 581) | pub fn pgdata(&self) -> PathBuf { method status (line 585) | pub fn status(&self) -> EndpointStatus { method pg_ctl (line 598) | fn pg_ctl(&self, args: &[&str], auth_token: &Option) -> Result... method wait_for_compute_ctl_to_exit (line 642) | fn wait_for_compute_ctl_to_exit(&self, send_sigterm: bool) -> Result<(... method read_postgresql_conf (line 654) | fn read_postgresql_conf(&self) -> Result { method build_safekeepers_connstrs (line 671) | fn build_safekeepers_connstrs(&self, sk_ids: Vec) -> Result) -> Resul... method start (line 702) | pub async fn start(&self, args: EndpointStartArgs) -> Result<()> { method update_pageservers_in_config (line 1000) | pub async fn update_pageservers_in_config( method get_status (line 1021) | pub async fn get_status(&self) -> Result { method reconfigure (line 1052) | pub async fn reconfigure( method reconfigure_pageservers (line 1124) | pub async fn reconfigure_pageservers( method reconfigure_safekeepers (line 1131) | pub async fn reconfigure_safekeepers( method stop (line 1140) | pub async fn stop( method refresh_configuration (line 1182) | pub async fn refresh_configuration(&self) -> Result<()> { method connstr (line 1209) | pub fn connstr(&self, user: &str, db_name: &str) -> String { type EndpointStatus (line 351) | pub enum EndpointStatus { method fmt (line 359) | fn fmt(&self, writer: &mut std::fmt::Formatter) -> std::fmt::Result { type EndpointTerminateMode (line 370) | pub enum EndpointTerminateMode { method fmt (line 381) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type EndpointStartArgs (line 390) | pub struct EndpointStartArgs { function local_pageserver_conf_to_conn_info (line 1222) | pub fn local_pageserver_conf_to_conn_info( function tenant_locate_response_to_conn_info (line 1258) | pub fn tenant_locate_response_to_conn_info( FILE: control_plane/src/endpoint_storage.rs constant ENDPOINT_STORAGE_REMOTE_STORAGE_DIR (line 10) | pub const ENDPOINT_STORAGE_REMOTE_STORAGE_DIR: &str = "local_fs_remote_s... constant ENDPOINT_STORAGE_DEFAULT_ADDR (line 11) | pub const ENDPOINT_STORAGE_DEFAULT_ADDR: SocketAddr = type EndpointStorage (line 14) | pub struct EndpointStorage { method from_env (line 22) | pub fn from_env(env: &LocalEnv) -> EndpointStorage { method config_path (line 31) | fn config_path(&self) -> Utf8PathBuf { method listen_addr (line 35) | fn listen_addr(&self) -> Utf8PathBuf { method init (line 39) | pub fn init(&self) -> Result<()> { method start (line 62) | pub async fn start(&self, retry_timeout: &Duration) -> Result<()> { method stop (line 92) | pub fn stop(&self, immediate: bool) -> anyhow::Result<()> { method log_file (line 96) | fn log_file(&self) -> Utf8PathBuf { method pid_file (line 100) | fn pid_file(&self) -> Utf8PathBuf { FILE: control_plane/src/local_env.rs constant DEFAULT_PG_VERSION (line 31) | pub const DEFAULT_PG_VERSION: u32 = 17; type LocalEnv (line 41) | pub struct LocalEnv { method pg_distrib_dir_raw (line 432) | pub fn pg_distrib_dir_raw(&self) -> PathBuf { method pg_distrib_dir (line 436) | pub fn pg_distrib_dir(&self, pg_version: PgMajorVersion) -> anyhow::Re... method pg_dir (line 442) | pub fn pg_dir(&self, pg_version: PgMajorVersion, dir_name: &str) -> an... method pg_bin_dir (line 446) | pub fn pg_bin_dir(&self, pg_version: PgMajorVersion) -> anyhow::Result... method pg_lib_dir (line 450) | pub fn pg_lib_dir(&self, pg_version: PgMajorVersion) -> anyhow::Result... method endpoint_storage_bin (line 454) | pub fn endpoint_storage_bin(&self) -> PathBuf { method pageserver_bin (line 458) | pub fn pageserver_bin(&self) -> PathBuf { method storage_controller_bin (line 462) | pub fn storage_controller_bin(&self) -> PathBuf { method safekeeper_bin (line 470) | pub fn safekeeper_bin(&self) -> PathBuf { method storage_broker_bin (line 474) | pub fn storage_broker_bin(&self) -> PathBuf { method endpoints_path (line 478) | pub fn endpoints_path(&self) -> PathBuf { method storage_broker_data_dir (line 482) | pub fn storage_broker_data_dir(&self) -> PathBuf { method pageserver_data_dir (line 486) | pub fn pageserver_data_dir(&self, pageserver_id: NodeId) -> PathBuf { method safekeeper_data_dir (line 491) | pub fn safekeeper_data_dir(&self, data_dir_name: &str) -> PathBuf { method endpoint_storage_data_dir (line 495) | pub fn endpoint_storage_data_dir(&self) -> PathBuf { method get_pageserver_conf (line 499) | pub fn get_pageserver_conf(&self, id: NodeId) -> anyhow::Result<&PageS... method ssl_ca_cert_path (line 513) | pub fn ssl_ca_cert_path(&self) -> Option { method ssl_ca_key_path (line 521) | pub fn ssl_ca_key_path(&self) -> Option { method generate_ssl_ca_cert (line 529) | pub fn generate_ssl_ca_cert(&self) -> anyhow::Result<()> { method generate_ssl_cert (line 538) | pub fn generate_ssl_cert(&self, cert_path: &Path, key_path: &Path) -> ... method create_http_client (line 549) | pub fn create_http_client(&self) -> reqwest::Client { method storage_controller_instances (line 567) | pub async fn storage_controller_instances(&self) -> std::io::Result HashMap anyhow::Result { method persist_config (line 792) | pub fn persist_config(&self) -> anyhow::Result<()> { method persist_config_impl (line 815) | pub fn persist_config_impl(base_path: &Path, config: &OnDiskConfig) ->... method generate_auth_token (line 827) | pub fn generate_auth_token(&self, claims: &S) -> anyhow:... method get_private_key_path (line 833) | pub fn get_private_key_path(&self) -> PathBuf { method get_public_key_path (line 842) | pub fn get_public_key_path(&self) -> PathBuf { method read_private_key (line 851) | pub fn read_private_key(&self) -> anyhow::Result { method read_public_key (line 858) | pub fn read_public_key(&self) -> anyhow::Result { method init (line 865) | pub fn init(conf: NeonLocalInitConf, force: &InitForceMode) -> anyhow:... type OnDiskConfig (line 104) | pub struct OnDiskConfig { function fail_if_pageservers_field_specified (line 129) | fn fail_if_pageservers_field_specified<'de, D>(_: D) -> Result Url { type NeonStorageControllerConf (line 180) | pub struct NeonStorageControllerConf { constant DEFAULT_MAX_OFFLINE_INTERVAL (line 227) | const DEFAULT_MAX_OFFLINE_INTERVAL: std::time::Duration = std::time::D... constant DEFAULT_MAX_WARMING_UP_INTERVAL (line 229) | const DEFAULT_MAX_WARMING_UP_INTERVAL: std::time::Duration = std::time... constant DEFAULT_HEARTBEAT_INTERVAL (line 232) | const DEFAULT_HEARTBEAT_INTERVAL: std::time::Duration = std::time::Dur... method default (line 236) | fn default() -> Self { method default (line 262) | fn default() -> Self { type PageServerConf (line 291) | pub struct PageServerConf { method from (line 339) | fn from(conf: &NeonLocalInitPageserverConf) -> Self { method default (line 304) | fn default() -> Self { type NeonLocalInitPageserverConf (line 323) | pub struct NeonLocalInitPageserverConf { type SafekeeperConf (line 368) | pub struct SafekeeperConf { method get_compute_port (line 426) | pub fn get_compute_port(&self) -> u16 { method default (line 382) | fn default() -> Self { type InitForceMode (line 399) | pub enum InitForceMode { method value_variants (line 406) | fn value_variants<'a>() -> &'a [Self] { method to_possible_value (line 414) | fn to_possible_value(&self) -> Option { function base_path (line 1015) | pub fn base_path() -> PathBuf { function generate_auth_keys (line 1038) | fn generate_auth_keys(private_key_path: &Path, public_key_path: &Path) -... function generate_ssl_ca_cert (line 1076) | fn generate_ssl_ca_cert(cert_path: &Path, key_path: &Path) -> anyhow::Re... function generate_ssl_cert (line 1097) | fn generate_ssl_cert( FILE: control_plane/src/pageserver.rs constant PAGESERVER_REMOTE_STORAGE_DIR (line 34) | pub const PAGESERVER_REMOTE_STORAGE_DIR: &str = "local_fs_remote_storage... type PageServerNode (line 42) | pub struct PageServerNode { method from_env (line 50) | pub fn from_env(env: &LocalEnv, conf: &PageServerConf) -> PageServerNo... method pageserver_make_identity_toml (line 87) | fn pageserver_make_identity_toml(&self, node_id: NodeId) -> toml_edit:... method pageserver_init_make_toml (line 91) | fn pageserver_init_make_toml( method initialize (line 169) | pub fn initialize(&self, conf: NeonLocalInitPageserverConf) -> anyhow:... method repo_path (line 174) | pub fn repo_path(&self) -> PathBuf { method pid_file (line 181) | fn pid_file(&self) -> Utf8PathBuf { method start (line 186) | pub async fn start(&self, retry_timeout: &Duration) -> anyhow::Result<... method pageserver_init (line 190) | fn pageserver_init(&self, conf: NeonLocalInitPageserverConf) -> anyhow... method start_node (line 303) | async fn start_node(&self, retry_timeout: &Duration) -> anyhow::Result... method pageserver_env_variables (line 345) | fn pageserver_env_variables(&self) -> anyhow::Result anyhow::Result<()> { method check_status (line 372) | pub async fn check_status(&self) -> mgmt_api::Result<()> { method tenant_list (line 376) | pub async fn tenant_list(&self) -> mgmt_api::Result> { method parse_config (line 379) | pub fn parse_config(mut settings: HashMap<&str, &str>) -> anyhow::Resu... method tenant_config (line 582) | pub async fn tenant_config( method timeline_list (line 595) | pub async fn timeline_list( method timeline_import (line 611) | pub async fn timeline_import( method timeline_info (line 656) | pub async fn timeline_info( FILE: control_plane/src/postgresql_conf.rs type PostgresConf (line 15) | pub struct PostgresConf { method new (line 21) | pub fn new() -> PostgresConf { method get (line 26) | pub fn get(&self, option: &str) -> Option<&str> { method append (line 35) | pub fn append(&mut self, option: &str, value: &str) { method append_line (line 42) | pub fn append_line(&mut self, line: &str) { method fmt (line 49) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { function escape_str (line 58) | fn escape_str(s: &str) -> String { function test_postgresql_conf_escapes (line 88) | fn test_postgresql_conf_escapes() -> anyhow::Result<()> { FILE: control_plane/src/safekeeper.rs type SafekeeperHttpError (line 27) | pub enum SafekeeperHttpError { type Result (line 35) | type Result = result::Result; function err_from_client_err (line 37) | fn err_from_client_err(err: mgmt_api::Error) -> SafekeeperHttpError { type SafekeeperNode (line 54) | pub struct SafekeeperNode { method from_env (line 66) | pub fn from_env(env: &LocalEnv, conf: &SafekeeperConf) -> SafekeeperNo... method safekeeper_connection_config (line 85) | fn safekeeper_connection_config(addr: &str, port: u16) -> PgConnection... method datadir_path_by_id (line 89) | pub fn datadir_path_by_id(env: &LocalEnv, sk_id: NodeId) -> PathBuf { method datadir_path (line 93) | pub fn datadir_path(&self) -> PathBuf { method pid_file (line 97) | pub fn pid_file(&self) -> Utf8PathBuf { method initialize (line 104) | pub fn initialize(&self) -> anyhow::Result<()> { method start (line 125) | pub async fn start( method stop (line 261) | pub fn stop(&self, immediate: bool) -> anyhow::Result<()> { method check_status (line 269) | pub async fn check_status(&self) -> Result<()> { method create_timeline (line 277) | pub async fn create_timeline(&self, req: &TimelineCreateRequest) -> Re... FILE: control_plane/src/storage_controller.rs type StorageController (line 37) | pub struct StorageController { method from_env (line 112) | pub fn from_env(env: &LocalEnv) -> Self { method storage_controller_instance_dir (line 169) | fn storage_controller_instance_dir(&self, instance_id: u8) -> PathBuf { method pid_file (line 175) | fn pid_file(&self, instance_id: u8) -> Utf8PathBuf { method get_pg_dir (line 188) | async fn get_pg_dir(&self, dir_name: &str) -> anyhow::Result anyhow::Result { method get_pg_lib_dir (line 216) | pub async fn get_pg_lib_dir(&self) -> anyhow::Result { method pg_isready (line 221) | async fn pg_isready(&self, pg_bin_dir: &Utf8Path, postgres_port: u16) ... method setup_database (line 255) | pub async fn setup_database(&self, postgres_port: u16) -> anyhow::Resu... method connect_to_database (line 298) | pub async fn connect_to_database( method pg_ctl (line 324) | async fn pg_ctl(&self, args: I) -> ExitStatus method start (line 348) | pub async fn start(&self, start_args: NeonStorageControllerStartArgs) ... method stop (line 702) | pub async fn stop(&self, stop_args: NeonStorageControllerStopArgs) -> ... method is_postgres_running (line 755) | async fn is_postgres_running(&self) -> anyhow::Result { method get_claims_for_path (line 778) | fn get_claims_for_path(path: &str) -> anyhow::Result> { method dispatch (line 793) | async fn dispatch( method dispatch_inner (line 811) | async fn dispatch_inner( method register_safekeepers (line 866) | async fn register_safekeepers(&self) -> anyhow::Result<()> { method attach_hook (line 890) | pub async fn attach_hook( method upsert_safekeeper (line 914) | pub async fn upsert_safekeeper( method safekeeper_scheduling_policy (line 936) | pub async fn safekeeper_scheduling_policy( method inspect (line 950) | pub async fn inspect( method tenant_create (line 968) | pub async fn tenant_create( method tenant_import (line 977) | pub async fn tenant_import(&self, tenant_id: TenantId) -> anyhow::Resu... method tenant_locate (line 987) | pub async fn tenant_locate(&self, tenant_id: TenantId) -> anyhow::Resu... method node_register (line 997) | pub async fn node_register(&self, req: NodeRegisterRequest) -> anyhow:... method node_configure (line 1003) | pub async fn node_configure(&self, req: NodeConfigureRequest) -> anyho... method node_list (line 1012) | pub async fn node_list(&self) -> anyhow::Result anyhow::Result<()> { method tenant_timeline_create (line 1028) | pub async fn tenant_timeline_create( method set_tenant_config (line 1041) | pub async fn set_tenant_config(&self, req: &TenantConfigRequest) -> an... constant COMMAND (line 49) | const COMMAND: &str = "storage_controller"; constant STORAGE_CONTROLLER_POSTGRES_VERSION (line 51) | const STORAGE_CONTROLLER_POSTGRES_VERSION: PgMajorVersion = PgMajorVersi... constant DB_NAME (line 53) | const DB_NAME: &str = "storage_controller"; type NeonStorageControllerStartArgs (line 55) | pub struct NeonStorageControllerStartArgs { method with_default_instance_id (line 63) | pub fn with_default_instance_id(start_timeout: humantime::Duration) ->... type NeonStorageControllerStopArgs (line 73) | pub struct NeonStorageControllerStopArgs { method with_default_instance_id (line 79) | pub fn with_default_instance_id(immediate: bool) -> Self { type AttachHookRequest (line 88) | pub struct AttachHookRequest { type AttachHookResponse (line 96) | pub struct AttachHookResponse { type InspectRequest (line 102) | pub struct InspectRequest { type InspectResponse (line 107) | pub struct InspectResponse { FILE: control_plane/storcon_cli/src/main.rs type Command (line 29) | enum Command { type Cli (line 323) | struct Cli { type PlacementPolicyArg (line 343) | struct PlacementPolicyArg(PlacementPolicy); type Err (line 346) | type Err = anyhow::Error; method from_str (line 348) | fn from_str(s: &str) -> Result { type SkSchedulingPolicyArg (line 370) | struct SkSchedulingPolicyArg(SkSchedulingPolicy); type Err (line 373) | type Err = anyhow::Error; method from_str (line 375) | fn from_str(s: &str) -> Result { type ShardSchedulingPolicyArg (line 381) | struct ShardSchedulingPolicyArg(ShardSchedulingPolicy); type Err (line 384) | type Err = anyhow::Error; method from_str (line 386) | fn from_str(s: &str) -> Result { type NodeAvailabilityArg (line 400) | struct NodeAvailabilityArg(NodeAvailabilityWrapper); type Err (line 403) | type Err = anyhow::Error; method from_str (line 405) | fn from_str(s: &str) -> Result { function wait_for_scheduling_policy (line 414) | async fn wait_for_scheduling_policy( function main (line 443) | async fn main() -> anyhow::Result<()> { function watch_tenant_shard (line 1424) | async fn watch_tenant_shard( FILE: docker-compose/ext-src/pgx_ulid-src/sql/01_ulid_conversions.sql type test_ulids (line 2) | CREATE TEMP TABLE test_ulids AS FILE: docker-compose/ext-src/postgis-src/raster_outdb_template.sql type public (line 23) | CREATE TABLE public.raster_outdb_template ( FILE: endpoint_storage/src/app.rs function app (line 13) | pub fn app(state: Arc) -> Router<()> { type Result (line 34) | type Result = anyhow::Result; type State (line 35) | type State = axum::extract::State>; constant CONTENT_TYPE (line 37) | const CONTENT_TYPE: &str = "content-type"; constant APPLICATION_OCTET_STREAM (line 38) | const APPLICATION_OCTET_STREAM: &str = "application/octet-stream"; constant WARN_THRESHOLD (line 39) | const WARN_THRESHOLD: u32 = 3; constant MAX_RETRIES (line 40) | const MAX_RETRIES: u32 = 10; function metrics (line 42) | async fn metrics() -> Result { function get (line 49) | async fn get(S3Path { path }: S3Path, state: State) -> Result { function set (line 87) | async fn set(S3Path { path }: S3Path, state: State, bytes: Bytes) -> Res... function delete (line 120) | async fn delete(S3Path { path }: S3Path, state: State) -> Result { function delete_prefix (line 137) | async fn delete_prefix(PrefixS3Path { path }: PrefixS3Path, state: State... function check_storage_permissions (line 154) | pub async fn check_storage_permissions( function bytes_to_stream (line 199) | fn bytes_to_stream(bytes: Bytes) -> impl futures::Stream (Storage, Option) { constant TEST_PUB_KEY_ED25519 (line 266) | const TEST_PUB_KEY_ED25519: &[u8] = b" constant TEST_PRIV_KEY_ED25519 (line 272) | const TEST_PRIV_KEY_ED25519: &[u8] = br#" function request (line 278) | async fn request(req: Request) -> Response { function status (line 288) | async fn status() { function routes (line 298) | fn routes() -> impl Iterator { function no_token (line 306) | async fn no_token() { function invalid_token (line 324) | async fn invalid_token() { constant TENANT_ID (line 342) | const TENANT_ID: TenantId = constant TIMELINE_ID (line 344) | const TIMELINE_ID: TimelineId = constant ENDPOINT_ID (line 346) | const ENDPOINT_ID: &str = "ep-winter-frost-a662z3vg"; function token (line 347) | fn token() -> String { function unauthorized (line 360) | async fn unauthorized() { function method_not_allowed (line 394) | async fn method_not_allowed() { function requests_chain (line 414) | async fn requests_chain( function metrics (line 445) | async fn metrics() { function insert_retrieve_remove (line 473) | async fn insert_retrieve_remove() { function read_other_endpoint_data (line 486) | async fn read_other_endpoint_data() { function delete_prefix_token (line 495) | fn delete_prefix_token(uri: &str) -> String { function delete_prefix (line 510) | async fn delete_prefix() { FILE: endpoint_storage/src/claims.rs type EndpointStorageClaims (line 7) | pub struct EndpointStorageClaims { type DeletePrefixClaims (line 16) | pub struct DeletePrefixClaims { method fmt (line 26) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 36) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: endpoint_storage/src/lib.rs type JwtAuth (line 21) | pub struct JwtAuth { method new (line 28) | pub fn new(key: &[u8]) -> Result { method decode (line 35) | pub fn decode(&self, token: &str) -> R... constant VALIDATION_ALGO (line 26) | pub const VALIDATION_ALGO: jsonwebtoken::Algorithm = jsonwebtoken::Algor... function normalize_key (line 40) | fn normalize_key(key: &str) -> StdResult { function clean_utf8 (line 52) | fn clean_utf8(path: &camino::Utf8Path) -> Utf8PathBuf { type Storage (line 77) | pub struct Storage { type KeyRequest (line 85) | struct KeyRequest { type PrefixKeyRequest (line 93) | struct PrefixKeyRequest { type S3Path (line 100) | pub struct S3Path { type Error (line 105) | type Error = String; method try_from (line 106) | fn try_from(req: &KeyRequest) -> StdResult { type Rejection (line 144) | type Rejection = Response; method from_request_parts (line 145) | async fn from_request_parts( function unauthorized (line 120) | fn unauthorized(route: impl Display, claims: impl Display) -> Response { function bad_request (line 125) | pub fn bad_request(err: impl Display, desc: &'static str) -> Response { function ok (line 130) | pub fn ok() -> Response { function internal_error (line 134) | pub fn internal_error(err: impl Display, path: impl Display, desc: &'sta... function not_found (line 139) | pub fn not_found(key: impl ToString) -> Response { type PrefixS3Path (line 186) | pub struct PrefixS3Path { method from (line 191) | fn from(path: &DeletePrefixClaims) -> Self { type Rejection (line 211) | type Rejection = Response; method from_request_parts (line 212) | async fn from_request_parts( function normalize_key (line 246) | fn normalize_key() { constant TENANT_ID (line 262) | const TENANT_ID: TenantId = constant TIMELINE_ID (line 264) | const TIMELINE_ID: TimelineId = constant ENDPOINT_ID (line 266) | const ENDPOINT_ID: &str = "ep-winter-frost-a662z3vg"; function s3_path (line 269) | fn s3_path() { function prefix_s3_path (line 299) | fn prefix_s3_path() { FILE: endpoint_storage/src/main.rs function max_upload_file_limit (line 13) | const fn max_upload_file_limit() -> usize { function listen (line 17) | const fn listen() -> SocketAddr { type Args (line 22) | struct Args { type Config (line 34) | struct Config { function main (line 45) | async fn main() -> anyhow::Result<()> { FILE: libs/compute_api/src/privilege.rs type Privilege (line 3) | pub enum Privilege { method as_str (line 19) | pub fn as_str(&self) -> &'static str { FILE: libs/compute_api/src/requests.rs type ComputeClaimsScope (line 16) | pub enum ComputeClaimsScope { type Err (line 24) | type Err = anyhow::Error; method from_str (line 26) | fn from_str(s: &str) -> Result { type ComputeClaims (line 39) | pub struct ComputeClaims { type ConfigurationRequest (line 65) | pub struct ConfigurationRequest { type ExtensionInstallRequest (line 71) | pub struct ExtensionInstallRequest { type SetRoleGrantsRequest (line 78) | pub struct SetRoleGrantsRequest { function compute_request_scopes (line 94) | fn compute_request_scopes() { FILE: libs/compute_api/src/responses.rs type GenericAPIError (line 12) | pub struct GenericAPIError { type ComputeConfig (line 24) | pub struct ComputeConfig { method from (line 34) | fn from(value: ControlPlaneConfigResponse) -> Self { type ExtensionInstallResponse (line 43) | pub struct ExtensionInstallResponse { type LfcPrewarmState (line 53) | pub enum LfcPrewarmState { method fmt (line 89) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type LfcOffloadState (line 103) | pub enum LfcOffloadState { type PromoteState (line 121) | pub enum PromoteState { type PromoteConfig (line 135) | pub struct PromoteConfig { type ComputeStatusResponse (line 143) | pub struct ComputeStatusResponse { type TerminateMode (line 155) | pub enum TerminateMode { type ComputeStatus (line 174) | pub enum ComputeStatus { method from (line 164) | fn from(mode: TerminateMode) -> Self { type TerminateResponse (line 205) | pub struct TerminateResponse { method fmt (line 210) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function rfc3339_serialize (line 231) | pub fn rfc3339_serialize(x: &Option>, s: S) -> Result Self { type TlsConfig (line 312) | pub struct TlsConfig { type ControlPlaneConfigResponse (line 319) | pub struct ControlPlaneConfigResponse { type ControlPlaneComputeStatus (line 327) | pub enum ControlPlaneComputeStatus { type InstalledExtension (line 337) | pub struct InstalledExtension { type InstalledExtensions (line 345) | pub struct InstalledExtensions { type ExtensionInstallResult (line 350) | pub struct ExtensionInstallResult { type SetRoleGrantsResponse (line 355) | pub struct SetRoleGrantsResponse { FILE: libs/compute_api/src/spec.rs type PgIdent (line 23) | pub type PgIdent = String; type ExtVersion (line 26) | pub type ExtVersion = String; function default_reconfigure_concurrency (line 28) | fn default_reconfigure_concurrency() -> usize { type ComputeSpec (line 35) | pub struct ComputeSpec { type ComputeFeature (line 220) | pub enum ComputeFeature { type PageserverConnectionInfo (line 237) | pub struct PageserverConnectionInfo { method from_connstr (line 260) | pub fn from_connstr( method shard_url (line 322) | pub fn shard_url( type PageserverShardInfo (line 359) | pub struct PageserverShardInfo { type PageserverShardConnectionInfo (line 364) | pub struct PageserverShardConnectionInfo { type RemoteExtSpec (line 371) | pub struct RemoteExtSpec { method get_ext (line 385) | pub fn get_ext( method get_arch (line 434) | fn get_arch() -> &'static str { method build_remote_path (line 443) | fn build_remote_path( type ExtensionData (line 379) | pub struct ExtensionData { type ComputeMode (line 462) | pub enum ComputeMode { method to_type_str (line 478) | pub fn to_type_str(&self) -> &'static str { method fmt (line 488) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type ComputeAudit (line 495) | pub enum ComputeAudit { type Cluster (line 516) | pub struct Cluster { type DeltaOp (line 538) | pub struct DeltaOp { type Role (line 547) | pub struct Role { type Database (line 556) | pub struct Database { type GenericOption (line 572) | pub struct GenericOption { type PgComputeTlsSettings (line 580) | pub struct PgComputeTlsSettings { type DatabricksSettings (line 593) | pub struct DatabricksSettings { type GenericOptions (line 606) | pub type GenericOptions = Option>; type LocalProxySpec (line 611) | pub struct LocalProxySpec { type JwksSettings (line 621) | pub struct JwksSettings { type PageserverProtocol (line 631) | pub enum PageserverProtocol { method from_connstring (line 644) | pub fn from_connstring(connstring: &str) -> anyhow::Result { method scheme (line 658) | pub fn scheme(&self) -> &'static str { method fmt (line 667) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function allow_installing_remote_extensions (line 679) | fn allow_installing_remote_extensions() { function remote_extension_path (line 775) | fn remote_extension_path() { function parse_spec_file (line 806) | fn parse_spec_file() { function parse_unknown_fields (line 818) | fn parse_unknown_fields() { function parse_unknown_features (line 828) | fn parse_unknown_features() { function parse_known_features (line 846) | fn parse_known_features() { FILE: libs/consumption_metrics/src/lib.rs type EventType (line 10) | pub enum EventType { method absolute_time (line 21) | pub fn absolute_time(&self) -> Option<&DateTime> { method incremental_timerange (line 29) | pub fn incremental_timerange(&self) -> Option bool { method recorded_at (line 47) | pub fn recorded_at(&self) -> &DateTime { type Event (line 58) | pub struct Event { function idempotency_key (line 71) | pub fn idempotency_key(node_id: &str) -> String { type IdempotencyKey (line 76) | pub struct IdempotencyKey<'a> { function fmt (line 83) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function generate (line 89) | pub fn generate(node_id: &'a str) -> Self { function for_tests (line 97) | pub fn for_tests(now: DateTime, node_id: &'a str, nonce: u16) -> Se... constant CHUNK_SIZE (line 107) | pub const CHUNK_SIZE: usize = 1000; type EventChunk (line 112) | pub struct EventChunk<'a, T: Clone + PartialEq> { FILE: libs/desim/src/chan.rs type Chan (line 10) | pub struct Chan { method clone (line 15) | fn clone(&self) -> Self { method default (line 23) | fn default() -> Self { function new (line 29) | pub fn new() -> Chan { function recv (line 40) | pub fn recv(&self) -> T { function must_recv (line 45) | pub fn must_recv(&self) -> T { function try_recv (line 53) | pub fn try_recv(&self) -> Option { function send (line 58) | pub fn send(&self, t: T) { type State (line 63) | struct State { function send (line 69) | fn send(&self, t: T) { function try_recv (line 74) | fn try_recv(&self) -> Option { function recv (line 79) | fn recv(&self) -> T { method wake_me (line 101) | fn wake_me(&self) { method has_some (line 106) | fn has_some(&self) -> bool { FILE: libs/desim/src/executor.rs type Runtime (line 12) | pub struct Runtime { method new (line 27) | pub fn new(clock: Arc) -> Self { method spawn (line 37) | pub fn spawn(&mut self, f: F) -> ExternalHandle method step (line 94) | pub fn step(&mut self) -> bool { method crash_all_threads (line 145) | pub fn crash_all_threads(&mut self) { method drop (line 158) | fn drop(&mut self) { type ExternalHandle (line 165) | pub struct ExternalHandle { method is_finished (line 171) | pub fn is_finished(&self) -> bool { method result (line 177) | pub fn result(&self) -> (i32, String) { method id (line 183) | pub fn id(&self) -> u32 { method crash_stop (line 188) | pub fn crash_stop(&self) { type ThreadHandle (line 193) | struct ThreadHandle { method new (line 200) | fn new(ctx: Arc, join: JoinHandle<()>) -> Self { method step (line 213) | fn step(&self) -> Status { type Status (line 229) | enum Status { constant NO_WAKEUP (line 238) | const NO_WAKEUP: u8 = 0; constant PENDING_WAKEUP (line 239) | const PENDING_WAKEUP: u8 = 1; type ThreadContext (line 241) | pub struct ThreadContext { method new (line 258) | pub(crate) fn new() -> Self { method inc_wake (line 275) | fn inc_wake(&self) { method schedule_wakeup (line 280) | pub(crate) fn schedule_wakeup(self: &Arc, after_ms: u64) { method tid (line 287) | fn tid(&self) -> u32 { method crash_stop (line 291) | fn crash_stop(&self) { method yield_me (line 317) | fn yield_me(self: &Arc, after_ms: i64) { method finish_me (line 352) | fn finish_me(&self) { function with_thread_context (line 369) | fn with_thread_context(f: impl FnOnce(&Arc) -> T) -> T { type Waker (line 377) | pub struct Waker { method new (line 389) | pub fn new() -> Self { method wake_me_later (line 396) | pub fn wake_me_later(&self) { method wake_all (line 403) | pub fn wake_all(&self) { method default (line 383) | fn default() -> Self { function yield_me (line 413) | pub fn yield_me(after_ms: i64) { function now (line 418) | pub fn now() -> u64 { function exit (line 422) | pub fn exit(code: i32, msg: String) -> ! { function get_thread_ctx (line 431) | pub(crate) fn get_thread_ctx() -> Arc { type PollSome (line 436) | pub trait PollSome { method wake_me (line 438) | fn wake_me(&self); method has_some (line 441) | fn has_some(&self) -> bool; function epoll_chans (line 449) | pub fn epoll_chans(chans: &[Box], timeout: i64) -> Option<... FILE: libs/desim/src/network.rs type NetworkTask (line 18) | pub struct NetworkTask { method start_new (line 27) | pub fn start_new(options: Arc, tx: mpsc::Sender, rng: StdRng, dst_accept:... method schedule (line 75) | fn schedule(&self, id: usize, after_ms: u64) { method get (line 84) | fn get(&self, id: usize) -> MappedMutexGuard<'_, RawMutex, VirtualConn... method collect_pending_events (line 90) | fn collect_pending_events(&self, now: u64, vec: &mut Vec) { method start (line 102) | fn start(self: &Arc) { type MessageDirection (line 123) | type MessageDirection = u8; function sender_str (line 125) | fn sender_str(dir: MessageDirection) -> &'static str { function receiver_str (line 133) | fn receiver_str(dir: MessageDirection) -> &'static str { type VirtualConnection (line 144) | struct VirtualConnection { method schedule_timeout (line 160) | fn schedule_timeout(&self, net: &NetworkTask) { method send_connect (line 167) | fn send_connect(&self, net: &NetworkTask) { method process (line 193) | fn process(&self, net: &Arc) { method process_direction (line 240) | fn process_direction( method send (line 277) | fn send(&self, net: &NetworkTask, direction: MessageDirection, msg: An... method close (line 320) | fn close(&self, node_idx: usize) { type ConnectionState (line 153) | struct ConnectionState { type NetworkBuffer (line 355) | struct NetworkBuffer { method new (line 372) | fn new(last_recv: Option) -> Self { type TCP (line 384) | pub struct TCP { method send (line 400) | pub fn send(&self, msg: AnyMessage) { method recv_chan (line 406) | pub fn recv_chan(&self) -> Chan { method connection_id (line 410) | pub fn connection_id(&self) -> usize { method close (line 414) | pub fn close(&self) { method fmt (line 392) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type Event (line 419) | struct Event { method partial_cmp (line 427) | fn partial_cmp(&self, other: &Self) -> Option { method cmp (line 433) | fn cmp(&self, other: &Self) -> Ordering { method eq (line 439) | fn eq(&self, other: &Self) -> bool { FILE: libs/desim/src/node_os.rs type NodeOs (line 12) | pub struct NodeOs { method new (line 18) | pub fn new(world: Arc, internal: Arc) -> NodeOs { method id (line 23) | pub fn id(&self) -> NodeId { method open_tcp (line 28) | pub fn open_tcp(&self, dst: NodeId) -> TCP { method node_events (line 33) | pub fn node_events(&self) -> Chan { method now (line 38) | pub fn now(&self) -> u64 { method random (line 43) | pub fn random(&self, max: u64) -> u64 { method log_event (line 48) | pub fn log_event(&self, data: String) { FILE: libs/desim/src/options.rs type Delay (line 7) | pub struct Delay { method empty (line 15) | pub fn empty() -> Delay { method fixed (line 24) | pub fn fixed(ms: u64) -> Delay { method delay (line 34) | pub fn delay(&self, rng: &mut StdRng) -> Option { type NetworkOptions (line 44) | pub struct NetworkOptions { FILE: libs/desim/src/proto.rs type NodeEvent (line 11) | pub enum NodeEvent { type NetEvent (line 18) | pub enum NetEvent { type SimEvent (line 25) | pub struct SimEvent { type AnyMessage (line 34) | pub enum AnyMessage { method fmt (line 46) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type ReplCell (line 60) | pub struct ReplCell { FILE: libs/desim/src/time.rs type Timing (line 13) | pub struct Timing { method new (line 33) | pub fn new() -> Timing { method now (line 43) | pub fn now(&self) -> u64 { method step (line 49) | pub(crate) fn step(&self) -> Option> { method schedule_wakeup (line 69) | pub(crate) fn schedule_wakeup(&self, ms: u64, wake_context: Arc) -> bool { method clear (line 94) | pub(crate) fn clear(&self) { method default (line 26) | fn default() -> Self { type Pending (line 99) | struct Pending { method partial_cmp (line 108) | fn partial_cmp(&self, other: &Self) -> Option { method cmp (line 114) | fn cmp(&self, other: &Self) -> Ordering { method eq (line 120) | fn eq(&self, other: &Self) -> bool { FILE: libs/desim/src/world.rs type NodeId (line 17) | pub type NodeId = u32; type World (line 20) | pub struct World { method new (line 35) | pub fn new(seed: u64, options: Arc) -> World { method step (line 61) | pub fn step(&self) -> bool { method get_thread_step_count (line 65) | pub fn get_thread_step_count(&self) -> u64 { method new_rng (line 70) | pub fn new_rng(&self) -> StdRng { method new_node (line 76) | pub fn new_node(self: &Arc) -> Arc { method get_node (line 85) | fn get_node(&self, id: NodeId) -> Option> { method stop_all (line 95) | pub fn stop_all(&self) { method open_tcp (line 100) | pub fn open_tcp(self: &Arc, dst: NodeId) -> TCP { method now (line 110) | pub fn now(&self) -> u64 { method clock (line 115) | pub fn clock(&self) -> Arc { method add_event (line 119) | pub fn add_event(&self, node: NodeId, data: String) { method take_events (line 124) | pub fn take_events(&self) -> Vec { method deallocate (line 131) | pub fn deallocate(&self) { type Node (line 139) | pub struct Node { method new (line 147) | pub fn new(id: NodeId, world: Arc, rng: StdRng) -> Node { method launch (line 157) | pub fn launch(self: &Arc, f: impl FnOnce(NodeOs) + Send + 'stati... method node_events (line 166) | pub fn node_events(&self) -> Chan { method replug_node_events (line 171) | pub fn replug_node_events(&self, chan: Chan) { method log_event (line 176) | pub fn log_event(&self, data: String) { FILE: libs/desim/tests/reliable_copy_test.rs type Storage (line 16) | pub trait Storage { method flush_pos (line 17) | fn flush_pos(&self) -> u32; method flush (line 18) | fn flush(&mut self) -> Result<()>; method write (line 19) | fn write(&mut self, t: T); type SharedStorage (line 23) | pub struct SharedStorage { function new (line 28) | pub fn new() -> Self { function flush_pos (line 36) | fn flush_pos(&self) -> u32 { function flush (line 40) | fn flush(&mut self) -> Result<()> { function write (line 45) | fn write(&mut self, t: T) { type InMemoryStorage (line 51) | pub struct InMemoryStorage { function new (line 57) | pub fn new() -> Self { function flush (line 64) | pub fn flush(&mut self) -> Result<()> { function write (line 69) | pub fn write(&mut self, t: T) { function run_server (line 75) | pub fn run_server(os: NodeOs, mut storage: Box>) { function run_client (line 114) | pub fn run_client(os: NodeOs, data: &[ReplCell], dst: NodeId) { function sim_example_reliable_copy (line 157) | fn sim_example_reliable_copy() { type Options (line 191) | pub struct Options { function start_simulation (line 198) | pub fn start_simulation(options: Options) { function u32_to_cells (line 222) | pub fn u32_to_cells(data: &[u32], client_id: u32) -> Vec { function verify_data (line 234) | fn verify_data(disk_data: &[u32], data: &[u32]) -> bool { FILE: libs/http-utils/src/endpoint.rs type RequestId (line 40) | struct RequestId(String); function request_span (line 74) | pub async fn request_span(request: Request, handler: H) -> R... type RequestCancelled (line 127) | struct RequestCancelled { method warn_when_dropped_without_responding (line 133) | fn warn_when_dropped_without_responding() -> Self { method disarm (line 140) | fn disarm(mut self) { method drop (line 146) | fn drop(&mut self) { type ChannelWriter (line 161) | pub struct ChannelWriter { method new (line 172) | pub fn new(buf_len: usize, tx: mpsc::Sender>) -... method flush0 (line 185) | pub fn flush0(&mut self) -> std::io::Result { method flushed_bytes (line 218) | pub fn flushed_bytes(&self) -> usize { method wait_time (line 222) | pub fn wait_time(&self) -> std::time::Duration { method write (line 228) | fn write(&mut self, mut buf: &[u8]) -> std::io::Result { method flush (line 249) | fn flush(&mut self) -> std::io::Result<()> { function prometheus_metrics_handler (line 254) | pub async fn prometheus_metrics_handler( function profile_cpu_handler (line 368) | pub async fn profile_cpu_handler(req: Request) -> Result) -> Result RouterBuilder { function attach_openapi_ui (line 580) | pub fn attach_openapi_ui( function parse_token (line 628) | fn parse_token(header_value: &str) -> Result<&str, ApiError> { function auth_middleware (line 641) | pub fn auth_middleware( function add_response_header_middleware (line 671) | pub fn add_response_header_middleware( function check_permission_with (line 703) | pub fn check_permission_with( function test_request_id_returned (line 725) | async fn test_request_id_returned() { function test_request_id_empty (line 745) | async fn test_request_id_empty() { FILE: libs/http-utils/src/error.rs type ApiError (line 11) | pub enum ApiError { method into_response (line 50) | pub fn into_response(self) -> Response { method from (line 102) | fn from(_value: AuthError) -> Self { type HttpErrorBody (line 111) | pub struct HttpErrorBody { method from_msg (line 116) | pub fn from_msg(msg: String) -> Self { method response_from_msg_and_status (line 120) | pub fn response_from_msg_and_status(msg: String, status: StatusCode) -... method to_response (line 124) | pub fn to_response(&self, status: StatusCode) -> Response { function route_error_handler (line 134) | pub async fn route_error_handler(err: routerify::RouteError) -> Response... function api_error_handler (line 149) | pub fn api_error_handler(api_error: ApiError) -> Response { FILE: libs/http-utils/src/failpoints.rs type ConfigureFailpointsRequest (line 9) | pub type ConfigureFailpointsRequest = Vec; type FailpointConfig (line 13) | pub struct FailpointConfig { function failpoints_handler (line 23) | pub async fn failpoints_handler( FILE: libs/http-utils/src/json.rs function json_request (line 9) | pub async fn json_request Deserialize<'de>>( function json_request_maybe (line 32) | pub async fn json_request_maybe Deserialize<'de> + Default>( function json_response (line 52) | pub fn json_response( FILE: libs/http-utils/src/request.rs function get_request_param (line 12) | pub fn get_request_param<'a>( function parse_request_param (line 24) | pub fn parse_request_param( function get_query_param (line 36) | pub fn get_query_param<'a>( function must_get_query_param (line 76) | pub fn must_get_query_param<'a>( function parse_query_param (line 85) | pub fn parse_query_param>( function must_parse_query_param (line 98) | pub fn must_parse_query_param>( function ensure_no_body (line 107) | pub async fn ensure_no_body(request: &mut Request) -> Result<(), A... function test_get_query_param_duplicate (line 119) | fn test_get_query_param_duplicate() { FILE: libs/http-utils/src/server.rs type Server (line 25) | pub struct Server { method new (line 50) | pub fn new( method serve (line 66) | pub async fn serve(self, cancel: CancellationToken) -> anyhow::Result<... method serve_connection (line 179) | async fn serve_connection( FILE: libs/http-utils/src/tls_certs.rs function load_cert_chain (line 15) | pub async fn load_cert_chain(filename: &Utf8Path) -> anyhow::Result anyhow::Result) -> anyhow::Result) -> Option = MetricVec = Metric>; type HyperLogLogState (line 94) | pub struct HyperLogLogState { method default (line 98) | fn default() -> Self { type Metadata (line 106) | type Metadata = (); function measure (line 110) | pub fn measure(&self, item: &(impl Hash + ?Sized)) { function record (line 115) | fn record(&self, hash: u64) { function take_sample (line 122) | fn take_sample(&self) -> [u8; N] { function write_type (line 141) | fn write_type( function collect_into (line 147) | fn collect_into( type Label (line 202) | enum Label { function collect (line 207) | fn collect(hll: &HyperLogLogVec, 32>) -> ([u8; 32]... function get_cardinality (line 216) | fn get_cardinality(samples: &[[u8; 32]]) -> f64 { function test_cardinality (line 234) | fn test_cardinality(n: usize, dist: impl Distribution) -> ([usize; ... function test_cardinality_small (line 262) | fn test_cardinality_small() { function test_cardinality_medium (line 272) | fn test_cardinality_medium() { function test_cardinality_large (line 282) | fn test_cardinality_large() { function test_cardinality_small2 (line 293) | fn test_cardinality_small2() { function test_cardinality_medium2 (line 303) | fn test_cardinality_medium2() { function test_cardinality_large2 (line 313) | fn test_cardinality_large2() { FILE: libs/metrics/src/launch_timestamp.rs type LaunchTimestamp (line 9) | pub struct LaunchTimestamp(chrono::DateTime); method generate (line 12) | pub fn generate() -> Self { method fmt (line 18) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function set_launch_timestamp_metric (line 23) | pub fn set_launch_timestamp_metric(launch_ts: &'static LaunchTimestamp) { FILE: libs/metrics/src/lib.rs type UIntGauge (line 39) | pub type UIntGauge = GenericGauge; type UIntGaugeVec (line 40) | pub type UIntGaugeVec = GenericGaugeVec; function register_internal (line 66) | pub fn register_internal(c: Box) -> prometheus::Result<()> { function gather (line 74) | pub fn gather() -> Vec { constant DISK_FSYNC_SECONDS_BUCKETS (line 101) | pub const DISK_FSYNC_SECONDS_BUCKETS: &[f64] = function pow2_buckets (line 106) | pub fn pow2_buckets(start: usize, end: usize) -> Vec { type InfoMetric (line 121) | pub struct InfoMetric { function new (line 127) | pub fn new(label: L) -> Self { method default (line 133) | fn default() -> Self { function with_metric (line 139) | pub fn with_metric(label: L, metric: M) -> Self { function set_label (line 146) | pub fn set_label(&self, label: L) { function collect_family_into (line 157) | fn collect_family_into( type BuildInfo (line 168) | pub struct BuildInfo { method visit_values (line 174) | fn visit_values(&self, v: &mut impl LabelGroupVisitor) { type NeonMetrics (line 184) | pub struct NeonMetrics { type LibMetrics (line 197) | pub struct LibMetrics { function write_gauge (line 207) | fn write_gauge( type Rusage (line 220) | struct Rusage; method collect_group_into (line 233) | fn collect_group_into(&self, enc: &mut T) -> Result<(), T::Err> { type IoOp (line 224) | enum IoOp { type CollectionCounter (line 256) | struct CollectionCounter(CounterState); method collect_family_into (line 262) | fn collect_family_into( function set_build_info_metric (line 273) | pub fn set_build_info_metric(revision: &str, build_tag: &str) { constant BYTES_IN_BLOCK (line 282) | const BYTES_IN_BLOCK: i64 = 512; function update_rusage_metrics (line 292) | fn update_rusage_metrics() { function get_rusage_stats (line 313) | fn get_rusage_stats() -> libc::rusage { type GenericCounterPairVec (line 353) | pub struct GenericCounterPairVec { type GenericCounterPair (line 359) | pub struct GenericCounterPair { function new (line 365) | pub fn new(inc: GenericCounterVec

, dec: GenericCounterVec

) -> Self { function get_metric_with_label_values (line 375) | pub fn get_metric_with_label_values( function with_label_values (line 387) | pub fn with_label_values(&self, vals: &[&str]) -> GenericCounterPair

{ function remove_label_values (line 391) | pub fn remove_label_values(&self, res: &mut [prometheus::Result<()>; 2],... function new (line 398) | pub fn new(inc: GenericCounter

, dec: GenericCounter

) -> Self { function guard (line 403) | pub fn guard(&self) -> GenericCounterPairGuard

{ function guard_by (line 409) | pub fn guard_by(&self, n: P::T) -> GenericCounterPairGuardBy

{ function inc (line 416) | pub fn inc(&self) { function dec (line 422) | pub fn dec(&self) { function inc_by (line 429) | pub fn inc_by(&self, v: P::T) { function dec_by (line 436) | pub fn dec_by(&self, v: P::T) { method clone (line 442) | fn clone(&self) -> Self { type GenericCounterPairGuard (line 451) | pub struct GenericCounterPairGuard(GenericCounter

); method drop (line 454) | fn drop(&mut self) { type GenericCounterPairGuardBy (line 459) | pub struct GenericCounterPairGuardBy(GenericCounter

, P::T); method drop (line 462) | fn drop(&mut self) { type IntCounterPairVec (line 468) | pub type IntCounterPairVec = GenericCounterPairVec; type IntCounterPair (line 471) | pub type IntCounterPair = GenericCounterPair; type IntCounterPairGuard (line 474) | pub type IntCounterPairGuard = GenericCounterPairGuard; type CounterPairAssoc (line 476) | pub trait CounterPairAssoc { constant INC_NAME (line 477) | const INC_NAME: &'static MetricName; constant DEC_NAME (line 478) | const DEC_NAME: &'static MetricName; constant INC_HELP (line 480) | const INC_HELP: &'static str; constant DEC_HELP (line 481) | const DEC_HELP: &'static str; type CounterPairVec (line 486) | pub struct CounterPairVec { method default (line 494) | fn default() -> Self { function guard (line 502) | pub fn guard( function inc (line 510) | pub fn inc(&self, labels: ::Group<'_>) { function dec (line 514) | pub fn dec(&self, labels: ::Group<'_>) { function remove_metric (line 518) | pub fn remove_metric( function sample (line 526) | pub fn sample(&self, labels: ::Group<... function collect_group_into (line 542) | fn collect_group_into(&self, enc: &mut T) -> Result<(), T::Err> { type MeasuredCounterPairState (line 557) | pub struct MeasuredCounterPairState { type Metadata (line 563) | type Metadata = (); method write_type (line 594) | fn write_type(name: impl MetricNameEncoder, enc: &mut Inc) -> Resul... method collect_into (line 597) | fn collect_into( method write_type (line 621) | fn write_type(name: impl MetricNameEncoder, enc: &mut Dec) -> Resul... method collect_into (line 624) | fn collect_into( type MeasuredCounterPairGuard (line 566) | pub struct MeasuredCounterPairGuard<'a, A: CounterPairAssoc> { method drop (line 572) | fn drop(&mut self) { type Inc (line 578) | struct Inc(T); type Dec (line 580) | struct Dec(T); type Err (line 583) | type Err = T::Err; method write_help (line 585) | fn write_help(&mut self, name: impl MetricNameEncoder, help: &str) -> Re... type Err (line 609) | type Err = T::Err; method write_help (line 611) | fn write_help(&mut self, name: impl MetricNameEncoder, help: &str) -> Re... constant POW2_BUCKETS_MAX (line 639) | const POW2_BUCKETS_MAX: usize = 1 << (usize::BITS - 1); function pow2_buckets_cases (line 642) | fn pow2_buckets_cases() { function pow2_buckets_zero_start (line 676) | fn pow2_buckets_zero_start() { function pow2_buckets_end_lt_start (line 682) | fn pow2_buckets_end_lt_start() { function pow2_buckets_end_overflow_min (line 688) | fn pow2_buckets_end_overflow_min() { function pow2_buckets_end_overflow_max (line 694) | fn pow2_buckets_end_overflow_max() { FILE: libs/metrics/src/more_process_metrics.rs type Collector (line 10) | pub struct Collector { method desc (line 30) | fn desc(&self) -> Vec<&prometheus::core::Desc> { method collect (line 34) | fn collect(&self) -> Vec { method new (line 56) | pub fn new() -> Self { constant NMETRICS (line 16) | const NMETRICS: usize = 2; method default (line 88) | fn default() -> Self { FILE: libs/metrics/src/wrappers.rs type CountedReader (line 41) | pub struct CountedReader<'a, T> { function new (line 47) | pub fn new(reader: T, update_counter: impl FnMut(usize) + Sync + Send + ... function inner (line 55) | pub fn inner(&self) -> &T { function inner_mut (line 60) | pub fn inner_mut(&mut self) -> &mut T { function into_inner (line 65) | pub fn into_inner(self) -> T { method read (line 71) | fn read(&mut self, buf: &mut [u8]) -> Result { type CountedWriter (line 112) | pub struct CountedWriter<'a, T> { function new (line 118) | pub fn new(writer: T, update_counter: impl FnMut(usize) + Sync + Send + ... function inner (line 126) | pub fn inner(&self) -> &T { function inner_mut (line 131) | pub fn inner_mut(&mut self) -> &mut T { function into_inner (line 136) | pub fn into_inner(self) -> T { method write (line 142) | fn write(&mut self, buf: &[u8]) -> Result { method flush (line 148) | fn flush(&mut self) -> Result<()> { function test_counted_reader (line 158) | fn test_counted_reader() { function test_counted_writer (line 174) | fn test_counted_writer() { function assert_send_sync (line 190) | fn assert_send_sync(_x: impl Sync + Send + 'static) {} function test_send_sync_counted_reader (line 193) | fn test_send_sync_counted_reader() { function test_send_sync_counted_writer (line 203) | fn test_send_sync_counted_writer() { FILE: libs/neon-shmem/src/hash.rs type HashMapShrinkError (line 38) | pub enum HashMapShrinkError { type HashMapInit (line 51) | pub struct HashMapInit<'a, K, V, S = rustc_hash::FxBuildHasher> { type HashMapAccess (line 65) | pub struct HashMapAccess<'a, K, V, S = rustc_hash::FxBuildHasher> { function with_hasher (line 81) | pub fn with_hasher(self, hasher: T) -> HashMapInit<'a, K... function estimate_size (line 92) | pub fn estimate_size(num_buckets: u32) -> usize { function new (line 97) | fn new( function attach_writer (line 149) | pub fn attach_writer(self) -> HashMapAccess<'a, K, V, S> { function attach_reader (line 161) | pub fn attach_reader(self) -> HashMapAccess<'a, K, V, S> { type HashMapShared (line 178) | type HashMapShared<'a, K, V> = RwLock>; function with_fixed (line 185) | pub fn with_fixed(num_buckets: u32, area: &'a mut [MaybeUninit]) -> ... function with_shmem (line 199) | pub fn with_shmem(num_buckets: u32, shmem: ShmemHandle) -> Self { function new_resizeable_named (line 215) | pub fn new_resizeable_named(num_buckets: u32, max_buckets: u32, name: &s... function new_resizeable (line 232) | pub fn new_resizeable(num_buckets: u32, max_buckets: u32) -> Self { function get_hash_value (line 247) | fn get_hash_value(&self, key: &K) -> u64 { function entry_with_hash (line 251) | fn entry_with_hash(&self, key: K, hash: u64) -> Entry<'a, '_, K, V> { function get (line 293) | pub fn get<'e>(&'e self, key: &K) -> Option> { function entry (line 303) | pub fn entry(&self, key: K) -> Entry<'a, '_, K, V> { function remove (line 309) | pub fn remove(&self, key: &K) -> Option { function insert (line 321) | pub fn insert(&self, key: K, value: V) -> Result, core::FullEr... function entry_at_bucket (line 337) | pub fn entry_at_bucket(&self, pos: usize) -> Option usize { function get_at_bucket (line 366) | pub fn get_at_bucket(&self, pos: usize) -> Option usize { function get_num_buckets_in_use (line 386) | pub fn get_num_buckets_in_use(&self) -> usize { function clear (line 392) | pub fn clear(&self) { function rehash_dict (line 400) | fn rehash_dict( function shuffle (line 445) | pub fn shuffle(&self) { function grow (line 465) | pub fn grow(&self, num_buckets: u32) -> Result<(), shmem::Error> { function begin_shrink (line 513) | pub fn begin_shrink(&mut self, num_buckets: u32) { function shrink_goal (line 527) | pub fn shrink_goal(&self) -> Option { function finish_shrink (line 543) | pub fn finish_shrink(&self) -> Result<(), HashMapShrinkError> { FILE: libs/neon-shmem/src/hash/core.rs constant INVALID_POS (line 9) | pub(crate) const INVALID_POS: u32 = u32::MAX; type Bucket (line 13) | pub(crate) struct Bucket { type CoreHashMap (line 21) | pub(crate) struct CoreHashMap<'a, K, V> { type FullError (line 36) | pub struct FullError; constant FILL_FACTOR (line 39) | const FILL_FACTOR: f32 = 0.60; function estimate_size (line 42) | pub fn estimate_size(num_buckets: u32) -> usize { function new (line 55) | pub fn new( function get_with_hash (line 93) | pub fn get_with_hash(&self, key: &K, hash: u64) -> Option<&V> { function get_num_buckets (line 110) | pub fn get_num_buckets(&self) -> usize { function clear (line 117) | pub fn clear(&mut self) { function alloc_bucket (line 137) | pub(crate) fn alloc_bucket(&mut self, key: K, value: V) -> Result { type PrevPos (line 16) | pub(crate) enum PrevPos { type OccupiedEntry (line 25) | pub struct OccupiedEntry<'a, 'b, K, V> { function get (line 37) | pub fn get(&self) -> &V { function get_mut (line 45) | pub fn get_mut(&mut self) -> &mut V { function insert (line 54) | pub fn insert(&mut self, value: V) -> V { function remove (line 64) | pub fn remove(mut self) -> V { type VacantEntry (line 107) | pub struct VacantEntry<'a, 'b, K, V> { function insert (line 121) | pub fn insert(mut self, value: V) -> Result, Full... FILE: libs/neon-shmem/src/hash/tests.rs constant TEST_KEY_LEN (line 15) | const TEST_KEY_LEN: usize = 16; type TestKey (line 18) | struct TestKey([u8; TEST_KEY_LEN]); method from (line 27) | fn from(val: u128) -> TestKey { method from (line 33) | fn from(bytes: &'a [u8]) -> TestKey { function from (line 21) | fn from(val: &TestKey) -> u128 { function test_inserts (line 38) | fn test_inserts + Copy>(keys: &[K]) { function dense (line 63) | fn dense() { function sparse (line 80) | fn sparse() { type TestOp (line 99) | struct TestOp(TestKey, Option); function apply_op (line 101) | fn apply_op( function do_random_ops (line 131) | fn do_random_ops( function do_deletes (line 153) | fn do_deletes( function do_shrink (line 164) | fn do_shrink( function random_ops (line 186) | fn random_ops() { function test_shuffle (line 204) | fn test_shuffle() { function test_grow (line 216) | fn test_grow() { function test_clear (line 231) | fn test_clear() { function test_idx_remove (line 253) | fn test_idx_remove() { function test_idx_get (line 272) | fn test_idx_get() { function test_shrink (line 294) | fn test_shrink() { function test_shrink_grow_seq (line 309) | fn test_shrink_grow_seq() { function test_bucket_ops (line 335) | fn test_bucket_ops() { function test_shrink_zero (line 369) | fn test_shrink_zero() { function test_grow_oom (line 397) | fn test_grow_oom() { function test_shrink_bigger (line 405) | fn test_shrink_bigger() { function test_shrink_early_finish (line 414) | fn test_shrink_early_finish() { function test_shrink_fixed_size (line 423) | fn test_shrink_fixed_size() { FILE: libs/neon-shmem/src/shmem.rs type ShmemHandle (line 24) | pub struct ShmemHandle { method new (line 72) | pub fn new(name: &str, initial_size: usize, max_size: usize) -> Result... method new_with_fd (line 79) | fn new_with_fd(fd: OwnedFd, initial_size: usize, max_size: usize) -> R... method shared (line 135) | fn shared(&self) -> &SharedStruct { method set_size (line 144) | pub fn set_size(&self, new_size: usize) -> Result<(), Error> { method current_size (line 206) | pub fn current_size(&self) -> usize { type SharedStruct (line 38) | struct SharedStruct { constant RESIZE_IN_PROGRESS (line 45) | const RESIZE_IN_PROGRESS: usize = 1 << 63; constant HEADER_SIZE (line 47) | const HEADER_SIZE: usize = std::mem::size_of::(); type Error (line 52) | pub struct Error { method new (line 58) | fn new(msg: &str, errno: Errno) -> Self { method drop (line 214) | fn drop(&mut self) { function create_backing_file (line 228) | fn create_backing_file(name: &str) -> Result { function enlarge_file (line 246) | fn enlarge_file(fd: BorrowedFd, size: u64) -> Result<(), Error> { function assert_range (line 270) | fn assert_range(ptr: *const u8, expected: u8, range: Range) { function write_range (line 278) | fn write_range(ptr: *mut u8, b: u8, range: Range) { function test_shmem_resize (line 284) | fn test_shmem_resize() -> Result<(), Error> { type SimpleBarrier (line 327) | struct SimpleBarrier { method init (line 333) | unsafe fn init(ptr: *mut SimpleBarrier, num_procs: usize) { method wait (line 342) | pub fn wait(&self) { function test_multi_process (line 356) | fn test_multi_process() { FILE: libs/neon-shmem/src/sync.rs type RwLock (line 8) | pub type RwLock = lock_api::RwLock; type RwLockReadGuard (line 9) | pub type RwLockReadGuard<'a, T> = lock_api::RwLockReadGuard<'a, PthreadR... type RwLockWriteGuard (line 10) | pub type RwLockWriteGuard<'a, T> = lock_api::RwLockWriteGuard<'a, Pthrea... type ValueReadGuard (line 11) | pub type ValueReadGuard<'a, T> = lock_api::MappedRwLockReadGuard<'a, Pth... type ValueWriteGuard (line 12) | pub type ValueWriteGuard<'a, T> = lock_api::MappedRwLockWriteGuard<'a, P... type PthreadRwLock (line 15) | pub struct PthreadRwLock(Option>); method new (line 32) | pub unsafe fn new(lock: *mut libc::pthread_rwlock_t) -> Self { method inner (line 49) | fn inner(&self) -> NonNull { type GuardMarker (line 60) | type GuardMarker = lock_api::GuardSend; constant INIT (line 61) | const INIT: Self = Self(None); method try_lock_shared (line 63) | fn try_lock_shared(&self) -> bool { method try_lock_exclusive (line 77) | fn try_lock_exclusive(&self) -> bool { method lock_shared (line 88) | fn lock_shared(&self) { method lock_exclusive (line 94) | fn lock_exclusive(&self) { method unlock_exclusive (line 100) | unsafe fn unlock_exclusive(&self) { method unlock_shared (line 106) | unsafe fn unlock_shared(&self) { FILE: libs/pageserver_api/src/config.rs constant DEFAULT_PG_LISTEN_PORT (line 9) | pub const DEFAULT_PG_LISTEN_PORT: u16 = 64000; constant DEFAULT_PG_LISTEN_ADDR (line 10) | pub const DEFAULT_PG_LISTEN_ADDR: &str = formatcp!("127.0.0.1:{DEFAULT_P... constant DEFAULT_HTTP_LISTEN_PORT (line 11) | pub const DEFAULT_HTTP_LISTEN_PORT: u16 = 9898; constant DEFAULT_HTTP_LISTEN_ADDR (line 12) | pub const DEFAULT_HTTP_LISTEN_ADDR: &str = formatcp!("127.0.0.1:{DEFAULT... constant DEFAULT_GRPC_LISTEN_PORT (line 14) | pub const DEFAULT_GRPC_LISTEN_PORT: u16 = 51051; type NodeMetadata (line 34) | pub struct NodeMetadata { method fmt (line 52) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type PostHogConfig (line 71) | pub struct PostHogConfig { method try_into_posthog_config (line 102) | pub fn try_into_posthog_config(self) -> Result Self { type PageServicePipeliningConfig (line 311) | pub enum PageServicePipeliningConfig { type PageServicePipeliningConfigPipelined (line 316) | pub struct PageServicePipeliningConfigPipelined { type PageServiceProtocolPipelinedExecutionStrategy (line 328) | pub enum PageServiceProtocolPipelinedExecutionStrategy { type PageServiceProtocolPipelinedBatchingStrategy (line 335) | pub enum PageServiceProtocolPipelinedBatchingStrategy { type GetVectoredConcurrentIo (line 348) | pub enum GetVectoredConcurrentIo { type Ratio (line 365) | pub struct Ratio { type OtelExporterConfig (line 371) | pub struct OtelExporterConfig { type OtelExporterProtocol (line 380) | pub enum OtelExporterProtocol { type Tracing (line 387) | pub struct Tracing { function from (line 393) | fn from(val: &OtelExporterConfig) -> Self { function from (line 403) | fn from(val: OtelExporterProtocol) -> Self { type TimelineImportConfig (line 413) | pub struct TimelineImportConfig { type BasebackupCacheConfig (line 423) | pub struct BasebackupCacheConfig { method default (line 439) | fn default() -> Self { type Behavior (line 454) | pub enum Behavior { type MockedError (line 467) | pub enum MockedError { function from (line 473) | fn from(e: MockedError) -> Self { type EvictionOrder (line 484) | pub enum EvictionOrder { method default (line 491) | fn default() -> Self { type MaxVectoredReadBytes (line 500) | pub struct MaxVectoredReadBytes(pub NonZeroUsize); type MaxGetVectoredKeys (line 504) | pub struct MaxGetVectoredKeys(NonZeroUsize); method get (line 507) | pub fn get(&self) -> usize { type TenantConfigToml (line 515) | pub struct TenantConfigToml { constant DEFAULT_WAIT_LSN_TIMEOUT (line 661) | pub const DEFAULT_WAIT_LSN_TIMEOUT: &str = "300 s"; constant DEFAULT_WAL_REDO_TIMEOUT (line 662) | pub const DEFAULT_WAL_REDO_TIMEOUT: &str = "60 s"; constant DEFAULT_SUPERUSER (line 664) | pub const DEFAULT_SUPERUSER: &str = "cloud_admin"; constant DEFAULT_LOCALE (line 665) | pub const DEFAULT_LOCALE: &str = if cfg!(target_os = "macos") { constant DEFAULT_PAGE_CACHE_SIZE (line 671) | pub const DEFAULT_PAGE_CACHE_SIZE: usize = 8192; constant DEFAULT_MAX_FILE_DESCRIPTORS (line 672) | pub const DEFAULT_MAX_FILE_DESCRIPTORS: usize = 100; constant DEFAULT_LOG_FORMAT (line 674) | pub const DEFAULT_LOG_FORMAT: &str = "plain"; constant DEFAULT_CONCURRENT_TENANT_WARMUP (line 676) | pub const DEFAULT_CONCURRENT_TENANT_WARMUP: usize = 8; constant DEFAULT_CONCURRENT_TENANT_SIZE_LOGICAL_SIZE_QUERIES (line 678) | pub const DEFAULT_CONCURRENT_TENANT_SIZE_LOGICAL_SIZE_QUERIES: usize = 1; constant DEFAULT_METRIC_COLLECTION_INTERVAL (line 680) | pub const DEFAULT_METRIC_COLLECTION_INTERVAL: &str = "10 min"; constant DEFAULT_METRIC_COLLECTION_ENDPOINT (line 681) | pub const DEFAULT_METRIC_COLLECTION_ENDPOINT: Option = None; constant DEFAULT_SYNTHETIC_SIZE_CALCULATION_INTERVAL (line 682) | pub const DEFAULT_SYNTHETIC_SIZE_CALCULATION_INTERVAL: &str = "10 min"; constant DEFAULT_BACKGROUND_TASK_MAXIMUM_DELAY (line 683) | pub const DEFAULT_BACKGROUND_TASK_MAXIMUM_DELAY: &str = "10s"; constant DEFAULT_HEATMAP_UPLOAD_CONCURRENCY (line 685) | pub const DEFAULT_HEATMAP_UPLOAD_CONCURRENCY: usize = 8; constant DEFAULT_SECONDARY_DOWNLOAD_CONCURRENCY (line 686) | pub const DEFAULT_SECONDARY_DOWNLOAD_CONCURRENCY: usize = 1; constant DEFAULT_INGEST_BATCH_SIZE (line 688) | pub const DEFAULT_INGEST_BATCH_SIZE: u64 = 100; constant DEFAULT_MAX_VECTORED_READ_BYTES (line 697) | pub const DEFAULT_MAX_VECTORED_READ_BYTES: usize = 130 * 1024; constant DEFAULT_MAX_GET_VECTORED_KEYS (line 699) | pub const DEFAULT_MAX_GET_VECTORED_KEYS: usize = 32; constant DEFAULT_IMAGE_COMPRESSION (line 701) | pub const DEFAULT_IMAGE_COMPRESSION: ImageCompressionAlgorithm = constant DEFAULT_EPHEMERAL_BYTES_PER_MEMORY_KB (line 704) | pub const DEFAULT_EPHEMERAL_BYTES_PER_MEMORY_KB: usize = 0; constant DEFAULT_IO_BUFFER_ALIGNMENT (line 707) | pub const DEFAULT_IO_BUFFER_ALIGNMENT: usize = 4096; constant DEFAULT_IO_BUFFER_ALIGNMENT (line 709) | pub const DEFAULT_IO_BUFFER_ALIGNMENT: usize = 512; constant DEFAULT_IO_BUFFER_ALIGNMENT (line 711) | pub const DEFAULT_IO_BUFFER_ALIGNMENT: usize = 512; constant DEFAULT_SSL_KEY_FILE (line 713) | pub const DEFAULT_SSL_KEY_FILE: &str = "server.key"; constant DEFAULT_SSL_CERT_FILE (line 714) | pub const DEFAULT_SSL_CERT_FILE: &str = "server.crt"; method default (line 718) | fn default() -> Self { constant DEFAULT_CHECKPOINT_DISTANCE (line 851) | pub const DEFAULT_CHECKPOINT_DISTANCE: u64 = 256 * 1024 * 1024; constant DEFAULT_CHECKPOINT_TIMEOUT (line 852) | pub const DEFAULT_CHECKPOINT_TIMEOUT: &str = "10 m"; constant DEFAULT_COMPACTION_TARGET_SIZE (line 859) | pub const DEFAULT_COMPACTION_TARGET_SIZE: u64 = 128 * 1024 * 1024; constant DEFAULT_COMPACTION_PERIOD (line 861) | pub const DEFAULT_COMPACTION_PERIOD: &str = "20 s"; constant DEFAULT_COMPACTION_THRESHOLD (line 862) | pub const DEFAULT_COMPACTION_THRESHOLD: usize = 10; constant DEFAULT_COMPACTION_SHARD_ANCESTOR (line 863) | pub const DEFAULT_COMPACTION_SHARD_ANCESTOR: bool = true; constant DEFAULT_COMPACTION_UPPER_LIMIT (line 869) | pub const DEFAULT_COMPACTION_UPPER_LIMIT: usize = 10; constant DEFAULT_COMPACTION_L0_FIRST (line 872) | pub const DEFAULT_COMPACTION_L0_FIRST: bool = true; constant DEFAULT_COMPACTION_L0_SEMAPHORE (line 873) | pub const DEFAULT_COMPACTION_L0_SEMAPHORE: bool = true; constant DEFAULT_COMPACTION_ALGORITHM (line 875) | pub const DEFAULT_COMPACTION_ALGORITHM: crate::models::CompactionAlgorit... constant DEFAULT_GC_HORIZON (line 878) | pub const DEFAULT_GC_HORIZON: u64 = 64 * 1024 * 1024; constant DEFAULT_GC_PERIOD (line 884) | pub const DEFAULT_GC_PERIOD: &str = "1 hr"; constant DEFAULT_IMAGE_CREATION_THRESHOLD (line 885) | pub const DEFAULT_IMAGE_CREATION_THRESHOLD: usize = 3; constant DEFAULT_IMAGE_CREATION_PREEMPT_THRESHOLD (line 891) | pub const DEFAULT_IMAGE_CREATION_PREEMPT_THRESHOLD: usize = 3; constant DEFAULT_PITR_INTERVAL (line 892) | pub const DEFAULT_PITR_INTERVAL: &str = "7 days"; constant DEFAULT_WALRECEIVER_CONNECT_TIMEOUT (line 893) | pub const DEFAULT_WALRECEIVER_CONNECT_TIMEOUT: &str = "10 seconds"; constant DEFAULT_WALRECEIVER_LAGGING_WAL_TIMEOUT (line 894) | pub const DEFAULT_WALRECEIVER_LAGGING_WAL_TIMEOUT: &str = "10 seconds"; constant DEFAULT_MAX_WALRECEIVER_LSN_WAL_LAG (line 898) | pub const DEFAULT_MAX_WALRECEIVER_LSN_WAL_LAG: u64 = 1024 * 1024 * 1024; constant DEFAULT_EVICTIONS_LOW_RESIDENCE_DURATION_METRIC_THRESHOLD (line 899) | pub const DEFAULT_EVICTIONS_LOW_RESIDENCE_DURATION_METRIC_THRESHOLD: &st... constant DEFAULT_IMAGE_LAYER_CREATION_CHECK_THRESHOLD (line 902) | pub const DEFAULT_IMAGE_LAYER_CREATION_CHECK_THRESHOLD: u8 = 2; constant DEFAULT_GC_COMPACTION_ENABLED (line 903) | pub const DEFAULT_GC_COMPACTION_ENABLED: bool = true; constant DEFAULT_GC_COMPACTION_VERIFICATION (line 904) | pub const DEFAULT_GC_COMPACTION_VERIFICATION: bool = true; constant DEFAULT_GC_COMPACTION_INITIAL_THRESHOLD_KB (line 905) | pub const DEFAULT_GC_COMPACTION_INITIAL_THRESHOLD_KB: u64 = 5 * 1024 * 1... constant DEFAULT_GC_COMPACTION_RATIO_PERCENT (line 906) | pub const DEFAULT_GC_COMPACTION_RATIO_PERCENT: u64 = 100; constant DEFAULT_RELSIZE_SNAPSHOT_CACHE_CAPACITY (line 907) | pub const DEFAULT_RELSIZE_SNAPSHOT_CACHE_CAPACITY: usize = 1000; method default (line 911) | fn default() -> Self { FILE: libs/pageserver_api/src/config/tests.rs function test_node_metadata_v1_backward_compatibilty (line 4) | fn test_node_metadata_v1_backward_compatibilty() { function test_node_metadata_v2_backward_compatibilty (line 28) | fn test_node_metadata_v2_backward_compatibilty() { function test_node_metadata_v3_backward_compatibilty (line 53) | fn test_node_metadata_v3_backward_compatibilty() { FILE: libs/pageserver_api/src/controller_api.rs type TenantCreateRequest (line 19) | pub struct TenantCreateRequest { type TenantCreateResponseShard (line 39) | pub struct TenantCreateResponseShard { type TenantCreateResponse (line 46) | pub struct TenantCreateResponse { type NodeRegisterRequest (line 51) | pub struct NodeRegisterRequest { type NodeConfigureRequest (line 72) | pub struct NodeConfigureRequest { type TenantPolicyRequest (line 80) | pub struct TenantPolicyRequest { type AvailabilityZone (line 86) | pub struct AvailabilityZone(pub String); method fmt (line 89) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type ShardsPreferredAzsRequest (line 95) | pub struct ShardsPreferredAzsRequest { type ShardsPreferredAzsResponse (line 101) | pub struct ShardsPreferredAzsResponse { type TenantLocateResponseShard (line 106) | pub struct TenantLocateResponseShard { type TenantLocateResponse (line 121) | pub struct TenantLocateResponse { type TenantDescribeResponse (line 127) | pub struct TenantDescribeResponse { type TenantTimelineDescribeResponse (line 136) | pub struct TenantTimelineDescribeResponse { type NodeShardResponse (line 143) | pub struct NodeShardResponse { type NodeShard (line 149) | pub struct NodeShard { type NodeDescribeResponse (line 158) | pub struct NodeDescribeResponse { type TenantDescribeResponseShard (line 177) | pub struct TenantDescribeResponseShard { type TenantShardMigrateRequest (line 205) | pub struct TenantShardMigrateRequest { type MigrationConfig (line 219) | pub struct MigrationConfig { function default_prewarm (line 252) | fn default_prewarm() -> bool { method default (line 257) | fn default() -> Self { type NodeAvailability (line 269) | pub enum NodeAvailability { method from (line 306) | fn from(val: NodeAvailabilityWrapper) -> Self { method eq (line 284) | fn eq(&self, other: &Self) -> bool { type NodeAvailabilityWrapper (line 299) | pub enum NodeAvailabilityWrapper { method from (line 320) | fn from(val: NodeAvailability) -> Self { type ShardSchedulingPolicy (line 341) | pub enum ShardSchedulingPolicy { method default (line 361) | fn default() -> Self { type NodeLifecycle (line 367) | pub enum NodeLifecycle { type Err (line 373) | type Err = anyhow::Error; method from_str (line 375) | fn from_str(s: &str) -> Result { method from (line 385) | fn from(value: NodeLifecycle) -> String { type NodeSchedulingPolicy (line 396) | pub enum NodeSchedulingPolicy { type Err (line 406) | type Err = anyhow::Error; method from_str (line 408) | fn from_str(s: &str) -> Result { method from (line 422) | fn from(value: NodeSchedulingPolicy) -> String { type SkSchedulingPolicy (line 437) | pub enum SkSchedulingPolicy { type Err (line 445) | type Err = anyhow::Error; method from_str (line 447) | fn from_str(s: &str) -> Result { method from (line 463) | fn from(value: SkSchedulingPolicy) -> String { type PlacementPolicy (line 478) | pub enum PlacementPolicy { method want_secondaries (line 492) | pub fn want_secondaries(&self) -> usize { type TenantShardMigrateResponse (line 502) | pub struct TenantShardMigrateResponse {} type MetadataHealthRecord (line 506) | pub struct MetadataHealthRecord { type MetadataHealthUpdateRequest (line 513) | pub struct MetadataHealthUpdateRequest { type MetadataHealthUpdateResponse (line 519) | pub struct MetadataHealthUpdateResponse {} type MetadataHealthListUnhealthyResponse (line 522) | pub struct MetadataHealthListUnhealthyResponse { type MetadataHealthListOutdatedRequest (line 527) | pub struct MetadataHealthListOutdatedRequest { type MetadataHealthListOutdatedResponse (line 533) | pub struct MetadataHealthListOutdatedResponse { type SafekeeperDescribeResponse (line 539) | pub struct SafekeeperDescribeResponse { type TimelineSafekeeperPeer (line 555) | pub struct TimelineSafekeeperPeer { type SCSafekeeperTimeline (line 562) | pub struct SCSafekeeperTimeline { type SCSafekeeperTimelinesResponse (line 569) | pub struct SCSafekeeperTimelinesResponse { type SafekeeperTimeline (line 575) | pub struct SafekeeperTimeline { type SafekeeperTimelinesResponse (line 582) | pub struct SafekeeperTimelinesResponse { type SafekeeperSchedulingPolicyRequest (line 588) | pub struct SafekeeperSchedulingPolicyRequest { type TimelineImportRequest (line 594) | pub struct TimelineImportRequest { type TimelineSafekeeperMigrateRequest (line 603) | pub struct TimelineSafekeeperMigrateRequest { function placement_policy_encoding (line 615) | fn placement_policy_encoding() -> anyhow::Result<()> { function test_reject_unknown_field (line 629) | fn test_reject_unknown_field() { function test_migrate_request_decode_defaults (line 644) | fn test_migrate_request_decode_defaults() { function test_migration_config_decode_defaults (line 663) | fn test_migration_config_decode_defaults() { FILE: libs/pageserver_api/src/key.rs type Key (line 19) | pub struct Key { method is_metadata_key (line 120) | pub const fn is_metadata_key(&self) -> bool { method from_metadata_key_fixed_size (line 125) | pub fn from_metadata_key_fixed_size(key: &[u8; METADATA_KEY_SIZE]) -> ... method from_metadata_key (line 132) | pub fn from_metadata_key(key: &[u8]) -> Self { method metadata_key_range (line 137) | pub const fn metadata_key_range() -> Range { method metadata_aux_key_range (line 156) | pub fn metadata_aux_key_range() -> Range { method rel_dir_sparse_key_range (line 174) | pub fn rel_dir_sparse_key_range() -> Range { method is_valid_key_on_write_path_strong (line 196) | pub fn is_valid_key_on_write_path_strong(&self) -> bool { method is_valid_key_on_write_path (line 214) | pub fn is_valid_key_on_write_path(&self) -> bool { method is_i128_representable (line 218) | pub fn is_i128_representable(&self) -> bool { method to_i128 (line 225) | pub fn to_i128(&self) -> i128 { method from_i128 (line 235) | pub const fn from_i128(x: i128) -> Self { method to_compact (line 246) | pub fn to_compact(&self) -> CompactKey { method from_compact (line 250) | pub fn from_compact(k: CompactKey) -> Self { method next (line 254) | pub const fn next(&self) -> Key { method add (line 258) | pub const fn add(&self, x: u32) -> Key { method from_slice (line 290) | pub fn from_slice(b: &[u8]) -> Self { method write_to_byte_slice (line 303) | pub fn write_to_byte_slice(&self, buf: &mut [u8]) { method fmt (line 326) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { constant MIN (line 343) | pub const MIN: Key = Key { constant MAX (line 351) | pub const MAX: Key = Key { method from_hex (line 360) | pub fn from_hex(s: &str) -> Result { method is_rel_size_key (line 578) | pub fn is_rel_size_key(&self) -> bool { method is_slru_segment_size_key (line 672) | pub fn is_slru_segment_size_key(&self) -> bool { method is_slru_dir_key (line 680) | pub fn is_slru_dir_key(&self) -> bool { method is_inherited_key (line 827) | pub fn is_inherited_key(self) -> bool { method is_sparse (line 836) | pub fn is_sparse(self) -> bool { method is_inherited_sparse_key (line 841) | fn is_inherited_sparse_key(self) -> bool { method sparse_non_inherited_keyspace (line 846) | pub const fn sparse_non_inherited_keyspace() -> Range { method is_rel_fsm_block_key (line 867) | pub fn is_rel_fsm_block_key(self) -> bool { method is_rel_vm_block_key (line 875) | pub fn is_rel_vm_block_key(self) -> bool { method to_slru_block (line 883) | pub fn to_slru_block(self) -> anyhow::Result<(SlruKind, u32, BlockNumb... method is_slru_block_key (line 902) | pub fn is_slru_block_key(self) -> bool { method is_rel_block_key (line 909) | pub fn is_rel_block_key(&self) -> bool { method is_rel_block_of_rel (line 914) | pub fn is_rel_block_of_rel(&self, rel: Oid) -> bool { method is_rel_dir_key (line 919) | pub fn is_rel_dir_key(&self) -> bool { method is_aux_file_key (line 929) | pub fn is_aux_file_key(&self) -> bool { method to_rel_block (line 935) | pub fn to_rel_block(self) -> Result<(RelTag, BlockNumber), ToRelBlockE... type Err (line 952) | type Err = anyhow::Error; method from_str (line 954) | fn from_str(s: &str) -> std::result::Result { type CompactKey (line 33) | pub struct CompactKey(i128); method raw (line 314) | pub fn raw(&self) -> i128 { method from (line 320) | fn from(value: i128) -> Self { method fmt (line 336) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { constant KEY_SIZE (line 36) | pub const KEY_SIZE: usize = 18; constant METADATA_KEY_SIZE (line 40) | pub const METADATA_KEY_SIZE: usize = 16; constant METADATA_KEY_BEGIN_PREFIX (line 43) | pub const METADATA_KEY_BEGIN_PREFIX: u8 = 0x60; constant METADATA_KEY_END_PREFIX (line 44) | pub const METADATA_KEY_END_PREFIX: u8 = 0x7F; constant RELATION_SIZE_PREFIX (line 47) | pub const RELATION_SIZE_PREFIX: u8 = 0x61; constant AUX_KEY_PREFIX (line 50) | pub const AUX_KEY_PREFIX: u8 = 0x62; constant REPL_ORIGIN_KEY_PREFIX (line 53) | pub const REPL_ORIGIN_KEY_PREFIX: u8 = 0x63; constant DB_DIR_KEY_PREFIX (line 56) | pub const DB_DIR_KEY_PREFIX: u8 = 0x64; constant REL_DIR_KEY_PREFIX (line 59) | pub const REL_DIR_KEY_PREFIX: u8 = 0x65; type RelDirExists (line 62) | pub enum RelDirExists { constant REL_EXISTS_MARKER (line 80) | const REL_EXISTS_MARKER: Bytes = Bytes::from_static(b"r"); method encode (line 82) | pub fn encode(&self) -> Bytes { method decode_option (line 89) | pub fn decode_option(data: Option>) -> Result) -> Result { type DecodeError (line 68) | pub struct DecodeError; method fmt (line 71) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { constant SPARSE_TOMBSTONE_MARKER (line 111) | pub const SPARSE_TOMBSTONE_MARKER: Bytes = Bytes::from_static(b""); function is_metadata_key_slice (line 114) | pub const fn is_metadata_key_slice(key: &[u8]) -> bool { constant DBDIR_KEY (line 470) | pub const DBDIR_KEY: Key = Key { function dbdir_key_range (line 480) | pub fn dbdir_key_range(spcnode: Oid, dbnode: Oid) -> Range { function relmap_file_key (line 499) | pub fn relmap_file_key(spcnode: Oid, dbnode: Oid) -> Key { function rel_dir_to_key (line 511) | pub fn rel_dir_to_key(spcnode: Oid, dbnode: Oid) -> Key { function rel_tag_sparse_key (line 523) | pub fn rel_tag_sparse_key(spcnode: Oid, dbnode: Oid, relnode: Oid, forkn... function rel_tag_sparse_key_range (line 534) | pub fn rel_tag_sparse_key_range(spcnode: Oid, dbnode: Oid) -> Range { function rel_block_to_key (line 553) | pub fn rel_block_to_key(rel: RelTag, blknum: BlockNumber) -> Key { function rel_size_to_key (line 565) | pub fn rel_size_to_key(rel: RelTag) -> Key { function rel_key_range (line 584) | pub fn rel_key_range(rel: RelTag) -> Range { function slru_dir_to_key (line 605) | pub fn slru_dir_to_key(kind: SlruKind) -> Key { function slru_dir_kind (line 621) | pub fn slru_dir_kind(key: &Key) -> Option> { function slru_block_to_key (line 640) | pub fn slru_block_to_key(kind: SlruKind, segno: u32, blknum: BlockNumber... function slru_segment_size_to_key (line 656) | pub fn slru_segment_size_to_key(kind: SlruKind, segno: u32) -> Key { function slru_segment_key_range (line 686) | pub fn slru_segment_key_range(kind: SlruKind, segno: u32) -> Range { constant TWOPHASEDIR_KEY (line 712) | pub const TWOPHASEDIR_KEY: Key = Key { function twophase_file_key (line 722) | pub fn twophase_file_key(xid: u64) -> Key { function twophase_key_range (line 734) | pub fn twophase_key_range(xid: u64) -> Range { constant CONTROLFILE_KEY (line 756) | pub const CONTROLFILE_KEY: Key = Key { constant CHECKPOINT_KEY (line 765) | pub const CHECKPOINT_KEY: Key = Key { constant AUX_FILES_KEY (line 774) | pub const AUX_FILES_KEY: Key = Key { function repl_origin_key (line 784) | pub fn repl_origin_key(origin_id: RepOriginId) -> Key { function repl_origin_key_range (line 796) | pub fn repl_origin_key_range() -> Range { constant NON_INHERITED_RANGE (line 818) | pub const NON_INHERITED_RANGE: Range = AUX_FILES_KEY..AUX_FILES_KEY... constant SPARSE_RANGE (line 820) | pub const SPARSE_RANGE: Range = Key::metadata_key_range(); type ToRelBlockError (line 960) | pub struct ToRelBlockError(u8); method fmt (line 963) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { function display_fromstr_bijection (line 980) | fn display_fromstr_bijection() { function test_metadata_keys (line 996) | fn test_metadata_keys() { function test_possible_largest_key (line 1007) | fn test_possible_largest_key() { FILE: libs/pageserver_api/src/keyspace.rs type KeySpace (line 12) | pub struct KeySpace { method fmt (line 19) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method single (line 262) | pub fn single(key_range: Range) -> Self { method partition (line 271) | pub fn partition( method is_empty (line 317) | pub fn is_empty(&self) -> bool { method merge (line 323) | pub fn merge(&mut self, other: &KeySpace) { method remove_overlapping_with (line 351) | pub fn remove_overlapping_with(&mut self, other: &KeySpace) -> KeySpace { method start (line 402) | pub fn start(&self) -> Option { method end (line 406) | pub fn end(&self) -> Option { method total_raw_size (line 411) | pub fn total_raw_size(&self) -> usize { method overlaps_at (line 418) | fn overlaps_at(&self, range: &Range) -> Option { method overlaps (line 431) | pub fn overlaps(&self, range: &Range) -> bool { method contains (line 436) | pub fn contains(&self, key: &Key) -> bool { type SparseKeySpace (line 30) | pub struct SparseKeySpace(pub KeySpace); type ShardedRange (line 42) | pub struct ShardedRange<'a> { function contiguous_range_len (line 49) | pub fn contiguous_range_len(range: &Range) -> u32 { function is_contiguous_range (line 68) | pub fn is_contiguous_range(range: &Range) -> bool { function new (line 78) | pub fn new(range: Range, shard_identity: &'a ShardIdentity) -> Self { function fragment (line 87) | pub fn fragment(self, target_nblocks: u32) -> Vec<(u32, Range)> { function page_count (line 168) | pub fn page_count(&self) -> u32 { function distance_to_next_boundary (line 213) | fn distance_to_next_boundary(&self, cursor: Key) -> u32 { function raw_size (line 251) | pub fn raw_size(range: &Range) -> u32 { type KeyPartitioning (line 449) | pub struct KeyPartitioning { method new (line 460) | pub fn new() -> Self { method into_sparse (line 465) | pub fn into_sparse(self) -> SparseKeyPartitioning { type SparseKeyPartitioning (line 455) | pub struct SparseKeyPartitioning { method into_dense (line 475) | pub fn into_dense(self) -> KeyPartitioning { type KeySpaceAccum (line 488) | pub struct KeySpaceAccum { method new (line 496) | pub fn new() -> Self { method add_key (line 505) | pub fn add_key(&mut self, key: Key) { method add_range (line 510) | pub fn add_range(&mut self, range: Range) { method to_keyspace (line 530) | pub fn to_keyspace(mut self) -> KeySpace { method consume_keyspace (line 539) | pub fn consume_keyspace(&mut self) -> KeySpace { method raw_size (line 545) | pub fn raw_size(&self) -> u64 { type KeySpaceRandomAccum (line 555) | pub struct KeySpaceRandomAccum { method new (line 560) | pub fn new() -> Self { method add_key (line 564) | pub fn add_key(&mut self, key: Key) { method add_range (line 568) | pub fn add_range(&mut self, range: Range) { method add_keyspace (line 572) | pub fn add_keyspace(&mut self, keyspace: KeySpace) { method to_keyspace (line 578) | pub fn to_keyspace(mut self) -> KeySpace { method consume_keyspace (line 599) | pub fn consume_keyspace(&mut self) -> KeySpace { function singleton_range (line 607) | pub fn singleton_range(key: Key) -> Range { function kr (line 623) | fn kr(irange: Range) -> Range { function dump_keyspace (line 628) | fn dump_keyspace(ks: &KeySpace) { function assert_ks_eq (line 634) | fn assert_ks_eq(actual: &KeySpace, expected: Vec>) { function keyspace_consume (line 651) | fn keyspace_consume() { function keyspace_add_range (line 678) | fn keyspace_add_range() { function keyspace_overlaps (line 761) | fn keyspace_overlaps() { function test_remove_full_overlapps (line 821) | fn test_remove_full_overlapps() { function test_remove_partial_overlaps (line 859) | fn test_remove_partial_overlaps() { function test_remove_no_overlaps (line 897) | fn test_remove_no_overlaps() { function test_remove_one_range_overlaps_multiple (line 928) | fn test_remove_one_range_overlaps_multiple() { function sharded_range_relation_gap (line 967) | fn sharded_range_relation_gap() { function shard_identity_keyspaces_single_key (line 984) | fn shard_identity_keyspaces_single_key() { function contiguous_range_check (line 1001) | fn contiguous_range_check() { function shard_identity_keyspaces_forkno_gap (line 1029) | fn shard_identity_keyspaces_forkno_gap() { function shard_identity_keyspaces_one_relation (line 1048) | fn shard_identity_keyspaces_one_relation() { function do_fragment (line 1077) | fn do_fragment( function sharded_range_fragment_simple (line 1135) | fn sharded_range_fragment_simple() { function sharded_range_fragment_multi_stripe (line 1180) | fn sharded_range_fragment_multi_stripe() { function sharded_range_fragment_starting_from_logical_size (line 1234) | fn sharded_range_fragment_starting_from_logical_size() { function sharded_range_fragment_unsharded (line 1274) | fn sharded_range_fragment_unsharded() { function sharded_range_fragment_cross_relation (line 1292) | fn sharded_range_fragment_cross_relation() { function sharded_range_fragment_tiny_nblocks (line 1313) | fn sharded_range_fragment_tiny_nblocks() { function sharded_range_fragment_fuzz (line 1334) | fn sharded_range_fragment_fuzz() { FILE: libs/pageserver_api/src/models.rs type TenantState (line 60) | pub enum TenantState { method attachment_status (line 110) | pub fn attachment_status(&self) -> TenantAttachmentStatus { method broken_from_reason (line 139) | pub fn broken_from_reason(reason: String) -> Self { method fmt (line 149) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type LsnLease (line 163) | pub struct LsnLease { constant DEFAULT_LENGTH (line 177) | pub const DEFAULT_LENGTH: Duration = Duration::from_secs(10 * 60); constant DEFAULT_LENGTH_FOR_TS (line 181) | pub const DEFAULT_LENGTH_FOR_TS: Duration = Duration::from_secs(60); method is_expired (line 184) | pub fn is_expired(&self, now: &SystemTime) -> bool { type DetachBehavior (line 193) | pub enum DetachBehavior { type Err (line 200) | type Err = &'static str; method from_str (line 202) | fn from_str(s: &str) -> Result { method fmt (line 214) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type ActivatingFrom (line 227) | pub enum ActivatingFrom { type TimelineState (line 234) | pub enum TimelineState { type CompactLsnRange (line 251) | pub struct CompactLsnRange { method from (line 266) | fn from(range: Range) -> Self { method above (line 296) | pub fn above(lsn: Lsn) -> Self { type CompactKeyRange (line 258) | pub struct CompactKeyRange { method from (line 275) | fn from(range: Range) -> Self { function from (line 284) | fn from(range: CompactLsnRange) -> Self { function from (line 290) | fn from(range: CompactKeyRange) -> Self { type CompactInfoResponse (line 305) | pub struct CompactInfoResponse { type TimelineCreateRequest (line 314) | pub struct TimelineCreateRequest { method mode_tag (line 321) | pub fn mode_tag(&self) -> &'static str { method is_import (line 329) | pub fn is_import(&self) -> bool { type ShardImportStatus (line 335) | pub enum ShardImportStatus { method is_terminal (line 360) | pub fn is_terminal(&self) -> bool { type ShardImportProgress (line 342) | pub enum ShardImportProgress { type ShardImportProgressV1 (line 347) | pub struct ShardImportProgressV1 { type TimelineCreateResponseStorcon (line 370) | pub struct TimelineCreateResponseStorcon { type SafekeepersInfo (line 380) | pub struct SafekeepersInfo { type SafekeeperInfo (line 388) | pub struct SafekeeperInfo { type TimelineCreateRequestMode (line 395) | pub enum TimelineCreateRequestMode { type TimelineCreateRequestModeImportPgdata (line 421) | pub struct TimelineCreateRequestModeImportPgdata { type ImportPgdataLocation (line 427) | pub enum ImportPgdataLocation { type ImportPgdataIdempotencyKey (line 441) | pub struct ImportPgdataIdempotencyKey(pub String); method random (line 444) | pub fn random() -> Self { type LsnLeaseRequest (line 458) | pub struct LsnLeaseRequest { type TenantShardSplitRequest (line 463) | pub struct TenantShardSplitRequest { type TenantShardSplitResponse (line 475) | pub struct TenantShardSplitResponse { type ShardParameters (line 482) | pub struct ShardParameters { method is_unsharded (line 488) | pub fn is_unsharded(&self) -> bool { method from (line 503) | fn from(identity: ShardIdentity) -> Self { method default (line 494) | fn default() -> Self { type FieldPatch (line 512) | pub enum FieldPatch { function is_noop (line 520) | fn is_noop(&self) -> bool { function apply (line 524) | pub fn apply(self, target: &mut Option) { function map (line 532) | pub fn map Result>(self, map: F) -> Result(deserializer: D) -> Result method serialize (line 554) | fn serialize(&self, serializer: S) -> Result type TenantConfigPatch (line 568) | pub struct TenantConfigPatch { type TenantConfig (line 657) | pub struct TenantConfig { method apply_patch (line 789) | pub fn apply_patch( method merge (line 986) | pub fn merge( type AuxFilePolicy (line 1124) | pub enum AuxFilePolicy { type EvictionPolicy (line 1139) | pub enum EvictionPolicy { method discriminant_str (line 1146) | pub fn discriminant_str(&self) -> &'static str { type CompactionAlgorithm (line 1167) | pub enum CompactionAlgorithm { type ImageCompressionAlgorithm (line 1175) | pub enum ImageCompressionAlgorithm { type Err (line 1186) | type Err = anyhow::Error; method from_str (line 1187) | fn from_str(s: &str) -> Result { method fmt (line 1210) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type CompactionAlgorithmSettings (line 1225) | pub struct CompactionAlgorithmSettings { type L0FlushConfig (line 1231) | pub enum L0FlushConfig { type EvictionPolicyLayerAccessThreshold (line 1237) | pub struct EvictionPolicyLayerAccessThreshold { type ThrottleConfig (line 1245) | pub struct ThrottleConfig { method disabled (line 1285) | pub fn disabled() -> Self { method steady_rps (line 1296) | pub fn steady_rps(&self) -> f64 { type ThrottleConfigTaskKinds (line 1273) | pub struct ThrottleConfigTaskKinds(Vec); method disabled (line 1276) | pub fn disabled() -> Self { method is_enabled (line 1279) | pub fn is_enabled(&self) -> bool { function test_disabled_is_disabled (line 1306) | fn test_disabled_is_disabled() { function test_enabled_backwards_compat (line 1311) | fn test_enabled_backwards_compat() { type LocationConfigMode (line 1329) | pub enum LocationConfigMode { type LocationConfigSecondary (line 1338) | pub struct LocationConfigSecondary { type LocationConfig (line 1345) | pub struct LocationConfig { type LocationConfigListResponse (line 1371) | pub struct LocationConfigListResponse { type StatusResponse (line 1376) | pub struct StatusResponse { type TenantLocationConfigRequest (line 1382) | pub struct TenantLocationConfigRequest { type TenantTimeTravelRequest (line 1389) | pub struct TenantTimeTravelRequest { type TenantShardLocation (line 1395) | pub struct TenantShardLocation { type TenantLocationConfigResponse (line 1402) | pub struct TenantLocationConfigResponse { type TenantConfigRequest (line 1410) | pub struct TenantConfigRequest { type Target (line 1417) | type Target = TenantConfig; method deref (line 1419) | fn deref(&self) -> &Self::Target { method new (line 1425) | pub fn new(tenant_id: TenantId) -> TenantConfigRequest { type TenantConfigPatchRequest (line 1433) | pub struct TenantConfigPatchRequest { type TenantWaitLsnRequest (line 1440) | pub struct TenantWaitLsnRequest { type TenantAttachmentStatus (line 1449) | pub enum TenantAttachmentStatus { type TenantInfo (line 1456) | pub struct TenantInfo { type TenantDetails (line 1474) | pub struct TenantDetails { type TimelineArchivalState (line 1484) | pub enum TimelineArchivalState { type TimelineVisibilityState (line 1490) | pub enum TimelineVisibilityState { type TimelineArchivalConfigRequest (line 1496) | pub struct TimelineArchivalConfigRequest { type TimelinePatchIndexPartRequest (line 1501) | pub struct TimelinePatchIndexPartRequest { type TimelinesInfoAndOffloaded (line 1511) | pub struct TimelinesInfoAndOffloaded { type OffloadedTimelineInfo (line 1518) | pub struct OffloadedTimelineInfo { type RelSizeMigration (line 1531) | pub enum RelSizeMigration { type TimelineInfo (line 1546) | pub struct TimelineInfo { type LayerMapInfo (line 1633) | pub struct LayerMapInfo { type LayerResidenceStatus (line 1640) | pub enum LayerResidenceStatus { type LayerAccessStats (line 1650) | pub struct LayerAccessStats { type InMemoryLayerInfo (line 1662) | pub enum InMemoryLayerInfo { type HistoricLayerInfo (line 1669) | pub enum HistoricLayerInfo { method layer_file_name (line 1692) | pub fn layer_file_name(&self) -> &str { method is_remote (line 1702) | pub fn is_remote(&self) -> bool { method set_remote (line 1708) | pub fn set_remote(&mut self, value: bool) { method layer_file_size (line 1715) | pub fn layer_file_size(&self) -> u64 { type DownloadRemoteLayersTaskSpawnRequest (line 1728) | pub struct DownloadRemoteLayersTaskSpawnRequest { type IngestAuxFilesRequest (line 1733) | pub struct IngestAuxFilesRequest { type ListAuxFilesRequest (line 1738) | pub struct ListAuxFilesRequest { type DownloadRemoteLayersTaskInfo (line 1743) | pub struct DownloadRemoteLayersTaskInfo { type DownloadRemoteLayersTaskState (line 1752) | pub enum DownloadRemoteLayersTaskState { type TimelineGcRequest (line 1759) | pub struct TimelineGcRequest { type WalRedoManagerProcessStatus (line 1764) | pub struct WalRedoManagerProcessStatus { type WalRedoManagerStatus (line 1769) | pub struct WalRedoManagerStatus { type SecondaryProgress (line 1780) | pub struct SecondaryProgress { type TenantScanRemoteStorageShard (line 1796) | pub struct TenantScanRemoteStorageShard { type TenantScanRemoteStorageResponse (line 1803) | pub struct TenantScanRemoteStorageResponse { type TenantSorting (line 1809) | pub enum TenantSorting { method default (line 1821) | fn default() -> Self { type TopTenantShardsRequest (line 1827) | pub struct TopTenantShardsRequest { type TopTenantShardItem (line 1844) | pub struct TopTenantShardItem { type TopTenantShardsResponse (line 1864) | pub struct TopTenantShardsResponse { type IoEngineKind (line 1883) | pub enum IoEngineKind { type IoMode (line 1905) | pub enum IoMode { method preferred (line 1915) | pub fn preferred() -> Self { type Error (line 1921) | type Error = u8; method try_from (line 1923) | fn try_from(value: u8) -> Result { type ScanDisposableKeysResponse (line 1935) | pub struct ScanDisposableKeysResponse { type TenantHistorySize (line 1943) | pub struct TenantHistorySize { type PageTraceEvent (line 1952) | pub struct PageTraceEvent { method default (line 1959) | fn default() -> Self { function test_tenantinfo_serde (line 1977) | fn test_tenantinfo_serde() { function test_reject_unknown_field (line 2040) | fn test_reject_unknown_field() { function tenantstatus_activating_serde (line 2054) | fn tenantstatus_activating_serde() { function tenantstatus_activating_strum (line 2068) | fn tenantstatus_activating_strum() { function test_image_compression_algorithm_parsing (line 2107) | fn test_image_compression_algorithm_parsing() { function test_tenant_config_patch_request_serde (line 2140) | fn test_tenant_config_patch_request_serde() { FILE: libs/pageserver_api/src/models/detach_ancestor.rs type AncestorDetached (line 6) | pub struct AncestorDetached { FILE: libs/pageserver_api/src/models/partitioning.rs type Partitioning (line 6) | pub struct Partitioning { method serialize (line 13) | fn serialize(&self, serializer: S) -> std::result::Result(deserializer: D) -> Result type WithDisplay (line 45) | pub struct WithDisplay<'a, T>(&'a T); function serialize (line 48) | fn serialize(&self, serializer: S) -> std::result::Result(&'a std::ops::Range); function serialize (line 59) | fn serialize(&self, serializer: S) -> Result function test_serialization_roundtrip (line 125) | fn test_serialization_roundtrip() { FILE: libs/pageserver_api/src/models/utilization.rs type PageserverUtilization (line 14) | pub struct PageserverUtilization { constant UTILIZATION_FULL (line 58) | const UTILIZATION_FULL: u64 = 1000000; method score (line 69) | pub fn score(&self) -> RawScore { method cached_score (line 81) | pub fn cached_score(&mut self) -> RawScore { method is_overloaded (line 97) | pub fn is_overloaded(score: RawScore) -> bool { method adjust_shard_count_max (line 109) | pub fn adjust_shard_count_max(&mut self, shard_count: u32) { method full (line 120) | pub fn full() -> Self { function unity_percent (line 51) | fn unity_percent() -> Percent { type RawScore (line 55) | pub type RawScore = u64; constant TEST_DISK_SIZE (line 144) | const TEST_DISK_SIZE: u64 = 1024 * 1024 * 1024 * 1024; constant TEST_SHARDS_MAX (line 145) | const TEST_SHARDS_MAX: u32 = 1000; function simple (line 151) | pub fn simple(shard_count: u32, disk_wanted_bytes: u64) -> PageserverUti... function ser_saturating_u63 (line 171) | fn ser_saturating_u63(value: &u64, serializer: S) ... function u64_max_is_serialized_as_u63_max (line 186) | fn u64_max_is_serialized_as_u63_max() { FILE: libs/pageserver_api/src/pagestream_api.rs constant BLCKSZ (line 18) | const BLCKSZ: usize = 8192; type PagestreamFeMessage (line 22) | pub enum PagestreamFeMessage { method serialize (line 236) | pub fn serialize(&self) -> Bytes { method parse (line 306) | pub fn parse( type PagestreamBeMessage (line 34) | pub enum PagestreamBeMessage { method serialize (line 418) | pub fn serialize(&self, protocol_version: PagestreamProtocolVersion) -... method deserialize (line 550) | pub fn deserialize(buf: Bytes) -> anyhow::Result { method kind (line 719) | pub fn kind(&self) -> &'static str { type PagestreamFeMessageTag (line 47) | enum PagestreamFeMessageTag { type Error (line 75) | type Error = u8; method try_from (line 76) | fn try_from(value: u8) -> Result { type PagestreamBeMessageTag (line 61) | enum PagestreamBeMessageTag { type Error (line 91) | type Error = u8; method try_from (line 92) | fn try_from(value: u8) -> Result { type PagestreamProtocolVersion (line 137) | pub enum PagestreamProtocolVersion { type RequestId (line 142) | pub type RequestId = u64; type PagestreamRequest (line 145) | pub struct PagestreamRequest { type PagestreamExistsRequest (line 152) | pub struct PagestreamExistsRequest { type PagestreamNblocksRequest (line 158) | pub struct PagestreamNblocksRequest { type PagestreamGetPageRequest (line 164) | pub struct PagestreamGetPageRequest { type PagestreamDbSizeRequest (line 171) | pub struct PagestreamDbSizeRequest { type PagestreamGetSlruSegmentRequest (line 177) | pub struct PagestreamGetSlruSegmentRequest { type PagestreamExistsResponse (line 184) | pub struct PagestreamExistsResponse { type PagestreamNblocksResponse (line 190) | pub struct PagestreamNblocksResponse { type PagestreamGetPageResponse (line 196) | pub struct PagestreamGetPageResponse { type PagestreamGetSlruSegmentResponse (line 202) | pub struct PagestreamGetSlruSegmentResponse { type PagestreamErrorResponse (line 208) | pub struct PagestreamErrorResponse { type PagestreamDbSizeResponse (line 214) | pub struct PagestreamDbSizeResponse { type PagestreamTestRequest (line 221) | pub struct PagestreamTestRequest { type PagestreamTestResponse (line 229) | pub struct PagestreamTestResponse { function test_pagestream (line 738) | fn test_pagestream() { FILE: libs/pageserver_api/src/reltag.rs type RelTag (line 28) | pub struct RelTag { method fmt (line 58) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type Err (line 82) | type Err = ParseRelTagError; method from_str (line 84) | fn from_str(s: &str) -> Result { method to_segfile_name (line 123) | pub fn to_segfile_name(&self, segno: u32) -> String { method with_forknum (line 145) | pub fn with_forknum(&self, forknum: u8) -> Self { type BlockNumber (line 36) | pub type BlockNumber = u32; method partial_cmp (line 39) | fn partial_cmp(&self, other: &Self) -> Option { method cmp (line 45) | fn cmp(&self, other: &Self) -> Ordering { type ParseRelTagError (line 72) | pub enum ParseRelTagError { type SlruKind (line 181) | pub enum SlruKind { method fmt (line 188) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { FILE: libs/pageserver_api/src/shard.rs type ShardIdentity (line 48) | pub struct ShardIdentity { method unsharded (line 100) | pub const fn unsharded() -> Self { method unsharded_with_stripe_size (line 111) | pub fn unsharded_with_stripe_size(stripe_size: ShardStripeSize) -> Self { method broken (line 126) | pub fn broken(number: ShardNumber, count: ShardCount) -> Self { method is_unsharded (line 138) | pub fn is_unsharded(&self) -> bool { method new (line 144) | pub fn new( method from_params (line 167) | pub fn from_params(number: ShardNumber, params: ShardParameters) -> Se... method assert_equal (line 178) | pub fn assert_equal(&self, other: ShardIdentity) { method is_broken (line 187) | fn is_broken(&self) -> bool { method get_shard_number (line 191) | pub fn get_shard_number(&self, key: &Key) -> ShardNumber { method is_key_local (line 200) | pub fn is_key_local(&self, key: &Key) -> bool { method is_key_global (line 210) | pub fn is_key_global(&self, key: &Key) -> bool { method is_key_disposable (line 237) | pub fn is_key_disposable(&self, key: &Key) -> bool { method shard_index (line 251) | pub fn shard_index(&self) -> ShardIndex { method shard_slug (line 258) | pub fn shard_slug(&self) -> String { method is_shard_zero (line 268) | pub fn is_shard_zero(&self) -> bool { method hash (line 59) | fn hash(&self, state: &mut H) { type ShardLayout (line 74) | pub struct ShardLayout(u8); constant LAYOUT_V1 (line 76) | const LAYOUT_V1: ShardLayout = ShardLayout(1); constant LAYOUT_BROKEN (line 78) | const LAYOUT_BROKEN: ShardLayout = ShardLayout(255); constant DEFAULT_STRIPE_SIZE (line 84) | pub const DEFAULT_STRIPE_SIZE: ShardStripeSize = ShardStripeSize(16 * 10... type ShardConfigError (line 87) | pub enum ShardConfigError { function key_is_shard0 (line 275) | fn key_is_shard0(key: &Key) -> bool { function murmurhash32 (line 290) | fn murmurhash32(mut h: u32) -> u32 { function hash_combine (line 300) | fn hash_combine(mut a: u32, mut b: u32) -> u32 { function key_to_shard_number (line 319) | pub fn key_to_shard_number( type KeyShardingInfo (line 340) | struct KeyShardingInfo { function describe (line 345) | pub fn describe( constant EXAMPLE_TENANT_ID (line 365) | const EXAMPLE_TENANT_ID: &str = "1f359dd625e519a1a4e8d7509690f6fc"; function tenant_shard_id_string (line 368) | fn tenant_shard_id_string() -> Result<(), hex::FromHexError> { function tenant_shard_id_binary (line 388) | fn tenant_shard_id_binary() -> Result<(), hex::FromHexError> { function tenant_shard_id_backward_compat (line 410) | fn tenant_shard_id_backward_compat() -> Result<(), hex::FromHexError> { function tenant_shard_id_forward_compat (line 428) | fn tenant_shard_id_forward_compat() -> Result<(), hex::FromHexError> { function tenant_shard_id_legacy_binary (line 445) | fn tenant_shard_id_legacy_binary() -> Result<(), hex::FromHexError> { function shard_identity_validation (line 467) | fn shard_identity_validation() -> Result<(), ShardConfigError> { function shard_index_human_encoding (line 498) | fn shard_index_human_encoding() -> Result<(), hex::FromHexError> { function shard_index_binary_encoding (line 513) | fn shard_index_binary_encoding() -> Result<(), hex::FromHexError> { function murmur_hash (line 532) | fn murmur_hash() { function shard_mapping (line 539) | fn shard_mapping() { function shard_id_split (line 554) | fn shard_id_split() { FILE: libs/pageserver_api/src/upcall_api.rs type ReAttachRequest (line 17) | pub struct ReAttachRequest { type ReAttachResponseTenant (line 35) | pub struct ReAttachResponseTenant { type ReAttachResponse (line 43) | pub struct ReAttachResponse { type ValidateRequestTenant (line 48) | pub struct ValidateRequestTenant { type ValidateRequest (line 54) | pub struct ValidateRequest { type ValidateResponse (line 59) | pub struct ValidateResponse { type ValidateResponseTenant (line 64) | pub struct ValidateResponseTenant { type TimelineImportStatusRequest (line 70) | pub struct TimelineImportStatusRequest { type PutTimelineImportStatusRequest (line 77) | pub struct PutTimelineImportStatusRequest { FILE: libs/postgres_backend/src/lib.rs type QueryError (line 32) | pub enum QueryError { method from (line 56) | fn from(e: io::Error) -> Self { method pg_error_code (line 62) | pub fn pg_error_code(&self) -> &'static [u8; 5] { function is_expected_io_error (line 77) | pub fn is_expected_io_error(e: &io::Error) -> bool { type Handler (line 91) | pub trait Handler { method process_query (line 96) | fn process_query( method startup (line 107) | fn startup( method check_auth_jwt (line 116) | fn check_auth_jwt( type ProtoState (line 128) | pub enum ProtoState { type ProcessMsgResult (line 141) | pub enum ProcessMsgResult { type MaybeTlsStream (line 147) | pub enum MaybeTlsStream { method poll_write (line 153) | fn poll_write( method poll_flush (line 163) | fn poll_flush(self: Pin<&mut Self>, cx: &mut std::task::Context<'_>) -> ... method poll_shutdown (line 169) | fn poll_shutdown( method poll_read (line 180) | fn poll_read( type AuthType (line 193) | pub enum AuthType { method fmt (line 212) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type Err (line 200) | type Err = anyhow::Error; method from_str (line 202) | fn from_str(s: &str) -> Result { type MaybeWriteOnly (line 224) | enum MaybeWriteOnly { function read_startup_message (line 231) | async fn read_startup_message(&mut self) -> Result Result, Connection... function write_message_noflush (line 251) | fn write_message_noflush(&mut self, msg: &BeMessage<'_>) -> Result<(), P... function flush (line 259) | async fn flush(&mut self) -> io::Result<()> { function shutdown (line 268) | async fn shutdown(&mut self) -> io::Result<()> { type PostgresBackend (line 277) | pub struct PostgresBackend { type PostgresBackendTCP (line 289) | pub type PostgresBackendTCP = PostgresBackend; function cstr_to_str (line 292) | fn cstr_to_str(bytes: &[u8]) -> anyhow::Result<&str> { function new (line 298) | pub fn new( function new_from_io (line 319) | pub fn new_from_io( function get_peer_addr (line 338) | pub fn get_peer_addr(&self) -> &SocketAddr { function read_message (line 344) | pub async fn read_message(&mut self) -> Result, Connec... function write_message_noflush (line 365) | pub fn write_message_noflush( function flush (line 375) | pub async fn flush(&mut self) -> io::Result<()> { function poll_flush (line 380) | pub fn poll_flush( function write_message (line 389) | pub async fn write_message( function copyout_writer (line 402) | pub fn copyout_writer(&mut self) -> CopyDataWriter { function run (line 407) | pub async fn run( function run_message_loop (line 445) | async fn run_message_loop( function tls_upgrade (line 512) | async fn tls_upgrade( function start_tls (line 528) | async fn start_tls(&mut self) -> anyhow::Result<()> { function split (line 553) | pub fn split(&mut self) -> anyhow::Result> { function unsplit (line 572) | pub fn unsplit(&mut self, reader: PostgresBackendReader) -> anyhow::... function handshake (line 593) | async fn handshake(&mut self, handler: &mut impl Handler) -> Result<... function process_startup_message (line 661) | async fn process_startup_message( function process_message (line 734) | async fn process_message( function handle_copy_stream_end (line 856) | pub async fn handle_copy_stream_end(&mut self, end: CopyStreamHandlerEnd) { type PostgresBackendReader (line 926) | pub struct PostgresBackendReader { function read_message (line 934) | pub async fn read_message(&mut self) -> Result, Connec... function read_copy_message (line 951) | pub async fn read_copy_message(&mut self) -> Result { method poll_write (line 976) | fn poll_write( method poll_flush (line 1003) | fn poll_flush( method poll_shutdown (line 1011) | fn poll_shutdown( function short_error (line 1020) | pub fn short_error(e: &QueryError) -> String { function log_query_error (line 1032) | fn log_query_error(query: &str, e: &QueryError) { type CopyStreamHandlerEnd (line 1071) | pub enum CopyStreamHandlerEnd { FILE: libs/postgres_backend/tests/simple_select.rs function make_tcp_pair (line 18) | async fn make_tcp_pair() -> (TcpStream, TcpStream) { type TestHandler (line 26) | struct TestHandler {} method process_query (line 30) | async fn process_query( function simple_select (line 46) | async fn simple_select() { function simple_select_ssl (line 94) | async fn simple_select_ssl() { FILE: libs/postgres_connection/src/lib.rs function parse_host_port (line 14) | pub fn parse_host_port>(host_port: S) -> Result<(Host, Opt... function test_normal (line 38) | fn test_normal() { function test_no_port (line 45) | fn test_no_port() { function test_ipv6 (line 52) | fn test_ipv6() { function test_invalid_host (line 59) | fn test_invalid_host() { function test_invalid_port (line 64) | fn test_invalid_port() { type PgConnectionConfig (line 70) | pub struct PgConnectionConfig { method new_host_port (line 82) | pub fn new_host_port(host: Host, port: u16) -> Self { method host (line 91) | pub fn host(&self) -> &Host { method port (line 95) | pub fn port(&self) -> u16 { method set_host (line 99) | pub fn set_host(mut self, h: Host) -> Self { method set_port (line 104) | pub fn set_port(mut self, p: u16) -> Self { method set_password (line 109) | pub fn set_password(mut self, s: Option) -> Self { method extend_options (line 114) | pub fn extend_options, S: Into>(mut ... method raw_address (line 120) | pub fn raw_address(&self) -> String { method to_tokio_postgres_config (line 127) | pub fn to_tokio_postgres_config(&self) -> tokio_postgres::Config { method connect_no_tls (line 169) | pub async fn connect_no_tls( method fmt (line 185) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { method fmt (line 192) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { function test_no_password (line 220) | fn test_no_password() { function test_ipv6 (line 232) | fn test_ipv6() { function test_with_password (line 248) | fn test_with_password() { function test_with_options (line 261) | fn test_with_options() { FILE: libs/postgres_ffi/benches/waldecoder.rs constant KB (line 11) | const KB: usize = 1024; function bench_complete_record (line 22) | fn bench_complete_record(c: &mut Criterion) { FILE: libs/postgres_ffi/build.rs type PostgresFfiCallbacks (line 11) | struct PostgresFfiCallbacks; method include_file (line 14) | fn include_file(&self, filename: &str) { method add_derives (line 23) | fn add_derives(&self, derive_info: &DeriveInfo) -> Vec { function main (line 46) | fn main() -> anyhow::Result<()> { FILE: libs/postgres_ffi/src/controlfile_utils.rs constant SIZEOF_CONTROLDATA (line 32) | const SIZEOF_CONTROLDATA: usize = size_of::(); method pg_control_crc_offset (line 37) | const fn pg_control_crc_offset() -> usize { method decode (line 44) | pub fn decode(buf: &[u8]) -> Result { method encode (line 78) | pub fn encode(&self) -> Bytes { FILE: libs/postgres_ffi/src/lib.rs constant BLCKSZ (line 240) | pub const BLCKSZ: u16 = 8192; constant RELSEG_SIZE (line 241) | pub const RELSEG_SIZE: u32 = 1024 * 1024 * 1024 / (BLCKSZ as u32); constant XLOG_BLCKSZ (line 242) | pub const XLOG_BLCKSZ: usize = 8192; constant WAL_SEGMENT_SIZE (line 243) | pub const WAL_SEGMENT_SIZE: usize = 16 * 1024 * 1024; constant MAX_SEND_SIZE (line 245) | pub const MAX_SEND_SIZE: usize = XLOG_BLCKSZ * 16; function bkpimage_is_compressed (line 254) | pub fn bkpimage_is_compressed(bimg_info: u8, version: PgMajorVersion) ->... function generate_wal_segment (line 258) | pub fn generate_wal_segment( function generate_pg_control (line 272) | pub fn generate_pg_control( constant PG_TLI (line 292) | pub const PG_TLI: u32 = 1; function transaction_id_is_normal (line 295) | pub const fn transaction_id_is_normal(id: TransactionId) -> bool { function transaction_id_precedes (line 300) | pub const fn transaction_id_precedes(id1: TransactionId, id2: Transactio... function page_is_new (line 315) | pub fn page_is_new(pg: &[u8]) -> bool { function page_get_lsn (line 320) | pub fn page_get_lsn(pg: &[u8]) -> Lsn { function page_set_lsn (line 327) | pub fn page_set_lsn(pg: &mut [u8], lsn: Lsn) { function fsm_logical_to_physical (line 335) | pub fn fsm_logical_to_physical(addr: BlockNumber) -> BlockNumber { type State (line 361) | pub enum State { type WalStreamDecoder (line 372) | pub struct WalStreamDecoder { method new (line 387) | pub fn new(lsn: Lsn, pg_version: PgMajorVersion) -> WalStreamDecoder { method available (line 397) | pub fn available(&self) -> Lsn { method lsn (line 405) | pub fn lsn(&self) -> Lsn { method feed_bytes (line 409) | pub fn feed_bytes(&mut self, buf: &[u8]) { method poll_decode (line 413) | pub fn poll_decode(&mut self) -> Result, WalDecod... type WalDecodeError (line 381) | pub struct WalDecodeError { FILE: libs/postgres_ffi/src/nonrelfile_utils.rs function transaction_id_set_status (line 10) | pub fn transaction_id_set_status(xid: u32, status: u8, page: &mut BytesM... function transaction_id_get_status (line 26) | pub fn transaction_id_get_status(xid: u32, page: &[u8]) -> u8 { function clogpage_precedes (line 37) | pub const fn clogpage_precedes(page1: u32, page2: u32) -> bool { function slru_may_delete_clogsegment (line 48) | pub fn slru_may_delete_clogsegment(segpage: u32, cutoff_page: u32) -> bo... function mx_offset_to_flags_offset (line 58) | pub fn mx_offset_to_flags_offset(xid: MultiXactId) -> usize { function mx_offset_to_flags_bitshift (line 64) | pub fn mx_offset_to_flags_bitshift(xid: MultiXactId) -> u16 { function mx_offset_to_member_offset (line 70) | pub fn mx_offset_to_member_offset(xid: MultiXactId) -> usize { function mx_offset_to_member_page (line 76) | fn mx_offset_to_member_page(xid: u32) -> u32 { function mx_offset_to_member_segment (line 80) | pub fn mx_offset_to_member_segment(xid: u32) -> i32 { function test_multixid_calc (line 89) | fn test_multixid_calc() { FILE: libs/postgres_ffi/src/pg_constants.rs constant XLOG_SMGR_CREATE (line 17) | pub const XLOG_SMGR_CREATE: u8 = 0x10; constant XLOG_SMGR_TRUNCATE (line 18) | pub const XLOG_SMGR_TRUNCATE: u8 = 0x20; constant SMGR_TRUNCATE_HEAP (line 20) | pub const SMGR_TRUNCATE_HEAP: u32 = 0x0001; constant SMGR_TRUNCATE_VM (line 21) | pub const SMGR_TRUNCATE_VM: u32 = 0x0002; constant SMGR_TRUNCATE_FSM (line 22) | pub const SMGR_TRUNCATE_FSM: u32 = 0x0004; constant SIZEOF_PAGE_HEADER_DATA (line 29) | const SIZEOF_PAGE_HEADER_DATA: usize = size_of::(); constant MAXALIGN_SIZE_OF_PAGE_HEADER_DATA (line 30) | pub const MAXALIGN_SIZE_OF_PAGE_HEADER_DATA: usize = (SIZEOF_PAGE_HEADER... constant CLOG_XACTS_PER_BYTE (line 35) | pub const CLOG_XACTS_PER_BYTE: u32 = 4; constant CLOG_XACTS_PER_PAGE (line 36) | pub const CLOG_XACTS_PER_PAGE: u32 = BLCKSZ as u32 * CLOG_XACTS_PER_BYTE; constant CLOG_BITS_PER_XACT (line 37) | pub const CLOG_BITS_PER_XACT: u8 = 2; constant CLOG_XACT_BITMASK (line 38) | pub const CLOG_XACT_BITMASK: u8 = (1 << CLOG_BITS_PER_XACT) - 1; constant TRANSACTION_STATUS_COMMITTED (line 40) | pub const TRANSACTION_STATUS_COMMITTED: u8 = 0x01; constant TRANSACTION_STATUS_ABORTED (line 41) | pub const TRANSACTION_STATUS_ABORTED: u8 = 0x02; constant TRANSACTION_STATUS_SUB_COMMITTED (line 42) | pub const TRANSACTION_STATUS_SUB_COMMITTED: u8 = 0x03; constant CLOG_ZEROPAGE (line 44) | pub const CLOG_ZEROPAGE: u8 = 0x00; constant CLOG_TRUNCATE (line 45) | pub const CLOG_TRUNCATE: u8 = 0x10; constant SIZE_OF_PAGE_HEADER (line 50) | pub const SIZE_OF_PAGE_HEADER: u16 = 24; constant BITS_PER_BYTE (line 51) | pub const BITS_PER_BYTE: u16 = 8; constant HEAPBLOCKS_PER_PAGE (line 52) | pub const HEAPBLOCKS_PER_PAGE: u32 = constant HEAPBLOCKS_PER_BYTE (line 54) | pub const HEAPBLOCKS_PER_BYTE: u16 = BITS_PER_BYTE / BITS_PER_HEAPBLOCK; function HEAPBLK_TO_MAPBLOCK (line 56) | pub const fn HEAPBLK_TO_MAPBLOCK(x: u32) -> u32 { function HEAPBLK_TO_MAPBYTE (line 59) | pub const fn HEAPBLK_TO_MAPBYTE(x: u32) -> u32 { function HEAPBLK_TO_OFFSET (line 62) | pub const fn HEAPBLK_TO_OFFSET(x: u32) -> u32 { constant BITS_PER_HEAPBLOCK (line 66) | pub const BITS_PER_HEAPBLOCK: u16 = 2; constant VISIBILITYMAP_ALL_VISIBLE (line 67) | pub const VISIBILITYMAP_ALL_VISIBLE: u8 = 0x01; constant VISIBILITYMAP_ALL_FROZEN (line 68) | pub const VISIBILITYMAP_ALL_FROZEN: u8 = 0x02; constant VISIBILITYMAP_VALID_BITS (line 69) | pub const VISIBILITYMAP_VALID_BITS: u8 = 0x03; constant XLOG_XACT_COMMIT (line 72) | pub const XLOG_XACT_COMMIT: u8 = 0x00; constant XLOG_XACT_PREPARE (line 73) | pub const XLOG_XACT_PREPARE: u8 = 0x10; constant XLOG_XACT_ABORT (line 74) | pub const XLOG_XACT_ABORT: u8 = 0x20; constant XLOG_XACT_COMMIT_PREPARED (line 75) | pub const XLOG_XACT_COMMIT_PREPARED: u8 = 0x30; constant XLOG_XACT_ABORT_PREPARED (line 76) | pub const XLOG_XACT_ABORT_PREPARED: u8 = 0x40; constant XLOG_RUNNING_XACTS (line 79) | pub const XLOG_RUNNING_XACTS: u8 = 0x10; constant SLRU_PAGES_PER_SEGMENT (line 82) | pub const SLRU_PAGES_PER_SEGMENT: u32 = 32; constant SLRU_SEG_SIZE (line 83) | pub const SLRU_SEG_SIZE: usize = BLCKSZ as usize * SLRU_PAGES_PER_SEGMEN... constant XLOG_XACT_OPMASK (line 86) | pub const XLOG_XACT_OPMASK: u8 = 0x70; constant XLOG_HEAP_OPMASK (line 87) | pub const XLOG_HEAP_OPMASK: u8 = 0x70; constant XLOG_XACT_HAS_INFO (line 89) | pub const XLOG_XACT_HAS_INFO: u8 = 0x80; constant XACT_XINFO_HAS_DBINFO (line 95) | pub const XACT_XINFO_HAS_DBINFO: u32 = 1u32 << 0; constant XACT_XINFO_HAS_SUBXACTS (line 96) | pub const XACT_XINFO_HAS_SUBXACTS: u32 = 1u32 << 1; constant XACT_XINFO_HAS_RELFILENODES (line 97) | pub const XACT_XINFO_HAS_RELFILENODES: u32 = 1u32 << 2; constant XACT_XINFO_HAS_INVALS (line 98) | pub const XACT_XINFO_HAS_INVALS: u32 = 1u32 << 3; constant XACT_XINFO_HAS_TWOPHASE (line 99) | pub const XACT_XINFO_HAS_TWOPHASE: u32 = 1u32 << 4; constant XACT_XINFO_HAS_ORIGIN (line 100) | pub const XACT_XINFO_HAS_ORIGIN: u32 = 1u32 << 5; constant XLOG_NEXTOID (line 105) | pub const XLOG_NEXTOID: u8 = 0x30; constant XLOG_SWITCH (line 106) | pub const XLOG_SWITCH: u8 = 0x40; constant XLOG_FPI_FOR_HINT (line 107) | pub const XLOG_FPI_FOR_HINT: u8 = 0xA0; constant XLOG_FPI (line 108) | pub const XLOG_FPI: u8 = 0xB0; constant FIRST_MULTIXACT_ID (line 111) | pub const FIRST_MULTIXACT_ID: u32 = 1; constant MAX_MULTIXACT_ID (line 112) | pub const MAX_MULTIXACT_ID: u32 = 0xFFFFFFFF; constant MAX_MULTIXACT_OFFSET (line 113) | pub const MAX_MULTIXACT_OFFSET: u32 = 0xFFFFFFFF; constant XLOG_MULTIXACT_ZERO_OFF_PAGE (line 115) | pub const XLOG_MULTIXACT_ZERO_OFF_PAGE: u8 = 0x00; constant XLOG_MULTIXACT_ZERO_MEM_PAGE (line 116) | pub const XLOG_MULTIXACT_ZERO_MEM_PAGE: u8 = 0x10; constant XLOG_MULTIXACT_CREATE_ID (line 117) | pub const XLOG_MULTIXACT_CREATE_ID: u8 = 0x20; constant XLOG_MULTIXACT_TRUNCATE_ID (line 118) | pub const XLOG_MULTIXACT_TRUNCATE_ID: u8 = 0x30; constant MULTIXACT_OFFSETS_PER_PAGE (line 120) | pub const MULTIXACT_OFFSETS_PER_PAGE: u16 = BLCKSZ / 4; constant MXACT_MEMBER_BITS_PER_XACT (line 121) | pub const MXACT_MEMBER_BITS_PER_XACT: u16 = 8; constant MXACT_MEMBER_FLAGS_PER_BYTE (line 122) | pub const MXACT_MEMBER_FLAGS_PER_BYTE: u16 = 1; constant MULTIXACT_FLAGBYTES_PER_GROUP (line 123) | pub const MULTIXACT_FLAGBYTES_PER_GROUP: u16 = 4; constant MULTIXACT_MEMBERS_PER_MEMBERGROUP (line 124) | pub const MULTIXACT_MEMBERS_PER_MEMBERGROUP: u16 = constant MULTIXACT_MEMBERGROUP_SIZE (line 127) | pub const MULTIXACT_MEMBERGROUP_SIZE: u16 = constant MULTIXACT_MEMBERGROUPS_PER_PAGE (line 129) | pub const MULTIXACT_MEMBERGROUPS_PER_PAGE: u16 = BLCKSZ / MULTIXACT_MEMB... constant MULTIXACT_MEMBERS_PER_PAGE (line 130) | pub const MULTIXACT_MEMBERS_PER_PAGE: u16 = constant XLOG_HEAP_INSERT (line 134) | pub const XLOG_HEAP_INSERT: u8 = 0x00; constant XLOG_HEAP_DELETE (line 135) | pub const XLOG_HEAP_DELETE: u8 = 0x10; constant XLOG_HEAP_UPDATE (line 136) | pub const XLOG_HEAP_UPDATE: u8 = 0x20; constant XLOG_HEAP_HOT_UPDATE (line 137) | pub const XLOG_HEAP_HOT_UPDATE: u8 = 0x40; constant XLOG_HEAP_LOCK (line 138) | pub const XLOG_HEAP_LOCK: u8 = 0x60; constant XLOG_HEAP_INIT_PAGE (line 139) | pub const XLOG_HEAP_INIT_PAGE: u8 = 0x80; constant XLOG_HEAP2_VISIBLE (line 140) | pub const XLOG_HEAP2_VISIBLE: u8 = 0x40; constant XLOG_HEAP2_MULTI_INSERT (line 141) | pub const XLOG_HEAP2_MULTI_INSERT: u8 = 0x50; constant XLOG_HEAP2_LOCK_UPDATED (line 142) | pub const XLOG_HEAP2_LOCK_UPDATED: u8 = 0x60; constant XLH_LOCK_ALL_FROZEN_CLEARED (line 143) | pub const XLH_LOCK_ALL_FROZEN_CLEARED: u8 = 0x01; constant XLH_INSERT_ALL_FROZEN_SET (line 144) | pub const XLH_INSERT_ALL_FROZEN_SET: u8 = (1 << 5) as u8; constant XLH_INSERT_ALL_VISIBLE_CLEARED (line 145) | pub const XLH_INSERT_ALL_VISIBLE_CLEARED: u8 = (1 << 0) as u8; constant XLH_UPDATE_OLD_ALL_VISIBLE_CLEARED (line 146) | pub const XLH_UPDATE_OLD_ALL_VISIBLE_CLEARED: u8 = (1 << 0) as u8; constant XLH_UPDATE_NEW_ALL_VISIBLE_CLEARED (line 147) | pub const XLH_UPDATE_NEW_ALL_VISIBLE_CLEARED: u8 = (1 << 1) as u8; constant XLH_DELETE_ALL_VISIBLE_CLEARED (line 148) | pub const XLH_DELETE_ALL_VISIBLE_CLEARED: u8 = (1 << 0) as u8; constant XLOG_HEAP2_REWRITE (line 151) | pub const XLOG_HEAP2_REWRITE: u8 = 0x00; constant XLOG_LOGICAL_MESSAGE (line 154) | pub const XLOG_LOGICAL_MESSAGE: u8 = 0x00; constant RM_XLOG_ID (line 157) | pub const RM_XLOG_ID: u8 = 0; constant RM_XACT_ID (line 158) | pub const RM_XACT_ID: u8 = 1; constant RM_SMGR_ID (line 159) | pub const RM_SMGR_ID: u8 = 2; constant RM_CLOG_ID (line 160) | pub const RM_CLOG_ID: u8 = 3; constant RM_DBASE_ID (line 161) | pub const RM_DBASE_ID: u8 = 4; constant RM_TBLSPC_ID (line 162) | pub const RM_TBLSPC_ID: u8 = 5; constant RM_MULTIXACT_ID (line 163) | pub const RM_MULTIXACT_ID: u8 = 6; constant RM_RELMAP_ID (line 164) | pub const RM_RELMAP_ID: u8 = 7; constant RM_STANDBY_ID (line 165) | pub const RM_STANDBY_ID: u8 = 8; constant RM_HEAP2_ID (line 166) | pub const RM_HEAP2_ID: u8 = 9; constant RM_HEAP_ID (line 167) | pub const RM_HEAP_ID: u8 = 10; constant RM_REPLORIGIN_ID (line 168) | pub const RM_REPLORIGIN_ID: u8 = 19; constant RM_LOGICALMSG_ID (line 169) | pub const RM_LOGICALMSG_ID: u8 = 21; constant RM_NEON_ID (line 172) | pub const RM_NEON_ID: u8 = 134; constant XLOG_NEON_HEAP_INIT_PAGE (line 174) | pub const XLOG_NEON_HEAP_INIT_PAGE: u8 = 0x80; constant XLOG_NEON_HEAP_INSERT (line 176) | pub const XLOG_NEON_HEAP_INSERT: u8 = 0x00; constant XLOG_NEON_HEAP_DELETE (line 177) | pub const XLOG_NEON_HEAP_DELETE: u8 = 0x10; constant XLOG_NEON_HEAP_UPDATE (line 178) | pub const XLOG_NEON_HEAP_UPDATE: u8 = 0x20; constant XLOG_NEON_HEAP_HOT_UPDATE (line 179) | pub const XLOG_NEON_HEAP_HOT_UPDATE: u8 = 0x30; constant XLOG_NEON_HEAP_LOCK (line 180) | pub const XLOG_NEON_HEAP_LOCK: u8 = 0x40; constant XLOG_NEON_HEAP_MULTI_INSERT (line 181) | pub const XLOG_NEON_HEAP_MULTI_INSERT: u8 = 0x50; constant XLOG_NEON_HEAP_VISIBLE (line 183) | pub const XLOG_NEON_HEAP_VISIBLE: u8 = 0x40; constant XLR_INFO_MASK (line 186) | pub const XLR_INFO_MASK: u8 = 0x0F; constant XLR_RMGR_INFO_MASK (line 187) | pub const XLR_RMGR_INFO_MASK: u8 = 0xF0; constant XLOG_TBLSPC_CREATE (line 189) | pub const XLOG_TBLSPC_CREATE: u8 = 0x00; constant XLOG_TBLSPC_DROP (line 190) | pub const XLOG_TBLSPC_DROP: u8 = 0x10; constant XLR_MAX_BLOCK_ID (line 195) | pub const XLR_MAX_BLOCK_ID: u8 = 32; constant XLR_BLOCK_ID_DATA_SHORT (line 197) | pub const XLR_BLOCK_ID_DATA_SHORT: u8 = 255; constant XLR_BLOCK_ID_DATA_LONG (line 198) | pub const XLR_BLOCK_ID_DATA_LONG: u8 = 254; constant XLR_BLOCK_ID_ORIGIN (line 199) | pub const XLR_BLOCK_ID_ORIGIN: u8 = 253; constant XLR_BLOCK_ID_TOPLEVEL_XID (line 200) | pub const XLR_BLOCK_ID_TOPLEVEL_XID: u8 = 252; constant BKPBLOCK_FORK_MASK (line 202) | pub const BKPBLOCK_FORK_MASK: u8 = 0x0F; constant _BKPBLOCK_FLAG_MASK (line 203) | pub const _BKPBLOCK_FLAG_MASK: u8 = 0xF0; constant BKPBLOCK_HAS_IMAGE (line 204) | pub const BKPBLOCK_HAS_IMAGE: u8 = 0x10; constant BKPBLOCK_HAS_DATA (line 205) | pub const BKPBLOCK_HAS_DATA: u8 = 0x20; constant BKPBLOCK_WILL_INIT (line 206) | pub const BKPBLOCK_WILL_INIT: u8 = 0x40; constant BKPBLOCK_SAME_REL (line 207) | pub const BKPBLOCK_SAME_REL: u8 = 0x80; constant BKPIMAGE_HAS_HOLE (line 210) | pub const BKPIMAGE_HAS_HOLE: u8 = 0x01; constant FIRST_NORMAL_TRANSACTION_ID (line 213) | pub const FIRST_NORMAL_TRANSACTION_ID: u32 = 3; constant INVALID_TRANSACTION_ID (line 214) | pub const INVALID_TRANSACTION_ID: u32 = 0; constant XLOG_CHECKPOINT_SHUTDOWN (line 217) | pub const XLOG_CHECKPOINT_SHUTDOWN: u8 = 0x00; constant XLOG_CHECKPOINT_ONLINE (line 218) | pub const XLOG_CHECKPOINT_ONLINE: u8 = 0x10; constant XLOG_PARAMETER_CHANGE (line 219) | pub const XLOG_PARAMETER_CHANGE: u8 = 0x60; constant XLOG_END_OF_RECOVERY (line 220) | pub const XLOG_END_OF_RECOVERY: u8 = 0x90; constant XLOG_REPLORIGIN_SET (line 223) | pub const XLOG_REPLORIGIN_SET: u8 = 0x00; constant XLOG_REPLORIGIN_DROP (line 224) | pub const XLOG_REPLORIGIN_DROP: u8 = 0x10; constant XLP_FIRST_IS_CONTRECORD (line 227) | pub const XLP_FIRST_IS_CONTRECORD: u16 = 0x0001; constant XLP_LONG_HEADER (line 228) | pub const XLP_LONG_HEADER: u16 = 0x0002; constant REPL_SLOT_ON_DISK_OFFSETOF_RESTART_LSN (line 231) | pub const REPL_SLOT_ON_DISK_OFFSETOF_RESTART_LSN: usize = 4*4 /* offset... constant FSM_NODES_PER_PAGE (line 235) | const FSM_NODES_PER_PAGE: usize = BLCKSZ as usize - SIZEOF_PAGE_HEADER_D... constant FSM_NON_LEAF_NODES_PER_PAGE (line 236) | const FSM_NON_LEAF_NODES_PER_PAGE: usize = BLCKSZ as usize / 2 - 1; constant FSM_LEAF_NODES_PER_PAGE (line 237) | const FSM_LEAF_NODES_PER_PAGE: usize = FSM_NODES_PER_PAGE - FSM_NON_LEAF... constant SLOTS_PER_FSM_PAGE (line 238) | pub const SLOTS_PER_FSM_PAGE: u32 = FSM_LEAF_NODES_PER_PAGE as u32; constant VM_MAPSIZE (line 242) | pub const VM_MAPSIZE: usize = BLCKSZ as usize - MAXALIGN_SIZE_OF_PAGE_HE... constant VM_BITS_PER_HEAPBLOCK (line 243) | pub const VM_BITS_PER_HEAPBLOCK: usize = 2; constant VM_HEAPBLOCKS_PER_BYTE (line 244) | pub const VM_HEAPBLOCKS_PER_BYTE: usize = 8 / VM_BITS_PER_HEAPBLOCK; constant VM_HEAPBLOCKS_PER_PAGE (line 245) | pub const VM_HEAPBLOCKS_PER_PAGE: usize = VM_MAPSIZE * VM_HEAPBLOCKS_PER... constant REPLICATION_STATE_MAGIC (line 248) | pub const REPLICATION_STATE_MAGIC: u32 = 0x1257DADE; constant PGDATA_SPECIAL_FILES (line 254) | pub const PGDATA_SPECIAL_FILES: [&str; 3] = FILE: libs/postgres_ffi/src/pg_constants_v14.rs constant MY_PGVERSION (line 3) | pub const MY_PGVERSION: PgMajorVersion = PgMajorVersion::PG14; constant XLOG_DBASE_CREATE (line 5) | pub const XLOG_DBASE_CREATE: u8 = 0x00; constant XLOG_DBASE_DROP (line 6) | pub const XLOG_DBASE_DROP: u8 = 0x10; constant BKPIMAGE_IS_COMPRESSED (line 8) | pub const BKPIMAGE_IS_COMPRESSED: u8 = 0x02; constant BKPIMAGE_APPLY (line 9) | pub const BKPIMAGE_APPLY: u8 = 0x04; constant SIZEOF_RELMAPFILE (line 10) | pub const SIZEOF_RELMAPFILE: usize = 512; constant PGDATA_SUBDIRS (line 14) | pub const PGDATA_SUBDIRS: [&str; 22] = [ function bkpimg_is_compressed (line 39) | pub fn bkpimg_is_compressed(bimg_info: u8) -> bool { FILE: libs/postgres_ffi/src/pg_constants_v15.rs constant MY_PGVERSION (line 3) | pub const MY_PGVERSION: PgMajorVersion = PgMajorVersion::PG15; constant XACT_XINFO_HAS_DROPPED_STATS (line 5) | pub const XACT_XINFO_HAS_DROPPED_STATS: u32 = 1u32 << 8; constant XLOG_DBASE_CREATE_FILE_COPY (line 7) | pub const XLOG_DBASE_CREATE_FILE_COPY: u8 = 0x00; constant XLOG_DBASE_CREATE_WAL_LOG (line 8) | pub const XLOG_DBASE_CREATE_WAL_LOG: u8 = 0x10; constant XLOG_DBASE_DROP (line 9) | pub const XLOG_DBASE_DROP: u8 = 0x20; constant BKPIMAGE_APPLY (line 11) | pub const BKPIMAGE_APPLY: u8 = 0x02; constant BKPIMAGE_COMPRESS_PGLZ (line 12) | pub const BKPIMAGE_COMPRESS_PGLZ: u8 = 0x04; constant BKPIMAGE_COMPRESS_LZ4 (line 13) | pub const BKPIMAGE_COMPRESS_LZ4: u8 = 0x08; constant BKPIMAGE_COMPRESS_ZSTD (line 14) | pub const BKPIMAGE_COMPRESS_ZSTD: u8 = 0x10; constant SIZEOF_RELMAPFILE (line 16) | pub const SIZEOF_RELMAPFILE: usize = 512; function bkpimg_is_compressed (line 20) | pub fn bkpimg_is_compressed(bimg_info: u8) -> bool { FILE: libs/postgres_ffi/src/pg_constants_v16.rs constant MY_PGVERSION (line 3) | pub const MY_PGVERSION: PgMajorVersion = PgMajorVersion::PG16; constant XACT_XINFO_HAS_DROPPED_STATS (line 5) | pub const XACT_XINFO_HAS_DROPPED_STATS: u32 = 1u32 << 8; constant XLOG_DBASE_CREATE_FILE_COPY (line 7) | pub const XLOG_DBASE_CREATE_FILE_COPY: u8 = 0x00; constant XLOG_DBASE_CREATE_WAL_LOG (line 8) | pub const XLOG_DBASE_CREATE_WAL_LOG: u8 = 0x10; constant XLOG_DBASE_DROP (line 9) | pub const XLOG_DBASE_DROP: u8 = 0x20; constant BKPIMAGE_APPLY (line 11) | pub const BKPIMAGE_APPLY: u8 = 0x02; constant BKPIMAGE_COMPRESS_PGLZ (line 12) | pub const BKPIMAGE_COMPRESS_PGLZ: u8 = 0x04; constant BKPIMAGE_COMPRESS_LZ4 (line 13) | pub const BKPIMAGE_COMPRESS_LZ4: u8 = 0x08; constant BKPIMAGE_COMPRESS_ZSTD (line 14) | pub const BKPIMAGE_COMPRESS_ZSTD: u8 = 0x10; constant SIZEOF_RELMAPFILE (line 16) | pub const SIZEOF_RELMAPFILE: usize = 524; function bkpimg_is_compressed (line 20) | pub fn bkpimg_is_compressed(bimg_info: u8) -> bool { FILE: libs/postgres_ffi/src/pg_constants_v17.rs constant MY_PGVERSION (line 3) | pub const MY_PGVERSION: PgMajorVersion = PgMajorVersion::PG17; constant XACT_XINFO_HAS_DROPPED_STATS (line 5) | pub const XACT_XINFO_HAS_DROPPED_STATS: u32 = 1u32 << 8; constant XLOG_DBASE_CREATE_FILE_COPY (line 7) | pub const XLOG_DBASE_CREATE_FILE_COPY: u8 = 0x00; constant XLOG_DBASE_CREATE_WAL_LOG (line 8) | pub const XLOG_DBASE_CREATE_WAL_LOG: u8 = 0x10; constant XLOG_DBASE_DROP (line 9) | pub const XLOG_DBASE_DROP: u8 = 0x20; constant BKPIMAGE_APPLY (line 11) | pub const BKPIMAGE_APPLY: u8 = 0x02; constant BKPIMAGE_COMPRESS_PGLZ (line 12) | pub const BKPIMAGE_COMPRESS_PGLZ: u8 = 0x04; constant BKPIMAGE_COMPRESS_LZ4 (line 13) | pub const BKPIMAGE_COMPRESS_LZ4: u8 = 0x08; constant BKPIMAGE_COMPRESS_ZSTD (line 14) | pub const BKPIMAGE_COMPRESS_ZSTD: u8 = 0x10; constant SIZEOF_RELMAPFILE (line 16) | pub const SIZEOF_RELMAPFILE: usize = 524; constant PGDATA_SUBDIRS (line 20) | pub const PGDATA_SUBDIRS: [&str; 23] = [ function bkpimg_is_compressed (line 46) | pub fn bkpimg_is_compressed(bimg_info: u8) -> bool { constant XLOG_HEAP2_PRUNE_ON_ACCESS (line 53) | pub const XLOG_HEAP2_PRUNE_ON_ACCESS: u8 = 0x10; constant XLOG_HEAP2_PRUNE_VACUUM_SCAN (line 54) | pub const XLOG_HEAP2_PRUNE_VACUUM_SCAN: u8 = 0x20; constant XLOG_HEAP2_PRUNE_VACUUM_CLEANUP (line 55) | pub const XLOG_HEAP2_PRUNE_VACUUM_CLEANUP: u8 = 0x30; constant XLOG_OVERWRITE_CONTRECORD (line 58) | pub const XLOG_OVERWRITE_CONTRECORD: u8 = 0xD0; constant XLOG_CHECKPOINT_REDO (line 59) | pub const XLOG_CHECKPOINT_REDO: u8 = 0xE0; FILE: libs/postgres_ffi/src/relfile_utils.rs function parse_relfilename (line 22) | pub fn parse_relfilename(fname: &str) -> Result<(u32, u8, u32), FilePath... function test_parse_valid_relfilenames (line 61) | fn test_parse_valid_relfilenames() { function test_parse_invalid_relfilenames (line 77) | fn test_parse_invalid_relfilenames() { function test_parse_weird_relfilenames (line 107) | fn test_parse_weird_relfilenames() { FILE: libs/postgres_ffi/src/wal_generator.rs type Record (line 20) | pub struct Record { method encode (line 29) | pub fn encode(&self, prev_lsn: Lsn) -> Bytes { type RecordGenerator (line 69) | pub trait RecordGenerator: Iterator {} type WalGenerator (line 89) | pub struct WalGenerator { constant SYS_ID (line 105) | const SYS_ID: u64 = 0; constant TIMELINE_ID (line 106) | const TIMELINE_ID: u32 = 1; function new (line 109) | pub fn new(record_generator: R, start_lsn: Lsn) -> WalGenerator { function append_record (line 119) | fn append_record(&mut self, record: Record) -> (Lsn, Bytes) { function insert_pages (line 131) | fn insert_pages(record: Bytes, mut lsn: Lsn) -> Bytes { function pad_record (line 184) | fn pad_record(record: Bytes, mut lsn: Lsn) -> Bytes { type Item (line 196) | type Item = (Lsn, Bytes); method next (line 198) | fn next(&mut self) -> Option { type LogicalMessageGenerator (line 205) | pub struct LogicalMessageGenerator { constant DB_ID (line 211) | const DB_ID: u32 = 0; constant RM_ID (line 212) | const RM_ID: RmgrId = RM_LOGICALMSG_ID; constant INFO (line 213) | const INFO: u8 = XLOG_LOGICAL_MESSAGE; method new (line 216) | pub fn new(prefix: &CStr, message: &[u8]) -> Self { method encode (line 224) | fn encode(prefix: &CStr, message: &[u8]) -> Bytes { method make_value_size (line 237) | pub fn make_value_size(record_size: usize, prefix: &CStr) -> usize { type Item (line 253) | type Item = Record; method next (line 255) | fn next(&mut self) -> Option { function append_logical_message (line 267) | pub fn append_logical_message(&mut self, prefix: &CStr, message: &[u8]) ... FILE: libs/postgres_ffi/src/waldecoder_handler.rs type WalStreamDecoderHandler (line 21) | pub trait WalStreamDecoderHandler { method validate_page_header (line 22) | fn validate_page_header(&self, hdr: &XLogPageHeaderData) -> Result<(),... method poll_decode_internal (line 23) | fn poll_decode_internal(&mut self) -> Result, Wal... method complete_record (line 24) | fn complete_record(&mut self, recordbuf: Bytes) -> Result<(Lsn, Bytes)... method validate_page_header (line 39) | fn validate_page_header(&self, hdr: &XLogPageHeaderData) -> Result<(),... method poll_decode_internal (line 99) | fn poll_decode_internal(&mut self) -> Result, Wal... method complete_record (line 215) | fn complete_record(&mut self, recordbuf: Bytes) -> Result<(Lsn, Bytes)... FILE: libs/postgres_ffi/src/walrecord.rs type XlMultiXactCreate (line 19) | pub struct XlMultiXactCreate { method decode (line 30) | pub fn decode(buf: &mut Bytes) -> XlMultiXactCreate { type XlMultiXactTruncate (line 49) | pub struct XlMultiXactTruncate { method decode (line 62) | pub fn decode(buf: &mut Bytes) -> XlMultiXactTruncate { type XlRelmapUpdate (line 75) | pub struct XlRelmapUpdate { method decode (line 82) | pub fn decode(buf: &mut Bytes) -> XlRelmapUpdate { type XlReploriginDrop (line 93) | pub struct XlReploriginDrop { method decode (line 98) | pub fn decode(buf: &mut Bytes) -> XlReploriginDrop { type XlReploriginSet (line 107) | pub struct XlReploriginSet { method decode (line 113) | pub fn decode(buf: &mut Bytes) -> XlReploriginSet { type RelFileNode (line 123) | pub struct RelFileNode { type MultiXactMember (line 131) | pub struct MultiXactMember { method decode (line 137) | pub fn decode(buf: &mut Bytes) -> MultiXactMember { type DecodedBkpBlock (line 147) | pub struct DecodedBkpBlock { method new (line 182) | pub fn new() -> DecodedBkpBlock { type DecodedWALRecord (line 188) | pub struct DecodedWALRecord { method is_dbase_create_copy (line 203) | pub fn is_dbase_create_copy(&self, pg_version: PgMajorVersion) -> bool { function decode_wal_record (line 246) | pub fn decode_wal_record( type XlHeapInsert (line 513) | pub struct XlHeapInsert { method decode (line 519) | pub fn decode(buf: &mut Bytes) -> XlHeapInsert { type XlHeapMultiInsert (line 529) | pub struct XlHeapMultiInsert { method decode (line 536) | pub fn decode(buf: &mut Bytes) -> XlHeapMultiInsert { type XlHeapDelete (line 547) | pub struct XlHeapDelete { method decode (line 557) | pub fn decode(buf: &mut Bytes) -> XlHeapDelete { method decode (line 691) | pub fn decode(buf: &mut Bytes) -> XlHeapDelete { type XlHeapUpdate (line 571) | pub struct XlHeapUpdate { method decode (line 582) | pub fn decode(buf: &mut Bytes) -> XlHeapUpdate { method decode (line 713) | pub fn decode(buf: &mut Bytes) -> XlHeapUpdate { type XlHeapLock (line 597) | pub struct XlHeapLock { method decode (line 607) | pub fn decode(buf: &mut Bytes) -> XlHeapLock { method decode (line 735) | pub fn decode(buf: &mut Bytes) -> XlHeapLock { type XlHeapLockUpdated (line 621) | pub struct XlHeapLockUpdated { method decode (line 629) | pub fn decode(buf: &mut Bytes) -> XlHeapLockUpdated { type XlParameterChange (line 641) | pub struct XlParameterChange { method decode (line 654) | pub fn decode(buf: &mut Bytes) -> XlParameterChange { type XlHeapDelete (line 683) | pub struct XlHeapDelete { method decode (line 557) | pub fn decode(buf: &mut Bytes) -> XlHeapDelete { method decode (line 691) | pub fn decode(buf: &mut Bytes) -> XlHeapDelete { type XlHeapUpdate (line 703) | pub struct XlHeapUpdate { method decode (line 582) | pub fn decode(buf: &mut Bytes) -> XlHeapUpdate { method decode (line 713) | pub fn decode(buf: &mut Bytes) -> XlHeapUpdate { type XlHeapLock (line 727) | pub struct XlHeapLock { method decode (line 607) | pub fn decode(buf: &mut Bytes) -> XlHeapLock { method decode (line 735) | pub fn decode(buf: &mut Bytes) -> XlHeapLock { type XlNeonHeapInsert (line 753) | pub struct XlNeonHeapInsert { method decode (line 759) | pub fn decode(buf: &mut Bytes) -> XlNeonHeapInsert { type XlNeonHeapMultiInsert (line 769) | pub struct XlNeonHeapMultiInsert { method decode (line 777) | pub fn decode(buf: &mut Bytes) -> XlNeonHeapMultiInsert { type XlNeonHeapDelete (line 789) | pub struct XlNeonHeapDelete { method decode (line 798) | pub fn decode(buf: &mut Bytes) -> XlNeonHeapDelete { type XlNeonHeapUpdate (line 811) | pub struct XlNeonHeapUpdate { method decode (line 822) | pub fn decode(buf: &mut Bytes) -> XlNeonHeapUpdate { type XlNeonHeapLock (line 837) | pub struct XlNeonHeapLock { method decode (line 846) | pub fn decode(buf: &mut Bytes) -> XlNeonHeapLock { type XlEndOfRecovery (line 872) | pub struct XlEndOfRecovery { method decode (line 880) | pub fn decode(buf: &mut Bytes) -> XlEndOfRecovery { type XlSmgrCreate (line 893) | pub struct XlSmgrCreate { method decode (line 901) | pub fn decode(buf: &mut Bytes) -> XlSmgrCreate { type XlSmgrTruncate (line 915) | pub struct XlSmgrTruncate { method decode (line 922) | pub fn decode(buf: &mut Bytes) -> XlSmgrTruncate { type XlCreateDatabase (line 937) | pub struct XlCreateDatabase { method decode (line 945) | pub fn decode(buf: &mut Bytes) -> XlCreateDatabase { type XlDropDatabase (line 957) | pub struct XlDropDatabase { method decode (line 964) | pub fn decode(buf: &mut Bytes) -> XlDropDatabase { type XlXactParsedRecord (line 988) | pub struct XlXactParsedRecord { method decode (line 1008) | pub fn decode(buf: &mut Bytes, mut xid: TransactionId, xl_info: u8) ->... type XlClogTruncate (line 1101) | pub struct XlClogTruncate { method decode (line 1108) | pub fn decode(buf: &mut Bytes, pg_version: PgMajorVersion) -> XlClogTr... type XlLogicalMessage (line 1123) | pub struct XlLogicalMessage { method decode (line 1131) | pub fn decode(buf: &mut Bytes) -> XlLogicalMessage { type XlRunningXacts (line 1143) | pub struct XlRunningXacts { method decode (line 1154) | pub fn decode(buf: &mut Bytes) -> XlRunningXacts { function describe_postgres_wal_record (line 1177) | pub fn describe_postgres_wal_record(record: &Bytes) -> Result(); constant SIZE_OF_XLOG_RECORD_DATA_HEADER_SHORT (line 49) | pub const SIZE_OF_XLOG_RECORD_DATA_HEADER_SHORT: usize = 1 * 2; constant XID_CHECKPOINT_INTERVAL (line 58) | const XID_CHECKPOINT_INTERVAL: u32 = 1024; function XLogSegmentsPerXLogId (line 60) | pub fn XLogSegmentsPerXLogId(wal_segsz_bytes: usize) -> XLogSegNo { function XLogSegNoOffsetToRecPtr (line 64) | pub fn XLogSegNoOffsetToRecPtr( function XLogFileName (line 72) | pub fn XLogFileName(tli: TimeLineID, logSegNo: XLogSegNo, wal_segsz_byte... function XLogFromFileName (line 81) | pub fn XLogFromFileName( function IsXLogFileName (line 95) | pub fn IsXLogFileName(fname: &OsStr) -> bool { function IsPartialXLogFileName (line 103) | pub fn IsPartialXLogFileName(fname: &OsStr) -> bool { function normalize_lsn (line 113) | pub fn normalize_lsn(lsn: Lsn, seg_sz: usize) -> Lsn { function generate_pg_control (line 138) | pub fn generate_pg_control( function get_current_timestamp (line 181) | pub fn get_current_timestamp() -> TimestampTz { constant UNIX_EPOCH_JDATE (line 193) | const UNIX_EPOCH_JDATE: u64 = 2440588; constant POSTGRES_EPOCH_JDATE (line 194) | const POSTGRES_EPOCH_JDATE: u64 = 2451545; constant SECS_PER_DAY (line 195) | const SECS_PER_DAY: u64 = 86400; constant USECS_PER_SEC (line 196) | const USECS_PER_SEC: u64 = 1000000; constant SECS_DIFF_UNIX_TO_POSTGRES_EPOCH (line 197) | const SECS_DIFF_UNIX_TO_POSTGRES_EPOCH: u64 = function to_pg_timestamp (line 200) | pub fn to_pg_timestamp(time: SystemTime) -> TimestampTz { function try_from_pg_timestamp (line 210) | pub fn try_from_pg_timestamp(time: TimestampTz) -> anyhow::Result anyhow::Result> { method from_slice (line 315) | pub fn from_slice(buf: &[u8]) -> Result { method from_bytes (line 320) | pub fn from_bytes(buf: &mut B) -> Result Result { method is_xlog_switch_record (line 331) | pub fn is_xlog_switch_record(&self) -> bool { method from_bytes (line 337) | pub fn from_bytes(buf: &mut B) -> Result Result { method from_bytes (line 349) | pub fn from_bytes(buf: &mut B) -> Result Result { constant SIZEOF_CHECKPOINT (line 360) | pub const SIZEOF_CHECKPOINT: usize = size_of::(); method encode (line 363) | pub fn encode(&self) -> Result { method decode (line 368) | pub fn decode(buf: &[u8]) -> Result { method update_next_xid (line 378) | pub fn update_next_xid(&mut self, xid: u32) -> bool { method update_next_multixid (line 412) | pub fn update_next_multixid(&mut self, multi_xid: u32, multi_offset: u32... function generate_wal_segment (line 432) | pub fn generate_wal_segment(segno: u64, system_id: u64, lsn: Lsn) -> Res... type XlLogicalMessage (line 510) | pub struct XlLogicalMessage { method encode (line 518) | pub fn encode(&self) -> Bytes { function encode_logical_message (line 527) | pub fn encode_logical_message(prefix: &str, message: &str) -> Bytes { function test_ts_conversion (line 542) | fn test_ts_conversion() { FILE: libs/postgres_ffi/wal_craft/src/bin/wal_craft.rs function main (line 10) | fn main() -> Result<()> { function cli (line 85) | fn cli() -> Command { function verify_cli (line 142) | fn verify_cli() { FILE: libs/postgres_ffi/wal_craft/src/lib.rs type Conf (line 31) | pub struct Conf { method pg_distrib_dir (line 52) | pub fn pg_distrib_dir(&self) -> anyhow::Result { method pg_bin_dir (line 58) | fn pg_bin_dir(&self) -> anyhow::Result { method pg_lib_dir (line 62) | fn pg_lib_dir(&self) -> anyhow::Result { method wal_dir (line 66) | pub fn wal_dir(&self) -> PathBuf { method new_pg_command (line 70) | fn new_pg_command(&self, command: impl AsRef) -> anyhow::Result<... method initdb (line 88) | pub fn initdb(&self) -> anyhow::Result<()> { method start_server (line 115) | pub fn start_server(&self) -> anyhow::Result { method pg_waldump (line 142) | pub fn pg_waldump( type PostgresServer (line 37) | pub struct PostgresServer { method connect_with_timeout (line 164) | pub fn connect_with_timeout(&self) -> anyhow::Result { method kill (line 175) | pub fn kill(mut self) { method drop (line 182) | fn drop(&mut self) { type PostgresClientExt (line 196) | pub trait PostgresClientExt: postgres::GenericClient { method pg_current_wal_insert_lsn (line 197) | fn pg_current_wal_insert_lsn(&mut self) -> anyhow::Result { method pg_current_wal_flush_lsn (line 202) | fn pg_current_wal_flush_lsn(&mut self) -> anyhow::Result { function ensure_server_config (line 211) | pub fn ensure_server_config(client: &mut impl postgres::GenericClient) -... type Crafter (line 238) | pub trait Crafter { constant NAME (line 239) | const NAME: &'static str; method craft (line 252) | fn craft(client: &mut impl postgres::GenericClient) -> anyhow::Result<... constant NAME (line 292) | const NAME: &'static str = "simple"; method craft (line 293) | fn craft(client: &mut impl postgres::GenericClient) -> anyhow::Result<... constant NAME (line 303) | const NAME: &'static str = "last_wal_record_xlog_switch"; method craft (line 304) | fn craft(client: &mut impl postgres::GenericClient) -> anyhow::Result<... constant NAME (line 332) | const NAME: &'static str = "last_wal_record_xlog_switch_ends_on_page_b... method craft (line 333) | fn craft(client: &mut impl postgres::GenericClient) -> anyhow::Result<... constant NAME (line 440) | const NAME: &'static str = "wal_record_crossing_segment_followed_by_sm... method craft (line 441) | fn craft(client: &mut impl postgres::GenericClient) -> anyhow::Result<... constant NAME (line 450) | const NAME: &'static str = "last_wal_record_crossing_segment"; method craft (line 451) | fn craft(client: &mut impl postgres::GenericClient) -> anyhow::Result<... function craft_internal (line 258) | fn craft_internal( type Simple (line 290) | pub struct Simple; type LastWalRecordXlogSwitch (line 301) | pub struct LastWalRecordXlogSwitch; type LastWalRecordXlogSwitchEndsOnPageBoundary (line 329) | pub struct LastWalRecordXlogSwitchEndsOnPageBoundary; function craft_seg_size_logical_message (line 408) | fn craft_seg_size_logical_message( type WalRecordCrossingSegmentFollowedBySmallOne (line 438) | pub struct WalRecordCrossingSegmentFollowedBySmallOne; type LastWalRecordCrossingSegment (line 448) | pub struct LastWalRecordCrossingSegment; FILE: libs/postgres_ffi/wal_craft/src/xlog_utils_test.rs function init_logging (line 14) | fn init_logging() { function test_end_of_wal (line 24) | fn test_end_of_wal(test_name: &str) { function find_pg_waldump_end_of_wal (line 97) | fn find_pg_waldump_end_of_wal(cfg: &crate::Conf, last_segment: &OsStr) -... function check_end_of_wal (line 119) | fn check_end_of_wal( function test_find_end_of_wal_simple (line 157) | pub fn test_find_end_of_wal_simple() { function test_find_end_of_wal_crossing_segment_followed_by_small_one (line 163) | pub fn test_find_end_of_wal_crossing_segment_followed_by_small_one() { function test_find_end_of_wal_last_crossing_segment (line 171) | pub fn test_find_end_of_wal_last_crossing_segment() { function test_update_next_xid (line 183) | pub fn test_update_next_xid() { function test_update_next_multixid (line 209) | pub fn test_update_next_multixid() { function test_encode_logical_message (line 256) | pub fn test_encode_logical_message() { FILE: libs/postgres_ffi_types/src/constants.rs constant DEFAULTTABLESPACE_OID (line 7) | pub const DEFAULTTABLESPACE_OID: u32 = 1663; constant GLOBALTABLESPACE_OID (line 8) | pub const GLOBALTABLESPACE_OID: u32 = 1664; FILE: libs/postgres_ffi_types/src/forknum.rs constant MAIN_FORKNUM (line 2) | pub const MAIN_FORKNUM: u8 = 0; constant FSM_FORKNUM (line 3) | pub const FSM_FORKNUM: u8 = 1; constant VISIBILITYMAP_FORKNUM (line 4) | pub const VISIBILITYMAP_FORKNUM: u8 = 2; constant INIT_FORKNUM (line 5) | pub const INIT_FORKNUM: u8 = 3; type FilePathError (line 8) | pub enum FilePathError { function forkname_to_number (line 16) | pub fn forkname_to_number(forkname: Option<&str>) -> Result Option<&'static str> { FILE: libs/postgres_ffi_types/src/lib.rs type Oid (line 12) | pub type Oid = u32; type RepOriginId (line 13) | pub type RepOriginId = u16; type TimestampTz (line 14) | pub type TimestampTz = i64; FILE: libs/postgres_initdb/src/lib.rs type RunInitdbArgs (line 12) | pub struct RunInitdbArgs<'a> { type Error (line 22) | pub enum Error { method fmt (line 33) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { function do_run_initdb (line 48) | pub async fn do_run_initdb(args: RunInitdbArgs<'_>) -> Result<(), Error> { FILE: libs/postgres_versioninfo/src/lib.rs type PgMajorVersion (line 10) | pub enum PgMajorVersion { method major_version_num (line 68) | pub const fn major_version_num(&self) -> u32 { method versionfile_string (line 81) | pub fn versionfile_string(&self) -> &'static str { method v_str (line 94) | pub fn v_str(&self) -> String { constant ALL (line 105) | pub const ALL: &'static [PgMajorVersion] = &[ type Error (line 135) | type Error = InvalidPgVersion; method try_from (line 137) | fn try_from(value: PgVersionId) -> Result { type PgVersionId (line 21) | pub struct PgVersionId(u32); constant UNKNOWN (line 24) | pub const UNKNOWN: PgVersionId = PgVersionId(0); method from_full_pg_version (line 26) | pub fn from_full_pg_version(version: u32) -> PgVersionId { method deserialize (line 51) | fn deserialize(deserializer: D) -> Result method deserialize_in_place (line 58) | fn deserialize_in_place(deserializer: D, place: &mut Self) -> Resul... method from (line 149) | fn from(value: PgMajorVersion) -> Self { method fmt (line 36) | fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { method serialize (line 42) | fn serialize(&self, serializer: S) -> Result method fmt (line 114) | fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { type InvalidPgVersion (line 126) | pub struct InvalidPgVersion(u32); method fmt (line 129) | fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { type PgMajorVersionParseError (line 155) | pub struct PgMajorVersionParseError(String); method fmt (line 158) | fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { type Err (line 164) | type Err = PgMajorVersionParseError; method from_str (line 166) | fn from_str(s: &str) -> Result { FILE: libs/posthog_client_lite/src/background_loop.rs type FeatureResolverBackgroundLoop (line 17) | pub struct FeatureResolverBackgroundLoop { method new (line 24) | pub fn new(config: PostHogClientConfig, shutdown_pageserver: Cancellat... method update (line 36) | pub fn update(&self, spec: String) -> anyhow::Result<()> { method update_feature_store_nofail (line 42) | fn update_feature_store_nofail(&self, resp: LocalEvaluationResponse, s... method spawn (line 56) | pub fn spawn( method feature_store (line 125) | pub fn feature_store(&self) -> Arc { FILE: libs/posthog_client_lite/src/lib.rs type PostHogEvaluationError (line 14) | pub enum PostHogEvaluationError { method as_variant_str (line 26) | pub fn as_variant_str(&self) -> &'static str { type LocalEvaluationResponse (line 36) | pub struct LocalEvaluationResponse { type LocalEvaluationFlag (line 41) | pub struct LocalEvaluationFlag { type LocalEvaluationFlagFilters (line 51) | pub struct LocalEvaluationFlagFilters { type LocalEvaluationFlagFilterGroup (line 57) | pub struct LocalEvaluationFlagFilterGroup { type LocalEvaluationFlagFilterProperty (line 64) | pub struct LocalEvaluationFlagFilterProperty { type PostHogFlagFilterPropertyValue (line 72) | pub enum PostHogFlagFilterPropertyValue { type LocalEvaluationFlagMultivariate (line 80) | pub struct LocalEvaluationFlagMultivariate { type LocalEvaluationFlagMultivariateVariant (line 85) | pub struct LocalEvaluationFlagMultivariateVariant { type FeatureStore (line 90) | pub struct FeatureStore { method new (line 107) | pub fn new() -> Self { method new_with_flags (line 113) | pub fn new_with_flags( method set_flags (line 122) | pub fn set_flags( method consistent_hash (line 146) | fn consistent_hash(user_id: &str, flag_key: &str, salt: &str) -> f64 { method evaluate_condition (line 160) | fn evaluate_condition( method evaluate_percentage (line 226) | fn evaluate_percentage(&self, mapped_user_id: f64, percentage: i64) ->... method evaluate_group (line 236) | fn evaluate_group( method evaluate_multivariate (line 299) | pub fn evaluate_multivariate( method evaluate_boolean (line 336) | pub fn evaluate_boolean( method evaluate_multivariate_inner (line 358) | pub(crate) fn evaluate_multivariate_inner( method evaluate_boolean_inner (line 423) | pub(crate) fn evaluate_boolean_inner( method is_feature_flag_boolean (line 467) | pub fn is_feature_flag_boolean(&self, flag_key: &str) -> Result Self { type GroupEvaluationResult (line 100) | enum GroupEvaluationResult { type PostHogClientConfig (line 478) | pub struct PostHogClientConfig { type PostHogClient (line 506) | pub struct PostHogClient { method new (line 521) | pub fn new(config: PostHogClientConfig) -> Self { method new_with_us_region (line 526) | pub fn new_with_us_region( method is_feature_flag_secure_api_key (line 543) | fn is_feature_flag_secure_api_key(&self) -> bool { method get_feature_flags_local_evaluation_raw (line 548) | pub async fn get_feature_flags_local_evaluation_raw(&self) -> anyhow::... method get_feature_flags_local_evaluation (line 593) | pub async fn get_feature_flags_local_evaluation( method capture_event (line 604) | pub async fn capture_event( method capture_event_batch (line 635) | pub async fn capture_event_batch(&self, events: &[CaptureEvent]) -> an... type CaptureEvent (line 514) | pub struct CaptureEvent { function data (line 664) | fn data() -> &'static str { function parse_local_evaluation (line 825) | fn parse_local_evaluation() { function evaluate_multivariate (line 831) | fn evaluate_multivariate() { function evaluate_boolean_1 (line 899) | fn evaluate_boolean_1() { function evaluate_boolean_2 (line 955) | fn evaluate_boolean_2() { FILE: libs/pq_proto/src/framed.rs constant INITIAL_CAPACITY (line 21) | const INITIAL_CAPACITY: usize = 8 * 1024; type ConnectionError (line 26) | pub enum ConnectionError { method into_io_error (line 35) | pub fn into_io_error(self) -> io::Error { type Framed (line 45) | pub struct Framed { function new (line 52) | pub fn new(stream: S) -> Self { function get_ref (line 61) | pub fn get_ref(&self) -> &S { function into_inner (line 66) | pub fn into_inner(self) -> (S, BytesMut) { function map_stream (line 72) | pub async fn map_stream(self, f: F) -> Result, E> function read_startup_message (line 87) | pub async fn read_startup_message( function read_message (line 93) | pub async fn read_message(&mut self) -> Result, Connec... function write_message (line 100) | pub fn write_message(&mut self, msg: &BeMessage<'_>) -> Result<(), Proto... function flush (line 106) | pub async fn flush(&mut self) -> Result<(), io::Error> { function shutdown (line 111) | pub async fn shutdown(&mut self) -> Result<(), io::Error> { function split (line 120) | pub fn split(self) -> (FramedReader, FramedWriter) { function unsplit (line 134) | pub fn unsplit(reader: FramedReader, writer: FramedWriter) -> Self { type FramedReader (line 144) | pub struct FramedReader { function read_message (line 150) | pub async fn read_message(&mut self) -> Result, Connec... type FramedWriter (line 156) | pub struct FramedWriter { function write_message_noflush (line 163) | pub fn write_message_noflush(&mut self, msg: &BeMessage<'_>) -> Result<(... function flush (line 169) | pub async fn flush(&mut self) -> Result<(), io::Error> { function shutdown (line 174) | pub async fn shutdown(&mut self) -> Result<(), io::Error> { function read_message (line 186) | async fn read_message( function flush (line 217) | async fn flush( function shutdown (line 234) | async fn shutdown( FILE: libs/pq_proto/src/lib.rs type Oid (line 18) | pub type Oid = u32; type SystemId (line 19) | pub type SystemId = u64; constant INT8_OID (line 21) | pub const INT8_OID: Oid = 20; constant INT4_OID (line 22) | pub const INT4_OID: Oid = 23; constant TEXT_OID (line 23) | pub const TEXT_OID: Oid = 25; type FeMessage (line 26) | pub enum FeMessage { method parse (line 279) | pub fn parse(buf: &mut BytesMut) -> Result, Protocol... type ProtocolVersion (line 44) | pub struct ProtocolVersion(u32); method new (line 47) | pub const fn new(major: u16, minor: u16) -> Self { method minor (line 50) | pub const fn minor(self) -> u16 { method major (line 53) | pub const fn major(self) -> u16 { method fmt (line 59) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type FeStartupPacket (line 68) | pub enum FeStartupPacket { method parse (line 335) | pub fn parse(buf: &mut BytesMut) -> Result, Pr... type StartupMessageParamsBuilder (line 81) | pub struct StartupMessageParamsBuilder { method insert (line 88) | pub fn insert(&mut self, name: &str, value: &str) { method freeze (line 95) | pub fn freeze(self) -> StartupMessageParams { type StartupMessageParams (line 103) | pub struct StartupMessageParams { method get (line 109) | pub fn get(&self, name: &str) -> Option<&str> { method options_raw (line 116) | pub fn options_raw(&self) -> Option> { method options_escaped (line 123) | pub fn options_escaped(&self) -> Option impl Iterator { method parse_options_escaped (line 144) | pub fn parse_options_escaped(input: &str) -> impl Iterator impl Iterator { method new (line 171) | pub fn new<'a, const N: usize>(pairs: [(&'a str, &'a str); N]) -> Self { type CancelKeyData (line 181) | pub struct CancelKeyData { method fmt (line 194) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { function id_to_cancel_key (line 186) | pub fn id_to_cancel_key(id: u64) -> CancelKeyData { method sample (line 208) | fn sample(&self, rng: &mut R) -> CancelKeyData { type FeParseMessage (line 219) | pub struct FeParseMessage { method parse (line 439) | fn parse(mut buf: Bytes) -> Result { type FeDescribeMessage (line 224) | pub struct FeDescribeMessage { method parse (line 465) | fn parse(mut buf: Bytes) -> Result { type FeBindMessage (line 231) | pub struct FeBindMessage; method parse (line 506) | fn parse(mut buf: Bytes) -> Result { type FeExecuteMessage (line 235) | pub struct FeExecuteMessage { method parse (line 481) | fn parse(mut buf: Bytes) -> Result { type FeCloseMessage (line 242) | pub struct FeCloseMessage; method parse (line 522) | fn parse(mut buf: Bytes) -> Result { type ProtocolError (line 247) | pub enum ProtocolError { method into_io_error (line 259) | pub fn into_io_error(self) -> io::Error { type BeMessage (line 534) | pub enum BeMessage<'a> { constant CLIENT_ENCODING (line 586) | pub const CLIENT_ENCODING: Self = Self::ParameterStatus { constant INTEGER_DATETIMES (line 591) | pub const INTEGER_DATETIMES: Self = Self::ParameterStatus { function server_version (line 597) | pub fn server_version(version: &'a str) -> Self { type BeAuthenticationSaslMessage (line 606) | pub enum BeAuthenticationSaslMessage<'a> { type BeParameterStatusMessage (line 613) | pub enum BeParameterStatusMessage<'a> { type RowDescriptor (line 620) | pub struct RowDescriptor<'a> { method default (line 631) | fn default() -> RowDescriptor<'static> { function int8_col (line 646) | pub const fn int8_col(name: &[u8]) -> RowDescriptor { function text_col (line 658) | pub const fn text_col(name: &[u8]) -> RowDescriptor { type XLogDataBody (line 672) | pub struct XLogDataBody<'a> { type WalSndKeepAlive (line 680) | pub struct WalSndKeepAlive { type InterpretedWalRecordsBody (line 694) | pub struct InterpretedWalRecordsBody<'a> { function write_body (line 717) | fn write_body(buf: &mut BytesMut, f: impl FnOnce(&mut BytesMut) -> R)... function write_cstr (line 730) | fn write_cstr(s: impl AsRef<[u8]>, buf: &mut BytesMut) -> Result<(), Pro... function read_cstr (line 743) | pub fn read_cstr(buf: &mut Bytes) -> Result { constant SQLSTATE_INTERNAL_ERROR (line 753) | pub const SQLSTATE_INTERNAL_ERROR: &[u8; 5] = b"XX000"; constant SQLSTATE_ADMIN_SHUTDOWN (line 754) | pub const SQLSTATE_ADMIN_SHUTDOWN: &[u8; 5] = b"57P01"; constant SQLSTATE_SUCCESSFUL_COMPLETION (line 755) | pub const SQLSTATE_SUCCESSFUL_COMPLETION: &[u8; 5] = b"00000"; function write (line 763) | pub fn write(buf: &mut BytesMut, message: &BeMessage) -> Result<(), Prot... function terminate_code (line 1048) | fn terminate_code(code: &[u8; 5]) -> [u8; 6] { function test_startup_message_params_options_escaped (line 1062) | fn test_startup_message_params_options_escaped() { function parse_fe_startup_packet_regression (line 1089) | fn parse_fe_startup_packet_regression() { function cancel_key_data (line 1095) | fn cancel_key_data() { FILE: libs/proxy/json/src/lib.rs type ValueSer (line 88) | pub struct ValueSer<'buf> { function new (line 95) | pub fn new(buf: &'buf mut Vec) -> Self { function as_buffer (line 100) | pub fn as_buffer(&self) -> &[u8] { function value (line 105) | pub fn value(self, e: impl ValueEncoder) { function write_raw_json (line 111) | pub fn write_raw_json(self, data: &[u8]) { function object (line 118) | pub fn object(self) -> ObjectSer<'buf> { function list (line 124) | pub fn list(self) -> ListSer<'buf> { function finish (line 130) | fn finish(self) { method drop (line 138) | fn drop(&mut self) { type ObjectSer (line 145) | pub struct ObjectSer<'buf> { function new (line 153) | pub fn new(value: ValueSer<'buf>) -> Self { function as_buffer (line 160) | pub fn as_buffer(&self) -> &[u8] { function key (line 166) | pub fn key(&mut self, key: impl KeyEncoder) -> ValueSer<'_> { function entry (line 172) | pub fn entry(&mut self, key: impl KeyEncoder, val: impl ValueEncoder) { function entry_inner (line 177) | fn entry_inner(&mut self, f: impl FnOnce(&mut Vec)) -> ValueSer<'_> { function rollback (line 199) | pub fn rollback(self) -> ValueSer<'buf> { function finish (line 208) | pub fn finish(self) { type KeyEncoder (line 214) | pub trait KeyEncoder { method write_key (line 215) | fn write_key<'a>(self, obj: &'a mut ObjectSer) -> ValueSer<'a>; type ListSer (line 220) | pub struct ListSer<'buf> { function new (line 228) | pub fn new(value: ValueSer<'buf>) -> Self { function as_buffer (line 235) | pub fn as_buffer(&self) -> &[u8] { function push (line 241) | pub fn push(&mut self, val: impl ValueEncoder) { function entry (line 247) | pub fn entry(&mut self) -> ValueSer<'_> { function rollback (line 265) | pub fn rollback(self) -> ValueSer<'buf> { function finish (line 274) | pub fn finish(self) { function object (line 285) | fn object() { function list (line 296) | fn list() { function object_macro (line 307) | fn object_macro() { function list_macro (line 319) | fn list_macro() { function rollback_on_drop (line 331) | fn rollback_on_drop() { function rollback_object (line 358) | fn rollback_object() { function rollback_list (line 379) | fn rollback_list() { function string_escaping (line 400) | fn string_escaping() { FILE: libs/proxy/json/src/str.rs type CharEscape (line 14) | pub enum CharEscape { method from_escape_table (line 38) | fn from_escape_table(escape: u8, byte: u8) -> CharEscape { function format_escaped_str (line 53) | pub(crate) fn format_escaped_str(writer: &mut Vec, value: &str) { function format_escaped_fmt (line 64) | pub(crate) fn format_escaped_fmt(writer: &mut Vec, args: fmt::Argume... type Collect (line 74) | struct Collect<'buf> { function write_str (line 79) | fn write_str(&mut self, s: &str) -> fmt::Result { function format_escaped_str_contents (line 87) | fn format_escaped_str_contents<'a>(writer: &mut Vec, value: &'a str)... constant BB (line 109) | const BB: u8 = b'b'; constant TT (line 110) | const TT: u8 = b't'; constant NN (line 111) | const NN: u8 = b'n'; constant FF (line 112) | const FF: u8 = b'f'; constant RR (line 113) | const RR: u8 = b'r'; constant QU (line 114) | const QU: u8 = b'"'; constant BS (line 115) | const BS: u8 = b'\\'; constant UU (line 116) | const UU: u8 = b'u'; constant __ (line 117) | const __: u8 = 0; function write_char_escape (line 141) | fn write_char_escape(writer: &mut Vec, char_escape: CharEscape) { FILE: libs/proxy/json/src/value.rs type ValueEncoder (line 8) | pub trait ValueEncoder { method encode (line 9) | fn encode(self, v: ValueSer<'_>); method encode (line 22) | fn encode(self, v: ValueSer<'_>) { method encode (line 29) | fn encode(self, v: ValueSer<'_>) { method encode (line 37) | fn encode(self, v: ValueSer<'_>) { method encode (line 82) | fn encode(self, v: ValueSer<'_>) { method encode (line 89) | fn encode(self, v: ValueSer<'_>) { method encode (line 121) | fn encode(self, v: ValueSer<'_>) { method encode (line 128) | fn encode(self, v: ValueSer<'_>) { method encode (line 139) | fn encode(self, v: ValueSer<'_>) { method encode (line 150) | fn encode(self, o: ValueSer<'_>) { method encode (line 161) | fn encode(self, o: ValueSer<'_>) { function write_int (line 12) | pub(crate) fn write_int(x: impl itoa::Integer, b: &mut Vec) { function write_float (line 16) | pub(crate) fn write_float(x: impl ryu::Float, b: &mut Vec) { method write_key (line 99) | fn write_key<'a>(self, obj: &'a mut ObjectSer) -> ValueSer<'a> { method write_key (line 107) | fn write_key<'a>(self, obj: &'a mut ObjectSer) -> ValueSer<'a> { type Null (line 117) | pub struct Null; FILE: libs/proxy/postgres-protocol2/src/authentication/sasl.rs constant NONCE_LENGTH (line 14) | const NONCE_LENGTH: usize = 24; constant SCRAM_SHA_256 (line 17) | pub const SCRAM_SHA_256: &str = "SCRAM-SHA-256"; constant SCRAM_SHA_256_PLUS (line 19) | pub const SCRAM_SHA_256_PLUS: &str = "SCRAM-SHA-256-PLUS"; function normalize (line 24) | fn normalize(pass: &[u8]) -> Vec { function hi (line 36) | pub(crate) async fn hi(str: &[u8], salt: &[u8], iterations: u32) -> [u8;... type ChannelBindingInner (line 63) | enum ChannelBindingInner { type ChannelBinding (line 70) | pub struct ChannelBinding(ChannelBindingInner); method unrequested (line 74) | pub fn unrequested() -> ChannelBinding { method unsupported (line 79) | pub fn unsupported() -> ChannelBinding { method tls_server_end_point (line 85) | pub fn tls_server_end_point(signature: Vec) -> ChannelBinding { method gs2_header (line 89) | fn gs2_header(&self) -> &'static str { method cbind_data (line 97) | fn cbind_data(&self) -> &[u8] { type ScramKeys (line 108) | pub struct ScramKeys { type Credentials (line 116) | enum Credentials { type State (line 123) | enum State { type ScramSha256 (line 151) | pub struct ScramSha256 { method new (line 172) | pub fn new(password: &[u8], channel_binding: ChannelBinding) -> ScramS... method new_with_keys (line 178) | pub fn new_with_keys(keys: ScramKeys<32>, channel_binding: ChannelBind... method new_inner (line 183) | fn new_inner( method message (line 199) | pub fn message(&self) -> &[u8] { method update (line 209) | pub async fn update(&mut self, message: &[u8]) -> io::Result<()> { method finish (line 295) | pub fn finish(&mut self, message: &[u8]) -> io::Result<()> { function nonce (line 156) | fn nonce() -> String { type Parser (line 329) | struct Parser<'a> { function new (line 335) | fn new(s: &'a str) -> Parser<'a> { function eat (line 342) | fn eat(&mut self, target: char) -> io::Result<()> { function take_while (line 357) | fn take_while(&mut self, f: F) -> io::Result<&'a str> function printable (line 377) | fn printable(&mut self) -> io::Result<&'a str> { function nonce (line 381) | fn nonce(&mut self) -> io::Result<&'a str> { function base64 (line 387) | fn base64(&mut self) -> io::Result<&'a str> { function salt (line 391) | fn salt(&mut self) -> io::Result<&'a str> { function posit_number (line 397) | fn posit_number(&mut self) -> io::Result { function iteration_count (line 403) | fn iteration_count(&mut self) -> io::Result { function eof (line 409) | fn eof(&mut self) -> io::Result<()> { function server_first_message (line 419) | fn server_first_message(&mut self) -> io::Result> { function value (line 434) | fn value(&mut self) -> io::Result<&'a str> { function server_error (line 438) | fn server_error(&mut self) -> io::Result> { function verifier (line 449) | fn verifier(&mut self) -> io::Result<&'a str> { function server_final_message (line 455) | fn server_final_message(&mut self) -> io::Result> { type ServerFirstMessage (line 465) | struct ServerFirstMessage<'a> { type ServerFinalMessage (line 471) | enum ServerFinalMessage<'a> { function parse_server_first_message (line 481) | fn parse_server_first_message() { function exchange (line 491) | async fn exchange() { FILE: libs/proxy/postgres-protocol2/src/escape/mod.rs function escape_literal (line 16) | pub fn escape_literal(input: &str) -> String { function escape_identifier (line 21) | pub fn escape_identifier(input: &str) -> String { function escape_internal (line 34) | fn escape_internal(input: &str, as_ident: bool) -> String { FILE: libs/proxy/postgres-protocol2/src/escape/test.rs function test_escape_idenifier (line 4) | fn test_escape_idenifier() { function test_escape_literal (line 12) | fn test_escape_literal() { FILE: libs/proxy/postgres-protocol2/src/lib.rs type Oid (line 26) | pub type Oid = u32; type Lsn (line 29) | pub type Lsn = u64; type IsNull (line 32) | pub enum IsNull { function write_nullable (line 39) | fn write_nullable(serializer: F, buf: &mut BytesMut) -> Result<(), E> type FromUsize (line 55) | trait FromUsize: Sized { method from_usize (line 56) | fn from_usize(x: usize) -> Result; FILE: libs/proxy/postgres-protocol2/src/message/backend.rs constant PARSE_COMPLETE_TAG (line 15) | const PARSE_COMPLETE_TAG: u8 = b'1'; constant BIND_COMPLETE_TAG (line 16) | const BIND_COMPLETE_TAG: u8 = b'2'; constant CLOSE_COMPLETE_TAG (line 17) | const CLOSE_COMPLETE_TAG: u8 = b'3'; constant NOTIFICATION_RESPONSE_TAG (line 18) | pub const NOTIFICATION_RESPONSE_TAG: u8 = b'A'; constant COPY_DONE_TAG (line 19) | const COPY_DONE_TAG: u8 = b'c'; constant COMMAND_COMPLETE_TAG (line 20) | const COMMAND_COMPLETE_TAG: u8 = b'C'; constant COPY_DATA_TAG (line 21) | const COPY_DATA_TAG: u8 = b'd'; constant DATA_ROW_TAG (line 22) | const DATA_ROW_TAG: u8 = b'D'; constant ERROR_RESPONSE_TAG (line 23) | const ERROR_RESPONSE_TAG: u8 = b'E'; constant COPY_IN_RESPONSE_TAG (line 24) | const COPY_IN_RESPONSE_TAG: u8 = b'G'; constant COPY_OUT_RESPONSE_TAG (line 25) | const COPY_OUT_RESPONSE_TAG: u8 = b'H'; constant COPY_BOTH_RESPONSE_TAG (line 26) | const COPY_BOTH_RESPONSE_TAG: u8 = b'W'; constant EMPTY_QUERY_RESPONSE_TAG (line 27) | const EMPTY_QUERY_RESPONSE_TAG: u8 = b'I'; constant BACKEND_KEY_DATA_TAG (line 28) | const BACKEND_KEY_DATA_TAG: u8 = b'K'; constant NO_DATA_TAG (line 29) | pub const NO_DATA_TAG: u8 = b'n'; constant NOTICE_RESPONSE_TAG (line 30) | pub const NOTICE_RESPONSE_TAG: u8 = b'N'; constant AUTHENTICATION_TAG (line 31) | const AUTHENTICATION_TAG: u8 = b'R'; constant PORTAL_SUSPENDED_TAG (line 32) | const PORTAL_SUSPENDED_TAG: u8 = b's'; constant PARAMETER_STATUS_TAG (line 33) | pub const PARAMETER_STATUS_TAG: u8 = b'S'; constant PARAMETER_DESCRIPTION_TAG (line 34) | const PARAMETER_DESCRIPTION_TAG: u8 = b't'; constant ROW_DESCRIPTION_TAG (line 35) | const ROW_DESCRIPTION_TAG: u8 = b'T'; constant READY_FOR_QUERY_TAG (line 36) | pub const READY_FOR_QUERY_TAG: u8 = b'Z'; type Header (line 39) | pub struct Header { method parse (line 47) | pub fn parse(buf: &[u8]) -> io::Result> { method tag (line 66) | pub fn tag(self) -> u8 { method len (line 71) | pub fn len(self) -> i32 { type Message (line 77) | pub enum Message { method parse (line 114) | pub fn parse(buf: &mut BytesMut) -> io::Result> { type Buffer (line 247) | struct Buffer { method slice (line 254) | fn slice(&self) -> &[u8] { method is_empty (line 259) | fn is_empty(&self) -> bool { method read_cstr (line 264) | fn read_cstr(&mut self) -> io::Result { method read_all (line 281) | fn read_all(&mut self) -> Bytes { method read (line 290) | fn read(&mut self, buf: &mut [u8]) -> io::Result { type AuthenticationMd5PasswordBody (line 302) | pub struct AuthenticationMd5PasswordBody { method salt (line 308) | pub fn salt(&self) -> [u8; 4] { type AuthenticationSaslBody (line 313) | pub struct AuthenticationSaslBody(Bytes); method mechanisms (line 317) | pub fn mechanisms(&self) -> SaslMechanisms<'_> { type SaslMechanisms (line 322) | pub struct SaslMechanisms<'a>(&'a [u8]); type Item (line 325) | type Item = &'a str; type Error (line 326) | type Error = io::Error; method next (line 329) | fn next(&mut self) -> io::Result> { type AuthenticationSaslContinueBody (line 347) | pub struct AuthenticationSaslContinueBody(Bytes); method data (line 351) | pub fn data(&self) -> &[u8] { type AuthenticationSaslFinalBody (line 356) | pub struct AuthenticationSaslFinalBody(Bytes); method data (line 360) | pub fn data(&self) -> &[u8] { type BackendKeyDataBody (line 365) | pub struct BackendKeyDataBody { method process_id (line 372) | pub fn process_id(&self) -> i32 { method secret_key (line 377) | pub fn secret_key(&self) -> i32 { type CommandCompleteBody (line 382) | pub struct CommandCompleteBody { method tag (line 388) | pub fn tag(&self) -> io::Result<&str> { type DataRowBody (line 394) | pub struct DataRowBody { method ranges (line 401) | pub fn ranges(&self) -> DataRowRanges<'_> { method buffer (line 410) | pub fn buffer(&self) -> &[u8] { type DataRowRanges (line 415) | pub struct DataRowRanges<'a> { type Item (line 422) | type Item = Option>; type Error (line 423) | type Error = io::Error; method next (line 426) | fn next(&mut self) -> io::Result>>> { method size_hint (line 457) | fn size_hint(&self) -> (usize, Option) { type ErrorResponseBody (line 463) | pub struct ErrorResponseBody { method fields (line 469) | pub fn fields(&self) -> ErrorFields<'_> { type ErrorFields (line 474) | pub struct ErrorFields<'a> { type Item (line 479) | type Item = ErrorField<'a>; type Error (line 480) | type Error = io::Error; method next (line 483) | fn next(&mut self) -> io::Result>> { type ErrorField (line 504) | pub struct ErrorField<'a> { function type_ (line 511) | pub fn type_(&self) -> u8 { function value (line 516) | pub fn value(&self) -> &str { type NoticeResponseBody (line 521) | pub struct NoticeResponseBody { method fields (line 527) | pub fn fields(&self) -> ErrorFields<'_> { method as_bytes (line 531) | pub fn as_bytes(&self) -> &[u8] { type NotificationResponseBody (line 536) | pub struct NotificationResponseBody {} type ParameterDescriptionBody (line 538) | pub struct ParameterDescriptionBody { method parameters (line 545) | pub fn parameters(&self) -> Parameters<'_> { type Parameters (line 553) | pub struct Parameters<'a> { type Item (line 559) | type Item = Oid; type Error (line 560) | type Error = io::Error; method next (line 563) | fn next(&mut self) -> io::Result> { method size_hint (line 580) | fn size_hint(&self) -> (usize, Option) { type ParameterStatusBody (line 586) | pub struct ParameterStatusBody { method name (line 593) | pub fn name(&self) -> io::Result<&str> { method value (line 598) | pub fn value(&self) -> io::Result<&str> { type ReadyForQueryBody (line 603) | pub struct ReadyForQueryBody { method status (line 609) | pub fn status(&self) -> u8 { type RowDescriptionBody (line 614) | pub struct RowDescriptionBody { method fields (line 621) | pub fn fields(&self) -> Fields<'_> { type Fields (line 629) | pub struct Fields<'a> { type Item (line 635) | type Item = Field<'a>; type Error (line 636) | type Error = io::Error; method next (line 639) | fn next(&mut self) -> io::Result>> { type Field (line 674) | pub struct Field<'a> { function name (line 686) | pub fn name(&self) -> &'a str { function table_oid (line 691) | pub fn table_oid(&self) -> Oid { function column_id (line 696) | pub fn column_id(&self) -> i16 { function type_oid (line 701) | pub fn type_oid(&self) -> Oid { function type_size (line 706) | pub fn type_size(&self) -> i16 { function type_modifier (line 711) | pub fn type_modifier(&self) -> i32 { function format (line 716) | pub fn format(&self) -> i16 { function find_null (line 722) | fn find_null(buf: &[u8], start: usize) -> io::Result { function get_str (line 733) | fn get_str(buf: &[u8]) -> io::Result<&str> { FILE: libs/proxy/postgres-protocol2/src/message/frontend.rs function write_body (line 13) | fn write_body(buf: &mut BytesMut, f: F) -> Result<(), E> type BindError (line 29) | pub enum BindError { method from (line 36) | fn from(e: Box) -> BindError { method from (line 43) | fn from(e: io::Error) -> BindError { function bind (line 49) | pub fn bind( function write_counted (line 96) | fn write_counted(items: I, mut serializer: F, buf: &mut Byte... function cancel_request (line 116) | pub fn cancel_request(process_id: i32, secret_key: i32, buf: &mut BytesM... function close (line 127) | pub fn close(variant: u8, name: &str, buf: &mut BytesMut) -> io::Result<... type CopyData (line 135) | pub struct CopyData { function new (line 144) | pub fn new(buf: T) -> io::Result> { function write (line 156) | pub fn write(self, out: &mut BytesMut) { function copy_done (line 164) | pub fn copy_done(buf: &mut BytesMut) { function copy_fail (line 170) | pub fn copy_fail(message: &str, buf: &mut BytesMut) -> io::Result<()> { function describe (line 176) | pub fn describe(variant: u8, name: &str, buf: &mut BytesMut) -> io::Resu... function execute (line 185) | pub fn execute(portal: &str, max_rows: i32, buf: &mut BytesMut) -> io::R... function parse (line 195) | pub fn parse(name: &str, query: &str, param_types: I, buf: &mut Bytes... function password_message (line 216) | pub fn password_message(password: &[u8], buf: &mut BytesMut) -> io::Resu... function query (line 222) | pub fn query(query: &str, buf: &mut BytesMut) -> io::Result<()> { function sasl_initial_response (line 228) | pub fn sasl_initial_response(mechanism: &str, data: &[u8], buf: &mut Byt... function sasl_response (line 240) | pub fn sasl_response(data: &[u8], buf: &mut BytesMut) -> io::Result<()> { function ssl_request (line 249) | pub fn ssl_request(buf: &mut BytesMut) { function startup_message (line 258) | pub fn startup_message(parameters: &StartupMessageParams, buf: &mut Byte... type StartupMessageParams (line 269) | pub struct StartupMessageParams { method insert (line 275) | pub fn insert(&mut self, name: &str, value: &str) { function sync (line 287) | pub fn sync(buf: &mut BytesMut) { function flush (line 293) | pub fn flush(buf: &mut BytesMut) { function terminate (line 299) | pub fn terminate(buf: &mut BytesMut) { function write_cstr (line 305) | fn write_cstr(s: &[u8], buf: &mut BytesMut) -> Result<(), io::Error> { FILE: libs/proxy/postgres-protocol2/src/password/mod.rs constant SCRAM_DEFAULT_ITERATIONS (line 21) | const SCRAM_DEFAULT_ITERATIONS: u32 = 4096; constant SCRAM_DEFAULT_SALT_LEN (line 22) | const SCRAM_DEFAULT_SALT_LEN: usize = 16; function scram_sha_256 (line 29) | pub async fn scram_sha_256(password: &[u8]) -> String { function scram_sha_256_salt (line 38) | pub(crate) async fn scram_sha_256_salt( FILE: libs/proxy/postgres-protocol2/src/password/test.rs function test_encrypt_scram_sha_256 (line 4) | async fn test_encrypt_scram_sha_256() { FILE: libs/proxy/postgres-protocol2/src/types/mod.rs function text_to_sql (line 17) | pub fn text_to_sql(v: &str, buf: &mut BytesMut) { function text_from_sql (line 23) | pub fn text_from_sql(buf: &[u8]) -> Result<&str, StdBox Result Result { type Item (line 60) | type Item = (&'a str, Option<&'a str>); type Error (line 61) | type Error = StdBox; method next (line 65) | fn next( method size_hint (line 99) | fn size_hint(&self) -> (usize, Option) { function array_from_sql (line 107) | pub fn array_from_sql(mut buf: &[u8]) -> Result, StdBox { function dimensions (line 148) | pub fn dimensions(&self) -> ArrayDimensions<'a> { function values (line 154) | pub fn values(&self) -> ArrayValues<'a> { type ArrayDimensions (line 163) | pub struct ArrayDimensions<'a>(&'a [u8]); type Item (line 166) | type Item = ArrayDimension; type Error (line 167) | type Error = StdBox; method next (line 170) | fn next(&mut self) -> Result, StdBox (usize, Option) { type ArrayDimension (line 190) | pub struct ArrayDimension { type ArrayValues (line 199) | pub struct ArrayValues<'a> { type Item (line 205) | type Item = Option<&'a [u8]>; type Error (line 206) | type Error = StdBox; method next (line 209) | fn next(&mut self) -> Result>, StdBox (usize, Option) { function ltree_to_sql (line 242) | pub fn ltree_to_sql(v: &str, buf: &mut BytesMut) { function ltree_from_sql (line 251) | pub fn ltree_from_sql(buf: &[u8]) -> Result<&str, StdBox Result<&str, StdBox Result<&str, StdBox) -> fmt::Result { method fmt (line 46) | fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { method new (line 57) | pub fn new(name: String, oid: Oid, kind: Kind, schema: String) -> Type { method from_oid (line 68) | pub fn from_oid(oid: Oid) -> Option { method oid (line 73) | pub fn oid(&self) -> Oid { method kind (line 78) | pub fn kind(&self) -> &Kind { method schema (line 83) | pub fn schema(&self) -> &str { method name (line 91) | pub fn name(&self) -> &str { type Kind (line 99) | pub enum Kind { type Field (line 120) | pub struct Field { method new (line 127) | pub fn new(name: String, type_: Type) -> Field { method name (line 132) | pub fn name(&self) -> &str { method type_ (line 137) | pub fn type_(&self) -> &Type { type WasNull (line 145) | pub struct WasNull; method fmt (line 148) | fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { type WrongType (line 158) | pub struct WrongType { method fmt (line 164) | fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { method new (line 177) | pub fn new(ty: Type) -> WrongType { type WrongFormat (line 188) | pub struct WrongFormat {} method fmt (line 193) | fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { type FromSql (line 202) | pub trait FromSql<'a>: Sized { method from_sql (line 208) | fn from_sql(ty: &Type, raw: &'a [u8]) -> Result Result bool; type FromSqlOwned (line 241) | pub trait FromSqlOwned: for<'a> FromSql<'a> {} function from_sql (line 246) | fn from_sql(ty: &Type, raw: &'a [u8]) -> Result, Box Result, Box bool { function from_sql (line 260) | fn from_sql(ty: &Type, raw: &'a [u8]) -> Result, Box bool { method from_sql (line 286) | fn from_sql(ty: &Type, raw: &'a [u8]) -> Result bool { function from_sql (line 296) | fn from_sql(ty: &Type, raw: &'a [u8]) -> Result<&'a str, Box bool { type IsNull (line 337) | pub enum IsNull { type Format (line 348) | pub enum Format { FILE: libs/proxy/postgres-types2/src/private.rs function read_be_i32 (line 7) | pub fn read_be_i32(buf: &mut &[u8]) -> Result( FILE: libs/proxy/postgres-types2/src/type_gen.rs type Other (line 7) | pub struct Other { type Inner (line 15) | pub enum Inner { method from_oid (line 205) | pub fn from_oid(oid: Oid) -> Option { method const_oid (line 396) | pub const fn const_oid(&self) -> Oid { method oid (line 587) | pub fn oid(&self) -> Oid { method kind (line 594) | pub fn kind(&self) -> &Kind { method name (line 785) | pub fn name(&self) -> &str { constant BOOL (line 978) | pub const BOOL: Type = Type(Inner::Bool); constant BYTEA (line 981) | pub const BYTEA: Type = Type(Inner::Bytea); constant CHAR (line 984) | pub const CHAR: Type = Type(Inner::Char); constant NAME (line 987) | pub const NAME: Type = Type(Inner::Name); constant INT8 (line 990) | pub const INT8: Type = Type(Inner::Int8); constant INT2 (line 993) | pub const INT2: Type = Type(Inner::Int2); constant INT2_VECTOR (line 996) | pub const INT2_VECTOR: Type = Type(Inner::Int2Vector); constant INT4 (line 999) | pub const INT4: Type = Type(Inner::Int4); constant REGPROC (line 1002) | pub const REGPROC: Type = Type(Inner::Regproc); constant TEXT (line 1005) | pub const TEXT: Type = Type(Inner::Text); constant OID (line 1008) | pub const OID: Type = Type(Inner::Oid); constant TID (line 1011) | pub const TID: Type = Type(Inner::Tid); constant XID (line 1014) | pub const XID: Type = Type(Inner::Xid); constant CID (line 1017) | pub const CID: Type = Type(Inner::Cid); constant OID_VECTOR (line 1020) | pub const OID_VECTOR: Type = Type(Inner::OidVector); constant PG_DDL_COMMAND (line 1023) | pub const PG_DDL_COMMAND: Type = Type(Inner::PgDdlCommand); constant JSON (line 1026) | pub const JSON: Type = Type(Inner::Json); constant XML (line 1029) | pub const XML: Type = Type(Inner::Xml); constant XML_ARRAY (line 1032) | pub const XML_ARRAY: Type = Type(Inner::XmlArray); constant PG_NODE_TREE (line 1035) | pub const PG_NODE_TREE: Type = Type(Inner::PgNodeTree); constant JSON_ARRAY (line 1038) | pub const JSON_ARRAY: Type = Type(Inner::JsonArray); constant TABLE_AM_HANDLER (line 1041) | pub const TABLE_AM_HANDLER: Type = Type(Inner::TableAmHandler); constant XID8_ARRAY (line 1044) | pub const XID8_ARRAY: Type = Type(Inner::Xid8Array); constant INDEX_AM_HANDLER (line 1047) | pub const INDEX_AM_HANDLER: Type = Type(Inner::IndexAmHandler); constant POINT (line 1050) | pub const POINT: Type = Type(Inner::Point); constant LSEG (line 1053) | pub const LSEG: Type = Type(Inner::Lseg); constant PATH (line 1056) | pub const PATH: Type = Type(Inner::Path); constant BOX (line 1059) | pub const BOX: Type = Type(Inner::Box); constant POLYGON (line 1062) | pub const POLYGON: Type = Type(Inner::Polygon); constant LINE (line 1065) | pub const LINE: Type = Type(Inner::Line); constant LINE_ARRAY (line 1068) | pub const LINE_ARRAY: Type = Type(Inner::LineArray); constant CIDR (line 1071) | pub const CIDR: Type = Type(Inner::Cidr); constant CIDR_ARRAY (line 1074) | pub const CIDR_ARRAY: Type = Type(Inner::CidrArray); constant FLOAT4 (line 1077) | pub const FLOAT4: Type = Type(Inner::Float4); constant FLOAT8 (line 1080) | pub const FLOAT8: Type = Type(Inner::Float8); constant UNKNOWN (line 1083) | pub const UNKNOWN: Type = Type(Inner::Unknown); constant CIRCLE (line 1086) | pub const CIRCLE: Type = Type(Inner::Circle); constant CIRCLE_ARRAY (line 1089) | pub const CIRCLE_ARRAY: Type = Type(Inner::CircleArray); constant MACADDR8 (line 1092) | pub const MACADDR8: Type = Type(Inner::Macaddr8); constant MACADDR8_ARRAY (line 1095) | pub const MACADDR8_ARRAY: Type = Type(Inner::Macaddr8Array); constant MONEY (line 1098) | pub const MONEY: Type = Type(Inner::Money); constant MONEY_ARRAY (line 1101) | pub const MONEY_ARRAY: Type = Type(Inner::MoneyArray); constant MACADDR (line 1104) | pub const MACADDR: Type = Type(Inner::Macaddr); constant INET (line 1107) | pub const INET: Type = Type(Inner::Inet); constant BOOL_ARRAY (line 1110) | pub const BOOL_ARRAY: Type = Type(Inner::BoolArray); constant BYTEA_ARRAY (line 1113) | pub const BYTEA_ARRAY: Type = Type(Inner::ByteaArray); constant CHAR_ARRAY (line 1116) | pub const CHAR_ARRAY: Type = Type(Inner::CharArray); constant NAME_ARRAY (line 1119) | pub const NAME_ARRAY: Type = Type(Inner::NameArray); constant INT2_ARRAY (line 1122) | pub const INT2_ARRAY: Type = Type(Inner::Int2Array); constant INT2_VECTOR_ARRAY (line 1125) | pub const INT2_VECTOR_ARRAY: Type = Type(Inner::Int2VectorArray); constant INT4_ARRAY (line 1128) | pub const INT4_ARRAY: Type = Type(Inner::Int4Array); constant REGPROC_ARRAY (line 1131) | pub const REGPROC_ARRAY: Type = Type(Inner::RegprocArray); constant TEXT_ARRAY (line 1134) | pub const TEXT_ARRAY: Type = Type(Inner::TextArray); constant TID_ARRAY (line 1137) | pub const TID_ARRAY: Type = Type(Inner::TidArray); constant XID_ARRAY (line 1140) | pub const XID_ARRAY: Type = Type(Inner::XidArray); constant CID_ARRAY (line 1143) | pub const CID_ARRAY: Type = Type(Inner::CidArray); constant OID_VECTOR_ARRAY (line 1146) | pub const OID_VECTOR_ARRAY: Type = Type(Inner::OidVectorArray); constant BPCHAR_ARRAY (line 1149) | pub const BPCHAR_ARRAY: Type = Type(Inner::BpcharArray); constant VARCHAR_ARRAY (line 1152) | pub const VARCHAR_ARRAY: Type = Type(Inner::VarcharArray); constant INT8_ARRAY (line 1155) | pub const INT8_ARRAY: Type = Type(Inner::Int8Array); constant POINT_ARRAY (line 1158) | pub const POINT_ARRAY: Type = Type(Inner::PointArray); constant LSEG_ARRAY (line 1161) | pub const LSEG_ARRAY: Type = Type(Inner::LsegArray); constant PATH_ARRAY (line 1164) | pub const PATH_ARRAY: Type = Type(Inner::PathArray); constant BOX_ARRAY (line 1167) | pub const BOX_ARRAY: Type = Type(Inner::BoxArray); constant FLOAT4_ARRAY (line 1170) | pub const FLOAT4_ARRAY: Type = Type(Inner::Float4Array); constant FLOAT8_ARRAY (line 1173) | pub const FLOAT8_ARRAY: Type = Type(Inner::Float8Array); constant POLYGON_ARRAY (line 1176) | pub const POLYGON_ARRAY: Type = Type(Inner::PolygonArray); constant OID_ARRAY (line 1179) | pub const OID_ARRAY: Type = Type(Inner::OidArray); constant ACLITEM (line 1182) | pub const ACLITEM: Type = Type(Inner::Aclitem); constant ACLITEM_ARRAY (line 1185) | pub const ACLITEM_ARRAY: Type = Type(Inner::AclitemArray); constant MACADDR_ARRAY (line 1188) | pub const MACADDR_ARRAY: Type = Type(Inner::MacaddrArray); constant INET_ARRAY (line 1191) | pub const INET_ARRAY: Type = Type(Inner::InetArray); constant BPCHAR (line 1194) | pub const BPCHAR: Type = Type(Inner::Bpchar); constant VARCHAR (line 1197) | pub const VARCHAR: Type = Type(Inner::Varchar); constant DATE (line 1200) | pub const DATE: Type = Type(Inner::Date); constant TIME (line 1203) | pub const TIME: Type = Type(Inner::Time); constant TIMESTAMP (line 1206) | pub const TIMESTAMP: Type = Type(Inner::Timestamp); constant TIMESTAMP_ARRAY (line 1209) | pub const TIMESTAMP_ARRAY: Type = Type(Inner::TimestampArray); constant DATE_ARRAY (line 1212) | pub const DATE_ARRAY: Type = Type(Inner::DateArray); constant TIME_ARRAY (line 1215) | pub const TIME_ARRAY: Type = Type(Inner::TimeArray); constant TIMESTAMPTZ (line 1218) | pub const TIMESTAMPTZ: Type = Type(Inner::Timestamptz); constant TIMESTAMPTZ_ARRAY (line 1221) | pub const TIMESTAMPTZ_ARRAY: Type = Type(Inner::TimestamptzArray); constant INTERVAL (line 1224) | pub const INTERVAL: Type = Type(Inner::Interval); constant INTERVAL_ARRAY (line 1227) | pub const INTERVAL_ARRAY: Type = Type(Inner::IntervalArray); constant NUMERIC_ARRAY (line 1230) | pub const NUMERIC_ARRAY: Type = Type(Inner::NumericArray); constant CSTRING_ARRAY (line 1233) | pub const CSTRING_ARRAY: Type = Type(Inner::CstringArray); constant TIMETZ (line 1236) | pub const TIMETZ: Type = Type(Inner::Timetz); constant TIMETZ_ARRAY (line 1239) | pub const TIMETZ_ARRAY: Type = Type(Inner::TimetzArray); constant BIT (line 1242) | pub const BIT: Type = Type(Inner::Bit); constant BIT_ARRAY (line 1245) | pub const BIT_ARRAY: Type = Type(Inner::BitArray); constant VARBIT (line 1248) | pub const VARBIT: Type = Type(Inner::Varbit); constant VARBIT_ARRAY (line 1251) | pub const VARBIT_ARRAY: Type = Type(Inner::VarbitArray); constant NUMERIC (line 1254) | pub const NUMERIC: Type = Type(Inner::Numeric); constant REFCURSOR (line 1257) | pub const REFCURSOR: Type = Type(Inner::Refcursor); constant REFCURSOR_ARRAY (line 1260) | pub const REFCURSOR_ARRAY: Type = Type(Inner::RefcursorArray); constant REGPROCEDURE (line 1263) | pub const REGPROCEDURE: Type = Type(Inner::Regprocedure); constant REGOPER (line 1266) | pub const REGOPER: Type = Type(Inner::Regoper); constant REGOPERATOR (line 1269) | pub const REGOPERATOR: Type = Type(Inner::Regoperator); constant REGCLASS (line 1272) | pub const REGCLASS: Type = Type(Inner::Regclass); constant REGTYPE (line 1275) | pub const REGTYPE: Type = Type(Inner::Regtype); constant REGPROCEDURE_ARRAY (line 1278) | pub const REGPROCEDURE_ARRAY: Type = Type(Inner::RegprocedureArray); constant REGOPER_ARRAY (line 1281) | pub const REGOPER_ARRAY: Type = Type(Inner::RegoperArray); constant REGOPERATOR_ARRAY (line 1284) | pub const REGOPERATOR_ARRAY: Type = Type(Inner::RegoperatorArray); constant REGCLASS_ARRAY (line 1287) | pub const REGCLASS_ARRAY: Type = Type(Inner::RegclassArray); constant REGTYPE_ARRAY (line 1290) | pub const REGTYPE_ARRAY: Type = Type(Inner::RegtypeArray); constant RECORD (line 1293) | pub const RECORD: Type = Type(Inner::Record); constant CSTRING (line 1296) | pub const CSTRING: Type = Type(Inner::Cstring); constant ANY (line 1299) | pub const ANY: Type = Type(Inner::Any); constant ANYARRAY (line 1302) | pub const ANYARRAY: Type = Type(Inner::Anyarray); constant VOID (line 1305) | pub const VOID: Type = Type(Inner::Void); constant TRIGGER (line 1308) | pub const TRIGGER: Type = Type(Inner::Trigger); constant LANGUAGE_HANDLER (line 1311) | pub const LANGUAGE_HANDLER: Type = Type(Inner::LanguageHandler); constant INTERNAL (line 1314) | pub const INTERNAL: Type = Type(Inner::Internal); constant ANYELEMENT (line 1317) | pub const ANYELEMENT: Type = Type(Inner::Anyelement); constant RECORD_ARRAY (line 1320) | pub const RECORD_ARRAY: Type = Type(Inner::RecordArray); constant ANYNONARRAY (line 1323) | pub const ANYNONARRAY: Type = Type(Inner::Anynonarray); constant TXID_SNAPSHOT_ARRAY (line 1326) | pub const TXID_SNAPSHOT_ARRAY: Type = Type(Inner::TxidSnapshotArray); constant UUID (line 1329) | pub const UUID: Type = Type(Inner::Uuid); constant UUID_ARRAY (line 1332) | pub const UUID_ARRAY: Type = Type(Inner::UuidArray); constant TXID_SNAPSHOT (line 1335) | pub const TXID_SNAPSHOT: Type = Type(Inner::TxidSnapshot); constant FDW_HANDLER (line 1338) | pub const FDW_HANDLER: Type = Type(Inner::FdwHandler); constant PG_LSN (line 1341) | pub const PG_LSN: Type = Type(Inner::PgLsn); constant PG_LSN_ARRAY (line 1344) | pub const PG_LSN_ARRAY: Type = Type(Inner::PgLsnArray); constant TSM_HANDLER (line 1347) | pub const TSM_HANDLER: Type = Type(Inner::TsmHandler); constant PG_NDISTINCT (line 1350) | pub const PG_NDISTINCT: Type = Type(Inner::PgNdistinct); constant PG_DEPENDENCIES (line 1353) | pub const PG_DEPENDENCIES: Type = Type(Inner::PgDependencies); constant ANYENUM (line 1356) | pub const ANYENUM: Type = Type(Inner::Anyenum); constant TS_VECTOR (line 1359) | pub const TS_VECTOR: Type = Type(Inner::TsVector); constant TSQUERY (line 1362) | pub const TSQUERY: Type = Type(Inner::Tsquery); constant GTS_VECTOR (line 1365) | pub const GTS_VECTOR: Type = Type(Inner::GtsVector); constant TS_VECTOR_ARRAY (line 1368) | pub const TS_VECTOR_ARRAY: Type = Type(Inner::TsVectorArray); constant GTS_VECTOR_ARRAY (line 1371) | pub const GTS_VECTOR_ARRAY: Type = Type(Inner::GtsVectorArray); constant TSQUERY_ARRAY (line 1374) | pub const TSQUERY_ARRAY: Type = Type(Inner::TsqueryArray); constant REGCONFIG (line 1377) | pub const REGCONFIG: Type = Type(Inner::Regconfig); constant REGCONFIG_ARRAY (line 1380) | pub const REGCONFIG_ARRAY: Type = Type(Inner::RegconfigArray); constant REGDICTIONARY (line 1383) | pub const REGDICTIONARY: Type = Type(Inner::Regdictionary); constant REGDICTIONARY_ARRAY (line 1386) | pub const REGDICTIONARY_ARRAY: Type = Type(Inner::RegdictionaryArray); constant JSONB (line 1389) | pub const JSONB: Type = Type(Inner::Jsonb); constant JSONB_ARRAY (line 1392) | pub const JSONB_ARRAY: Type = Type(Inner::JsonbArray); constant ANY_RANGE (line 1395) | pub const ANY_RANGE: Type = Type(Inner::AnyRange); constant EVENT_TRIGGER (line 1398) | pub const EVENT_TRIGGER: Type = Type(Inner::EventTrigger); constant INT4_RANGE (line 1401) | pub const INT4_RANGE: Type = Type(Inner::Int4Range); constant INT4_RANGE_ARRAY (line 1404) | pub const INT4_RANGE_ARRAY: Type = Type(Inner::Int4RangeArray); constant NUM_RANGE (line 1407) | pub const NUM_RANGE: Type = Type(Inner::NumRange); constant NUM_RANGE_ARRAY (line 1410) | pub const NUM_RANGE_ARRAY: Type = Type(Inner::NumRangeArray); constant TS_RANGE (line 1413) | pub const TS_RANGE: Type = Type(Inner::TsRange); constant TS_RANGE_ARRAY (line 1416) | pub const TS_RANGE_ARRAY: Type = Type(Inner::TsRangeArray); constant TSTZ_RANGE (line 1419) | pub const TSTZ_RANGE: Type = Type(Inner::TstzRange); constant TSTZ_RANGE_ARRAY (line 1422) | pub const TSTZ_RANGE_ARRAY: Type = Type(Inner::TstzRangeArray); constant DATE_RANGE (line 1425) | pub const DATE_RANGE: Type = Type(Inner::DateRange); constant DATE_RANGE_ARRAY (line 1428) | pub const DATE_RANGE_ARRAY: Type = Type(Inner::DateRangeArray); constant INT8_RANGE (line 1431) | pub const INT8_RANGE: Type = Type(Inner::Int8Range); constant INT8_RANGE_ARRAY (line 1434) | pub const INT8_RANGE_ARRAY: Type = Type(Inner::Int8RangeArray); constant JSONPATH (line 1437) | pub const JSONPATH: Type = Type(Inner::Jsonpath); constant JSONPATH_ARRAY (line 1440) | pub const JSONPATH_ARRAY: Type = Type(Inner::JsonpathArray); constant REGNAMESPACE (line 1443) | pub const REGNAMESPACE: Type = Type(Inner::Regnamespace); constant REGNAMESPACE_ARRAY (line 1446) | pub const REGNAMESPACE_ARRAY: Type = Type(Inner::RegnamespaceArray); constant REGROLE (line 1449) | pub const REGROLE: Type = Type(Inner::Regrole); constant REGROLE_ARRAY (line 1452) | pub const REGROLE_ARRAY: Type = Type(Inner::RegroleArray); constant REGCOLLATION (line 1455) | pub const REGCOLLATION: Type = Type(Inner::Regcollation); constant REGCOLLATION_ARRAY (line 1458) | pub const REGCOLLATION_ARRAY: Type = Type(Inner::RegcollationArray); constant INT4MULTI_RANGE (line 1461) | pub const INT4MULTI_RANGE: Type = Type(Inner::Int4multiRange); constant NUMMULTI_RANGE (line 1464) | pub const NUMMULTI_RANGE: Type = Type(Inner::NummultiRange); constant TSMULTI_RANGE (line 1467) | pub const TSMULTI_RANGE: Type = Type(Inner::TsmultiRange); constant TSTZMULTI_RANGE (line 1470) | pub const TSTZMULTI_RANGE: Type = Type(Inner::TstzmultiRange); constant DATEMULTI_RANGE (line 1473) | pub const DATEMULTI_RANGE: Type = Type(Inner::DatemultiRange); constant INT8MULTI_RANGE (line 1476) | pub const INT8MULTI_RANGE: Type = Type(Inner::Int8multiRange); constant ANYMULTI_RANGE (line 1479) | pub const ANYMULTI_RANGE: Type = Type(Inner::AnymultiRange); constant ANYCOMPATIBLEMULTI_RANGE (line 1482) | pub const ANYCOMPATIBLEMULTI_RANGE: Type = Type(Inner::Anycompatiblemult... constant PG_BRIN_BLOOM_SUMMARY (line 1485) | pub const PG_BRIN_BLOOM_SUMMARY: Type = Type(Inner::PgBrinBloomSummary); constant PG_BRIN_MINMAX_MULTI_SUMMARY (line 1488) | pub const PG_BRIN_MINMAX_MULTI_SUMMARY: Type = Type(Inner::PgBrinMinmaxM... constant PG_MCV_LIST (line 1491) | pub const PG_MCV_LIST: Type = Type(Inner::PgMcvList); constant PG_SNAPSHOT (line 1494) | pub const PG_SNAPSHOT: Type = Type(Inner::PgSnapshot); constant PG_SNAPSHOT_ARRAY (line 1497) | pub const PG_SNAPSHOT_ARRAY: Type = Type(Inner::PgSnapshotArray); constant XID8 (line 1500) | pub const XID8: Type = Type(Inner::Xid8); constant ANYCOMPATIBLE (line 1503) | pub const ANYCOMPATIBLE: Type = Type(Inner::Anycompatible); constant ANYCOMPATIBLEARRAY (line 1506) | pub const ANYCOMPATIBLEARRAY: Type = Type(Inner::Anycompatiblearray); constant ANYCOMPATIBLENONARRAY (line 1509) | pub const ANYCOMPATIBLENONARRAY: Type = Type(Inner::Anycompatiblenonarray); constant ANYCOMPATIBLE_RANGE (line 1512) | pub const ANYCOMPATIBLE_RANGE: Type = Type(Inner::AnycompatibleRange); constant INT4MULTI_RANGE_ARRAY (line 1515) | pub const INT4MULTI_RANGE_ARRAY: Type = Type(Inner::Int4multiRangeArray); constant NUMMULTI_RANGE_ARRAY (line 1518) | pub const NUMMULTI_RANGE_ARRAY: Type = Type(Inner::NummultiRangeArray); constant TSMULTI_RANGE_ARRAY (line 1521) | pub const TSMULTI_RANGE_ARRAY: Type = Type(Inner::TsmultiRangeArray); constant TSTZMULTI_RANGE_ARRAY (line 1524) | pub const TSTZMULTI_RANGE_ARRAY: Type = Type(Inner::TstzmultiRangeArray); constant DATEMULTI_RANGE_ARRAY (line 1527) | pub const DATEMULTI_RANGE_ARRAY: Type = Type(Inner::DatemultiRangeArray); constant INT8MULTI_RANGE_ARRAY (line 1530) | pub const INT8MULTI_RANGE_ARRAY: Type = Type(Inner::Int8multiRangeArray); FILE: libs/proxy/tokio-postgres2/src/cancel_query.rs function cancel_query (line 8) | pub(crate) async fn cancel_query( FILE: libs/proxy/tokio-postgres2/src/cancel_query_raw.rs function cancel_query_raw (line 9) | pub async fn cancel_query_raw( FILE: libs/proxy/tokio-postgres2/src/cancel_token.rs type CancelToken (line 12) | pub struct CancelToken { method cancel_query (line 38) | pub async fn cancel_query(&self, tls: T) -> Result<(), Error> type RawCancelToken (line 19) | pub struct RawCancelToken { method cancel_query_raw (line 56) | pub async fn cancel_query_raw(&self, stream: S, tls: T) -> Resul... FILE: libs/proxy/tokio-postgres2/src/client.rs type Responses (line 27) | pub struct Responses { method poll_next (line 39) | pub fn poll_next(&mut self, cx: &mut Context<'_>) -> Poll Result { type CachedTypeInfo (line 80) | pub(crate) struct CachedTypeInfo { type InnerClient (line 85) | pub struct InnerClient { method start (line 94) | pub fn start(&mut self) -> Result, Error> { method send_simple_query (line 99) | pub fn send_simple_query(&mut self, query: &str) -> Result<&mut Respon... method send_message (line 109) | fn send_message(&mut self, messages: FrontendMessage) -> Result<&mut R... type PartialQuery (line 115) | pub struct PartialQuery<'a>(Option<&'a mut InnerClient>); method drop (line 118) | fn drop(&mut self) { function send_with_flush (line 129) | pub fn send_with_flush(&mut self, f: F) -> Result<&mut Responses, Error> function send_with_sync (line 142) | pub fn send_with_sync(mut self, f: F) -> Result<&'a mut Responses, Er... type SocketConfig (line 159) | pub struct SocketConfig { type Client (line 170) | pub struct Client { method new (line 181) | pub(crate) fn new( method get_process_id (line 211) | pub fn get_process_id(&self) -> i32 { method inner_mut (line 215) | pub(crate) fn inner_mut(&mut self) -> &mut InnerClient { method record_notices (line 219) | pub fn record_notices(&mut self, limit: usize) -> mpsc::UnboundedRecei... method query_raw_txt (line 233) | pub async fn query_raw_txt( method simple_query (line 265) | pub async fn simple_query(&mut self, query: &str) -> Result Result Result<(), Error> { method transaction (line 324) | pub async fn transaction(&mut self) -> Result, Error> { method build_transaction (line 361) | pub fn build_transaction(&mut self) -> TransactionBuilder<'_> { method cancel_token (line 367) | pub fn cancel_token(&self) -> CancelToken { method is_closed (line 381) | pub fn is_closed(&self) -> bool { method fmt (line 387) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { FILE: libs/proxy/tokio-postgres2/src/codec.rs type FrontendMessage (line 9) | pub enum FrontendMessage { type RecordNotices (line 14) | pub struct RecordNotices { type BackendMessage (line 19) | pub enum BackendMessage { type BackendMessages (line 27) | pub struct BackendMessages(BytesMut); method empty (line 30) | pub fn empty() -> BackendMessages { type Item (line 36) | type Item = backend::Message; type Error (line 37) | type Error = io::Error; method next (line 39) | fn next(&mut self) -> io::Result> { type PostgresCodec (line 44) | pub struct PostgresCodec; type Error (line 47) | type Error = io::Error; method encode (line 49) | fn encode(&mut self, item: BytesMut, dst: &mut BytesMut) -> io::Result... type Item (line 56) | type Item = BackendMessage; type Error (line 57) | type Error = io::Error; method decode (line 59) | fn decode(&mut self, src: &mut BytesMut) -> Result Config { method user (line 106) | pub fn user(&mut self, user: &str) -> &mut Config { method user_is_set (line 112) | pub fn user_is_set(&self) -> bool { method password (line 117) | pub fn password(&mut self, password: T) -> &mut Config method get_password (line 127) | pub fn get_password(&self) -> Option<&[u8]> { method auth_keys (line 134) | pub fn auth_keys(&mut self, keys: AuthKeys) -> &mut Config { method get_auth_keys (line 141) | pub fn get_auth_keys(&self) -> Option { method dbname (line 148) | pub fn dbname(&mut self, dbname: &str) -> &mut Config { method db_is_set (line 154) | pub fn db_is_set(&self) -> bool { method set_param (line 158) | pub fn set_param(&mut self, name: &str, value: &str) -> &mut Config { method set_host_addr (line 169) | pub fn set_host_addr(&mut self, addr: IpAddr) -> &mut Config { method get_host_addr (line 174) | pub fn get_host_addr(&self) -> Option { method ssl_mode (line 181) | pub fn ssl_mode(&mut self, ssl_mode: SslMode) -> &mut Config { method get_ssl_mode (line 187) | pub fn get_ssl_mode(&self) -> SslMode { method get_host (line 192) | pub fn get_host(&self) -> &Host { method get_port (line 197) | pub fn get_port(&self) -> u16 { method connect_timeout (line 205) | pub fn connect_timeout(&mut self, connect_timeout: Duration) -> &mut C... method get_connect_timeout (line 212) | pub fn get_connect_timeout(&self) -> Option<&Duration> { method channel_binding (line 219) | pub fn channel_binding(&mut self, channel_binding: ChannelBinding) -> ... method get_channel_binding (line 225) | pub fn get_channel_binding(&self) -> ChannelBinding { method connect (line 232) | pub async fn connect( method tls_and_authenticate (line 242) | pub async fn tls_and_authenticate( method authenticate (line 258) | pub fn authenticate( method fmt (line 272) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { FILE: libs/proxy/tokio-postgres2/src/connect.rs function connect (line 16) | pub async fn connect( function connect_once (line 37) | async fn connect_once( function managed (line 60) | pub async fn managed( function wait_until_ready (line 100) | async fn wait_until_ready(stream: &mut StartupStream) -> Res... FILE: libs/proxy/tokio-postgres2/src/connect_raw.rs type StartupStream (line 22) | pub struct StartupStream { type Item (line 32) | type Item = io::Result; method poll_next (line 34) | fn poll_next(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll Framed, PostgresCod... function new (line 107) | pub fn new(io: MaybeTlsStream) -> Self { function authenticate (line 125) | pub(crate) async fn authenticate( function can_skip_channel_binding (line 179) | fn can_skip_channel_binding(config: &Config) -> Result<(), Error> { function authenticate_sasl (line 188) | async fn authenticate_sasl( FILE: libs/proxy/tokio-postgres2/src/connect_socket.rs function connect_socket (line 12) | pub(crate) async fn connect_socket( function connect_with_timeout (line 55) | async fn connect_with_timeout(connect: F, timeout: Option( FILE: libs/proxy/tokio-postgres2/src/connection.rs type State (line 23) | enum State { type Connection (line 36) | pub struct Connection { constant INITIAL_CAPACITY (line 47) | pub const INITIAL_CAPACITY: usize = 2 * 1024; constant GC_THRESHOLD (line 48) | pub const GC_THRESHOLD: usize = 16 * 1024; function gc_bytesmut (line 51) | pub fn gc_bytesmut(buf: &mut BytesMut) { type Never (line 68) | pub enum Never {} function new (line 75) | pub(crate) fn new( function poll_read (line 92) | fn poll_read(&mut self, cx: &mut Context<'_>) -> Poll Result<(), Erro... function poll_request (line 164) | fn poll_request(&mut self, cx: &mut Context<'_>) -> Poll) -> Poll> { function poll_flush (line 224) | fn poll_flush(&mut self, cx: &mut Context<'_>) -> Poll> { function poll_shutdown (line 247) | fn poll_shutdown(&mut self, cx: &mut Context<'_>) -> Poll) -> Poll; method poll (line 294) | fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll) -> fmt::Result { method from_str (line 52) | fn from_str(s: &str) -> Option { type DbError (line 69) | pub struct DbError { method new_test_error (line 89) | pub fn new_test_error(code: SqlState, message: String) -> Self { method parse (line 110) | pub(crate) fn parse(fields: &mut ErrorFields<'_>) -> io::Result &str { method parsed_severity (line 227) | pub fn parsed_severity(&self) -> Option { method code (line 232) | pub fn code(&self) -> &SqlState { method message (line 239) | pub fn message(&self) -> &str { method detail (line 247) | pub fn detail(&self) -> Option<&str> { method hint (line 256) | pub fn hint(&self) -> Option<&str> { method position (line 262) | pub fn position(&self) -> Option<&ErrorPosition> { method where_ (line 271) | pub fn where_(&self) -> Option<&str> { method schema (line 277) | pub fn schema(&self) -> Option<&str> { method table (line 284) | pub fn table(&self) -> Option<&str> { method column (line 293) | pub fn column(&self) -> Option<&str> { method datatype (line 300) | pub fn datatype(&self) -> Option<&str> { method constraint (line 310) | pub fn constraint(&self) -> Option<&str> { method file (line 315) | pub fn file(&self) -> Option<&str> { method line (line 321) | pub fn line(&self) -> Option { method routine (line 326) | pub fn routine(&self) -> Option<&str> { method fmt (line 332) | fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { type ErrorPosition (line 348) | pub enum ErrorPosition { type Kind (line 361) | enum Kind { type ErrorInner (line 378) | struct ErrorInner { type Error (line 384) | pub struct Error(Box); method fmt (line 387) | fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { method fmt (line 396) | fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { method source (line 421) | fn source(&self) -> Option<&(dyn error::Error + 'static)> { method into_source (line 428) | pub fn into_source(self) -> Option> { method as_db_error (line 435) | pub fn as_db_error(&self) -> Option<&DbError> { method is_closed (line 440) | pub fn is_closed(&self) -> bool { method code (line 447) | pub fn code(&self) -> Option<&SqlState> { method new (line 451) | fn new(kind: Kind, cause: Option>)... method closed (line 455) | pub fn closed() -> Error { method unexpected_message (line 459) | pub fn unexpected_message() -> Error { method db (line 464) | pub fn db(error: ErrorResponseBody) -> Error { method parse (line 471) | pub(crate) fn parse(e: io::Error) -> Error { method encode (line 475) | pub(crate) fn encode(e: io::Error) -> Error { method to_sql (line 480) | pub(crate) fn to_sql(e: Box, idx: usiz... method from_sql (line 484) | pub(crate) fn from_sql(e: Box, idx: us... method column (line 488) | pub(crate) fn column(column: String) -> Error { method tls (line 492) | pub(crate) fn tls(e: Box) -> Error { method io (line 496) | pub fn io(e: io::Error) -> Error { method authentication (line 500) | pub(crate) fn authentication(e: Box) -... method config (line 504) | pub(crate) fn config(e: Box) -> Error { method connect (line 508) | pub(crate) fn connect(e: io::Error) -> Error { method __private_api_timeout (line 513) | pub fn __private_api_timeout() -> Error { FILE: libs/proxy/tokio-postgres2/src/error/sqlstate.rs type SqlState (line 5) | pub struct SqlState([u8; 5]); method from_code (line 9) | pub fn from_code(s: &str) -> SqlState { method code (line 18) | pub fn code(&self) -> &str { constant CONNECTION_EXCEPTION (line 25) | pub const CONNECTION_EXCEPTION: SqlState = SqlState(*b"08000"); constant CONNECTION_DOES_NOT_EXIST (line 28) | pub const CONNECTION_DOES_NOT_EXIST: SqlState = SqlState(*b"08003"); constant CONNECTION_FAILURE (line 31) | pub const CONNECTION_FAILURE: SqlState = SqlState(*b"08006"); constant SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION (line 34) | pub const SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION: SqlState = SqlS... constant PROTOCOL_VIOLATION (line 37) | pub const PROTOCOL_VIOLATION: SqlState = SqlState(*b"08P01"); constant INVALID_PARAMETER_VALUE (line 42) | pub const INVALID_PARAMETER_VALUE: SqlState = SqlState(*b"22023"); constant INVALID_CATALOG_NAME (line 47) | pub const INVALID_CATALOG_NAME: SqlState = SqlState(*b"3D000"); constant INVALID_SCHEMA_NAME (line 52) | pub const INVALID_SCHEMA_NAME: SqlState = SqlState(*b"3F000"); constant T_R_SERIALIZATION_FAILURE (line 57) | pub const T_R_SERIALIZATION_FAILURE: SqlState = SqlState(*b"40001"); constant SYNTAX_ERROR (line 62) | pub const SYNTAX_ERROR: SqlState = SqlState(*b"42601"); constant OUT_OF_MEMORY (line 67) | pub const OUT_OF_MEMORY: SqlState = SqlState(*b"53200"); constant TOO_MANY_CONNECTIONS (line 70) | pub const TOO_MANY_CONNECTIONS: SqlState = SqlState(*b"53300"); constant QUERY_CANCELED (line 75) | pub const QUERY_CANCELED: SqlState = SqlState(*b"57014"); function round_trip (line 83) | fn round_trip() { FILE: libs/proxy/tokio-postgres2/src/generic_client.rs type Sealed (line 7) | pub trait Sealed {} type GenericClient (line 13) | pub trait GenericClient: private::Sealed { method query_raw_txt (line 15) | async fn query_raw_txt( method query_raw_txt (line 29) | async fn query_raw_txt( method query_raw_txt (line 46) | async fn query_raw_txt( FILE: libs/proxy/tokio-postgres2/src/lib.rs type ReadyForQueryStatus (line 23) | pub enum ReadyForQueryStatus { method from (line 35) | fn from(value: ReadyForQueryBody) -> Self { type Notification (line 71) | pub struct Notification { method process_id (line 79) | pub fn process_id(&self) -> i32 { method channel (line 84) | pub fn channel(&self) -> &str { method payload (line 89) | pub fn payload(&self) -> &str { type SimpleQueryMessage (line 97) | pub enum SimpleQueryMessage { FILE: libs/proxy/tokio-postgres2/src/maybe_tls_stream.rs type MaybeTlsStream (line 13) | pub enum MaybeTlsStream { method poll_read (line 25) | fn poll_read( method poll_write (line 42) | fn poll_write( method poll_flush (line 53) | fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll, cx: &mut Context<'_>) -> Poll... method channel_binding (line 73) | fn channel_binding(&self) -> ChannelBinding { FILE: libs/proxy/tokio-postgres2/src/prepare.rs constant TYPEINFO_QUERY (line 13) | pub(crate) const TYPEINFO_QUERY: &str = "\ type CloseStmt (line 22) | struct CloseStmt<'a, 'b> { function close (line 28) | fn close(mut self) -> Result<&'a mut Responses, Error> { method drop (line 38) | fn drop(&mut self) { function prepare_typecheck (line 48) | async fn prepare_typecheck( function try_from_cache (line 88) | fn try_from_cache(typecache: &CachedTypeInfo, oid: Oid) -> Option { function parse_row_description (line 100) | pub async fn parse_row_description( function get_type (line 149) | async fn get_type( function exec (line 206) | async fn exec( function encode_bind (line 235) | fn encode_bind(statement: &Statement, param: Oid, portal: &str, buf: &mu... FILE: libs/proxy/tokio-postgres2/src/query.rs function query_txt (line 13) | pub async fn query_txt<'a, S, I>( type RowStream (line 114) | pub struct RowStream<'a> { type Item (line 123) | type Item = Result; method poll_next (line 125) | fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll &str; method as_name (line 26) | fn as_name(&self) -> &str { method as_name (line 32) | fn as_name(&self) -> &str { method as_name (line 222) | fn as_name(&self) -> &str { type RowIndex (line 40) | pub trait RowIndex: Sealed { method __idx (line 42) | fn __idx(&self, columns: &[T]) -> Option method __idx (line 51) | fn __idx(&self, columns: &[T]) -> Option method __idx (line 67) | fn __idx(&self, columns: &[T]) -> Option method __idx (line 91) | fn __idx(&self, columns: &[U]) -> Option type Row (line 100) | pub struct Row { method fmt (line 108) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method new (line 116) | pub(crate) fn new( method columns (line 131) | pub fn columns(&self) -> &[Column] { method is_empty (line 136) | pub fn is_empty(&self) -> bool { method len (line 141) | pub fn len(&self) -> usize { method get (line 152) | pub fn get<'a, I, T>(&'a self, idx: I) -> T method try_get (line 164) | pub fn try_get<'a, I, T>(&'a self, idx: I) -> Result method get_inner (line 172) | fn get_inner<'a, I, T>(&'a self, idx: &I) -> Result method col_buffer (line 194) | fn col_buffer(&self, idx: usize) -> Option<&[u8]> { method as_text (line 202) | pub fn as_text(&self, idx: usize) -> Result, Error> { method body_len (line 216) | pub fn body_len(&self) -> usize { type SimpleQueryRow (line 229) | pub struct SimpleQueryRow { method new (line 237) | pub(crate) fn new( method columns (line 250) | pub fn columns(&self) -> &[SimpleColumn] { method is_empty (line 255) | pub fn is_empty(&self) -> bool { method len (line 260) | pub fn len(&self) -> usize { method get (line 271) | pub fn get(&self, idx: I) -> Option<&str> method try_get (line 282) | pub fn try_get(&self, idx: I) -> Result, Error> method get_inner (line 289) | fn get_inner(&self, idx: &I) -> Result, Error> FILE: libs/proxy/tokio-postgres2/src/simple_query.rs type SimpleColumn (line 16) | pub struct SimpleColumn { method new (line 21) | pub(crate) fn new(name: String) -> SimpleColumn { method name (line 26) | pub fn name(&self) -> &str { function simple_query (line 31) | pub async fn simple_query<'a>( function batch_execute (line 46) | pub async fn batch_execute( function ready_status (line 79) | pub fn ready_status(&self) -> ReadyForQueryStatus { type Item (line 85) | type Item = Result; method poll_next (line 87) | fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll); method new (line 20) | pub(crate) fn new(name: &'static str, columns: Vec) -> Stateme... method name (line 24) | pub(crate) fn name(&self) -> &str { method columns (line 29) | pub fn columns(&self) -> &[Column] { type Column (line 35) | pub struct Column { method new (line 51) | pub(crate) fn new(name: String, type_: Type, raw_field: Field<'_>) -> ... method name (line 65) | pub fn name(&self) -> &str { method type_ (line 70) | pub fn type_(&self) -> &Type { method table_oid (line 75) | pub fn table_oid(&self) -> Oid { method column_id (line 80) | pub fn column_id(&self) -> i16 { method format (line 85) | pub fn format(&self) -> i16 { method type_oid (line 90) | pub fn type_oid(&self) -> Oid { method type_size (line 95) | pub fn type_size(&self) -> i16 { method type_modifier (line 100) | pub fn type_modifier(&self) -> i32 { method fmt (line 106) | fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { FILE: libs/proxy/tokio-postgres2/src/tls.rs type ForcePrivateApi (line 12) | pub struct ForcePrivateApi; type ChannelBinding (line 16) | pub struct ChannelBinding { method none (line 22) | pub fn none() -> ChannelBinding { method tls_server_end_point (line 29) | pub fn tls_server_end_point(tls_server_end_point: Vec) -> ChannelB... type MakeTlsConnect (line 39) | pub trait MakeTlsConnect { method make_tls_connect (line 50) | fn make_tls_connect(&self, domain: &str) -> Result { method connect (line 63) | fn connect(self, stream: S) -> Self::Future; method can_connect (line 66) | fn can_connect(&self, _: private::ForcePrivateApi) -> bool { type TlsStream (line 72) | pub trait TlsStream: AsyncRead + AsyncWrite { method channel_binding (line 74) | fn channel_binding(&self) -> ChannelBinding; method channel_binding (line 148) | fn channel_binding(&self) -> ChannelBinding { type NoTls (line 81) | pub struct NoTls; type Stream (line 84) | type Stream = NoTlsStream; type TlsConnect (line 85) | type TlsConnect = NoTls; type Error (line 86) | type Error = NoTlsError; method make_tls_connect (line 88) | fn make_tls_connect(&self, _: &str) -> Result { type Stream (line 94) | type Stream = NoTlsStream; type Error (line 95) | type Error = NoTlsError; type Future (line 96) | type Future = NoTlsFuture; method connect (line 98) | fn connect(self, _: S) -> NoTlsFuture { method can_connect (line 102) | fn can_connect(&self, _: private::ForcePrivateApi) -> bool { type NoTlsFuture (line 108) | pub struct NoTlsFuture(()); type Output (line 111) | type Output = Result; method poll (line 113) | fn poll(self: Pin<&mut Self>, _: &mut Context<'_>) -> Poll { type NoTlsStream (line 121) | pub enum NoTlsStream {} method poll_read (line 124) | fn poll_read( method poll_write (line 134) | fn poll_write(self: Pin<&mut Self>, _: &mut Context<'_>, _: &[u8]) -> Po... method poll_flush (line 138) | fn poll_flush(self: Pin<&mut Self>, _: &mut Context<'_>) -> Poll, _: &mut Context<'_>) -> Poll) -> fmt::Result { FILE: libs/proxy/tokio-postgres2/src/transaction.rs type Transaction (line 8) | pub struct Transaction<'a> { method drop (line 14) | fn drop(&mut self) { function new (line 24) | pub(crate) fn new(client: &'a mut Client) -> Transaction<'a> { function commit (line 32) | pub async fn commit(mut self) -> Result { function rollback (line 40) | pub async fn rollback(mut self) -> Result { function query_raw_txt (line 46) | pub async fn query_raw_txt( function cancel_token (line 60) | pub fn cancel_token(&self) -> CancelToken { function client (line 65) | pub fn client(&self) -> &Client { function client_mut (line 70) | pub fn client_mut(&mut self) -> &mut Client { FILE: libs/proxy/tokio-postgres2/src/transaction_builder.rs type IsolationLevel (line 6) | pub enum IsolationLevel { type TransactionBuilder (line 23) | pub struct TransactionBuilder<'a> { function new (line 31) | pub(crate) fn new(client: &'a mut Client) -> TransactionBuilder<'a> { function isolation_level (line 41) | pub fn isolation_level(mut self, isolation_level: IsolationLevel) -> Self { function read_only (line 47) | pub fn read_only(mut self, read_only: bool) -> Self { function deferrable (line 57) | pub fn deferrable(mut self, deferrable: bool) -> Self { function start (line 65) | pub async fn start(self) -> Result, Error> { FILE: libs/remote_storage/src/azure_blob.rs type AzureBlobStorage (line 51) | pub struct AzureBlobStorage { method new (line 68) | pub fn new( method reqwest_client (line 127) | fn reqwest_client(conn_pool_size: usize) -> Arc { method relative_path_to_name (line 135) | pub fn relative_path_to_name(&self, path: &RemotePath) -> String { method name_to_relative_path (line 150) | fn name_to_relative_path(&self, key: &str) -> RemotePath { method download_for_builder (line 168) | async fn download_for_builder( method list_streaming_for_fn (line 272) | fn list_streaming_for_fn( method permit (line 407) | async fn permit( method container_name (line 420) | pub fn container_name(&self) -> &str { method list_versions_with_permit (line 424) | async fn list_versions_with_permit( type ListingCollector (line 458) | trait ListingCollector { method add_prefixes (line 459) | fn add_prefixes(&mut self, abs: &AzureBlobStorage, prefix_it: impl Ite... method add_blob (line 460) | fn add_blob(&mut self, abs: &AzureBlobStorage, blob: &Blob); method add_prefixes (line 464) | fn add_prefixes( method add_blob (line 471) | fn add_blob(&mut self, abs: &AzureBlobStorage, blob: &Blob) { method add_prefixes (line 481) | fn add_prefixes( method add_blob (line 488) | fn add_blob(&mut self, abs: &AzureBlobStorage, blob: &Blob) { function to_azure_metadata (line 498) | fn to_azure_metadata(metadata: StorageMetadata) -> Metadata { function to_download_error (line 506) | fn to_download_error(error: azure_core::Error) -> DownloadError { method list_streaming (line 520) | fn list_streaming( method list_versions (line 532) | async fn list_versions( method head_object (line 545) | async fn head_object( method upload (line 587) | async fn upload( method download (line 748) | async fn download( method delete (line 782) | async fn delete(&self, path: &RemotePath, cancel: &CancellationToken) ->... method delete_objects (line 787) | async fn delete_objects( method max_keys_per_delete (line 867) | fn max_keys_per_delete(&self) -> usize { method copy (line 871) | async fn copy( method time_travel_recover (line 940) | async fn time_travel_recover( function new (line 1136) | fn new(inner: S, len: usize) -> NonSeekableStream { function fmt (line 1147) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function poll_read (line 1160) | fn poll_read( method clone (line 1188) | fn clone(&self) -> Self { function reset (line 1214) | async fn reset(&mut self) -> azure_core::error::Result<()> { function len (line 1237) | fn len(&self) -> usize { FILE: libs/remote_storage/src/config.rs type RemoteStorageConfig (line 17) | pub struct RemoteStorageConfig { method concurrency_limit (line 51) | pub fn concurrency_limit(&self) -> usize { constant DEFAULT_TIMEOUT (line 295) | pub const DEFAULT_TIMEOUT: Duration = std::time::Duration::from_secs(1... constant DEFAULT_SMALL_TIMEOUT (line 296) | pub const DEFAULT_SMALL_TIMEOUT: Duration = std::time::Duration::from_... method from_toml (line 298) | pub fn from_toml(toml: &toml_edit::Item) -> anyhow::Result anyhow::Result Duration { function default_small_timeout (line 65) | fn default_small_timeout() -> Duration { function is_default_timeout (line 69) | fn is_default_timeout(d: &Duration) -> bool { function is_default_small_timeout (line 73) | fn is_default_small_timeout(d: &Duration) -> bool { type RemoteStorageKind (line 80) | pub enum RemoteStorageKind { method bucket_name (line 39) | pub fn bucket_name(&self) -> Option<&str> { method from (line 106) | fn from(value: TypedRemoteStorageKind) -> Self { type TypedRemoteStorageKind (line 99) | pub enum TypedRemoteStorageKind { type S3Config (line 119) | pub struct S3Config { function default_remote_storage_s3_concurrency_limit (line 147) | fn default_remote_storage_s3_concurrency_limit() -> NonZeroUsize { function default_max_keys_per_list_response (line 153) | fn default_max_keys_per_list_response() -> Option { function default_azure_conn_pool_size (line 157) | fn default_azure_conn_pool_size() -> usize { method fmt (line 170) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type GCSConfig (line 185) | pub struct GCSConfig { method fmt (line 197) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type AzureConfig (line 212) | pub struct AzureConfig { function default_azure_put_block_size_mb (line 236) | fn default_azure_put_block_size_mb() -> Option { function default_remote_storage_azure_concurrency_limit (line 242) | fn default_remote_storage_azure_concurrency_limit() -> NonZeroUsize { method fmt (line 247) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function deserialize_storage_class (line 265) | fn deserialize_storage_class<'de, D: serde::Deserializer<'de>>( function serialize_storage_class (line 286) | fn serialize_storage_class( function parse (line 315) | fn parse(input: &str) -> anyhow::Result { function parse_localfs_config_with_timeout (line 320) | fn parse_localfs_config_with_timeout() { function test_gcs_parsing (line 339) | fn test_gcs_parsing() { function test_s3_parsing (line 363) | fn test_s3_parsing() { function test_storage_class_serde_roundtrip (line 392) | fn test_storage_class_serde_roundtrip() { function test_azure_parsing (line 417) | fn test_azure_parsing() { FILE: libs/remote_storage/src/error.rs type DownloadError (line 3) | pub enum DownloadError { method fmt (line 26) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method is_permanent (line 45) | pub fn is_permanent(&self) -> bool { method is_cancelled (line 53) | pub fn is_cancelled(&self) -> bool { method from (line 59) | fn from(value: std::io::Error) -> Self { method from (line 147) | fn from(_: Cancelled) -> Self { method from (line 203) | fn from(value: TimeoutOrCancel) -> Self { type TimeTravelError (line 79) | pub enum TimeTravelError { method fmt (line 94) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method from (line 135) | fn from(_: Cancelled) -> Self { type Cancelled (line 126) | pub(crate) struct Cancelled; function from (line 129) | fn from(_: Cancelled) -> Self { type TimeoutOrCancel (line 158) | pub enum TimeoutOrCancel { method from (line 141) | fn from(_: Cancelled) -> Self { method fmt (line 164) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method caused_by_cancel (line 177) | pub fn caused_by_cancel(error: &anyhow::Error) -> bool { method is_cancel (line 184) | pub fn is_cancel(&self) -> bool { method is_timeout (line 188) | pub fn is_timeout(&self) -> bool { function from (line 196) | fn from(value: TimeoutOrCancel) -> Self { FILE: libs/remote_storage/src/gcs_bucket.rs function to_system_time (line 41) | fn to_system_time(timestamp: Option) -> Option { type GCSBucket (line 48) | pub struct GCSBucket { method new (line 67) | pub async fn new(remote_storage_config: &GCSConfig, timeout: Duration)... method relative_path_to_gcs_object (line 107) | pub fn relative_path_to_gcs_object(&self, path: &RemotePath) -> String { method gcs_object_to_relative_path (line 116) | pub fn gcs_object_to_relative_path(&self, key: &str) -> RemotePath { method bucket_name (line 134) | pub fn bucket_name(&self) -> &str { method max_keys_per_delete (line 138) | fn max_keys_per_delete(&self) -> usize { method permit (line 142) | async fn permit( method owned_permit (line 163) | async fn owned_permit( method list_versions_with_permit (line 183) | async fn list_versions_with_permit( method put_object (line 318) | async fn put_object( method delete_oids (line 418) | async fn delete_oids( method head_object (line 588) | async fn head_object( method list_objects_v2 (line 673) | async fn list_objects_v2(&self, list_uri: String) -> anyhow::Result usize { method delete (line 1179) | async fn delete(&self, path: &RemotePath, cancel: &CancellationToken) ->... method time_travel_recover (line 1184) | async fn time_travel_recover( method head_object (line 1343) | async fn head_object( method list_versions (line 1370) | async fn list_versions( type GCSListResponse (line 1390) | pub struct GCSListResponse { method contents (line 1438) | pub fn contents(&self) -> &[GCSObject] { method common_prefixes (line 1441) | pub fn common_prefixes(&self) -> &[String] { function de_from_str (line 1397) | fn de_from_str<'de, D>(deserializer: D) -> Result, D::Error> type GCSObject (line 1410) | pub struct GCSObject { FILE: libs/remote_storage/src/lib.rs constant DEFAULT_REMOTE_STORAGE_S3_CONCURRENCY_LIMIT (line 60) | pub const DEFAULT_REMOTE_STORAGE_S3_CONCURRENCY_LIMIT: usize = 100; constant DEFAULT_REMOTE_STORAGE_AZURE_CONCURRENCY_LIMIT (line 65) | pub const DEFAULT_REMOTE_STORAGE_AZURE_CONCURRENCY_LIMIT: usize = 100; constant DEFAULT_REMOTE_STORAGE_LOCALFS_CONCURRENCY_LIMIT (line 71) | pub const DEFAULT_REMOTE_STORAGE_LOCALFS_CONCURRENCY_LIMIT: usize = 100; constant DEFAULT_MAX_KEYS_PER_LIST_RESPONSE (line 74) | pub const DEFAULT_MAX_KEYS_PER_LIST_RESPONSE: Option = None; constant MAX_KEYS_PER_DELETE_S3 (line 79) | pub const MAX_KEYS_PER_DELETE_S3: usize = 1000; constant MAX_KEYS_PER_DELETE_AZURE (line 84) | pub const MAX_KEYS_PER_DELETE_AZURE: usize = 256; constant MAX_KEYS_PER_DELETE_GCS (line 86) | pub const MAX_KEYS_PER_DELETE_GCS: usize = 1000; constant REMOTE_STORAGE_PREFIX_SEPARATOR (line 88) | const REMOTE_STORAGE_PREFIX_SEPARATOR: char = '/'; constant GCS_SCOPES (line 90) | const GCS_SCOPES: &[&str] = &["https://www.googleapis.com/auth/cloud-pla... type RemotePath (line 96) | pub struct RemotePath(Utf8PathBuf); method deserialize (line 108) | fn deserialize(deserializer: D) -> Result method fmt (line 118) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method new (line 124) | pub fn new(relative_path: &Utf8Path) -> anyhow::Result { method from_string (line 132) | pub fn from_string(relative_path: &str) -> anyhow::Result { method with_base (line 136) | pub fn with_base(&self, base_path: &Utf8Path) -> Utf8PathBuf { method object_name (line 140) | pub fn object_name(&self) -> Option<&str> { method join (line 144) | pub fn join(&self, path: impl AsRef) -> Self { method get_path (line 148) | pub fn get_path(&self) -> &Utf8PathBuf { method strip_prefix (line 152) | pub fn strip_prefix(&self, p: &RemotePath) -> Result<&Utf8Path, std::p... method add_trailing_slash (line 156) | pub fn add_trailing_slash(&self) -> Self { method serialize (line 99) | fn serialize(&self, serializer: S) -> Result type ListingMode (line 168) | pub enum ListingMode { type ListingObject (line 174) | pub struct ListingObject { type Listing (line 181) | pub struct Listing { type VersionListing (line 187) | pub struct VersionListing { method from (line 228) | fn from(gcs_listing: GCSVersionListing) -> Self { type Version (line 192) | pub struct Version { method version_id (line 199) | pub fn version_id(&self) -> Option<&VersionId> { type VersionKind (line 208) | pub enum VersionKind { type GCSVersionListing (line 215) | pub struct GCSVersionListing { type GCSVersion (line 220) | pub struct GCSVersion { type DownloadOpts (line 255) | pub struct DownloadOpts { method byte_range (line 295) | pub fn byte_range(&self) -> Option<(u64, Option)> { method byte_range_header (line 317) | pub fn byte_range_header(&self) -> Option { type DownloadKind (line 272) | pub enum DownloadKind { type VersionId (line 278) | pub struct VersionId(pub String); method default (line 281) | fn default() -> Self { type RemoteStorage (line 331) | pub trait RemoteStorage: Send + Sync + 'static { method list_streaming (line 354) | fn list_streaming( method list (line 362) | async fn list( method list_versions (line 379) | async fn list_versions( method head_object (line 388) | async fn head_object( method upload (line 398) | async fn upload( method download (line 416) | async fn download( method delete (line 427) | async fn delete(&self, path: &RemotePath, cancel: &CancellationToken) ... method delete_objects (line 434) | async fn delete_objects( method max_keys_per_delete (line 446) | fn max_keys_per_delete(&self) -> usize; method delete_prefix (line 456) | async fn delete_prefix( method copy (line 478) | async fn copy( method time_travel_recover (line 486) | async fn time_travel_recover( type DownloadStream (line 502) | pub type DownloadStream = type Download (line 505) | pub struct Download { method fmt (line 516) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type GenericRemoteStorage (line 527) | pub enum GenericRemoteStorage> { method from_storage_kind (line 744) | pub async fn from_storage_kind(kind: TypedRemoteStorageKind) -> anyhow... method from_config (line 753) | pub async fn from_config(storage_config: &RemoteStorageConfig) -> anyh... method unreliable_wrapper (line 817) | pub fn unreliable_wrapper(s: Self, fail_first: u64, fail_probability: ... method upload_storage_object (line 827) | pub async fn upload_storage_object( method bucket_name (line 842) | pub fn bucket_name(&self) -> Option<&str> { function list (line 537) | pub async fn list( function list_streaming (line 554) | pub fn list_streaming<'a>( function list_versions (line 572) | pub async fn list_versions<'a>( function head_object (line 589) | pub async fn head_object( function upload (line 604) | pub async fn upload( function download (line 622) | pub async fn download( function delete (line 638) | pub async fn delete( function delete_objects (line 653) | pub async fn delete_objects( function max_keys_per_delete (line 668) | pub fn max_keys_per_delete(&self) -> usize { function delete_prefix (line 679) | pub async fn delete_prefix( function copy_object (line 694) | pub async fn copy_object( function time_travel_recover (line 710) | pub async fn time_travel_recover( type StorageMetadata (line 856) | pub struct StorageMetadata(HashMap); method from (line 859) | fn from(arr: [(&str, &str); N]) -> Self { type ConcurrencyLimiter (line 868) | struct ConcurrencyLimiter { method for_kind (line 877) | fn for_kind(&self, kind: RequestKind) -> &Arc { method acquire (line 890) | async fn acquire( method acquire_owned (line 897) | async fn acquire_owned( method new (line 904) | fn new(limit: usize) -> ConcurrencyLimiter { function download_opts_byte_range (line 919) | fn download_opts_byte_range() { function download_opts_byte_range_zero (line 965) | fn download_opts_byte_range_zero() { function download_opts_byte_range_negative (line 977) | fn download_opts_byte_range_negative() { function test_object_name (line 987) | fn test_object_name() { function rempte_path_cannot_be_created_from_absolute_ones (line 1003) | fn rempte_path_cannot_be_created_from_absolute_ones() { FILE: libs/remote_storage/src/local_fs.rs constant LOCAL_FS_TEMP_FILE_SUFFIX (line 28) | const LOCAL_FS_TEMP_FILE_SUFFIX: &str = "___temp"; type LocalFs (line 31) | pub struct LocalFs { method new (line 39) | pub fn new(mut storage_root: Utf8PathBuf, timeout: Duration) -> anyhow... method local_file_to_relative_path (line 58) | fn local_file_to_relative_path(&self, key: Utf8PathBuf) -> RemotePath { method read_storage_metadata (line 65) | async fn read_storage_metadata( method list_all (line 88) | async fn list_all(&self) -> anyhow::Result> { method list_recursive (line 146) | async fn list_recursive(&self, folder: Option<&RemotePath>) -> anyhow:... method upload0 (line 215) | async fn upload0( method list_streaming (line 332) | fn list_streaming( method list (line 343) | async fn list( method list_versions (line 448) | async fn list_versions( method head_object (line 458) | async fn head_object( method upload (line 472) | async fn upload( method download (line 504) | async fn download( method delete (line 561) | async fn delete(&self, path: &RemotePath, _cancel: &CancellationToken) -... method delete_objects (line 573) | async fn delete_objects( method max_keys_per_delete (line 584) | fn max_keys_per_delete(&self) -> usize { method copy (line 588) | async fn copy( method time_travel_recover (line 603) | async fn time_travel_recover( function storage_metadata_path (line 615) | fn storage_metadata_path(original_path: &Utf8Path) -> Utf8PathBuf { function create_target_directory (line 619) | async fn create_target_directory(target_file_path: &Utf8Path) -> anyhow:... function file_metadata (line 630) | async fn file_metadata(file_path: &Utf8Path) -> Result Etag { function read_and_check_metadata (line 658) | async fn read_and_check_metadata( function upload_file (line 679) | async fn upload_file() -> anyhow::Result<()> { function upload_file_negatives (line 700) | async fn upload_file_negatives() -> anyhow::Result<()> { function create_storage (line 728) | fn create_storage() -> anyhow::Result<(LocalFs, CancellationToken)> { function download_file (line 734) | async fn download_file() -> anyhow::Result<()> { function download_file_range_positive (line 760) | async fn download_file_range_positive() -> anyhow::Result<()> { function download_file_range_negative (line 849) | async fn download_file_range_negative() { function delete_file (line 871) | async fn delete_file() -> anyhow::Result<()> { function file_with_metadata (line 888) | async fn file_with_metadata() -> anyhow::Result<()> { function list (line 936) | async fn list() -> anyhow::Result<()> { function list_part_component (line 1020) | async fn list_part_component() -> anyhow::Result<()> { function overwrite_shorter_file (line 1060) | async fn overwrite_shorter_file() -> anyhow::Result<()> { function cancelled_upload_can_later_be_retried (line 1102) | async fn cancelled_upload_can_later_be_retried() -> anyhow::Result<()> { function upload_dummy_file (line 1141) | async fn upload_dummy_file( function create_file_for_upload (line 1173) | async fn create_file_for_upload( function dummy_contents (line 1191) | fn dummy_contents(name: &str) -> String { function list_files_sorted (line 1195) | async fn list_files_sorted(storage: &LocalFs) -> anyhow::Result &'static str { method as_index (line 36) | const fn as_index(&self) -> usize { constant REQUEST_KIND_LIST (line 41) | const REQUEST_KIND_LIST: &[RequestKind] = constant REQUEST_KIND_COUNT (line 44) | const REQUEST_KIND_COUNT: usize = REQUEST_KIND_LIST.len(); type RequestTyped (line 45) | pub(crate) struct RequestTyped([C; REQUEST_KIND_COUNT]); function get (line 48) | pub(crate) fn get(&self, kind: RequestKind) -> &C { function build_with (line 52) | fn build_with(mut f: impl FnMut(RequestKind) -> C) -> Self { function observe_elapsed (line 69) | pub(crate) fn observe_elapsed(&self, kind: RequestKind, started_at: std:... type PassFailCancelledRequestTyped (line 74) | pub(crate) struct PassFailCancelledRequestTyped { type AttemptOutcome (line 81) | pub(crate) enum AttemptOutcome { method from (line 88) | fn from(value: &Result) -> Self { method as_str (line 97) | pub(crate) fn as_str(&self) -> &'static str { function get (line 107) | pub(crate) fn get(&self, kind: RequestKind, outcome: AttemptOutcome) -> ... function build_with (line 116) | fn build_with(mut f: impl FnMut(RequestKind, AttemptOutcome) -> C) -> Se... function observe_elapsed (line 130) | pub(crate) fn observe_elapsed( function start_counting_cancelled_wait (line 142) | pub(crate) fn start_counting_cancelled_wait( function start_measuring_requests (line 154) | pub(crate) fn start_measuring_requests( type BucketMetrics (line 166) | pub(crate) struct BucketMetrics { method default (line 182) | fn default() -> Self { FILE: libs/remote_storage/src/s3_bucket.rs type S3Bucket (line 52) | pub struct S3Bucket { method new (line 72) | pub async fn new(remote_storage_config: &S3Config, timeout: Duration) ... method s3_object_to_relative_path (line 170) | fn s3_object_to_relative_path(&self, key: &str) -> RemotePath { method relative_path_to_s3_object (line 188) | pub fn relative_path_to_s3_object(&self, path: &RemotePath) -> String { method permit (line 197) | async fn permit( method owned_permit (line 218) | async fn owned_permit( method download_object (line 238) | async fn download_object( method delete_oids (line 344) | async fn delete_oids( method list_versions_with_permit (line 409) | async fn list_versions_with_permit( method bucket_name (line 527) | pub fn bucket_name(&self) -> &str { type GetObjectRequest (line 63) | struct GetObjectRequest { method from (line 540) | fn from(inner: aws_smithy_types::byte_stream::ByteStream) -> Self { type Item (line 546) | type Item = std::io::Result; method poll_next (line 548) | fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll Self { type Item (line 584) | type Item = ::Item; method poll_next (line 586) | fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll (usize, Option) { method list_streaming (line 607) | fn list_streaming( method list_versions (line 750) | async fn list_versions( method head_object (line 763) | async fn head_object( method upload (line 835) | async fn upload( method copy (line 884) | async fn copy( method download (line 929) | async fn download( method delete_objects (line 950) | async fn delete_objects( method max_keys_per_delete (line 969) | fn max_keys_per_delete(&self) -> usize { method delete (line 973) | async fn delete(&self, path: &RemotePath, cancel: &CancellationToken) ->... method time_travel_recover (line 978) | async fn time_travel_recover( function relative_path (line 1144) | async fn relative_path() { FILE: libs/remote_storage/src/simulate_failures.rs type UnreliableWrapper (line 22) | pub struct UnreliableWrapper { method new (line 52) | pub fn new( method attempt (line 83) | fn attempt(&self, op: RemoteOp) -> anyhow::Result { method delete_inner (line 117) | async fn delete_inner( type RemoteOp (line 41) | enum RemoteOp { type VoidStorage (line 131) | type VoidStorage = crate::LocalFs; method list_streaming (line 134) | fn list_streaming( method list (line 151) | async fn list( method list_versions (line 163) | async fn list_versions( method head_object (line 177) | async fn head_object( method upload (line 187) | async fn upload( method download (line 203) | async fn download( method delete (line 216) | async fn delete(&self, path: &RemotePath, cancel: &CancellationToken) ->... method delete_objects (line 220) | async fn delete_objects( method max_keys_per_delete (line 242) | fn max_keys_per_delete(&self) -> usize { method copy (line 246) | async fn copy( method time_travel_recover (line 258) | async fn time_travel_recover( FILE: libs/remote_storage/src/support.rs function new (line 22) | pub(crate) fn new(permit: tokio::sync::OwnedSemaphorePermit, inner: S) -... type Item (line 28) | type Item = ::Item; method poll_next (line 30) | fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll (usize, Option) { function new (line 50) | pub(crate) fn new(cancellation: F, inner: S) -> Self { type Item (line 66) | type Item = ::Item; method poll_next (line 68) | fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll (usize, Option) { function cancel_or_timeout (line 94) | pub(crate) fn cancel_or_timeout( function cancelled_download_stream (line 121) | async fn cancelled_download_stream() { function timeouted_download_stream (line 157) | async fn timeouted_download_stream() { function notified_but_pollable_after (line 189) | async fn notified_but_pollable_after() { FILE: libs/remote_storage/tests/common/mod.rs function upload_stream (line 18) | pub(crate) fn upload_stream( function wrap_stream (line 33) | pub(crate) fn wrap_stream( function download_to_vec (line 45) | pub(crate) async fn download_to_vec(dl: Download) -> anyhow::Result anyh... function delete_objects_works (line 363) | async fn delete_objects_works(ctx: &mut MaybeEnabledStorage) -> anyhow::... function delete_prefix (line 408) | async fn delete_prefix(ctx: &mut MaybeEnabledStorageWithSimpleTestBlobs)... function upload_download_works (line 480) | async fn upload_download_works(ctx: &mut MaybeEnabledStorage) -> anyhow:... function download_conditional (line 595) | async fn download_conditional(ctx: &mut MaybeEnabledStorage) -> anyhow::... function copy_works (line 641) | async fn copy_works(ctx: &mut MaybeEnabledStorage) -> anyhow::Result<()> { function head_object (line 685) | async fn head_object(ctx: &mut MaybeEnabledStorage) -> anyhow::Result<()> { FILE: libs/remote_storage/tests/test_real_azure.rs constant ENABLE_REAL_AZURE_REMOTE_STORAGE_ENV_VAR_NAME (line 22) | const ENABLE_REAL_AZURE_REMOTE_STORAGE_ENV_VAR_NAME: &str = "ENABLE_REAL... constant BASE_PREFIX (line 24) | const BASE_PREFIX: &str = "test"; type EnabledAzure (line 26) | struct EnabledAzure { method setup (line 32) | async fn setup(max_keys_in_list_response: Option) -> Self { method configure_request_timeout (line 45) | fn configure_request_timeout(&mut self, timeout: Duration) { type MaybeEnabledStorage (line 56) | enum MaybeEnabledStorage { method setup (line 62) | async fn setup() -> Self { type MaybeEnabledStorageWithTestBlobs (line 77) | enum MaybeEnabledStorageWithTestBlobs { type AzureWithTestBlobs (line 83) | struct AzureWithTestBlobs { method setup (line 90) | async fn setup() -> Self { method teardown (line 126) | async fn teardown(self) { type MaybeEnabledStorageWithSimpleTestBlobs (line 136) | enum MaybeEnabledStorageWithSimpleTestBlobs { type AzureWithSimpleTestBlobs (line 141) | struct AzureWithSimpleTestBlobs { method setup (line 147) | async fn setup() -> Self { method teardown (line 181) | async fn teardown(self) { function create_azure_client (line 191) | async fn create_azure_client( FILE: libs/remote_storage/tests/test_real_gcs.rs constant BASE_PREFIX (line 31) | const BASE_PREFIX: &str = "test"; function create_gcs_client (line 33) | async fn create_gcs_client() -> anyhow::Result> { type EnabledGCS (line 54) | struct EnabledGCS { method setup (line 60) | async fn setup() -> Self { method setup (line 73) | async fn setup() -> Self { function gcs_get_object_bytes_range_header (line 80) | async fn gcs_get_object_bytes_range_header(ctx: &mut EnabledGCS) -> anyh... function gcs_test_suite (line 102) | async fn gcs_test_suite(ctx: &mut EnabledGCS) -> anyhow::Result<()> { FILE: libs/remote_storage/tests/test_real_s3.rs constant ENABLE_REAL_S3_REMOTE_STORAGE_ENV_VAR_NAME (line 32) | const ENABLE_REAL_S3_REMOTE_STORAGE_ENV_VAR_NAME: &str = "ENABLE_REAL_S3... constant BASE_PREFIX (line 33) | const BASE_PREFIX: &str = "test"; function s3_time_travel_recovery_works (line 37) | async fn s3_time_travel_recovery_works(ctx: &mut MaybeEnabledStorage) ->... type EnabledS3 (line 206) | struct EnabledS3 { method setup (line 212) | async fn setup(max_keys_in_list_response: Option) -> Self { method configure_request_timeout (line 224) | fn configure_request_timeout(&mut self, timeout: Duration) { type MaybeEnabledStorage (line 235) | enum MaybeEnabledStorage { method setup (line 241) | async fn setup() -> Self { type MaybeEnabledStorageWithTestBlobs (line 256) | enum MaybeEnabledStorageWithTestBlobs { type S3WithTestBlobs (line 262) | struct S3WithTestBlobs { method setup (line 269) | async fn setup() -> Self { method teardown (line 305) | async fn teardown(self) { type MaybeEnabledStorageWithSimpleTestBlobs (line 315) | enum MaybeEnabledStorageWithSimpleTestBlobs { type S3WithSimpleTestBlobs (line 320) | struct S3WithSimpleTestBlobs { method setup (line 326) | async fn setup() -> Self { method teardown (line 360) | async fn teardown(self) { function create_s3_client (line 370) | async fn create_s3_client( function download_is_timeouted (line 412) | async fn download_is_timeouted(ctx: &mut MaybeEnabledStorage) { function download_is_cancelled (line 491) | async fn download_is_cancelled(ctx: &mut MaybeEnabledStorage) { function upload_large_enough_file (line 554) | async fn upload_large_enough_file( FILE: libs/safekeeper_api/src/lib.rs type Term (line 14) | pub type Term = u64; constant INITIAL_TERM (line 17) | pub const INITIAL_TERM: Term = 0; type ServerInfo (line 23) | pub struct ServerInfo { constant DEFAULT_PG_LISTEN_PORT (line 30) | pub const DEFAULT_PG_LISTEN_PORT: u16 = 5454; constant DEFAULT_PG_LISTEN_ADDR (line 31) | pub const DEFAULT_PG_LISTEN_ADDR: &str = formatcp!("127.0.0.1:{DEFAULT_P... constant DEFAULT_HTTP_LISTEN_PORT (line 33) | pub const DEFAULT_HTTP_LISTEN_PORT: u16 = 7676; constant DEFAULT_HTTP_LISTEN_ADDR (line 34) | pub const DEFAULT_HTTP_LISTEN_ADDR: &str = formatcp!("127.0.0.1:{DEFAULT... FILE: libs/safekeeper_api/src/membership.rs constant INVALID_GENERATION (line 15) | pub const INVALID_GENERATION: SafekeeperGeneration = SafekeeperGeneratio... constant INITIAL_GENERATION (line 16) | pub const INITIAL_GENERATION: SafekeeperGeneration = SafekeeperGeneratio... type SafekeeperGeneration (line 23) | pub struct SafekeeperGeneration(u32); method new (line 26) | pub const fn new(v: u32) -> Self { method previous (line 31) | pub fn previous(&self) -> Option { method next (line 36) | pub fn next(&self) -> Self { method into_inner (line 40) | pub fn into_inner(self) -> u32 { method fmt (line 46) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type SafekeeperId (line 54) | pub struct SafekeeperId { method fmt (line 63) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type MemberSet (line 71) | pub struct MemberSet { method empty (line 76) | pub fn empty() -> Self { method new (line 80) | pub fn new(members: Vec) -> anyhow::Result { method contains (line 88) | pub fn contains(&self, sk: NodeId) -> bool { method add (line 92) | pub fn add(&mut self, sk: SafekeeperId) -> anyhow::Result<()> { method fmt (line 106) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type Configuration (line 115) | pub struct Configuration { method empty (line 126) | pub fn empty() -> Self { method new (line 134) | pub fn new(members: MemberSet) -> Self { method contains (line 143) | pub fn contains(&self, sk_id: NodeId) -> bool { method fmt (line 149) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function test_member_set (line 170) | fn test_member_set() { FILE: libs/safekeeper_api/src/models.rs type SafekeeperStatus (line 18) | pub struct SafekeeperStatus { type TimelineCreateRequest (line 23) | pub struct TimelineCreateRequest { type TermSwitchApiEntry (line 41) | pub struct TermSwitchApiEntry { type AcceptorStateStatus (line 48) | pub struct AcceptorStateStatus { type PeerInfo (line 57) | pub struct PeerInfo { type FullTransactionId (line 77) | pub type FullTransactionId = u64; type HotStandbyFeedback (line 81) | pub struct HotStandbyFeedback { method empty (line 90) | pub fn empty() -> HotStandbyFeedback { constant INVALID_FULL_TRANSACTION_ID (line 87) | pub const INVALID_FULL_TRANSACTION_ID: FullTransactionId = 0; type StandbyReply (line 101) | pub struct StandbyReply { method empty (line 110) | pub fn empty() -> Self { type StandbyFeedback (line 122) | pub struct StandbyFeedback { method empty (line 128) | pub fn empty() -> Self { type ReplicationFeedback (line 140) | pub enum ReplicationFeedback { type ConnectionId (line 147) | pub type ConnectionId = u32; type WalSenderState (line 151) | pub enum WalSenderState { type VanillaWalSenderState (line 157) | pub struct VanillaWalSenderState { type InterpretedWalSenderState (line 167) | pub struct InterpretedWalSenderState { type WalReceiverState (line 178) | pub struct WalReceiverState { type WalReceiverStatus (line 187) | pub enum WalReceiverStatus { type TimelineStatus (line 194) | pub struct TimelineStatus { type TimelineMembershipSwitchRequest (line 215) | pub struct TimelineMembershipSwitchRequest { type TimelineMembershipSwitchResponse (line 221) | pub struct TimelineMembershipSwitchResponse { type TimelineDeleteResult (line 229) | pub struct TimelineDeleteResult { type TenantDeleteResult (line 233) | pub type TenantDeleteResult = std::collections::HashMap Lsn { type SkTimelineInfo (line 241) | pub struct SkTimelineInfo { type TimelineCopyRequest (line 275) | pub struct TimelineCopyRequest { type TimelineTermBumpRequest (line 281) | pub struct TimelineTermBumpRequest { type TimelineTermBumpResponse (line 287) | pub struct TimelineTermBumpResponse { type SafekeeperUtilization (line 294) | pub struct SafekeeperUtilization { type PullTimelineRequest (line 300) | pub struct PullTimelineRequest { type PullTimelineResponse (line 313) | pub struct PullTimelineResponse { type TimelineLocateResponse (line 323) | pub struct TimelineLocateResponse { FILE: libs/tenant_size_model/src/calculation.rs type SegmentSize (line 26) | struct SegmentSize { type SizeAlternatives (line 36) | struct SizeAlternatives { method calculate (line 45) | pub fn calculate(&self) -> SizeResult { method fill_selected_sizes (line 87) | fn fill_selected_sizes(selected: &SegmentSize, result: &mut Vec>) -> Size... FILE: libs/tenant_size_model/src/lib.rs type StorageModel (line 22) | pub struct StorageModel { type Segment (line 36) | pub struct Segment { type SizeResult (line 51) | pub struct SizeResult { type SegmentSizeResult (line 61) | pub struct SegmentSizeResult { type SegmentMethod (line 69) | pub enum SegmentMethod { FILE: libs/tenant_size_model/src/svg.rs constant SVG_WIDTH (line 4) | const SVG_WIDTH: f32 = 500.0; type SvgBranchKind (line 8) | pub enum SvgBranchKind { type SvgDraw (line 13) | struct SvgDraw<'a> { function draw_legend (line 25) | fn draw_legend(result: &mut String) -> anyhow::Result<()> { function draw_svg (line 60) | pub fn draw_svg( function calculate_svg_layout (line 104) | fn calculate_svg_layout(&mut self) { function draw_seg_phase1 (line 140) | fn draw_seg_phase1(&self, seg_id: usize, result: &mut String) -> anyhow:... function draw_seg_phase2 (line 188) | fn draw_seg_phase2(&self, seg_id: usize, result: &mut String) -> anyhow:... FILE: libs/tenant_size_model/tests/tests.rs type ScenarioBuilder (line 7) | struct ScenarioBuilder { method new (line 16) | pub fn new(initial_branch: &str) -> ScenarioBuilder { method modify_branch (line 31) | pub fn modify_branch(&mut self, branch: &str, lsn_bytes: u64, size_byt... method insert (line 47) | pub fn insert(&mut self, branch: &str, bytes: u64) { method update (line 51) | pub fn update(&mut self, branch: &str, bytes: u64) { method _delete (line 55) | pub fn _delete(&mut self, branch: &str, bytes: u64) { method branch (line 60) | pub fn branch(&mut self, parent: &str, name: &str) { method calculate (line 72) | pub fn calculate(&mut self, retention_period: u64) -> (StorageModel, S... function scenario_1 (line 103) | fn scenario_1() { function scenario_2 (line 126) | fn scenario_2() { function scenario_3 (line 165) | fn scenario_3() { function scenario_4 (line 210) | fn scenario_4() { function scenario_5 (line 262) | fn scenario_5() { function scenario_6 (line 278) | fn scenario_6() { FILE: libs/tracing-utils/src/http.rs type OtelName (line 10) | pub enum OtelName<'a> { function tracing_handler (line 38) | pub async fn tracing_handler( function extract_remote_context (line 82) | fn extract_remote_context(headers: &HeaderMap) -> opentelemetry::Context { FILE: libs/tracing-utils/src/lib.rs type Provider (line 44) | pub type Provider = SdkTracerProvider; function init_tracing (line 70) | pub fn init_tracing(service_name: &str, export_config: ExportConfig) -> ... function layer (line 80) | pub fn layer(p: &Provider) -> impl Layer function init_tracing_internal (line 87) | fn init_tracing_internal(service_name: String, export_config: ExportConf... type OtelEnablement (line 116) | pub enum OtelEnablement { type OtelGuard (line 124) | pub struct OtelGuard { method drop (line 130) | fn drop(&mut self) { function init_performance_tracing (line 143) | pub fn init_performance_tracing(otel_enablement: OtelEnablement) -> Opti... FILE: libs/tracing-utils/src/perf_span.rs type PerfSpan (line 34) | pub struct PerfSpan { method new (line 45) | pub fn new(span: Span, dispatch: Dispatch) -> Self { method enter (line 52) | pub fn enter(&self) -> PerfSpanEntered<'_> { method inner (line 60) | pub fn inner(&self) -> &Span { type PerfSpanEntered (line 40) | pub struct PerfSpanEntered<'a> { method drop (line 66) | fn drop(&mut self) { method drop (line 77) | fn drop(&mut self) { type PerfInstrument (line 85) | pub trait PerfInstrument: Sized { method instrument (line 86) | fn instrument(self, span: PerfSpan) -> PerfInstrumented { function span_and_inner_pin_mut (line 125) | fn span_and_inner_pin_mut(self) -> (&'a mut PerfSpan, Pin<&'a mut T>) { type Output (line 135) | type Output = T::Output; method poll (line 137) | fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { FILE: libs/utils/benches/benchmarks.rs function bench_id_stringify (line 17) | pub fn bench_id_stringify(c: &mut Criterion) { function bench_log_slow (line 32) | pub fn bench_log_slow(c: &mut Criterion) { FILE: libs/utils/src/auth.rs constant STORAGE_TOKEN_ALGORITHM (line 21) | const STORAGE_TOKEN_ALGORITHM: Algorithm = Algorithm::EdDSA; type Scope (line 25) | pub enum Scope { function deserialize_empty_string_as_none_uuid (line 60) | fn deserialize_empty_string_as_none_uuid<'de, D>(deserializer: D) -> Res... type Claims (line 76) | pub struct Claims { method new (line 91) | pub fn new(tenant_id: Option, scope: Scope) -> Self { type SwappableJwtAuth (line 100) | pub struct SwappableJwtAuth(ArcSwap); method new (line 103) | pub fn new(jwt_auth: JwtAuth) -> Self { method swap (line 106) | pub fn swap(&self, jwt_auth: JwtAuth) { method decode (line 109) | pub fn decode( method fmt (line 118) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type AuthError (line 124) | pub struct AuthError(pub Cow<'static, str>); method fmt (line 127) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type JwtAuth (line 132) | pub struct JwtAuth { method new (line 138) | pub fn new(decoding_keys: Vec) -> Self { method from_key_path (line 150) | pub fn from_key_path(key_path: &Utf8Path) -> Result { method from_key (line 178) | pub fn from_key(key: String) -> Result { method decode (line 187) | pub fn decode( method fmt (line 207) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function encode_from_key_file (line 215) | pub fn encode_from_key_file(claims: &S, pem: &Pem) -> Resu... constant TEST_PUB_KEY_ED25519 (line 230) | const TEST_PUB_KEY_ED25519: &str = r#" constant TEST_PRIV_KEY_ED25519 (line 236) | const TEST_PRIV_KEY_ED25519: &str = r#" function test_decode (line 243) | fn test_decode() { function test_encode (line 272) | fn test_encode() { FILE: libs/utils/src/backoff.rs constant DEFAULT_BASE_BACKOFF_SECONDS (line 7) | pub const DEFAULT_BASE_BACKOFF_SECONDS: f64 = 0.1; constant DEFAULT_MAX_BACKOFF_SECONDS (line 8) | pub const DEFAULT_MAX_BACKOFF_SECONDS: f64 = 3.0; function exponential_backoff (line 10) | pub async fn exponential_backoff( function exponential_backoff_duration (line 33) | pub fn exponential_backoff_duration(n: u32, base_increment: f64, max_sec... function exponential_backoff_duration_seconds (line 38) | pub fn exponential_backoff_duration_seconds(n: u32, base_increment: f64,... function retry (line 60) | pub async fn retry( function backoff_defaults_produce_growing_backoff_sequence (line 131) | fn backoff_defaults_produce_growing_backoff_sequence() { function retry_always_error (line 157) | async fn retry_always_error() { function retry_ok_after_err (line 178) | async fn retry_ok_after_err() { function dont_retry_permanent_errors (line 202) | async fn dont_retry_permanent_errors() { FILE: libs/utils/src/bin_ser.rs type DeserializeError (line 28) | pub enum DeserializeError { method from (line 38) | fn from(e: bincode::Error) -> Self { type SerializeError (line 51) | pub enum SerializeError { method from (line 61) | fn from(e: bincode::Error) -> Self { function be_coder (line 77) | pub fn be_coder() -> impl Options { function le_coder (line 91) | pub fn le_coder() -> impl Options { type BeSer (line 99) | pub trait BeSer { method ser_into_slice (line 101) | fn ser_into_slice(&self, mut b: &mut [u8]) -> Result<(), SerializeError> method ser_into (line 115) | fn ser_into(&self, w: &mut W) -> Result<(), SerializeError> method ser (line 123) | fn ser(&self) -> Result, SerializeError> method des (line 133) | fn des(buf: &[u8]) -> Result method des_prefix (line 148) | fn des_prefix(buf: &[u8]) -> Result method des_from (line 159) | fn des_from(r: &mut R) -> Result method serialized_size (line 170) | fn serialized_size(&self) -> Result type LeSer (line 180) | pub trait LeSer { method ser_into_slice (line 182) | fn ser_into_slice(&self, mut b: &mut [u8]) -> Result<(), SerializeError> method ser_into (line 196) | fn ser_into(&self, w: &mut W) -> Result<(), SerializeError> method ser (line 204) | fn ser(&self) -> Result, SerializeError> method des (line 214) | fn des(buf: &[u8]) -> Result method des_prefix (line 229) | fn des_prefix(buf: &[u8]) -> Result method des_from (line 240) | fn des_from(r: &mut R) -> Result method serialized_size (line 251) | fn serialized_size(&self) -> Result type ShortStruct (line 273) | pub struct ShortStruct { constant SHORT1 (line 278) | const SHORT1: ShortStruct = ShortStruct { a: 7, b: 65536 }; constant SHORT1_ENC_BE (line 279) | const SHORT1_ENC_BE: &[u8] = &[7, 0, 1, 0, 0]; constant SHORT1_ENC_BE_TRAILING (line 280) | const SHORT1_ENC_BE_TRAILING: &[u8] = &[7, 0, 1, 0, 0, 255, 255, 255]; constant SHORT1_ENC_LE (line 281) | const SHORT1_ENC_LE: &[u8] = &[7, 0, 0, 1, 0]; constant SHORT1_ENC_LE_TRAILING (line 282) | const SHORT1_ENC_LE_TRAILING: &[u8] = &[7, 0, 0, 1, 0, 255, 255, 255]; constant SHORT2 (line 284) | const SHORT2: ShortStruct = ShortStruct { constant SHORT2_ENC_BE (line 288) | const SHORT2_ENC_BE: &[u8] = &[8, 7, 3, 0, 0]; constant SHORT2_ENC_BE_TRAILING (line 289) | const SHORT2_ENC_BE_TRAILING: &[u8] = &[8, 7, 3, 0, 0, 0xff, 0xff, 0xff]; constant SHORT2_ENC_LE (line 290) | const SHORT2_ENC_LE: &[u8] = &[8, 0, 0, 3, 7]; constant SHORT2_ENC_LE_TRAILING (line 291) | const SHORT2_ENC_LE_TRAILING: &[u8] = &[8, 0, 0, 3, 7, 0xff, 0xff, 0xff]; type NewTypeStruct (line 294) | struct NewTypeStruct(u32); constant NT1 (line 295) | const NT1: NewTypeStruct = NewTypeStruct(414243); constant NT1_INNER (line 296) | const NT1_INNER: u32 = 414243; type LongMsg (line 299) | pub struct LongMsg { constant LONG1 (line 308) | const LONG1: LongMsg = LongMsg { function be_short (line 318) | fn be_short() { function le_short (line 352) | fn le_short() { function be_long (line 386) | fn be_long() { function le_long (line 404) | fn le_long() { function be_nt (line 423) | fn be_nt() { function le_nt (line 442) | fn le_nt() { FILE: libs/utils/src/circuit_breaker.rs type CircuitBreaker (line 11) | pub struct CircuitBreaker { method new (line 34) | pub fn new(name: String, fail_threshold: usize, reset_period: Option Self { method fail (line 57) | pub fn fail(&mut self, metric: &IntCounter, error: E) method success (line 72) | pub fn success(&mut self, metric: &IntCounter) { method is_broken (line 83) | pub fn is_broken(&mut self) -> bool { method break_circuit (line 101) | fn break_circuit(&mut self, metric: &IntCounter, error: E) method reset_circuit (line 110) | fn reset_circuit(&mut self) { FILE: libs/utils/src/completion.rs type Completion (line 8) | pub struct Completion { method fmt (line 13) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method blocks (line 22) | pub fn blocks(&self, barrier: &Barrier) -> bool { method barrier (line 26) | pub fn barrier(&self) -> Barrier { type Barrier (line 33) | pub struct Barrier(TaskTracker); method fmt (line 36) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method wait (line 51) | pub async fn wait(self) { method maybe_wait (line 55) | pub async fn maybe_wait(barrier: Option) { method is_ready (line 62) | pub fn is_ready(&self) -> bool { method default (line 44) | fn default() -> Self { method eq (line 68) | fn eq(&self, other: &Self) -> bool { function channel (line 76) | pub fn channel() -> (Completion, Barrier) { FILE: libs/utils/src/crashsafe.rs function create_dir (line 10) | pub fn create_dir(path: impl AsRef) -> io::Result<()> { function create_dir_all (line 20) | pub fn create_dir_all(path: impl AsRef) -> io::Result<()> { function path_with_suffix_extension (line 72) | pub fn path_with_suffix_extension( function fsync_file_and_parent (line 83) | pub fn fsync_file_and_parent(file_path: &Utf8Path) -> io::Result<()> { function fsync (line 93) | pub fn fsync(path: &Utf8Path) -> io::Result<()> { function fsync_async (line 107) | pub async fn fsync_async(path: impl AsRef) -> Result<(), std::... function fsync_async_opt (line 111) | pub async fn fsync_async_opt( function durable_rename (line 148) | pub async fn durable_rename( function overwrite (line 180) | pub fn overwrite( function syncfs (line 213) | pub fn syncfs(fd: impl AsFd) -> anyhow::Result<()> { function test_create_dir_fsyncd (line 238) | fn test_create_dir_fsyncd() { function test_create_dir_all_fsyncd (line 254) | fn test_create_dir_all_fsyncd() { function test_path_with_suffix_extension (line 281) | fn test_path_with_suffix_extension() { FILE: libs/utils/src/elapsed_accum.rs type ElapsedAccum (line 4) | pub struct ElapsedAccum { method get (line 9) | pub fn get(&self) -> Duration { method guard (line 12) | pub fn guard(&mut self) -> impl Drop + '_ { method measure (line 19) | pub async fn measure(&mut self, fut: Fut) -> O FILE: libs/utils/src/env.rs function var (line 7) | pub fn var(varname: &str) -> Option function var_serde_json_string (line 28) | pub fn var_serde_json_string(varname: &str) -> Option type DeploymentMode (line 49) | pub enum DeploymentMode { function get_deployment_mode (line 56) | pub fn get_deployment_mode() -> Option { function is_dev_or_staging (line 74) | pub fn is_dev_or_staging() -> bool { type TestingMode (line 81) | pub enum TestingMode { function get_test_mode (line 86) | pub fn get_test_mode() -> Option { function is_chaos_testing (line 103) | pub fn is_chaos_testing() -> bool { FILE: libs/utils/src/error.rs function report_compact_sources (line 34) | pub fn report_compact_sources(e: &E) -> impl std::... function report_compact_sources_examples (line 70) | fn report_compact_sources_examples() { FILE: libs/utils/src/failpoint_support.rs function failpoint_sleep_helper (line 105) | pub async fn failpoint_sleep_helper(name: &'static str, duration_str: St... function failpoint_sleep_cancellable_helper (line 117) | pub async fn failpoint_sleep_cancellable_helper( function init (line 133) | pub fn init() -> fail::FailScenario<'static> { function apply_failpoint (line 173) | pub fn apply_failpoint(name: &str, actions: &str) -> Result<(), String> { function exit_failpoint (line 182) | fn exit_failpoint() { FILE: libs/utils/src/fs_ext.rs type PathExt (line 11) | pub trait PathExt { method is_empty_dir (line 13) | fn is_empty_dir(&self) -> io::Result; method is_empty_dir (line 20) | fn is_empty_dir(&self) -> io::Result { function is_directory_empty (line 25) | pub async fn is_directory_empty(path: impl AsRef) -> anyhow::Resul... function list_dir (line 32) | pub async fn list_dir(path: impl AsRef) -> anyhow::Result io::Result<()> { function ignore_absent_files (line 54) | pub fn ignore_absent_files(fs_operation: F) -> io::Result<()> function is_empty_dir (line 67) | fn is_empty_dir() { function is_empty_dir_async (line 91) | async fn is_empty_dir_async() { function ignore_absent_files_works (line 113) | fn ignore_absent_files_works() { function list_dir_works (line 129) | async fn list_dir_works() { FILE: libs/utils/src/fs_ext/rename_noreplace.rs function rename_noreplace (line 6) | pub fn rename_noreplace( function testdir (line 46) | fn testdir() -> camino_tempfile::Utf8TempDir { function test_absolute_paths (line 57) | fn test_absolute_paths() { function test_relative_paths (line 77) | fn test_relative_paths() { function test_works_when_not_exists (line 95) | fn test_works_when_not_exists() { FILE: libs/utils/src/generation.rs type Generation (line 11) | pub enum Generation { constant MAX (line 28) | pub const MAX: Self = Self::Valid(u32::MAX); method none (line 32) | pub fn none() -> Self { method new (line 36) | pub const fn new(v: u32) -> Self { method is_none (line 40) | pub fn is_none(&self) -> bool { method get_suffix (line 45) | pub fn get_suffix(&self) -> impl std::fmt::Display { method parse_suffix (line 55) | pub fn parse_suffix(suffix: &str) -> Option { method previous (line 60) | pub fn previous(&self) -> Generation { method next (line 76) | pub fn next(&self) -> Generation { method into (line 83) | pub fn into(self) -> Option { method deserialize (line 123) | fn deserialize(deserializer: D) -> Result type GenerationFileSuffix (line 92) | struct GenerationFileSuffix(Option); method fmt (line 95) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method serialize (line 105) | fn serialize(&self, serializer: S) -> Result method fmt (line 135) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function generation_gt (line 152) | fn generation_gt() { function suffix_is_stable (line 160) | fn suffix_is_stable() { FILE: libs/utils/src/guard_arc_swap.rs type GuardArcSwap (line 9) | pub struct GuardArcSwap { type Guard (line 14) | pub struct Guard<'a, T> { function new (line 20) | pub fn new(inner: T) -> Self { function read (line 27) | pub fn read(&self) -> Arc { function write_guard (line 31) | pub async fn write_guard(&self) -> Guard<'_, T> { function try_write_guard (line 38) | pub fn try_write_guard(&self) -> Result, TryLockError> { function read (line 48) | pub fn read(&self) -> Arc { function write (line 52) | pub fn write(&mut self, value: T) { FILE: libs/utils/src/hex.rs type Hex (line 22) | pub struct Hex(pub S); function fmt (line 25) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function eq (line 44) | fn eq(&self, other: &Hex) -> bool { FILE: libs/utils/src/id.rs type IdError (line 13) | pub enum IdError { type Id (line 24) | struct Id([u8; 16]); method deserialize (line 40) | fn deserialize(deserializer: D) -> Result method from_slice (line 92) | pub fn from_slice(src: &[u8]) -> Result { method as_arr (line 101) | pub fn as_arr(&self) -> [u8; 16] { method generate (line 105) | pub fn generate() -> Self { method hex_encode (line 111) | fn hex_encode(&self) -> String { method as_ref (line 145) | fn as_ref(&self) -> &[u8] { method from (line 151) | fn from(b: [u8; 16]) -> Self { method fmt (line 163) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method fmt (line 169) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method serialize (line 27) | fn serialize(&self, serializer: S) -> Result type Err (line 126) | type Err = hex::FromHexError; method from_str (line 128) | fn from_str(s: &str) -> Result { type Error (line 135) | type Error = hex::FromHexError; method from_hex (line 137) | fn from_hex>(hex: T) -> Result { function from (line 157) | fn from(id: Id) -> Self { type TimelineId (line 272) | pub struct TimelineId(Id); type Error (line 277) | type Error = anyhow::Error; method try_from (line 279) | fn try_from(value: Option<&str>) -> Result { type TenantId (line 294) | pub struct TenantId(Id); type EndpointId (line 299) | pub type EndpointId = String; type TenantTimelineId (line 303) | pub struct TenantTimelineId { method new (line 309) | pub fn new(tenant_id: TenantId, timeline_id: TimelineId) -> Self { method generate (line 316) | pub fn generate() -> Self { method empty (line 320) | pub fn empty() -> Self { method fmt (line 326) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { type Err (line 332) | type Err = anyhow::Error; method from_str (line 334) | fn from_str(s: &str) -> Result { type NodeId (line 355) | pub struct NodeId(pub u64); method fmt (line 358) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type Err (line 364) | type Err = ParseIntError; method from_str (line 365) | fn from_str(s: &str) -> Result { function test_id_serde_non_human_readable (line 378) | fn test_id_serde_non_human_readable() { function test_id_serde_human_readable (line 416) | fn test_id_serde_human_readable() { function test_id_bincode_serde (line 451) | fn test_id_bincode_serde() { function test_tenant_id_bincode_serde (line 460) | fn test_tenant_id_bincode_serde() { function test_timeline_id_bincode_serde (line 469) | fn test_timeline_id_bincode_serde() { FILE: libs/utils/src/ip_address.rs constant HADRON_NODE_IP_ADDRESS (line 10) | pub const HADRON_NODE_IP_ADDRESS: &str = "HADRON_NODE_IP_ADDRESS"; function read_node_ip_addr_from_env (line 14) | pub fn read_node_ip_addr_from_env() -> Result, Box Self { type LeakyBucketState (line 50) | pub struct LeakyBucketState { method with_initial_tokens (line 69) | pub fn with_initial_tokens(config: &LeakyBucketConfig, initial_tokens:... method bucket_is_empty (line 75) | pub fn bucket_is_empty(&self, now: Instant) -> bool { method add_tokens (line 91) | pub fn add_tokens( type RateLimiter (line 133) | pub struct RateLimiter { method with_initial_tokens (line 150) | pub fn with_initial_tokens(config: LeakyBucketConfig, initial_tokens: ... method steady_rps (line 166) | pub fn steady_rps(&self) -> f64 { method acquire (line 171) | pub async fn acquire(&self, count: usize) -> bool { type Requeue (line 141) | struct Requeue<'a>(&'a Notify); method drop (line 144) | fn drop(&mut self) { function check (line 226) | async fn check() { FILE: libs/utils/src/linux_socket_ioctl.rs function do_ioctl (line 12) | unsafe fn do_ioctl(socket_fd: RawFd, cmd: nix::libc::Ioctl) -> io::Resul... function inq (line 28) | pub unsafe fn inq(socket_fd: RawFd) -> io::Result { function outq (line 36) | pub unsafe fn outq(socket_fd: RawFd) -> io::Result { FILE: libs/utils/src/lock_file.rs type UnwrittenLockFile (line 23) | pub struct UnwrittenLockFile { method write_content (line 42) | pub fn write_content(mut self, contents: String) -> anyhow::Result); type Target (line 33) | type Target = fs::File; method deref (line 35) | fn deref(&self) -> &Self::Target { function create_exclusive (line 61) | pub fn create_exclusive(lock_file_path: &Utf8Path) -> anyhow::Result anyhow::Result anyhow::Result { type TracingEventCountMetric (line 73) | pub struct TracingEventCountMetric { method new (line 125) | fn new(vec: IntCounterVec) -> Self { method inc_critical (line 137) | pub fn inc_critical(&self) { method inc_for_level (line 141) | fn inc_for_level(&self, level: tracing::Level) { type HadronCriticalStorageEventCountMetric (line 85) | pub struct HadronCriticalStorageEventCountMetric { method new (line 101) | fn new(vec: IntCounterVec) -> Self { method inc (line 106) | pub fn inc(&self, tenant_shard_id: &str, timeline_id: &str) { type TracingEventCountLayer (line 153) | struct TracingEventCountLayer(&'static TracingEventCountMetric); method on_event (line 159) | fn on_event( type TracingErrorLayerEnablement (line 171) | pub enum TracingErrorLayerEnablement { type Output (line 180) | pub enum Output { function init (line 185) | pub fn init( function replace_panic_hook_with_tracing_panic_hook (line 243) | pub fn replace_panic_hook_with_tracing_panic_hook() -> TracingPanicHookG... type TracingPanicHookGuard (line 252) | pub struct TracingPanicHookGuard { method new (line 257) | fn new() -> Self { method forget (line 262) | pub fn forget(&mut self) { method drop (line 268) | fn drop(&mut self) { function tracing_panic_hook (line 276) | fn tracing_panic_hook(info: &std::panic::PanicHookInfo) { function log_panic_to_stderr (line 321) | fn log_panic_to_stderr( type PrettyLocation (line 332) | struct PrettyLocation<'a, 'b>(&'a std::panic::Location<'b>); function fmt (line 335) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function fmt (line 341) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type SecretString (line 350) | pub struct SecretString(String); method get_contents (line 353) | pub fn get_contents(&self) -> &str { method from (line 359) | fn from(s: String) -> Self { method fmt (line 373) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type Err (line 365) | type Err = std::convert::Infallible; method from_str (line 367) | fn from_str(s: &str) -> Result { function log_slow (line 384) | pub async fn log_slow( function warn_slow (line 415) | pub async fn warn_slow( function monitor_slow_future (line 447) | pub async fn monitor_slow_future( type MonitorSlowFutureCallback (line 482) | pub struct MonitorSlowFutureCallback { function tracing_event_count_metric (line 503) | fn tracing_event_count_metric() { FILE: libs/utils/src/lsn.rs constant XLOG_BLCKSZ (line 14) | pub const XLOG_BLCKSZ: u32 = 8192; type Lsn (line 18) | pub struct Lsn(pub u64); method deserialize (line 34) | fn deserialize(deserializer: D) -> Result constant MAX (line 132) | pub const MAX: Lsn = Lsn(u64::MAX); constant INVALID (line 135) | pub const INVALID: Lsn = Lsn(0); method checked_sub (line 138) | pub fn checked_sub>(self, other: T) -> Option { method saturating_sub (line 144) | pub fn saturating_sub>(self, other: T) -> Lsn { method widening_sub (line 149) | pub fn widening_sub>(self, other: T) -> i128 { method from_hex (line 155) | pub fn from_hex(s: S) -> Result method segment_offset (line 166) | pub fn segment_offset(self, seg_sz: usize) -> usize { method segment_lsn (line 172) | pub fn segment_lsn(self, seg_sz: usize) -> Lsn { method segment_number (line 178) | pub fn segment_number(self, seg_sz: usize) -> u64 { method block_offset (line 184) | pub fn block_offset(self) -> u64 { method page_lsn (line 192) | pub fn page_lsn(self) -> Lsn { method page_offset_in_segment (line 199) | pub fn page_offset_in_segment(self, seg_sz: usize) -> u64 { method remaining_in_block (line 207) | pub fn remaining_in_block(self) -> u64 { method calc_padding (line 215) | pub fn calc_padding>(self, sz: T) -> u64 { method align (line 225) | pub fn align(&self) -> Lsn { method is_aligned (line 230) | pub fn is_aligned(&self) -> bool { method is_valid (line 236) | pub fn is_valid(self) -> bool { method from (line 242) | fn from(n: u64) -> Self { method fmt (line 273) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method fmt (line 279) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type Output (line 285) | type Output = Lsn; method add (line 287) | fn add(self, other: u64) -> Self::Output { method add_assign (line 294) | fn add_assign(&mut self, other: u64) { type Sampler (line 373) | type Sampler = LsnSampler; method serialize (line 21) | fn serialize(&self, serializer: S) -> Result function serialize (line 111) | pub fn serialize(lsn: &Lsn, serializer: S) -> Resu... function deserialize (line 119) | pub fn deserialize<'de, D: serde::Deserializer<'de>>(deserializer: D) ->... type LsnParseError (line 128) | pub struct LsnParseError; function from (line 248) | fn from(lsn: Lsn) -> u64 { type Err (line 254) | type Err = LsnParseError; method from_str (line 259) | fn from_str(s: &str) -> Result { type AtomicLsn (line 301) | pub struct AtomicLsn { method new (line 307) | pub fn new(val: u64) -> Self { method load (line 314) | pub fn load(&self) -> Lsn { method store (line 319) | pub fn store(&self, lsn: Lsn) { method fetch_add (line 326) | pub fn fetch_add(&self, val: u64) -> Lsn { method fetch_max (line 333) | pub fn fetch_max(&self, lsn: Lsn) -> Lsn { method from (line 340) | fn from(lsn: Lsn) -> Self { type RecordLsn (line 347) | pub struct RecordLsn { method cnt_advance (line 356) | fn cnt_advance(&mut self, lsn: Lsn) { method cnt_value (line 362) | fn cnt_value(&self) -> Lsn { type LsnSampler (line 370) | pub struct LsnSampler(::Samp... type X (line 377) | type X = Lsn; method new (line 379) | fn new(low: B1, high: B2) -> Result(low: B1, high: B2) -> Result(&self, rng: &mut R) -> Self:... function test_lsn_strings (line 413) | fn test_lsn_strings() { function test_lsn_math (line 441) | fn test_lsn_math() { function test_atomic_lsn (line 477) | fn test_atomic_lsn() { function test_lsn_serde (line 489) | fn test_lsn_serde() { function test_lsn_ensure_roundtrip (line 540) | fn test_lsn_ensure_roundtrip() { function test_lsn_bincode_serde (line 556) | fn test_lsn_bincode_serde() { function test_lsn_bincode_ensure_roundtrip (line 568) | fn test_lsn_bincode_ensure_roundtrip() { FILE: libs/utils/src/measured_stream.rs function new (line 21) | pub fn new(stream: S, inc_read_count: R, inc_write_count: W) -> Self { method poll_read (line 32) | fn poll_read( method poll_write (line 48) | fn poll_write( method poll_flush (line 61) | fn poll_flush( method poll_shutdown (line 73) | fn poll_shutdown( type MeasuredReader (line 84) | pub struct MeasuredReader { function new (line 90) | pub fn new(reader: R) -> Self { function get_byte_count (line 97) | pub fn get_byte_count(&self) -> usize { method read (line 103) | fn read(&mut self, buf: &mut [u8]) -> std::io::Result { FILE: libs/utils/src/metrics_collector.rs type CollectedMetrics (line 18) | pub struct CollectedMetrics { method new (line 24) | fn new(metrics: Vec) -> Self { type MetricsCollector (line 33) | pub struct MetricsCollector { method new (line 38) | pub fn new() -> Self { method run_once (line 45) | pub fn run_once(&self, cache_metrics: bool) -> Arc { method last_collected (line 61) | pub fn last_collected(&self) -> Arc { method default (line 67) | fn default() -> Self { FILE: libs/utils/src/pageserver_feedback.rs type PageserverFeedback (line 19) | pub struct PageserverFeedback { method empty (line 41) | pub fn empty() -> PageserverFeedback { method serialize (line 65) | pub fn serialize(&self, buf: &mut BytesMut) { method parse (line 120) | pub fn parse(mut buf: Bytes) -> PageserverFeedback { function serialize (line 187) | pub fn serialize(ts: &SystemTime, serializer: S) -> Result(deserializer: D) -> Result function test_replication_feedback_serialization (line 211) | fn test_replication_feedback_serialization() { function test_replication_feedback_databricks_fields (line 228) | fn test_replication_feedback_databricks_fields() { function test_replication_feedback_unknown_key (line 246) | fn test_replication_feedback_unknown_key() { FILE: libs/utils/src/pid_file.rs type PidFileGuard (line 63) | pub struct PidFileGuard(lock_file::LockFileGuard); type Target (line 66) | type Target = lock_file::LockFileGuard; method deref (line 68) | fn deref(&self) -> &Self::Target { function claim_for_current_process (line 88) | pub fn claim_for_current_process(path: &Utf8Path) -> anyhow::Result anyhow::Result { function parse_pidfile_content (line 158) | fn parse_pidfile_content(content: &str) -> anyhow::Result { FILE: libs/utils/src/poison.rs type Poison (line 29) | pub struct Poison { type State (line 36) | enum State { function new (line 44) | pub fn new(what: &'static str, data: T) -> Self { function check_and_arm (line 53) | pub fn check_and_arm(&mut self) -> Result, Error> { type Guard (line 74) | pub struct Guard<'a, T>(&'a mut Poison); function data (line 77) | pub fn data(&self) -> &T { function data_mut (line 80) | pub fn data_mut(&mut self) -> &mut T { function disarm (line 84) | pub fn disarm(self) { method drop (line 98) | fn drop(&mut self) { type Error (line 117) | pub enum Error { FILE: libs/utils/src/postgres_client.rs type InterpretedFormat (line 12) | pub enum InterpretedFormat { type Compression (line 19) | pub enum Compression { type PostgresClientProtocol (line 26) | pub enum PostgresClientProtocol { type ConnectionConfigArgs (line 37) | pub struct ConnectionConfigArgs<'a> { function options (line 52) | fn options(&'a self) -> Vec { function wal_stream_connection_config (line 81) | pub fn wal_stream_connection_config( FILE: libs/utils/src/rate_limit.rs type RateLimit (line 5) | pub struct RateLimit { method new (line 20) | pub const fn new(interval: Duration) -> Self { method call (line 30) | pub fn call(&mut self, f: F) { method call2 (line 34) | pub fn call2(&mut self, f: F) { type RateLimitStats (line 11) | pub struct RateLimitStats(u64); method fmt (line 14) | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { function basics (line 55) | fn basics() { FILE: libs/utils/src/sentry_init.rs function init_sentry (line 9) | pub fn init_sentry( FILE: libs/utils/src/seqwait.rs type SeqWaitError (line 14) | pub enum SeqWaitError { type MonotonicCounter (line 29) | pub trait MonotonicCounter { method cnt_advance (line 32) | fn cnt_advance(&mut self, new_val: V); method cnt_value (line 35) | fn cnt_value(&self) -> V; type Waiters (line 39) | struct Waiters function new (line 52) | fn new() -> Self { function update_status (line 61) | fn update_status(&self) { function add (line 67) | fn add(&mut self, num: V) -> watch::Receiver<()> { function pop_leq (line 79) | fn pop_leq(&mut self, num: V) -> Vec> { function take_all (line 94) | fn take_all(&mut self) -> BinaryHeap> { type Waiter (line 101) | struct Waiter method partial_cmp (line 112) | fn partial_cmp(&self, other: &Self) -> Option { method cmp (line 118) | fn cmp(&self, other: &Self) -> Ordering { method eq (line 124) | fn eq(&self, other: &Self) -> bool { type SeqWaitInt (line 132) | struct SeqWaitInt type SeqWait (line 158) | pub struct SeqWait function new (line 172) | pub fn new(starting_num: S) -> Self { function shutdown (line 185) | pub fn shutdown(&self) { function wait_for (line 214) | pub async fn wait_for(&self, num: V) -> Result<(), SeqWaitError> { function wait_for_timeout (line 231) | pub async fn wait_for_timeout( function would_wait_for (line 248) | pub fn would_wait_for(&self, num: V) -> Result<(), V> { function queue_for_wait (line 257) | fn queue_for_wait(&self, num: V) -> Result>, ... function advance (line 277) | pub fn advance(&self, num: V) -> V { function load (line 301) | pub fn load(&self) -> S { function status_receiver (line 313) | pub fn status_receiver(&self) -> watch::Receiver> { function cnt_advance (line 330) | fn cnt_advance(&mut self, val: i32) { function cnt_value (line 334) | fn cnt_value(&self) -> i32 { function seqwait (line 340) | async fn seqwait() { function seqwait_timeout (line 372) | async fn seqwait_timeout() { FILE: libs/utils/src/serde_percent.rs type Percent (line 11) | pub struct Percent(#[serde(deserialize_with = "deserialize_pct_0_to_100"... method new (line 14) | pub const fn new(pct: u8) -> Option { method get (line 18) | pub fn get(&self) -> u8 { function deserialize_pct_0_to_100 (line 23) | fn deserialize_pct_0_to_100<'de, D>(deserializer: D) -> Result(deserializer: D) -> Result(re: ®ex::Regex, serializer: S) -> Result ®ex::Regex { method eq (line 40) | fn eq(&self, other: &Regex) -> bool { function roundtrip (line 52) | fn roundtrip() { FILE: libs/utils/src/serde_system_time.rs type SystemTime (line 5) | pub struct SystemTime( function ser_rfc3339_millis (line 13) | fn ser_rfc3339_millis( function deser_rfc3339_millis (line 20) | fn deser_rfc3339_millis<'de, D>(deserializer: D) -> Result SystemTime { function test_serialize_deserialize (line 47) | fn test_serialize_deserialize() { FILE: libs/utils/src/shard.rs type ShardNumber (line 12) | pub struct ShardNumber(pub u8); constant MAX (line 98) | pub const MAX: Self = Self(u8::MAX); method fmt (line 179) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type ShardCount (line 15) | pub struct ShardCount(pub u8); constant MAX (line 59) | pub const MAX: Self = Self(u8::MAX); constant MIN (line 60) | pub const MIN: Self = Self(0); method unsharded (line 62) | pub fn unsharded() -> Self { method count (line 72) | pub fn count(&self) -> u8 { method literal (line 79) | pub fn literal(&self) -> u8 { method is_unsharded (line 86) | pub fn is_unsharded(&self) -> bool { method new (line 92) | pub const fn new(val: u8) -> Self { method fmt (line 185) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type ShardIndex (line 23) | pub struct ShardIndex { method new (line 266) | pub fn new(number: ShardNumber, count: ShardCount) -> Self { method unsharded (line 272) | pub fn unsharded() -> Self { method is_unsharded (line 282) | pub fn is_unsharded(&self) -> bool { method get_suffix (line 291) | pub fn get_suffix(&self) -> String { method fmt (line 301) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 307) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type Err (line 314) | type Err = hex::FromHexError; method from_str (line 316) | fn from_str(s: &str) -> Result { method from (line 333) | fn from(b: [u8; 2]) -> Self { method deserialize (line 433) | fn deserialize(deserializer: D) -> Result type ShardStripeSize (line 32) | pub struct ShardStripeSize(pub u32); method fmt (line 191) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type ShardSlug (line 35) | pub struct ShardSlug<'a>(&'a TenantShardId); type TenantShardId (line 52) | pub struct TenantShardId { method unsharded (line 102) | pub fn unsharded(tenant_id: TenantId) -> Self { method tenant_range (line 112) | pub fn tenant_range(tenant_id: TenantId) -> RangeInclusive { method range (line 127) | pub fn range(&self) -> RangeInclusive { method shard_slug (line 131) | pub fn shard_slug(&self) -> impl std::fmt::Display + '_ { method is_shard_zero (line 136) | pub fn is_shard_zero(&self) -> bool { method is_unsharded (line 143) | pub fn is_unsharded(&self) -> bool { method to_index (line 150) | pub fn to_index(&self) -> ShardIndex { method split (line 159) | pub fn split(&self, new_shard_count: ShardCount) -> Vec { method fmt (line 207) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 219) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type Err (line 226) | type Err = hex::FromHexError; method from_str (line 228) | fn from_str(s: &str) -> Result { method from (line 254) | fn from(b: [u8; 18]) -> Self { method deserialize (line 362) | fn deserialize(deserializer: D) -> Result function fmt (line 197) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method serialize (line 342) | fn serialize(&self, serializer: S) -> Result method serialize (line 414) | fn serialize(&self, serializer: S) -> Result FILE: libs/utils/src/signals.rs type Signal (line 7) | pub enum Signal { method name (line 14) | pub fn name(&self) -> &'static str { type ShutdownSignals (line 23) | pub struct ShutdownSignals; method handle (line 26) | pub fn handle(mut handler: impl FnMut(Signal) -> anyhow::Result<()>) -... function signal_handler (line 45) | pub async fn signal_handler(token: tokio_util::sync::CancellationToken) { FILE: libs/utils/src/simple_rcu.rs type Rcu (line 56) | pub struct Rcu { type RcuInner (line 60) | struct RcuInner { type RcuCell (line 68) | struct RcuCell { function new (line 82) | fn new(value: V) -> Self { function new (line 93) | pub fn new(starting_val: V) -> Self { function read (line 107) | pub fn read(&self) -> RcuReadGuard { function lock_for_write (line 120) | pub fn lock_for_write(&self) -> RcuWriteGuard<'_, V> { type RcuReadGuard (line 129) | pub struct RcuReadGuard { type Target (line 134) | type Target = V; method deref (line 136) | fn deref(&self) -> &V { type RcuWriteGuard (line 150) | pub struct RcuWriteGuard<'a, V> { type Target (line 155) | type Target = V; method deref (line 157) | fn deref(&self) -> &V { function store_and_unlock (line 170) | pub fn store_and_unlock(mut self, new_val: V) -> RcuWaitList { type RcuWaitList (line 196) | pub struct RcuWaitList(Vec>); method wait (line 202) | pub async fn wait(mut self) { function two_writers (line 227) | async fn two_writers() { FILE: libs/utils/src/sync/duplex/mpsc.rs type Duplex (line 4) | pub struct Duplex { function channel (line 14) | pub fn channel(buffer: usize) -> (Duplex, Duplex... function send (line 25) | pub async fn send(&self, x: S) -> Result<(), mpsc::error::SendError> { function try_send (line 29) | pub fn try_send(&self, x: S) -> Result<(), mpsc::error::TrySendError> { function recv (line 37) | pub async fn recv(&mut self) -> Option { FILE: libs/utils/src/sync/gate.rs type Gate (line 10) | pub struct Gate { method fmt (line 15) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { constant MAX_UNITS (line 109) | const MAX_UNITS: u32 = u32::MAX; method enter (line 119) | pub fn enter(&self) -> Result { method enter_impl (line 123) | fn enter_impl(gate: Arc) -> Result { method close (line 145) | pub async fn close(&self) { method as_ptr (line 183) | fn as_ptr(&self) -> *const GateInner { method close_complete (line 190) | pub fn close_complete(&self) -> bool { method do_close (line 195) | async fn do_close(&self) { type GateInner (line 24) | struct GateInner { method fmt (line 30) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type GateGuard (line 57) | pub struct GateGuard { method try_clone (line 64) | pub fn try_clone(&self) -> Result { method drop (line 70) | fn drop(&mut self) { type GateError (line 84) | pub enum GateError { method is_cancel (line 90) | pub fn is_cancel(&self) -> bool { method default (line 98) | fn default() -> Self { function close_unused (line 219) | async fn close_unused() { function close_idle (line 226) | async fn close_idle() { function close_busy_gate (line 238) | async fn close_busy_gate() { function clone_gate_guard (line 267) | async fn clone_gate_guard() { FILE: libs/utils/src/sync/heavier_once_cell.rs type OnceCell (line 15) | pub struct OnceCell { method default (line 22) | fn default() -> Self { type Inner (line 34) | struct Inner { method default (line 40) | fn default() -> Self { function new (line 50) | pub fn new(value: T) -> Self { function get_or_init (line 68) | pub async fn get_or_init(&self, factory: F) -> Result Result, InitPer... function get_or_init_detached_measured (line 121) | pub async fn get_or_init_detached_measured( function set (line 175) | pub fn set(&self, value: T, _permit: InitPermit) -> Guard<'_, T> { function set0 (line 188) | fn set0(value: T, mut guard: std::sync::MutexGuard<'_, Inner>) -> Gua... function get (line 199) | pub fn get(&self) -> Option> { function take_and_deinit (line 210) | pub fn take_and_deinit(&mut self) -> Option<(T, InitPermit)> { function initializer_count (line 217) | pub fn initializer_count(&self) -> usize { type CountWaitingInitializers (line 224) | struct CountWaitingInitializers<'a, T>(&'a OnceCell); function start (line 227) | fn start(target: &'a OnceCell) -> Self { method drop (line 234) | fn drop(&mut self) { type Guard (line 242) | pub struct Guard<'a, T>(MutexGuard<'a, Inner>); type Target (line 245) | type Target = T; function deref (line 247) | fn deref(&self) -> &Self::Target { function deref_mut (line 256) | fn deref_mut(&mut self) -> &mut Self::Target { function take_and_deinit (line 269) | pub fn take_and_deinit(mut self) -> (T, InitPermit) { function take_and_deinit (line 277) | pub fn take_and_deinit(&mut self) -> Option<(T, InitPermit)> { type InitPermit (line 293) | pub struct InitPermit(Arc); method fmt (line 296) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method drop (line 303) | fn drop(&mut self) { function many_initializers (line 324) | async fn many_initializers() { function reinit_waits_for_deinit (line 383) | async fn reinit_waits_for_deinit() { function reinit_with_deinit_permit (line 423) | fn reinit_with_deinit_permit() { function initialization_attemptable_until_ok (line 437) | async fn initialization_attemptable_until_ok() { function initialization_is_cancellation_safe (line 454) | async fn initialization_is_cancellation_safe() { function reproduce_init_take_deinit_race (line 483) | async fn reproduce_init_take_deinit_race() { type BoxedInitFuture (line 492) | type BoxedInitFuture = Pin = Box BoxedInitFuture... function init_take_deinit_scenario (line 499) | async fn init_take_deinit_scenario(init_way: F) function detached_init_smoke (line 564) | async fn detached_init_smoke() { function take_and_deinit_on_mut (line 599) | async fn take_and_deinit_on_mut() { FILE: libs/utils/src/sync/spsc_fold.rs type Sender (line 7) | pub struct Sender { type Receiver (line 11) | pub struct Receiver { type Inner (line 15) | struct Inner { type State (line 21) | enum State { function channel (line 33) | pub fn channel() -> (Sender, Receiver) { type SendError (line 50) | pub enum SendError { function send (line 59) | pub async fn send(&mut self, value: T, try_fold: F) -> Result<(), Sen... method drop (line 122) | fn drop(&mut self) { type RecvError (line 147) | pub enum RecvError { function recv (line 153) | pub async fn recv(&mut self) -> Result { method drop (line 189) | fn drop(&mut self) { function take_data (line 212) | fn take_data(&mut self) -> Option { function discriminant_str (line 239) | fn discriminant_str(&self) -> &'static str { constant FOREVER (line 259) | const FOREVER: std::time::Duration = std::time::Duration::from_secs(u64:... function test_send_recv (line 262) | async fn test_send_recv() { function test_send_recv_with_fold (line 278) | async fn test_send_recv_with_fold() { function test_sender_waits_for_receiver_if_try_fold_fails (line 301) | async fn test_sender_waits_for_receiver_if_try_fold_fails() { function test_sender_errors_if_waits_for_receiver_and_receiver_drops (line 331) | async fn test_sender_errors_if_waits_for_receiver_and_receiver_drops() { function test_receiver_errors_if_waits_for_sender_and_sender_drops (line 346) | async fn test_receiver_errors_if_waits_for_sender_and_sender_drops() { function test_receiver_errors_if_waits_for_sender_and_sender_drops_with_data (line 359) | async fn test_receiver_errors_if_waits_for_sender_and_sender_drops_with_... function test_receiver_waits_for_sender_if_no_data (line 379) | async fn test_receiver_waits_for_sender_if_no_data() { function test_receiver_gone_while_nodata (line 399) | async fn test_receiver_gone_while_nodata() { function test_sender_gone_while_nodata (line 408) | async fn test_sender_gone_while_nodata() { function test_receiver_drops_after_sender_went_to_sleep (line 417) | async fn test_receiver_drops_after_sender_went_to_sleep() { function test_sender_drops_after_receiver_went_to_sleep (line 442) | async fn test_sender_drops_after_receiver_went_to_sleep() { function test_receiver_drop_while_waiting_for_receiver_to_consume_unblocks_sender (line 459) | async fn test_receiver_drop_while_waiting_for_receiver_to_consume_unbloc... FILE: libs/utils/src/tcp_listener.rs function bind (line 8) | pub fn bind(addr: A) -> io::Result { FILE: libs/utils/src/timeout.rs type TimeoutCancellableError (line 6) | pub enum TimeoutCancellableError { function timeout_cancellable (line 22) | pub async fn timeout_cancellable( FILE: libs/utils/src/toml_edit_ext.rs type Error (line 2) | pub enum Error { function deserialize_item (line 9) | pub fn deserialize_item(item: &toml_edit::Item) -> Result FILE: libs/utils/src/tracing_span_assert.rs type ExtractionResult (line 42) | pub enum ExtractionResult { type Extractor (line 47) | pub trait Extractor: Send + Sync + std::fmt::Debug { method id (line 48) | fn id(&self) -> &str; method extract (line 49) | fn extract(&self, fields: &tracing::field::FieldSet) -> ExtractionResult; method id (line 63) | fn id(&self) -> &str { method extract (line 66) | fn extract(&self, fields: &tracing::field::FieldSet) -> ExtractionResu... type ConstExtractor (line 53) | pub struct ConstExtractor { method new (line 58) | pub const fn new(field_name: &'static str) -> ConstExtractor { function check_fields_present0 (line 80) | pub fn check_fields_present0( type Summary (line 150) | pub enum Summary { function tracing_subscriber_configured (line 161) | fn tracing_subscriber_configured() -> bool { type MemoryIdentity (line 183) | struct MemoryIdentity<'a>(&'a dyn Extractor); function as_ptr (line 186) | fn as_ptr(&self) -> *const () { method eq (line 191) | fn eq(&self, other: &Self) -> bool { method hash (line 197) | fn hash(&self, state: &mut H) { function fmt (line 202) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> std::fmt::Result { type Setup (line 207) | struct Setup { function setup_current_thread (line 213) | fn setup_current_thread() -> Setup { function assert_missing (line 230) | fn assert_missing(missing: Vec<&dyn Extractor>, expected: Vec<&dyn Extra... function positive_one_level (line 239) | fn positive_one_level() { function negative_one_level (line 248) | fn negative_one_level() { function positive_multiple_levels (line 258) | fn positive_multiple_levels() { function negative_multiple_levels (line 275) | fn negative_multiple_levels() { function positive_subset_one_level (line 289) | fn positive_subset_one_level() { function positive_subset_multiple_levels (line 298) | fn positive_subset_multiple_levels() { function negative_subset_one_level (line 315) | fn negative_subset_one_level() { function negative_subset_multiple_levels (line 324) | fn negative_subset_multiple_levels() { function tracing_error_subscriber_not_set_up_straight_line (line 338) | fn tracing_error_subscriber_not_set_up_straight_line() { function tracing_error_subscriber_not_set_up_with_instrument (line 354) | fn tracing_error_subscriber_not_set_up_with_instrument() { function tracing_subscriber_configured (line 381) | fn tracing_subscriber_configured() { function not_found_when_disabled_by_filter (line 392) | fn not_found_when_disabled_by_filter() { FILE: libs/utils/src/try_rcu.rs type ArcSwapExt (line 3) | pub trait ArcSwapExt { method try_rcu (line 5) | fn try_rcu(&self, f: F) -> Result function try_rcu (line 16) | fn try_rcu(&self, mut f: F) -> Result function test_try_rcu_success (line 54) | fn test_try_rcu_success() { function test_try_rcu_error (line 64) | fn test_try_rcu_error() { FILE: libs/utils/src/vec_map.rs type VecMapOrdering (line 6) | pub enum VecMapOrdering { type VecMap (line 18) | pub struct VecMap { method default (line 24) | fn default() -> Self { type VecMapError (line 33) | pub enum VecMapError { function new (line 41) | pub fn new(ordering: VecMapOrdering) -> Self { function with_capacity (line 48) | pub fn with_capacity(capacity: usize, ordering: VecMapOrdering) -> Self { function is_empty (line 55) | pub fn is_empty(&self) -> bool { function as_slice (line 59) | pub fn as_slice(&self) -> &[(K, V)] { function slice_range (line 65) | pub fn slice_range>(&self, range: R) -> &[(K, V)] { function append (line 94) | pub fn append(&mut self, key: K, value: V) -> Result { function append_or_update_last (line 104) | pub fn append_or_update_last( function extend (line 130) | pub fn extend(&mut self, other: &mut Self) -> Result { function validate_key_order (line 146) | fn validate_key_order(&self, key: &K) -> Result<(), VecMapError> { function instrument_vec_op (line 166) | fn instrument_vec_op(&mut self, op: impl FnOnce(&mut Vec<(K, V)>)) -> us... function from_iter (line 184) | pub fn from_iter>(iter: I, ordering: VecM... type Item (line 205) | type Item = (K, V); type IntoIter (line 206) | type IntoIter = std::vec::IntoIter<(K, V)>; method into_iter (line 208) | fn into_iter(self) -> Self::IntoIter { function extract_key (line 213) | fn extract_key(entry: &(K, V)) -> &K { function unbounded_range (line 225) | fn unbounded_range() { function invalid_ordering_range (line 234) | fn invalid_ordering_range() { function range_tests (line 243) | fn range_tests() { type BoundIter (line 271) | struct BoundIter { method new (line 279) | fn new(min: i32, max: i32) -> Self { type Item (line 290) | type Item = Bound; method next (line 292) | fn next(&mut self) -> Option { function range_exhaustive (line 318) | fn range_exhaustive() { function extend (line 346) | fn extend() { function extend_with_ordering (line 388) | fn extend_with_ordering() { function vec_map_from_sorted (line 406) | fn vec_map_from_sorted() { function vec_map_from_unsorted_greater (line 421) | fn vec_map_from_unsorted_greater() { function vec_map_from_unsorted_greater_or_equal (line 428) | fn vec_map_from_unsorted_greater_or_equal() { FILE: libs/utils/src/yielding_loop.rs type YieldingLoopError (line 4) | pub enum YieldingLoopError { function yielding_loop (line 14) | pub async fn yielding_loop( FILE: libs/utils/src/zstd.rs function create_zst_tarball (line 16) | pub async fn create_zst_tarball(path: &Utf8Path, tarball: &Utf8Path) -> ... function extract_zst_tarball (line 65) | pub async fn extract_zst_tarball( FILE: libs/utils/tests/bin_ser_test.rs type HeaderData (line 9) | pub struct HeaderData { function decode_header_data (line 19) | pub fn decode_header_data(buf: &mut BytesMut) -> HeaderData { function decode2 (line 29) | pub fn decode2(reader: &mut R) -> HeaderData { function test1 (line 34) | fn test1() { FILE: libs/vm_monitor/src/bin/monitor.rs function main (line 10) | async fn main() -> anyhow::Result<()> { function main (line 31) | fn main() { FILE: libs/vm_monitor/src/cgroup.rs type Config (line 13) | pub struct Config { method default (line 31) | fn default() -> Self { type CgroupWatcher (line 48) | pub struct CgroupWatcher { method new (line 58) | pub fn new(name: String) -> anyhow::Result { method watch (line 74) | pub async fn watch( method memory (line 153) | fn memory(&self) -> anyhow::Result<&MemController> { method memory_usage (line 165) | fn memory_usage(mem_controller: &MemController) -> MemoryStatus { function ring_buf_recent_values_iter (line 174) | fn ring_buf_recent_values_iter( type MemoryHistory (line 196) | pub struct MemoryHistory { type MemoryStatus (line 207) | pub struct MemoryStatus { method zeroed (line 212) | fn zeroed() -> Self { method debug_slice (line 216) | fn debug_slice(slice: &[Self]) -> impl '_ + Debug { method status_is_close_or_similar (line 258) | fn status_is_close_or_similar(&self, other: &MemoryStatus) -> bool { function ring_buf_iter (line 276) | fn ring_buf_iter() { function check_similarity_behaviour (line 302) | fn check_similarity_behaviour() { FILE: libs/vm_monitor/src/dispatcher.rs type Dispatcher (line 28) | pub struct Dispatcher { method new (line 53) | pub async fn new(stream: WebSocket) -> anyhow::Result { method send (line 117) | pub async fn send(&mut self, message: OutboundMsg) -> anyhow::Result<(... FILE: libs/vm_monitor/src/filecache.rs type FileCacheState (line 15) | pub struct FileCacheState { method new (line 146) | pub async fn new( method connect (line 172) | async fn connect(conn_str: &str, token: CancellationToken) -> anyhow::... method query_with_retry (line 197) | pub async fn query_with_retry( method get_file_cache_size (line 229) | pub async fn get_file_cache_size(&mut self) -> anyhow::Result { method set_file_cache_size (line 250) | pub async fn set_file_cache_size(&mut self, num_bytes: u64) -> anyhow:... type FileCacheConfig (line 25) | pub struct FileCacheConfig { method validate (line 74) | pub fn validate(&self) -> anyhow::Result<()> { method calculate_cache_size (line 122) | pub fn calculate_cache_size(&self, total: u64) -> u64 { method default (line 60) | fn default() -> Self { FILE: libs/vm_monitor/src/lib.rs type Args (line 38) | pub struct Args { method addr (line 55) | pub fn addr(&self) -> &str { constant MiB (line 62) | const MiB: u64 = 1 << 20; function bytes_to_mebibytes (line 66) | pub fn bytes_to_mebibytes(bytes: u64) -> f32 { function get_total_system_memory (line 70) | pub fn get_total_system_memory() -> u64 { type ServerState (line 76) | pub struct ServerState { function spawn_with_cancel (line 96) | pub fn spawn_with_cancel( function start (line 123) | pub async fn start(args: &'static Args, token: CancellationToken) -> any... function ws_handler (line 158) | pub async fn ws_handler( function start_monitor (line 178) | async fn start_monitor( FILE: libs/vm_monitor/src/protocol.rs type OutboundMsg (line 43) | pub struct OutboundMsg { method new (line 50) | pub fn new(inner: OutboundMsgKind, id: usize) -> Self { type OutboundMsgKind (line 58) | pub enum OutboundMsgKind { type InboundMsg (line 99) | pub struct InboundMsg { type InboundMsgKind (line 108) | pub enum InboundMsgKind { type Resources (line 135) | pub struct Resources { method new (line 143) | pub fn new(cpu: f64, mem: u64) -> Self { constant PROTOCOL_MIN_VERSION (line 148) | pub const PROTOCOL_MIN_VERSION: ProtocolVersion = ProtocolVersion::V1_0; constant PROTOCOL_MAX_VERSION (line 149) | pub const PROTOCOL_MAX_VERSION: ProtocolVersion = ProtocolVersion::V1_0; type ProtocolVersion (line 152) | pub struct ProtocolVersion(u8); constant V1_0 (line 158) | const V1_0: ProtocolVersion = ProtocolVersion(1); method fmt (line 162) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type ProtocolRange (line 175) | pub struct ProtocolRange { method deserialize (line 182) | fn deserialize(deserializer: D) -> Result method fmt (line 203) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method highest_shared_version (line 214) | pub fn highest_shared_version(&self, other: &Self) -> anyhow::Result anyhow::Re... method handle_upscale (line 300) | pub async fn handle_upscale(&mut self, resources: Resources) -> anyhow... method process_message (line 349) | pub async fn process_message( method run (line 395) | pub async fn run(&mut self) -> anyhow::Result<()> { type CgroupState (line 47) | struct CgroupState { type Config (line 56) | pub struct Config { method cgroup_threshold (line 99) | fn cgroup_threshold(&self, total_mem: u64) -> u64 { method default (line 89) | fn default() -> Self { FILE: libs/wal_decoder/benches/bench_interpret_wal.rs constant S3_BUCKET (line 25) | const S3_BUCKET: &str = "neon-github-public-dev"; constant S3_REGION (line 26) | const S3_REGION: &str = "eu-central-1"; constant BUCKET_PREFIX (line 27) | const BUCKET_PREFIX: &str = "wal-snapshots/bulk-insert/"; constant METADATA_FILENAME (line 28) | const METADATA_FILENAME: &str = "metadata.json"; function create_s3_client (line 39) | async fn create_s3_client() -> anyhow::Result> { function download_bench_data (line 60) | async fn download_bench_data( type BenchmarkData (line 111) | struct BenchmarkData { type BenchmarkMetadata (line 117) | struct BenchmarkMetadata { function load_bench_data (line 122) | async fn load_bench_data(path: &Utf8Path, input_size: usize) -> anyhow::... function criterion_benchmark (line 165) | fn criterion_benchmark(c: &mut Criterion) { function decode_interpret_main (line 220) | fn decode_interpret_main(bench: &BenchmarkData, shards: &[ShardIdentity]) { function decode_interpret (line 227) | fn decode_interpret(bench: &BenchmarkData, shard: &[ShardIdentity]) -> a... FILE: libs/wal_decoder/build.rs function main (line 1) | fn main() -> Result<(), Box> { FILE: libs/wal_decoder/src/decoder.rs method from_bytes_filtered (line 23) | pub fn from_bytes_filtered( method from_decoded_filtered (line 77) | fn from_decoded_filtered( method decode_heapam_record (line 193) | fn decode_heapam_record( method decode_neonmgr_record (line 499) | fn decode_neonmgr_record( method decode_smgr_record (line 603) | fn decode_smgr_record( method decode_dbase_record (line 628) | fn decode_dbase_record( method decode_clog_record (line 752) | fn decode_clog_record( method decode_xact_record (line 785) | fn decode_xact_record( method decode_multixact_record (line 842) | fn decode_multixact_record( method decode_relmap_record (line 888) | fn decode_relmap_record( method decode_xlog_record (line 907) | fn decode_xlog_record( method decode_logical_message_record (line 920) | fn decode_logical_message_record( method decode_standby_record (line 951) | fn decode_standby_record( method decode_replorigin_record (line 968) | fn decode_replorigin_record( FILE: libs/wal_decoder/src/models.rs type FlushUncommittedRecords (line 55) | pub enum FlushUncommittedRecords { type InterpretedWalRecords (line 62) | pub struct InterpretedWalRecords { type InterpretedWalRecord (line 75) | pub struct InterpretedWalRecord { method is_empty (line 100) | pub fn is_empty(&self) -> bool { method is_observed (line 108) | pub fn is_observed(&self) -> bool { type MetadataRecord (line 118) | pub enum MetadataRecord { type HeapamRecord (line 134) | pub enum HeapamRecord { type ClearVmBits (line 139) | pub struct ClearVmBits { type NeonrmgrRecord (line 147) | pub enum NeonrmgrRecord { type SmgrRecord (line 152) | pub enum SmgrRecord { type SmgrCreate (line 158) | pub struct SmgrCreate { type DbaseRecord (line 163) | pub enum DbaseRecord { type DbaseCreate (line 169) | pub struct DbaseCreate { type DbaseDrop (line 177) | pub struct DbaseDrop { type ClogRecord (line 183) | pub enum ClogRecord { type ClogZeroPage (line 189) | pub struct ClogZeroPage { type ClogTruncate (line 195) | pub struct ClogTruncate { type XactRecord (line 202) | pub enum XactRecord { type XactCommon (line 211) | pub struct XactCommon { type XactPrepare (line 220) | pub struct XactPrepare { type MultiXactRecord (line 226) | pub enum MultiXactRecord { type MultiXactZeroPage (line 233) | pub struct MultiXactZeroPage { type RelmapRecord (line 240) | pub enum RelmapRecord { type RelmapUpdate (line 245) | pub struct RelmapUpdate { type XlogRecord (line 251) | pub enum XlogRecord { type RawXlogRecord (line 256) | pub struct RawXlogRecord { type LogicalMessageRecord (line 263) | pub enum LogicalMessageRecord { type PutLogicalMessage (line 270) | pub struct PutLogicalMessage { type StandbyRecord (line 276) | pub enum StandbyRecord { type StandbyRunningXacts (line 281) | pub struct StandbyRunningXacts { type ReploriginRecord (line 286) | pub enum ReploriginRecord { FILE: libs/wal_decoder/src/models/record.rs type NeonWalRecord (line 13) | pub enum NeonWalRecord { method will_init (line 70) | pub fn will_init(&self) -> bool { method wal_append (line 82) | pub fn wal_append(s: impl AsRef) -> Self { method wal_append_conditional (line 92) | pub fn wal_append_conditional(s: impl AsRef, only_if: impl AsRef<... method wal_clear (line 102) | pub fn wal_clear(s: impl AsRef) -> Self { method wal_init (line 112) | pub fn wal_init(s: impl AsRef) -> Self { function describe_wal_record (line 125) | pub fn describe_wal_record(rec: &NeonWalRecord) -> Result bool { method will_init (line 33) | pub fn will_init(&self) -> bool { method estimated_size (line 41) | pub fn estimated_size(&self) -> usize { type InvalidInput (line 60) | pub enum InvalidInput { type ValueBytes (line 67) | pub struct ValueBytes; method will_init (line 71) | pub fn will_init(raw: &[u8]) -> Result { function image_roundtrip (line 126) | fn image_roundtrip() { function walrecord_postgres_roundtrip (line 146) | fn walrecord_postgres_roundtrip() { function bytes_inspection_too_short_image (line 171) | fn bytes_inspection_too_short_image() { function bytes_inspection_too_short_postgres_record (line 195) | fn bytes_inspection_too_short_postgres_record() { function clear_visibility_map_flags_example (line 232) | fn clear_visibility_map_flags_example() { FILE: libs/wal_decoder/src/serialized_batch.rs type ValueMeta (line 34) | pub enum ValueMeta { method key (line 40) | pub fn key(&self) -> CompactKey { method lsn (line 47) | pub fn lsn(&self) -> Lsn { type OrderedValueMeta (line 57) | struct OrderedValueMeta(ValueMeta); method cmp (line 60) | fn cmp(&self, other: &Self) -> std::cmp::Ordering { method partial_cmp (line 66) | fn partial_cmp(&self, other: &Self) -> Option { method eq (line 72) | fn eq(&self, other: &Self) -> bool { type SerializedValueMeta (line 81) | pub struct SerializedValueMeta { type ObservedValueMeta (line 93) | pub struct ObservedValueMeta { type SerializedValueBatch (line 100) | pub struct SerializedValueBatch { method from_decoded_filtered (line 138) | pub(crate) fn from_decoded_filtered( method estimate_buffer_size (line 267) | fn estimate_buffer_size( method block_is_image (line 306) | fn block_is_image( method from_values (line 326) | pub fn from_values(batch: Vec<(CompactKey, Lsn, usize, Value)>) -> Self { method put (line 379) | pub fn put(&mut self, key: CompactKey, value: Value, lsn: Lsn) { method extend (line 405) | pub fn extend(&mut self, mut other: SerializedValueBatch) { method zero_gaps (line 441) | pub fn zero_gaps(&mut self, gaps: Vec<(KeySpace, Lsn)>) { method is_empty (line 503) | pub fn is_empty(&self) -> bool { method is_observed (line 508) | pub fn is_observed(&self) -> bool { method has_data (line 516) | pub fn has_data(&self) -> bool { method len (line 531) | pub fn len(&self) -> usize { method buffer_size (line 536) | pub fn buffer_size(&self) -> usize { method updates_key (line 540) | pub fn updates_key(&self, key: &Key) -> bool { method validate_lsn_order (line 547) | pub fn validate_lsn_order(&self) { method default (line 120) | fn default() -> Self { function validate_batch (line 573) | fn validate_batch( function test_creation_from_values (line 650) | fn test_creation_from_values() { function test_put (line 689) | fn test_put() { function test_extension (line 740) | fn test_extension() { function test_gap_zeroing (line 799) | fn test_gap_zeroing() { FILE: libs/wal_decoder/src/wire_format.rs type ToWireFormatError (line 17) | pub enum ToWireFormatError { type ProtobufSerializeError (line 27) | pub enum ProtobufSerializeError { type FromWireFormatError (line 35) | pub enum FromWireFormatError { type ProtobufDeserializeError (line 45) | pub enum ProtobufDeserializeError { type TranscodeError (line 53) | pub enum TranscodeError { type ToWireFormat (line 60) | pub trait ToWireFormat { method to_wire (line 61) | fn to_wire( method to_wire (line 78) | async fn to_wire( type FromWireFormat (line 68) | pub trait FromWireFormat { method from_wire (line 70) | fn from_wire( type T (line 123) | type T = Self; method from_wire (line 125) | async fn from_wire( type Error (line 157) | type Error = SerializeError; function try_from (line 159) | fn try_from(value: InterpretedWalRecords) -> Result { type Error (line 174) | type Error = SerializeError; function try_from (line 176) | fn try_from(value: InterpretedWalRecord) -> Result { function from (line 197) | fn from(value: SerializedValueBatch) -> Self { function from (line 212) | fn from(value: ValueMeta) -> Self { function from (line 235) | fn from(value: CompactKey) -> Self { type Error (line 244) | type Error = TranscodeError; method try_from (line 246) | fn try_from(value: proto::InterpretedWalRecords) -> Result Result Result Result { method from (line 355) | fn from(value: proto::CompactKey) -> Self { function test_compact_key_with_large_relnode (line 361) | fn test_compact_key_with_large_relnode() { FILE: libs/walproposer/build.rs constant WALPROPOSER_PG_VERSION (line 10) | const WALPROPOSER_PG_VERSION: &str = "v17"; function main (line 12) | fn main() -> anyhow::Result<()> { FILE: libs/walproposer/src/api_bindings.rs function get_shmem_state (line 15) | extern "C" fn get_shmem_state(wp: *mut WalProposer) -> *mut WalproposerS... function start_streaming (line 23) | extern "C-unwind" fn start_streaming(wp: *mut WalProposer, startpos: XLo... function get_flush_rec_ptr (line 32) | extern "C" fn get_flush_rec_ptr(wp: *mut WalProposer) -> XLogRecPtr { function update_donor (line 40) | extern "C" fn update_donor(wp: *mut WalProposer, donor: *mut Safekeeper,... function get_current_timestamp (line 48) | extern "C" fn get_current_timestamp(wp: *mut WalProposer) -> TimestampTz { function conn_error_message (line 56) | extern "C" fn conn_error_message(sk: *mut Safekeeper) -> *mut ::std::os:... function conn_status (line 67) | extern "C" fn conn_status(sk: *mut Safekeeper) -> WalProposerConnStatusT... function conn_connect_start (line 75) | extern "C" fn conn_connect_start(sk: *mut Safekeeper) { function conn_connect_poll (line 83) | extern "C" fn conn_connect_poll(sk: *mut Safekeeper) -> WalProposerConne... function conn_send_query (line 91) | extern "C" fn conn_send_query(sk: *mut Safekeeper, query: *mut ::std::os... function conn_get_query_result (line 102) | extern "C" fn conn_get_query_result(sk: *mut Safekeeper) -> WalProposerE... function conn_flush (line 110) | extern "C" fn conn_flush(sk: *mut Safekeeper) -> ::std::os::raw::c_int { function conn_finish (line 118) | extern "C" fn conn_finish(sk: *mut Safekeeper) { function conn_async_read (line 126) | extern "C" fn conn_async_read( function conn_async_write (line 151) | extern "C" fn conn_async_write( function conn_blocking_write (line 164) | extern "C" fn conn_blocking_write( function recovery_download (line 177) | extern "C-unwind" fn recovery_download(wp: *mut WalProposer, sk: *mut Sa... function wal_reader_allocate (line 189) | extern "C" fn wal_reader_allocate(sk: *mut Safekeeper) { function wal_read (line 198) | extern "C" fn wal_read( function wal_reader_events (line 214) | extern "C" fn wal_reader_events(sk: *mut Safekeeper) -> uint32 { function init_event_set (line 222) | extern "C" fn init_event_set(wp: *mut WalProposer) { function update_event_set (line 230) | extern "C" fn update_event_set(sk: *mut Safekeeper, events: uint32) { function active_state_update_event_set (line 238) | extern "C" fn active_state_update_event_set(sk: *mut Safekeeper) { function add_safekeeper_event_set (line 246) | extern "C" fn add_safekeeper_event_set(sk: *mut Safekeeper, events: uint... function rm_safekeeper_event_set (line 254) | extern "C" fn rm_safekeeper_event_set(sk: *mut Safekeeper) { function wait_event_set (line 262) | extern "C-unwind" fn wait_event_set( function strong_random (line 293) | extern "C" fn strong_random( function get_redo_start_lsn (line 306) | extern "C" fn get_redo_start_lsn(wp: *mut WalProposer) -> XLogRecPtr { function finish_sync_safekeepers (line 314) | unsafe extern "C-unwind" fn finish_sync_safekeepers(wp: *mut WalProposer... function process_safekeeper_feedback (line 322) | extern "C" fn process_safekeeper_feedback(wp: *mut WalProposer, sk: *mut... function log_internal (line 330) | extern "C-unwind" fn log_internal( function reset_safekeeper_statuses_for_metrics (line 345) | extern "C" fn reset_safekeeper_statuses_for_metrics(wp: *mut WalProposer... function update_safekeeper_status_for_metrics (line 356) | extern "C" fn update_safekeeper_status_for_metrics( type Level (line 373) | pub enum Level { method from (line 390) | pub fn from(elevel: u32) -> Level { method fmt (line 492) | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { function create_api (line 412) | pub(crate) fn create_api() -> walproposer_api { function empty_shmem (line 452) | pub fn empty_shmem() -> crate::bindings::WalproposerShmemState { function take_vec_u8 (line 499) | pub(crate) fn take_vec_u8(pg: &mut StringInfoData) -> Option> { function store_vec_u8 (line 516) | fn store_vec_u8(pg: &mut StringInfoData, vec: Vec) -> *mut ::std::os... FILE: libs/walproposer/src/walproposer.rs type ApiImpl (line 20) | pub trait ApiImpl { method get_shmem_state (line 21) | fn get_shmem_state(&self) -> *mut crate::bindings::WalproposerShmemSta... method start_streaming (line 25) | fn start_streaming(&self, _startpos: u64, _callback: &StreamingCallbac... method get_flush_rec_ptr (line 29) | fn get_flush_rec_ptr(&self) -> u64 { method update_donor (line 33) | fn update_donor(&self, _donor: &mut Safekeeper, _donor_lsn: u64) { method get_current_timestamp (line 37) | fn get_current_timestamp(&self) -> i64 { method conn_error_message (line 41) | fn conn_error_message(&self, _sk: &mut Safekeeper) -> String { method conn_status (line 45) | fn conn_status(&self, _sk: &mut Safekeeper) -> crate::bindings::WalPro... method conn_connect_start (line 49) | fn conn_connect_start(&self, _sk: &mut Safekeeper) { method conn_connect_poll (line 53) | fn conn_connect_poll( method conn_send_query (line 60) | fn conn_send_query(&self, _sk: &mut Safekeeper, _query: &str) -> bool { method conn_get_query_result (line 64) | fn conn_get_query_result( method conn_flush (line 71) | fn conn_flush(&self, _sk: &mut Safekeeper) -> i32 { method conn_finish (line 75) | fn conn_finish(&self, _sk: &mut Safekeeper) { method conn_async_read (line 79) | fn conn_async_read( method conn_async_write (line 87) | fn conn_async_write( method conn_blocking_write (line 95) | fn conn_blocking_write(&self, _sk: &mut Safekeeper, _buf: &[u8]) -> bo... method recovery_download (line 99) | fn recovery_download(&self, _wp: &mut WalProposer, _sk: &mut Safekeepe... method wal_reader_allocate (line 103) | fn wal_reader_allocate(&self, _sk: &mut Safekeeper) -> NeonWALReadResu... method wal_read (line 107) | fn wal_read(&self, _sk: &mut Safekeeper, _buf: &mut [u8], _startpos: u... method wal_reader_events (line 111) | fn wal_reader_events(&self, _sk: &mut Safekeeper) -> u32 { method init_event_set (line 115) | fn init_event_set(&self, _wp: &mut WalProposer) { method update_event_set (line 119) | fn update_event_set(&self, _sk: &mut Safekeeper, _events_mask: u32) { method active_state_update_event_set (line 123) | fn active_state_update_event_set(&self, _sk: &mut Safekeeper) { method add_safekeeper_event_set (line 127) | fn add_safekeeper_event_set(&self, _sk: &mut Safekeeper, _events_mask:... method rm_safekeeper_event_set (line 131) | fn rm_safekeeper_event_set(&self, _sk: &mut Safekeeper) { method wait_event_set (line 135) | fn wait_event_set(&self, _wp: &mut WalProposer, _timeout_millis: i64) ... method strong_random (line 139) | fn strong_random(&self, _buf: &mut [u8]) -> bool { method get_redo_start_lsn (line 143) | fn get_redo_start_lsn(&self) -> u64 { method finish_sync_safekeepers (line 147) | fn finish_sync_safekeepers(&self, _lsn: u64) -> ! { method process_safekeeper_feedback (line 151) | fn process_safekeeper_feedback(&mut self, _wp: &mut WalProposer, _sk: ... method log_internal (line 155) | fn log_internal(&self, _wp: &mut WalProposer, _level: Level, _msg: &st... method after_election (line 159) | fn after_election(&self, _wp: &mut WalProposer) { method reset_safekeeper_statuses_for_metrics (line 164) | fn reset_safekeeper_statuses_for_metrics(&self, _wp: &mut WalProposer,... method update_safekeeper_status_for_metrics (line 168) | fn update_safekeeper_status_for_metrics( method get_shmem_state (line 361) | fn get_shmem_state(&self) -> *mut crate::bindings::WalproposerShmemSta... method get_current_timestamp (line 365) | fn get_current_timestamp(&self) -> i64 { method update_donor (line 370) | fn update_donor(&self, donor: &mut crate::bindings::Safekeeper, donor_... method conn_status (line 377) | fn conn_status( method conn_connect_start (line 385) | fn conn_connect_start(&self, _: &mut crate::bindings::Safekeeper) { method conn_connect_poll (line 389) | fn conn_connect_poll( method conn_send_query (line 397) | fn conn_send_query(&self, _: &mut crate::bindings::Safekeeper, query: ... method conn_get_query_result (line 402) | fn conn_get_query_result( method conn_async_read (line 410) | fn conn_async_read( method conn_blocking_write (line 422) | fn conn_blocking_write(&self, _: &mut crate::bindings::Safekeeper, buf... method recovery_download (line 428) | fn recovery_download( method wal_reader_allocate (line 436) | fn wal_reader_allocate(&self, _: &mut crate::bindings::Safekeeper) -> ... method init_event_set (line 441) | fn init_event_set(&self, _: &mut crate::bindings::WalProposer) { method update_event_set (line 445) | fn update_event_set(&self, sk: &mut crate::bindings::Safekeeper, event... method add_safekeeper_event_set (line 453) | fn add_safekeeper_event_set(&self, sk: &mut crate::bindings::Safekeepe... method rm_safekeeper_event_set (line 461) | fn rm_safekeeper_event_set(&self, sk: &mut crate::bindings::Safekeeper) { method wait_event_set (line 468) | fn wait_event_set( method strong_random (line 478) | fn strong_random(&self, buf: &mut [u8]) -> bool { method finish_sync_safekeepers (line 484) | fn finish_sync_safekeepers(&self, lsn: u64) -> ! { method log_internal (line 489) | fn log_internal(&self, _wp: &mut crate::bindings::WalProposer, level: ... method after_election (line 493) | fn after_election(&self, _wp: &mut crate::bindings::WalProposer) { type WaitResult (line 180) | pub enum WaitResult { type Config (line 187) | pub struct Config { type Wrapper (line 204) | pub struct Wrapper { method new (line 210) | pub fn new(api: Box, config: Config) -> Wrapper { method start (line 253) | pub fn start(&self) { method drop (line 259) | fn drop(&mut self) { type StreamingCallback (line 279) | pub struct StreamingCallback { method new (line 284) | pub fn new(wp: *mut WalProposer) -> StreamingCallback { method broadcast (line 288) | pub fn broadcast(&self, startpos: Lsn, endpos: Lsn) { method poll (line 292) | pub fn poll(&self) { type WaitEventsData (line 313) | struct WaitEventsData { type MockImpl (line 318) | struct MockImpl { method check_walproposer_msg (line 334) | fn check_walproposer_msg(&self, msg: &[u8]) { method next_safekeeper_reply (line 347) | fn next_safekeeper_reply(&self) -> &[u8] { function test_simple_sync_safekeepers (line 504) | fn test_simple_sync_safekeepers() -> anyhow::Result<()> { FILE: pageserver/benches/bench_ingest.rs function murmurhash32 (line 31) | fn murmurhash32(mut h: u32) -> u32 { type KeyLayout (line 41) | enum KeyLayout { type WriteDelta (line 51) | enum WriteDelta { type ConcurrentReads (line 57) | enum ConcurrentReads { function ingest (line 62) | async fn ingest( function ingest_main (line 231) | fn ingest_main( function criterion_benchmark (line 270) | fn criterion_benchmark(c: &mut Criterion) { FILE: pageserver/benches/bench_layer_map.rs function fixture_path (line 19) | fn fixture_path(relative: &str) -> PathBuf { function build_layer_map (line 23) | fn build_layer_map(filename_dump: PathBuf) -> LayerMap { function uniform_query_pattern (line 51) | fn uniform_query_pattern(layer_map: &LayerMap) -> Vec<(Key, Lsn)> { function bench_from_captest_env (line 78) | fn bench_from_captest_env(c: &mut Criterion) { function bench_from_real_project (line 107) | fn bench_from_real_project(c: &mut Criterion) { function bench_sequential (line 129) | fn bench_sequential(c: &mut Criterion) { function bench_visibility_with_map (line 173) | fn bench_visibility_with_map( function bench_visibility (line 185) | fn bench_visibility(c: &mut Criterion) { FILE: pageserver/benches/bench_metrics.rs function bench_naive_usage (line 16) | pub fn bench_naive_usage(c: &mut Criterion) { function bench_cache_label_values_lookup (line 67) | pub fn bench_cache_label_values_lookup(c: &mut Criterion) { function bench (line 134) | pub fn bench(c: &mut Criterion) { function bench_naive (line 187) | pub fn bench_naive(c: &mut Criterion) { function bench_long_lived_reference_per_thread (line 225) | pub fn bench_long_lived_reference_per_thread(c: &mut Criterion) { function bench_bucket_scalability (line 274) | pub fn bench_bucket_scalability(c: &mut Criterion) { FILE: pageserver/benches/bench_walredo.rs function bench (line 78) | fn bench(c: &mut Criterion) { function bench_impl (line 127) | fn bench_impl(redo_work: Arc, n_redos: u64, nclients: u64) ->... function client (line 172) | async fn client( type Request (line 207) | struct Request { method execute (line 216) | async fn execute(&self, manager: &PostgresRedoManager) -> anyhow::Resu... method pg_record (line 239) | fn pg_record(will_init: bool, bytes: &'static [u8]) -> NeonWalRecord { method short_input (line 248) | pub fn short_input() -> Request { method medium_input (line 278) | pub fn medium_input() -> Request { FILE: pageserver/benches/upload_queue.rs function bench_upload_queue_next_ready (line 31) | fn bench_upload_queue_next_ready(c: &mut Criterion) { FILE: pageserver/client/src/lib.rs type BlockUnblock (line 7) | pub enum BlockUnblock { method fmt (line 13) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: pageserver/client/src/mgmt_api.rs type Client (line 21) | pub struct Client { method new (line 77) | pub fn new(client: reqwest::Client, mgmt_api_endpoint: String, jwt: Op... method list_tenants (line 85) | pub async fn list_tenants(&self) -> Result Result(&self, uri: U) -> Result { method start_request (line 178) | fn start_request( method request_noerror (line 191) | async fn request_noerror( method request (line 204) | async fn request( method status (line 215) | pub async fn status(&self) -> Result<()> { method tenant_delete (line 224) | pub async fn tenant_delete(&self, tenant_shard_id: TenantShardId) -> R... method tenant_time_travel_remote_storage (line 240) | pub async fn tenant_time_travel_remote_storage( method tenant_timeline_compact (line 254) | pub async fn tenant_timeline_compact( method tenant_timeline_describe (line 293) | pub async fn tenant_timeline_describe( method list_tenant_visible_size (line 311) | pub async fn list_tenant_visible_size(&self) -> Result Re... method patch_tenant_config (line 337) | pub async fn patch_tenant_config(&self, req: &TenantConfigPatchRequest... method tenant_secondary_download (line 343) | pub async fn tenant_secondary_download( method tenant_secondary_status (line 365) | pub async fn tenant_secondary_status( method tenant_heatmap_upload (line 382) | pub async fn tenant_heatmap_upload(&self, tenant_id: TenantShardId) ->... method location_config (line 393) | pub async fn location_config( method list_location_config (line 422) | pub async fn list_location_config(&self) -> Result Re... method tenant_shard_split (line 598) | pub async fn tenant_shard_split( method timeline_list (line 614) | pub async fn timeline_list( method tenant_synthetic_size (line 629) | pub async fn tenant_synthetic_size( method put_io_engine (line 644) | pub async fn put_io_engine( method put_io_mode (line 657) | pub async fn put_io_mode( method get_utilization (line 669) | pub async fn get_utilization(&self) -> Result { method top_tenant_shards (line 678) | pub async fn top_tenant_shards( method layer_map_info (line 690) | pub async fn layer_map_info( method layer_evict (line 706) | pub async fn layer_evict( method layer_ondemand_download (line 730) | pub async fn layer_ondemand_download( method ingest_aux_files (line 754) | pub async fn ingest_aux_files( method list_aux_files (line 778) | pub async fn list_aux_files( method import_basebackup (line 807) | pub async fn import_basebackup( method import_wal (line 834) | pub async fn import_wal( method timeline_init_lsn_lease (line 858) | pub async fn timeline_init_lsn_lease( method reset_alert_gauges (line 876) | pub async fn reset_alert_gauges(&self) -> Result<()> { method wait_lsn (line 892) | pub async fn wait_lsn( method activate_post_import (line 907) | pub async fn activate_post_import( method update_feature_flag_spec (line 928) | pub async fn update_feature_flag_spec(&self, spec: String) -> Result<(... type Error (line 28) | pub enum Error { type Result (line 48) | pub type Result = std::result::Result; type ResponseErrorMessageExt (line 50) | pub trait ResponseErrorMessageExt: Sized { method error_from_body (line 51) | fn error_from_body(self) -> impl std::future::Future Result { type ForceAwaitLogicalSize (line 71) | pub enum ForceAwaitLogicalSize { FILE: pageserver/client/src/mgmt_api/util.rs function get_pageserver_tenant_timelines_unsharded (line 14) | pub async fn get_pageserver_tenant_timelines_unsharded( FILE: pageserver/client/src/page_service.rs type Client (line 15) | pub struct Client { method new (line 29) | pub async fn new(connstring: String) -> anyhow::Result { method pagestream (line 52) | pub async fn pagestream( method basebackup (line 86) | pub async fn basebackup(&self, req: &BasebackupRequest) -> anyhow::Res... type BasebackupRequest (line 21) | pub struct BasebackupRequest { type PagestreamClient (line 108) | pub struct PagestreamClient { method shutdown (line 141) | pub async fn shutdown(self) { method split (line 185) | pub fn split(self) -> (PagestreamSender, PagestreamReceiver) { method getpage (line 194) | pub async fn getpage( method getpage_send (line 202) | pub async fn getpage_send(&mut self, req: PagestreamGetPageRequest) ->... method getpage_recv (line 206) | pub async fn getpage_recv(&mut self) -> anyhow::Result anyhow::Resu... method getpage_send (line 219) | pub async fn getpage_send(&mut self, req: PagestreamGetPageRequest) ->... type PagestreamReceiver (line 120) | pub struct PagestreamReceiver { method recv (line 226) | pub async fn recv(&mut self) -> anyhow::Result { method getpage_recv (line 232) | pub async fn getpage_recv(&mut self) -> anyhow::Result = NonZero::new(64).unwrap(); constant MAX_BULK_CLIENTS_PER_CHANNEL (line 36) | const MAX_BULK_CLIENTS_PER_CHANNEL: NonZero = NonZero::new(16).un... constant BULK_THRESHOLD_BATCH_SIZE (line 42) | const BULK_THRESHOLD_BATCH_SIZE: usize = 5; constant CALL_TIMEOUT (line 46) | const CALL_TIMEOUT: Duration = Duration::from_secs(60); constant REQUEST_TIMEOUT (line 49) | const REQUEST_TIMEOUT: Duration = Duration::from_secs(10); constant BASE_BACKOFF (line 53) | const BASE_BACKOFF: Duration = Duration::from_millis(5); constant MAX_BACKOFF (line 56) | const MAX_BACKOFF: Duration = Duration::from_secs(5); constant SLOW_THRESHOLD (line 59) | const SLOW_THRESHOLD: Duration = Duration::from_secs(3); type PageserverClient (line 82) | pub struct PageserverClient { method new (line 98) | pub fn new( method update_shards (line 126) | pub fn update_shards(&self, shard_spec: ShardSpec) -> anyhow::Result<(... method get_db_size (line 161) | pub async fn get_db_size( method get_page (line 190) | pub async fn get_page( method get_page_with_shards (line 227) | async fn get_page_with_shards( method get_page_with_shard (line 257) | async fn get_page_with_shard( method get_rel_size (line 301) | pub async fn get_rel_size( method get_slru_segment (line 318) | pub async fn get_slru_segment( method with_retries (line 335) | async fn with_retries(timeout: Duration, f: F) -> tonic::Resu... method with_timeout (line 350) | async fn with_timeout( method is_bulk (line 364) | fn is_bulk(req: &page_api::GetPageRequest) -> bool { type ShardSpec (line 370) | pub struct ShardSpec { method new (line 389) | pub fn new( type Shards (line 437) | struct Shards { method new (line 455) | fn new( method get (line 487) | fn get(&self, shard_id: ShardIndex) -> tonic::Result<&Shard> { method get_zero (line 494) | fn get_zero(&self) -> &Shard { type Shard (line 517) | struct Shard { method new (line 530) | fn new( method client (line 574) | async fn client(&self) -> tonic::Result { method stream (line 585) | async fn stream(&self, bulk: bool) -> tonic::Result { FILE: pageserver/client_grpc/src/pool.rs constant REAP_IDLE_THRESHOLD (line 74) | const REAP_IDLE_THRESHOLD: Duration = match cfg!(any(test, feature = "te... constant REAP_IDLE_INTERVAL (line 80) | const REAP_IDLE_INTERVAL: Duration = match cfg!(any(test, feature = "tes... type ChannelPool (line 94) | pub struct ChannelPool { method new (line 116) | pub fn new(endpoint: E, max_clients_per_channel: NonZero) ->... method get (line 143) | pub fn get(self: &Arc) -> ChannelGuard { type ChannelID (line 105) | type ChannelID = usize; type ChannelEntry (line 107) | struct ChannelEntry { type ChannelGuard (line 187) | pub struct ChannelGuard { method take (line 196) | pub fn take(&mut self) -> Channel { method drop (line 203) | fn drop(&mut self) { type ClientPool (line 225) | pub struct ClientPool { method new (line 268) | pub fn new( method get (line 300) | pub async fn get(self: &Arc) -> tonic::Result { type ClientID (line 252) | type ClientID = (ChannelID, usize); type ClientEntry (line 254) | struct ClientEntry { type ClientGuard (line 355) | pub struct ClientGuard { type Target (line 364) | type Target = page_api::Client; method deref (line 366) | fn deref(&self) -> &Self::Target { method deref_mut (line 372) | fn deref_mut(&mut self) -> &mut Self::Target { method drop (line 379) | fn drop(&mut self) { type StreamPool (line 403) | pub struct StreamPool { method new (line 450) | pub fn new(client_pool: Arc, max_streams: Option) -> tonic::Result { type StreamID (line 420) | type StreamID = ClientID; type StreamEntry (line 423) | struct StreamEntry { type BiStream (line 431) | struct BiStream { type StreamGuard (line 521) | pub struct StreamGuard { method send (line 539) | pub async fn send( method drop (line 583) | fn drop(&mut self) { type Reaper (line 608) | struct Reaper { method new (line 619) | pub fn new(threshold: Duration, interval: Duration) -> Self { method spawn (line 629) | pub fn spawn(&self, pool: &Arc) { method drop (line 653) | fn drop(&mut self) { type Reapable (line 659) | trait Reapable: Send + Sync + 'static { method reap_idle (line 345) | fn reap_idle(&self, cutoff: Instant) { method reap_idle (line 511) | fn reap_idle(&self, cutoff: Instant) { method reap_idle (line 661) | fn reap_idle(&self, cutoff: Instant); FILE: pageserver/client_grpc/src/retry.rs type Retry (line 12) | pub struct Retry { method with (line 26) | pub async fn with(&self, mut f: F) -> tonic::Result method backoff_duration (line 112) | fn backoff_duration(&self, retries: usize) -> Option { method should_retry (line 122) | fn should_retry(code: tonic::Code) -> bool { FILE: pageserver/compaction/src/bin/compaction-simulator.rs type CliOpts (line 20) | struct CliOpts { type Commands (line 26) | enum Commands { type Distribution (line 32) | enum Distribution { type SimulateCmd (line 39) | struct SimulateCmd { function simulate (line 51) | async fn simulate(cmd: &SimulateCmd, results_path: &Path) -> anyhow::Res... function run_suite_cmd (line 123) | async fn run_suite_cmd(results_path: &Path, workload: &SimulateCmd) -> a... function run_suite (line 132) | async fn run_suite() -> anyhow::Result<()> { function get_log_output (line 165) | fn get_log_output() -> &'static Mutex> { function set_log_file (line 169) | fn set_log_file(f: File) { function set_log_stdout (line 173) | fn set_log_stdout() { function init_logging (line 177) | fn init_logging() -> anyhow::Result<()> { function main (line 202) | async fn main() -> anyhow::Result<()> { FILE: pageserver/compaction/src/compact_tiered.rs function compact_tiered (line 41) | pub async fn compact_tiered( function compact_level (line 123) | async fn compact_level( type LevelCompactionState (line 172) | struct LevelCompactionState<'a, E> type LayerId (line 196) | struct LayerId(usize); type JobId (line 198) | struct JobId(usize); type PendingJobSet (line 200) | struct PendingJobSet { method new (line 206) | fn new() -> Self { method complete_job (line 213) | fn complete_job(&mut self, job_id: JobId) { method all_completed (line 218) | fn all_completed(&self) -> bool { type LayerFragment (line 226) | struct LayerFragment function new (line 247) | fn new(layer: E::Layer) -> Self { type CompactionStrategy (line 257) | enum CompactionStrategy { type CompactionJob (line 263) | struct CompactionJob { function execute (line 286) | async fn execute(&mut self, ctx: &E::RequestContext) -> anyhow::Result<(... function execute_job (line 297) | async fn execute_job(&mut self, job_id: JobId, ctx: &E::RequestContext) ... function push_job (line 348) | fn push_job(&mut self, job: CompactionJob) -> JobId { function divide_job (line 361) | async fn divide_job(&mut self, job_id: JobId, ctx: &E::RequestContext) -... function cover_with_images (line 422) | async fn cover_with_images( function retile_deltas (line 517) | async fn retile_deltas( type KeyspaceWindow (line 668) | struct KeyspaceWindow { type KeyspaceWindowHead (line 673) | struct KeyspaceWindowHead { type KeyspaceWindowPos (line 682) | struct KeyspaceWindowPos { function reached_end (line 690) | fn reached_end(&self, w: &KeyspaceWindowHead) -> bool { function advance_until_size (line 695) | fn advance_until_size( function new (line 735) | fn new(key_range: Range, keyspace: CompactionKeySpace, target_keys... function choose_next_image (line 754) | fn choose_next_image(&mut self, shard_identity: &ShardIdentity) -> Optio... type WindowElement (line 801) | struct WindowElement { type Window (line 810) | struct Window { function new (line 822) | fn new() -> Self { function feed (line 830) | fn feed(&mut self, key: K, size: u64) { function remain_size (line 853) | fn remain_size(&self) -> u64 { function peek_size (line 857) | fn peek_size(&self) -> u64 { function is_empty (line 861) | fn is_empty(&self) -> bool { function commit_upto (line 865) | fn commit_upto(&mut self, mut upto: usize) { function find_size_split (line 873) | fn find_size_split(&self, target_size: u64) -> usize { function pop (line 878) | fn pop(&mut self) { function pop_delta (line 888) | fn pop_delta(&mut self) -> Range { function choose_next_delta (line 899) | fn choose_next_delta(&mut self, target_size: u64, has_more: bool) -> Opt... FILE: pageserver/compaction/src/helpers.rs constant PAGE_SZ (line 19) | pub const PAGE_SZ: u64 = 8192; function keyspace_total_size (line 21) | pub fn keyspace_total_size( function overlaps_with (line 34) | pub fn overlaps_with(a: &Range, b: &Range) -> bool { function fully_contains (line 43) | pub fn fully_contains(a: &Range, b: &Range) -> bool { function union_to_keyspace (line 47) | pub fn union_to_keyspace(a: &mut CompactionKeySpace, b: Compa... function intersect_keyspace (line 71) | pub fn intersect_keyspace( function merge_delta_keys (line 102) | pub fn merge_delta_keys<'a, E: CompactionJobExecutor>( function merge_delta_keys_buffered (line 124) | pub async fn merge_delta_keys_buffered<'a, E: CompactionJobExecutor + 'a>( type LazyLoadLayer (line 141) | enum LazyLoadLayer<'a, E: CompactionJobExecutor> { function min_key (line 146) | fn min_key(&self) -> E::Key { function min_lsn (line 152) | fn min_lsn(&self) -> Lsn { method partial_cmp (line 160) | fn partial_cmp(&self, other: &Self) -> Option { method cmp (line 165) | fn cmp(&self, other: &Self) -> std::cmp::Ordering { method eq (line 171) | fn eq(&self, other: &Self) -> bool { type LoadFuture (line 177) | type LoadFuture<'a, E> = BoxFuture<'a, anyhow::Result>>; type Item (line 196) | type Item = anyhow::Result<>::D... method poll_next (line 198) | fn poll_next( type KeySize (line 245) | pub struct KeySize { function accum_key_values (line 253) | pub fn accum_key_values<'a, I, K, D, E>( FILE: pageserver/compaction/src/identify_levels.rs type Level (line 38) | pub struct Level { function identify_level (line 48) | pub async fn identify_level( function depth (line 179) | pub fn depth(&self) -> u64 function delta (line 258) | fn delta(key_range: Range, lsn_range: Range) -> MockLayer { function image (line 269) | fn image(key_range: Range, lsn: Lsn) -> MockLayer { function test_identify_level (line 280) | async fn test_identify_level() -> anyhow::Result<()> { function test_overlapping_lsn_ranges (line 316) | async fn test_overlapping_lsn_ranges() -> anyhow::Result<()> { function test_depth_nonoverlapping (line 338) | async fn test_depth_nonoverlapping() -> anyhow::Result<()> { function test_depth_images (line 368) | async fn test_depth_images() -> anyhow::Result<()> { FILE: pageserver/compaction/src/interface.rs type CompactionJobExecutor (line 15) | pub trait CompactionJobExecutor { method get_shard_identity (line 38) | fn get_shard_identity(&self) -> &ShardIdentity; method get_layers (line 41) | fn get_layers( method get_keyspace (line 48) | fn get_keyspace( method downcast_delta_layer (line 58) | fn downcast_delta_layer( method create_image (line 70) | fn create_image( method create_delta (line 79) | fn create_delta( method delete_layer (line 92) | fn delete_layer( type CompactionKey (line 99) | pub trait CompactionKey: std::cmp::Ord + Clone + Copy + std::fmt::Display { constant MIN (line 100) | const MIN: Self; constant MAX (line 101) | const MAX: Self; method key_range_size (line 107) | fn key_range_size(key_range: &Range, shard_identity: &ShardIdent... method next (line 110) | fn next(&self) -> Self; method skip_some (line 115) | fn skip_some(&self) -> Self; constant MIN (line 119) | const MIN: Self = Self::MIN; constant MAX (line 120) | const MAX: Self = Self::MAX; method key_range_size (line 122) | fn key_range_size(r: &std::ops::Range, shard_identity: &ShardIde... method next (line 125) | fn next(&self) -> Key { method skip_some (line 128) | fn skip_some(&self) -> Key { type CompactionKeySpace (line 135) | pub type CompactionKeySpace = Vec>; type CompactionLayer (line 138) | pub trait CompactionLayer { method key_range (line 139) | fn key_range(&self) -> &Range; method lsn_range (line 140) | fn lsn_range(&self) -> &Range; method file_size (line 142) | fn file_size(&self) -> u64; method short_id (line 145) | fn short_id(&self) -> String; method is_delta (line 147) | fn is_delta(&self) -> bool; type CompactionDeltaLayer (line 149) | pub trait CompactionDeltaLayer: Compa... method load_keys (line 155) | fn load_keys( type CompactionImageLayer (line 161) | pub trait CompactionImageLayer: Compa... type CompactionDeltaEntry (line 163) | pub trait CompactionDeltaEntry<'a, K> { method key (line 164) | fn key(&self) -> K; method lsn (line 165) | fn lsn(&self) -> Lsn; method size (line 166) | fn size(&self) -> u64; type CompactionRequestContext (line 169) | pub trait CompactionRequestContext {} FILE: pageserver/compaction/src/simulator.rs type MockTimeline (line 21) | pub struct MockTimeline { method new (line 182) | pub fn new() -> Self { method compact (line 214) | pub async fn compact(&mut self) -> anyhow::Result<()> { method ingest_record (line 230) | pub fn ingest_record(&mut self, key: Key, len: u64) { method compact_if_needed (line 244) | pub async fn compact_if_needed(&mut self) -> anyhow::Result<()> { method flush_l0 (line 252) | pub fn flush_l0(&mut self) { method ingest_uniform (line 296) | pub fn ingest_uniform( method stats (line 311) | pub fn stats(&self) -> anyhow::Result { method draw_history (line 346) | pub fn draw_history(&self, output: W) -> anyhow::Re... type Key (line 428) | type Key = Key; type Layer (line 429) | type Layer = MockLayer; type DeltaLayer (line 430) | type DeltaLayer = Arc; type ImageLayer (line 431) | type ImageLayer = Arc; type RequestContext (line 432) | type RequestContext = MockRequestContext; method get_shard_identity (line 434) | fn get_shard_identity(&self) -> &ShardIdentity { method get_layers (line 439) | async fn get_layers( method get_keyspace (line 460) | async fn get_keyspace( method downcast_delta_layer (line 482) | async fn downcast_delta_layer( method create_image (line 493) | async fn create_image( method create_delta (line 537) | async fn create_delta( method delete_layer (line 589) | async fn delete_layer( type KeySpace (line 60) | type KeySpace = interface::CompactionKeySpace; type MockRequestContext (line 62) | pub struct MockRequestContext {} type Key (line 65) | pub type Key = u64; constant MIN (line 68) | const MIN: Self = u64::MIN; constant MAX (line 69) | const MAX: Self = u64::MAX; method key_range_size (line 71) | fn key_range_size(key_range: &Range, _shard_identity: &ShardIden... method next (line 75) | fn next(&self) -> Self { method skip_some (line 78) | fn skip_some(&self) -> Self { type MockRecord (line 85) | pub struct MockRecord { method key (line 92) | fn key(&self) -> Key { method lsn (line 95) | fn lsn(&self) -> Lsn { method size (line 98) | fn size(&self) -> u64 { type MockDeltaLayer (line 103) | pub struct MockDeltaLayer { function key_range (line 115) | fn key_range(&self) -> &Range { function lsn_range (line 118) | fn lsn_range(&self) -> &Range { function file_size (line 122) | fn file_size(&self) -> u64 { function short_id (line 126) | fn short_id(&self) -> String { function is_delta (line 133) | fn is_delta(&self) -> bool { type DeltaEntry (line 139) | type DeltaEntry<'a> = MockRecord; function load_keys (line 141) | async fn load_keys(&self, _ctx: &MockRequestContext) -> anyhow::Result &Range { function lsn_range (line 161) | fn lsn_range(&self) -> &Range { function file_size (line 165) | fn file_size(&self) -> u64 { function short_id (line 169) | fn short_id(&self) -> String { function is_delta (line 176) | fn is_delta(&self) -> bool { method default (line 352) | fn default() -> Self { type MockLayer (line 358) | pub enum MockLayer { method key_range (line 364) | fn key_range(&self) -> &Range { method lsn_range (line 370) | fn lsn_range(&self) -> &Range { method file_size (line 376) | fn file_size(&self) -> u64 { method short_id (line 382) | fn short_id(&self) -> String { method is_delta (line 389) | fn is_delta(&self) -> bool { method is_deleted (line 398) | fn is_deleted(&self) -> bool { method mark_deleted (line 405) | fn mark_deleted(&self) { method from (line 416) | fn from(l: &Arc) -> Self { method from (line 422) | fn from(l: &Arc) -> Self { FILE: pageserver/compaction/src/simulator/draw.rs type CoordinateMap (line 14) | struct CoordinateMap { function new (line 20) | fn new(coords: Vec, stretch: f32) -> Self { function map (line 33) | fn map(&self, val: T) -> f32 { function _map_inexact (line 39) | fn _map_inexact(&self, val: T) -> f32 { function max (line 47) | fn max(&self) -> f32 { type LayerTraceOp (line 53) | pub enum LayerTraceOp { method fmt (line 61) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt:... type LayerTraceFile (line 73) | pub struct LayerTraceFile { method is_image (line 80) | fn is_image(&self) -> bool { type LayerTraceEvent (line 85) | pub struct LayerTraceEvent { function draw_history (line 91) | pub fn draw_history(history: &[LayerTraceEvent], mut ... FILE: pageserver/compaction/tests/tests.rs function setup_logging (line 8) | pub(crate) fn setup_logging() { function test_many_updates_for_single_key (line 24) | async fn test_many_updates_for_single_key() { function test_simple_updates (line 50) | async fn test_simple_updates() { FILE: pageserver/ctl/src/download_remote_object.rs type DownloadRemoteObjectCmd (line 23) | pub(crate) struct DownloadRemoteObjectCmd { function main (line 39) | pub(crate) async fn main(cmd: &DownloadRemoteObjectCmd) -> anyhow::Resul... FILE: pageserver/ctl/src/draw_timeline_dir.rs function build_coordinate_compression_map (line 70) | fn build_coordinate_compression_map(coords: Vec) -> BT... function parse_filename (line 81) | fn parse_filename(name: &str) -> (Range, Range) { type LineKind (line 112) | enum LineKind { method from (line 118) | fn from(value: LineKind) -> Self { type Err (line 127) | type Err = anyhow::Error; method from_str (line 129) | fn from_str(s: &str) -> std::prelude::v1::Result { function main (line 138) | pub fn main() -> Result<()> { FILE: pageserver/ctl/src/index_part.rs type IndexPartCmd (line 21) | pub(crate) enum IndexPartCmd { function create_layer_map_from_index_part (line 45) | fn create_layer_map_from_index_part( function search_layers (line 65) | async fn search_layers( type VisibleLayers (line 118) | struct VisibleLayers { method new (line 127) | pub fn new() -> Self { method add_layer (line 137) | pub fn add_layer(&mut self, name: LayerName, layer: LayerFileMetadata) { function list_visible_layers (line 152) | async fn list_visible_layers(path: &Utf8PathBuf) -> anyhow::Result<()> { function main (line 180) | pub(crate) async fn main(cmd: &IndexPartCmd) -> anyhow::Result<()> { FILE: pageserver/ctl/src/key.rs type DescribeKeyCommand (line 10) | pub(super) struct DescribeKeyCommand { method execute (line 58) | pub(super) fn execute(self) { type CustomShardCount (line 28) | pub(super) struct CustomShardCount(std::num::NonZeroU8); type InvalidShardCount (line 31) | pub(super) enum InvalidShardCount { type Err (line 39) | type Err = InvalidShardCount; method from_str (line 41) | fn from_str(s: &str) -> Result { method from (line 52) | fn from(value: CustomShardCount) -> Self { type KeyMaterial (line 151) | pub(super) enum KeyMaterial { method kind (line 158) | fn kind(&self) -> &'static str { type Error (line 179) | type Error = anyhow::Error; method try_from (line 181) | fn try_from(value: &[S]) -> Result { method from (line 167) | fn from(value: KeyMaterial) -> Self { type SpanAttributesFromLogs (line 244) | pub(super) struct SpanAttributesFromLogs(RelTag, BlockNumber); type Err (line 247) | type Err = anyhow::Error; method from_str (line 249) | fn from_str(s: &str) -> Result { type RecognizedKeyKind (line 275) | enum RecognizedKeyKind { method new (line 295) | fn new(key: Key) -> Option { type AuxFileV2 (line 288) | enum AuxFileV2 { method new (line 323) | fn new(key: Key) -> Option { type RelTagish (line 360) | struct RelTagish([u32; N]); function from (line 363) | fn from(val: [u32; N]) -> Self { function fmt (line 369) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function hex_is_key_material (line 389) | fn hex_is_key_material() { function single_positional_spanalike_is_key_material (line 395) | fn single_positional_spanalike_is_key_material() { function multiple_spanlike_args (line 425) | fn multiple_spanlike_args() { function recognized_auxfiles (line 454) | fn recognized_auxfiles() { FILE: pageserver/ctl/src/layer_map_analyzer.rs constant MIN_HOLE_LENGTH (line 29) | const MIN_HOLE_LENGTH: i128 = (128 * 1024 * 1024 / PAGE_SZ) as i128; constant DEFAULT_MAX_HOLES (line 30) | const DEFAULT_MAX_HOLES: usize = 10; type Hole (line 34) | pub struct Hole(Range); method cmp (line 37) | fn cmp(&self, other: &Self) -> Ordering { method partial_cmp (line 45) | fn partial_cmp(&self, other: &Self) -> Option { type LayerFile (line 50) | pub(crate) struct LayerFile { method skips (line 58) | fn skips(&self, key_range: &Range) -> bool { function parse_filename (line 78) | pub(crate) fn parse_filename(name: &str) -> anyhow::Result { function get_holes (line 92) | async fn get_holes(path: &Utf8Path, max_holes: usize, ctx: &RequestConte... function main (line 131) | pub(crate) async fn main(cmd: &AnalyzeLayerMapCmd) -> Result<()> { FILE: pageserver/ctl/src/layers.rs type LayerCmd (line 19) | pub(crate) enum LayerCmd { function read_delta_file (line 52) | async fn read_delta_file(path: impl AsRef, ctx: &RequestContext) -... function read_image_file (line 67) | async fn read_image_file(path: impl AsRef, ctx: &RequestContext) -... function main (line 82) | pub(crate) async fn main(cmd: &LayerCmd) -> Result<()> { function print_layer_file (line 248) | fn print_layer_file(idx: usize, layer_file: &LayerFile) { FILE: pageserver/ctl/src/main.rs type CliOpts (line 49) | struct CliOpts { type Commands (line 55) | enum Commands { type MetadataCmd (line 73) | struct MetadataCmd { type PrintLayerFileCmd (line 85) | struct PrintLayerFileCmd { type TimeTravelRemotePrefixCmd (line 95) | struct TimeTravelRemotePrefixCmd { type AnalyzeLayerMapCmd (line 111) | struct AnalyzeLayerMapCmd { function main (line 119) | async fn main() -> anyhow::Result<()> { function read_pg_control_file (line 198) | fn read_pg_control_file(control_file_path: &Utf8Path) -> anyhow::Result<... function print_layerfile (line 210) | async fn print_layerfile(path: &Utf8Path) -> anyhow::Result<()> { function handle_metadata (line 224) | fn handle_metadata( function validate_prefix (line 287) | fn validate_prefix(prefix: &str) -> Option { function strip_subsecond (line 323) | fn strip_subsecond(timestamp: SystemTime) -> SystemTime { function test_validate_prefix (line 333) | fn test_validate_prefix() { FILE: pageserver/ctl/src/page_trace.rs type PageTraceCmd (line 13) | pub(crate) struct PageTraceCmd { function main (line 18) | pub(crate) fn main(cmd: &PageTraceCmd) -> anyhow::Result<()> { FILE: pageserver/page_api/build.rs function main (line 6) | fn main() -> Result<(), Box> { FILE: pageserver/page_api/src/client.rs type Client (line 20) | pub struct Client { method connect (line 26) | pub async fn connect( method new (line 51) | pub fn new( method get_base_backup (line 73) | pub async fn get_base_backup( method get_db_size (line 87) | pub async fn get_db_size(&mut self, req: GetDbSizeRequest) -> tonic::R... method get_pages (line 98) | pub async fn get_pages( method get_rel_size (line 109) | pub async fn get_rel_size( method get_slru_segment (line 119) | pub async fn get_slru_segment( method lease_lsn (line 133) | pub async fn lease_lsn(&mut self, req: LeaseLsnRequest) -> tonic::Resu... type AuthInterceptor (line 142) | struct AuthInterceptor { method new (line 150) | fn new( method call (line 168) | fn call(&mut self, mut req: tonic::Request<()>) -> tonic::Result Se... function from (line 46) | fn from(err: ProtocolError) -> Self { type ReadLsn (line 53) | pub struct ReadLsn { type Error (line 81) | type Error = ProtocolError; method try_from (line 83) | fn try_from(pb: proto::ReadLsn) -> Result { method fmt (line 70) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function from (line 104) | fn from(read_lsn: ReadLsn) -> Self { type RelTag (line 113) | pub type RelTag = pageserver_api::reltag::RelTag; type Error (line 116) | type Error = ProtocolError; method try_from (line 118) | fn try_from(pb: proto::RelTag) -> Result { function from (line 132) | fn from(rel_tag: RelTag) -> Self { type GetBaseBackupRequest (line 144) | pub struct GetBaseBackupRequest { type Error (line 157) | type Error = ProtocolError; method try_from (line 159) | fn try_from(pb: proto::GetBaseBackupRequest) -> Result Self { type BaseBackupCompression (line 182) | pub enum BaseBackupCompression { type Error (line 188) | type Error = ProtocolError; method try_from (line 190) | fn try_from(pb: proto::BaseBackupCompression) -> Result Result { function from (line 210) | fn from(compression: BaseBackupCompression) -> Self { function from (line 219) | fn from(compression: BaseBackupCompression) -> Self { type GetBaseBackupResponseChunk (line 224) | pub type GetBaseBackupResponseChunk = Bytes; type Error (line 227) | type Error = ProtocolError; method try_from (line 229) | fn try_from(pb: proto::GetBaseBackupResponseChunk) -> Result Self { type GetDbSizeRequest (line 245) | pub struct GetDbSizeRequest { type Error (line 251) | type Error = ProtocolError; method try_from (line 253) | fn try_from(pb: proto::GetDbSizeRequest) -> Result { function from (line 265) | fn from(request: GetDbSizeRequest) -> Self { type GetDbSizeResponse (line 273) | pub type GetDbSizeResponse = u64; method from (line 276) | fn from(pb: proto::GetDbSizeResponse) -> Self { function from (line 282) | fn from(num_bytes: GetDbSizeResponse) -> Self { type GetPageRequest (line 289) | pub struct GetPageRequest { type Error (line 308) | type Error = ProtocolError; method try_from (line 310) | fn try_from(pb: proto::GetPageRequest) -> Result { function from (line 331) | fn from(request: GetPageRequest) -> Self { type RequestID (line 344) | pub struct RequestID { method new (line 353) | pub fn new(id: u64) -> Self { method from (line 365) | fn from(pb: proto::RequestId) -> Self { method from (line 374) | fn from(id: u64) -> Self { method fmt (line 359) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function from (line 380) | fn from(request_id: RequestID) -> Self { type GetPageClass (line 390) | pub enum GetPageClass { method from (line 404) | fn from(pb: proto::GetPageClass) -> Self { method from (line 415) | fn from(class: i32) -> Self { function from (line 423) | fn from(class: GetPageClass) -> Self { function from (line 434) | fn from(class: GetPageClass) -> Self { type GetPageResponse (line 446) | pub struct GetPageResponse { type Error (line 460) | type Error = ProtocolError; method try_from (line 462) | fn try_from(pb: proto::GetPageResponse) -> Result { method try_from_status (line 493) | pub fn try_from_status( function from (line 477) | fn from(response: GetPageResponse) -> Self { type Page (line 524) | pub struct Page { method from (line 532) | fn from(pb: proto::Page) -> Self { function from (line 541) | fn from(page: Page) -> Self { type GetPageStatusCode (line 555) | pub enum GetPageStatusCode { method from (line 573) | fn from(pb: proto::GetPageStatusCode) -> Self { method from (line 586) | fn from(status_code: i32) -> Self { type Error (line 613) | type Error = tonic::Code; method try_from (line 615) | fn try_from(code: tonic::Code) -> Result { function from (line 594) | fn from(status_code: GetPageStatusCode) -> Self { function from (line 607) | fn from(status_code: GetPageStatusCode) -> Self { function from (line 646) | fn from(status_code: GetPageStatusCode) -> Self { type GetRelSizeRequest (line 663) | pub struct GetRelSizeRequest { type Error (line 671) | type Error = ProtocolError; method try_from (line 673) | fn try_from(proto: proto::GetRelSizeRequest) -> Result Self { type GetRelSizeResponse (line 699) | pub type GetRelSizeResponse = Option; method from (line 702) | fn from(pb: proto::GetRelSizeResponse) -> Self { function from (line 708) | fn from(resp: GetRelSizeResponse) -> Self { type GetSlruSegmentRequest (line 718) | pub struct GetSlruSegmentRequest { type Error (line 725) | type Error = ProtocolError; method try_from (line 727) | fn try_from(pb: proto::GetSlruSegmentRequest) -> Result Self { type GetSlruSegmentResponse (line 752) | pub type GetSlruSegmentResponse = Bytes; type Error (line 755) | type Error = ProtocolError; method try_from (line 757) | fn try_from(pb: proto::GetSlruSegmentResponse) -> Result Self { type SlruKind (line 772) | pub type SlruKind = pageserver_api::reltag::SlruKind; type LeaseLsnRequest (line 776) | pub struct LeaseLsnRequest { type Error (line 782) | type Error = ProtocolError; method try_from (line 784) | fn try_from(pb: proto::LeaseLsnRequest) -> Result { function from (line 793) | fn from(request: LeaseLsnRequest) -> Self { type LeaseLsnResponse (line 800) | pub type LeaseLsnResponse = SystemTime; type Error (line 803) | type Error = ProtocolError; method try_from (line 805) | fn try_from(pb: proto::LeaseLsnResponse) -> Result { function from (line 814) | fn from(response: LeaseLsnResponse) -> Self { FILE: pageserver/page_api/src/split.rs type GetPageSplitter (line 12) | pub struct GetPageSplitter { method for_single_shard (line 25) | pub fn for_single_shard( method split (line 58) | pub fn split( method drain_requests (line 125) | pub fn drain_requests(&mut self) -> impl Iterator Result { type SplitError (line 228) | pub struct SplitError(String); method from (line 231) | fn from(err: &str) -> Self { method from (line 237) | fn from(err: String) -> Self { function from (line 243) | fn from(err: SplitError) -> Self { FILE: pageserver/pagebench/src/cmd/aux_files.rs type Args (line 12) | pub(crate) struct Args { function main (line 23) | pub(crate) fn main(args: Args) -> anyhow::Result<()> { function main_impl (line 33) | async fn main_impl(args: Args) -> anyhow::Result<()> { FILE: pageserver/pagebench/src/cmd/basebackup.rs type Args (line 33) | pub(crate) struct Args { type LiveStats (line 53) | struct LiveStats { method inc (line 58) | fn inc(&self) { type Target (line 63) | struct Target { type Output (line 69) | struct Output { function main (line 75) | pub(crate) fn main(args: Args) -> anyhow::Result<()> { function main_impl (line 81) | async fn main_impl( type Work (line 236) | struct Work { function run_worker (line 241) | async fn run_worker( type Client (line 270) | trait Client: Send { method basebackup (line 271) | async fn basebackup( method basebackup (line 300) | async fn basebackup( method basebackup (line 348) | async fn basebackup( type LibpqClient (line 278) | struct LibpqClient { method new (line 285) | async fn new( type GrpcClient (line 318) | struct GrpcClient { method new (line 324) | async fn new( FILE: pageserver/pagebench/src/cmd/getpage_latest_lsn.rs type Args (line 36) | pub(crate) struct Args { type SharedState (line 103) | struct SharedState { type LiveStats (line 109) | struct LiveStats { method request_done (line 115) | fn request_done(&self) { method missed (line 118) | fn missed(&self, n: u64) { type KeyRange (line 124) | struct KeyRange { method len (line 132) | fn len(&self) -> i128 { type WorkerId (line 138) | struct WorkerId { type Output (line 144) | struct Output { function main (line 150) | pub(crate) fn main(args: Args) -> anyhow::Result<()> { function main_impl (line 156) | async fn main_impl( function run_worker (line 422) | async fn run_worker( type Client (line 552) | trait Client: Send { method send_get_page (line 554) | async fn send_get_page( method recv_get_page (line 564) | async fn recv_get_page(&mut self) -> anyhow::Result<(u64, Vec)>; method send_get_page (line 589) | async fn send_get_page( method recv_get_page (line 616) | async fn recv_get_page(&mut self) -> anyhow::Result<(u64, Vec)> { method send_get_page (line 667) | async fn send_get_page( method recv_get_page (line 689) | async fn recv_get_page(&mut self) -> anyhow::Result<(u64, Vec)> { method send_get_page (line 736) | async fn send_get_page( method recv_get_page (line 764) | async fn recv_get_page(&mut self) -> anyhow::Result<(u64, Vec)> { type LibpqClient (line 568) | struct LibpqClient { method new (line 575) | async fn new(connstring: &str, ttid: TenantTimelineId) -> anyhow::Resu... type GrpcClient (line 633) | struct GrpcClient { method new (line 639) | async fn new( type RichGrpcClient (line 704) | struct RichGrpcClient { method new (line 712) | async fn new( FILE: pageserver/pagebench/src/cmd/idle_streams.rs type Args (line 15) | pub(crate) struct Args { function main (line 33) | pub(crate) fn main(args: Args) -> anyhow::Result<()> { function main_impl (line 41) | async fn main_impl(args: Args) -> anyhow::Result<()> { FILE: pageserver/pagebench/src/cmd/ondemand_download_churn.rs type Args (line 19) | pub(crate) struct Args { function main (line 40) | pub(crate) fn main(args: Args) -> anyhow::Result<()> { type Output (line 50) | struct Output { type LiveStats (line 60) | struct LiveStats { method eviction_done (line 68) | fn eviction_done(&self) { method download_done (line 71) | fn download_done(&self, size: u64) { method timeline_restart_done (line 75) | fn timeline_restart_done(&self) { function main_impl (line 80) | async fn main_impl(args: Args) -> anyhow::Result<()> { function timeline_actor (line 195) | async fn timeline_actor( function layer_actor (line 281) | async fn layer_actor( FILE: pageserver/pagebench/src/cmd/trigger_initial_size_calculation.rs type Args (line 10) | pub(crate) struct Args { function main (line 27) | pub(crate) fn main(args: Args) -> anyhow::Result<()> { function main_impl (line 37) | async fn main_impl(args: Args) -> anyhow::Result<()> { FILE: pageserver/pagebench/src/main.rs type Args (line 30) | struct Args { type Subcommand (line 41) | enum Subcommand { function main (line 50) | fn main() -> anyhow::Result<()> { FILE: pageserver/pagebench/src/util/cli/targets.rs type Spec (line 7) | pub(crate) struct Spec { function discover (line 12) | pub(crate) async fn discover( FILE: pageserver/pagebench/src/util/request_stats.rs type Stats (line 5) | pub(crate) struct Stats { method new (line 10) | pub(crate) fn new() -> Self { method observe (line 17) | pub(crate) fn observe(&mut self, latency: Duration) -> anyhow::Result<... method output (line 27) | pub(crate) fn output(&self) -> Output { method add (line 42) | pub(crate) fn add(&mut self, other: &Self) { method default (line 49) | fn default() -> Self { constant LATENCY_PERCENTILES (line 54) | const LATENCY_PERCENTILES: [f64; 4] = [95.0, 99.00, 99.90, 99.99]; type LatencyPercentiles (line 56) | struct LatencyPercentiles { method serialize (line 61) | fn serialize(&self, serializer: S) -> Result type Output (line 78) | pub(crate) struct Output { FILE: pageserver/pagebench/src/util/tokio_thread_local_stats.rs type ThreadLocalStats (line 1) | pub(crate) type ThreadLocalStats = Arc>; type AllThreadLocalStats (line 2) | pub(crate) type AllThreadLocalStats = Arc usize; method into_usize (line 17) | fn into_usize(self) -> usize { type UsizeIsU64 (line 24) | pub(crate) trait UsizeIsU64 { method into_u64 (line 25) | fn into_u64(self) -> u64; method into_u64 (line 30) | fn into_u64(self) -> u64 { function u64_to_usize (line 37) | pub const fn u64_to_usize(x: u64) -> usize { FILE: pageserver/src/auth.rs function check_permission (line 4) | pub fn check_permission(claims: &Claims, tenant_id: Option) ->... FILE: pageserver/src/aux_file.rs function fnv_hash (line 13) | pub const fn fnv_hash(bytes: &[u8]) -> u128 { function aux_hash_to_metadata_key (line 30) | fn aux_hash_to_metadata_key(dir_level1: u8, dir_level2: u8, data: &[u8])... constant AUX_DIR_PG_LOGICAL (line 40) | const AUX_DIR_PG_LOGICAL: u8 = 0x01; constant AUX_DIR_PG_REPLSLOT (line 41) | const AUX_DIR_PG_REPLSLOT: u8 = 0x02; constant AUX_DIR_PG_STAT (line 42) | const AUX_DIR_PG_STAT: u8 = 0x03; constant AUX_DIR_PG_UNKNOWN (line 43) | const AUX_DIR_PG_UNKNOWN: u8 = 0xFF; function encode_aux_file_key (line 63) | pub fn encode_aux_file_key(path: &str) -> Key { constant AUX_FILE_ENCODING_VERSION (line 93) | const AUX_FILE_ENCODING_VERSION: u8 = 0x01; function decode_file_value (line 95) | pub fn decode_file_value(val: &[u8]) -> anyhow::Result anyhow::Result anyhow::Result Self { method on_initial (line 186) | pub fn on_initial(&self, new_size: usize) { method on_add (line 192) | pub fn on_add(&self, file_size: usize) { method on_remove (line 200) | pub fn on_remove(&self, file_size: usize) { method on_update (line 208) | pub fn on_update(&self, old_size: usize, new_size: usize) { method report (line 216) | pub fn report(&self, size: isize) { function test_hash_portable (line 226) | fn test_hash_portable() { function test_encoding_portable (line 245) | fn test_encoding_portable() { function test_value_encoding (line 275) | fn test_value_encoding() { FILE: pageserver/src/basebackup.rs type BasebackupError (line 42) | pub enum BasebackupError { method from (line 52) | fn from(value: PageReconstructError) -> Self { method from (line 61) | fn from(value: GetVectoredError) -> Self { function from (line 70) | fn from(err: BasebackupError) -> Self { function from (line 82) | fn from(err: BasebackupError) -> Self { function send_basebackup_tarball (line 102) | pub async fn send_basebackup_tarball<'a, W>( type Basebackup (line 215) | struct Basebackup<'a, W> type SlruSegmentsBuilder (line 231) | struct SlruSegmentsBuilder<'a, 'b, W> function new (line 245) | fn new(ar: &'a mut Builder<&'b mut W>) -> Self { function add_block (line 254) | async fn add_block(&mut self, key: &Key, block: Bytes) -> Result<(), Bas... function flush (line 300) | async fn flush(&mut self) -> Result<(), BasebackupError> { function finish (line 318) | async fn finish(mut self) -> Result<(), BasebackupError> { function send_tarball (line 335) | async fn send_tarball(mut self) -> Result<(), BasebackupError> { function add_rel (line 579) | async fn add_rel(&mut self, src: RelTag, dst: RelTag) -> Result<(), Base... function add_dbdir (line 633) | async fn add_dbdir( function add_twophase_file (line 738) | async fn add_twophase_file(&mut self, xid: u64) -> Result<(), Basebackup... function add_pgcontrol_file (line 766) | async fn add_pgcontrol_file( function new_tar_header (line 835) | fn new_tar_header(path: &str, size: u64) -> anyhow::Result

{ function new_tar_header_dir (line 851) | fn new_tar_header_dir(path: &str) -> anyhow::Result
{ FILE: pageserver/src/basebackup_cache.rs type BasebackupPrepareRequest (line 32) | pub struct BasebackupPrepareRequest { type BasebackupPrepareSender (line 38) | pub type BasebackupPrepareSender = Sender; type BasebackupPrepareReceiver (line 39) | pub type BasebackupPrepareReceiver = Receiver; type CacheEntry (line 42) | struct CacheEntry { type BasebackupCache (line 61) | pub struct BasebackupCache { method new (line 84) | pub fn new( method spawn_background_task (line 112) | pub fn spawn_background_task( method send_prepare (line 141) | pub fn send_prepare(&self, tenant_shard_id: TenantShardId, timeline_id... method get (line 181) | pub async fn get( method is_enabled (line 218) | pub fn is_enabled(&self) -> bool { method entry_filename (line 224) | fn entry_filename(tenant_id: TenantId, timeline_id: TimelineId, lsn: L... method entry_path (line 231) | fn entry_path(&self, tenant_id: TenantId, timeline_id: TimelineId, lsn... type BackgroundTask (line 242) | struct BackgroundTask { method tmp_dir (line 268) | fn tmp_dir(&self) -> Utf8PathBuf { method entry_tmp_path (line 272) | fn entry_tmp_path( method parse_entry_filename (line 282) | fn parse_entry_filename(filename: &str) -> Option<(TenantId, TimelineI... method clean_tmp_dir (line 299) | async fn clean_tmp_dir(&self) -> anyhow::Result<()> { method cleanup (line 308) | async fn cleanup(&mut self) -> anyhow::Result<()> { method on_startup (line 348) | async fn on_startup(&mut self) -> anyhow::Result<()> { method run (line 426) | async fn run(mut self, mut prepare_receiver: BasebackupPrepareReceiver) { method try_remove_entry (line 469) | async fn try_remove_entry( method upsert_entry (line 502) | async fn upsert_entry( method prepare_basebackup (line 531) | async fn prepare_basebackup( method prepare_basebackup_tmp (line 655) | async fn prepare_basebackup_tmp( FILE: pageserver/src/bin/pageserver.rs constant PID_FILE_NAME (line 61) | const PID_FILE_NAME: &str = "pageserver.pid"; constant FEATURES (line 63) | const FEATURES: &[&str] = &[ function version (line 68) | fn version() -> String { function main (line 76) | fn main() -> anyhow::Result<()> { function initialize_config (line 227) | fn initialize_config( type WaitForPhaseResult (line 292) | struct WaitForPhaseResult { function wait_for_phase (line 301) | async fn wait_for_phase(phase: &str, mut fut: F, timeout: Duration) -... function startup_checkpoint (line 326) | fn startup_checkpoint(started_at: Instant, phase: &str, human_phase: &st... function start_pageserver (line 337) | fn start_pageserver( function create_feature_resolver (line 900) | fn create_feature_resolver( function create_remote_storage_client (line 908) | async fn create_remote_storage_client( function cli (line 937) | fn cli() -> Command { function verify_cli (line 956) | fn verify_cli() { FILE: pageserver/src/bin/test_helper_slow_client_reads.rs type Args (line 12) | struct Args { function main (line 19) | async fn main() -> anyhow::Result<()> { FILE: pageserver/src/config.rs type PageServerConf (line 53) | pub struct PageServerConf { method tenants_path (line 280) | pub fn tenants_path(&self) -> Utf8PathBuf { method deletion_prefix (line 284) | pub fn deletion_prefix(&self) -> Utf8PathBuf { method metadata_path (line 288) | pub fn metadata_path(&self) -> Utf8PathBuf { method basebackup_cache_dir (line 292) | pub fn basebackup_cache_dir(&self) -> Utf8PathBuf { method deletion_list_path (line 296) | pub fn deletion_list_path(&self, sequence: u64) -> Utf8PathBuf { method deletion_header_path (line 305) | pub fn deletion_header_path(&self) -> Utf8PathBuf { method tenant_path (line 313) | pub fn tenant_path(&self, tenant_shard_id: &TenantShardId) -> Utf8Path... method tenant_location_config_path (line 319) | pub(crate) fn tenant_location_config_path( method tenant_heatmap_path (line 327) | pub(crate) fn tenant_heatmap_path(&self, tenant_shard_id: &TenantShard... method timelines_path (line 332) | pub fn timelines_path(&self, tenant_shard_id: &TenantShardId) -> Utf8P... method timeline_path (line 337) | pub fn timeline_path( method local_path (line 347) | pub fn local_path(&self, remote_path: &RemotePath) -> Utf8PathBuf { method pg_distrib_dir (line 354) | pub fn pg_distrib_dir(&self, pg_version: PgMajorVersion) -> anyhow::Re... method pg_bin_dir (line 360) | pub fn pg_bin_dir(&self, pg_version: PgMajorVersion) -> anyhow::Result... method pg_lib_dir (line 363) | pub fn pg_lib_dir(&self, pg_version: PgMajorVersion) -> anyhow::Result... method parse_and_validate (line 371) | pub fn parse_and_validate( method test_repo_dir (line 636) | pub fn test_repo_dir(test_name: &str) -> Utf8PathBuf { method dummy_conf (line 643) | pub fn dummy_conf(repo_dir: Utf8PathBuf) -> Self { type PageserverIdentity (line 672) | pub struct PageserverIdentity { type ConfigurableSemaphore (line 682) | pub struct ConfigurableSemaphore { method new (line 695) | pub fn new(initial_permits: NonZeroUsize) -> Self { method initial_permits (line 703) | pub fn initial_permits(&self) -> NonZeroUsize { method inner (line 719) | pub fn inner(&self) -> &std::sync::Arc { method eq (line 709) | fn eq(&self, other: &Self) -> bool { function test_minimal_config_toml_is_valid (line 737) | fn test_minimal_config_toml_is_valid() { function test_config_tracing_endpoint_is_invalid (line 752) | fn test_config_tracing_endpoint_is_invalid() { function test_config_max_batch_size_is_valid (line 777) | fn test_config_max_batch_size_is_valid( function test_config_posthog_config_is_valid (line 797) | fn test_config_posthog_config_is_valid() { function test_config_posthog_incomplete_config_is_valid (line 816) | fn test_config_posthog_incomplete_config_is_valid() { function test_config_disk_usage_based_eviction_is_valid (line 883) | fn test_config_disk_usage_based_eviction_is_valid( FILE: pageserver/src/config/ignored_fields.rs function find (line 16) | pub fn find(user_specified: toml_edit::DocumentMut, reserialized: toml_e... type Paths (line 44) | pub struct Paths { type PathsVisitor (line 48) | struct PathsVisitor<'a> { function new (line 54) | fn new(out: &'a mut Vec) -> Self { function visit_table_like (line 61) | fn visit_table_like(&mut self, table_like: &dyn toml_edit::TableLike) { function visit_item (line 69) | fn visit_item(&mut self, item: &toml_edit::Item) { function visit_value (line 86) | fn visit_value(&mut self, value: &toml_edit::Value) { function test_impl (line 108) | fn test_impl(original: &str, parsed: &str, expect: [&str; 1]) { function top_level (line 117) | fn top_level() { function nested (line 135) | fn nested() { function array_of_tables (line 150) | fn array_of_tables() { function array (line 168) | fn array() { FILE: pageserver/src/consumption_metrics.rs constant DEFAULT_HTTP_REPORTING_TIMEOUT (line 33) | const DEFAULT_HTTP_REPORTING_TIMEOUT: Duration = Duration::from_secs(60); type RawMetric (line 40) | type RawMetric = (MetricsKey, (EventType, u64)); type NewMetricsRoot (line 44) | struct NewMetricsRoot { method is_v2_metrics (line 50) | pub fn is_v2_metrics(json_value: &serde_json::Value) -> bool { type NewMetricsRefRoot (line 62) | struct NewMetricsRefRoot<'a> { function new (line 68) | fn new(metrics: &'a [NewRawMetric]) -> Self { type NewRawMetric (line 78) | struct NewRawMetric { method to_kv_pair (line 87) | fn to_kv_pair(&self) -> (MetricsKey, NewRawMetric) { type Cache (line 97) | type Cache = HashMap; function run (line 99) | pub async fn run( function collect_metrics (line 155) | async fn collect_metrics( function restore_and_reschedule (line 278) | async fn restore_and_reschedule( function reschedule (line 332) | async fn reschedule( function calculate_synthetic_size_worker (line 367) | async fn calculate_synthetic_size_worker( function calculate_and_log (line 431) | async fn calculate_and_log(tenant: &TenantShard, cancel: &CancellationTo... FILE: pageserver/src/consumption_metrics/disk_cache.rs function read_metrics_from_serde_value (line 9) | pub(super) fn read_metrics_from_serde_value( function read_metrics_from_disk (line 29) | pub(super) async fn read_metrics_from_disk( function scan_and_delete_with_same_prefix (line 53) | fn scan_and_delete_with_same_prefix(path: &Utf8Path) -> std::io::Result<... function flush_metrics_to_disk (line 88) | pub(super) async fn flush_metrics_to_disk( FILE: pageserver/src/consumption_metrics/metrics.rs type Name (line 20) | pub(super) enum Name { type MetricsKey (line 56) | pub(crate) struct MetricsKey { method absolute_values (line 66) | const fn absolute_values(self) -> AbsoluteValueFactory { method incremental_values (line 69) | const fn incremental_values(self) -> IncrementalValueFactory { method written_size (line 149) | const fn written_size(tenant_id: TenantId, timeline_id: TimelineId) ->... method written_size_delta (line 161) | const fn written_size_delta( method written_size_since_parent (line 174) | const fn written_size_since_parent( method pitr_history_size_since_parent (line 187) | const fn pitr_history_size_since_parent( method timeline_logical_size (line 202) | const fn timeline_logical_size( method remote_storage_size (line 217) | const fn remote_storage_size(tenant_id: TenantId) -> AbsoluteValueFact... method synthetic_size (line 230) | const fn synthetic_size(tenant_id: TenantId) -> AbsoluteValueFactory { type AbsoluteValueFactory (line 75) | struct AbsoluteValueFactory(MetricsKey); method at_old_format (line 79) | const fn at_old_format(self, time: DateTime, val: u64) -> super::... method at (line 84) | const fn at(self, time: DateTime, val: u64) -> NewRawMetric { method key (line 93) | fn key(&self) -> &MetricsKey { type IncrementalValueFactory (line 99) | struct IncrementalValueFactory(MetricsKey); method from_until (line 103) | const fn from_until( method from_until_old_format (line 124) | const fn from_until_old_format( method key (line 139) | fn key(&self) -> &MetricsKey { function collect_all_metrics (line 240) | pub(super) async fn collect_all_metrics( function collect (line 279) | async fn collect(tenants: S, cache: &Cache, ctx: &RequestContext) -> ... type TenantSnapshot (line 321) | struct TenantSnapshot { method collect (line 328) | fn collect(t: &Arc) -> Self { method to_metrics (line 337) | fn to_metrics( type TimelineSnapshot (line 373) | struct TimelineSnapshot { method collect (line 391) | fn collect( method to_metrics (line 433) | fn to_metrics( FILE: pageserver/src/consumption_metrics/metrics/tests.rs function startup_collected_timeline_metrics_before_advancing (line 7) | fn startup_collected_timeline_metrics_before_advancing() { function startup_collected_timeline_metrics_second_round (line 51) | fn startup_collected_timeline_metrics_second_round() { function startup_collected_timeline_metrics_nth_round_at_same_lsn (line 96) | fn startup_collected_timeline_metrics_nth_round_at_same_lsn() { function post_restart_written_sizes_with_rolled_back_last_record_lsn (line 150) | fn post_restart_written_sizes_with_rolled_back_last_record_lsn() { function post_restart_written_sizes_with_rolled_back_last_record_lsn_and_ancestor_lsn (line 224) | fn post_restart_written_sizes_with_rolled_back_last_record_lsn_and_ances... function post_restart_written_sizes_with_rolled_back_last_record_lsn_and_ancestor_lsn_and_pitr_cutoff (line 299) | fn post_restart_written_sizes_with_rolled_back_last_record_lsn_and_ances... function post_restart_current_exact_logical_size_uses_cached (line 372) | fn post_restart_current_exact_logical_size_uses_cached() { function post_restart_synthetic_size_uses_cached_if_available (line 407) | fn post_restart_synthetic_size_uses_cached_if_available() { function post_restart_synthetic_size_is_not_sent_when_not_cached (line 437) | fn post_restart_synthetic_size_is_not_sent_when_not_cached() { function time_backwards (line 463) | fn time_backwards() -> [std::time::SystemTime; N] { function pitr_disabled_yields_no_history_size (line 476) | fn pitr_disabled_yields_no_history_size() { function pitr_uninitialized_does_not_emit_history_size (line 518) | fn pitr_uninitialized_does_not_emit_history_size() { function metric_examples_old (line 556) | pub(crate) const fn metric_examples_old( function metric_examples (line 574) | pub(crate) const fn metric_examples( FILE: pageserver/src/consumption_metrics/upload.rs type Ids (line 17) | struct Ids { function upload_metrics_http (line 25) | pub(super) async fn upload_metrics_http( function upload_metrics_bucket (line 87) | pub(super) async fn upload_metrics_bucket( function serialize_in_chunks (line 143) | fn serialize_in_chunks<'a>( function serialize_in_chunks_ndjson (line 223) | fn serialize_in_chunks_ndjson<'a>( type RawMetricExt (line 299) | trait RawMetricExt { method as_event (line 300) | fn as_event(&self, key: &IdempotencyKey<'_>) -> Event; method update_in_place (line 301) | fn update_in_place(&self, event: &mut Event, key: &Idempote... method as_event (line 305) | fn as_event(&self, key: &IdempotencyKey<'_>) -> Event { method update_in_place (line 326) | fn update_in_place(&self, event: &mut Event, key: &Idempote... method as_event (line 355) | fn as_event(&self, key: &IdempotencyKey<'_>) -> Event { method update_in_place (line 377) | fn update_in_place(&self, event: &mut Event, key: &Idempote... type KeyGen (line 406) | pub(crate) trait KeyGen<'a> { method generate (line 407) | fn generate(&self) -> IdempotencyKey<'a>; function generate (line 411) | fn generate(&self) -> IdempotencyKey<'a> { type UploadError (line 416) | enum UploadError { method fmt (line 423) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 430) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method is_reject (line 446) | fn is_reject(&self) -> bool { function upload (line 455) | async fn upload( function chunked_serialization (line 530) | fn chunked_serialization() { function chunked_serialization_ndjson (line 563) | fn chunked_serialization_ndjson() { type FixedGen (line 600) | struct FixedGen<'a>(chrono::DateTime, &'a str, u16); function new (line 603) | fn new(now: chrono::DateTime, node_id: &'a str, nonce: u16)... function generate (line 609) | fn generate(&self) -> IdempotencyKey<'a> { function metric_image_stability (line 621) | fn metric_image_stability() { function disk_format_upgrade (line 679) | fn disk_format_upgrade() { function metric_samples_old (line 688) | fn metric_samples_old() -> [RawMetric; 7] { function metric_samples (line 700) | fn metric_samples() -> [NewRawMetric; 7] { FILE: pageserver/src/context.rs type RequestContext (line 111) | pub struct RequestContext { method clone (line 375) | fn clone(&self) -> Self { method new (line 400) | pub fn new(task_kind: TaskKind, download_behavior: DownloadBehavior) -... method detached_child (line 423) | pub fn detached_child(&self, task_kind: TaskKind, download_behavior: D... method attached_child (line 450) | pub fn attached_child(&self) -> Self { method todo_child (line 462) | pub fn todo_child(task_kind: TaskKind, download_behavior: DownloadBeha... method with_scope_timeline (line 466) | pub fn with_scope_timeline(&self, timeline: &Arc) -> Self { method with_scope_page_service_pagestream (line 472) | pub(crate) fn with_scope_page_service_pagestream( method with_scope_secondary_timeline (line 483) | pub fn with_scope_secondary_timeline( method with_scope_secondary_tenant (line 493) | pub fn with_scope_secondary_tenant(&self, tenant_shard_id: &TenantShar... method with_scope_unit_test (line 500) | pub fn with_scope_unit_test(&self) -> Self { method with_scope_debug_tools (line 507) | pub fn with_scope_debug_tools(&self) -> Self { method task_kind (line 514) | pub fn task_kind(&self) -> TaskKind { method download_behavior (line 518) | pub fn download_behavior(&self) -> DownloadBehavior { method access_stats_behavior (line 522) | pub(crate) fn access_stats_behavior(&self) -> AccessStatsBehavior { method page_content_kind (line 526) | pub(crate) fn page_content_kind(&self) -> PageContentKind { method read_path_debug (line 530) | pub(crate) fn read_path_debug(&self) -> bool { method io_size_metrics (line 534) | pub(crate) fn io_size_metrics(&self) -> &StorageIoSizeMetrics { method ondemand_download_wait_observe (line 569) | pub(crate) fn ondemand_download_wait_observe(&self, duration: Duration) { method perf_follows_from (line 597) | pub(crate) fn perf_follows_from(&self, from: &RequestContext) { method has_perf_span (line 603) | pub(crate) fn has_perf_span(&self) -> bool { type Scope (line 123) | pub(crate) enum Scope { method new_global (line 154) | pub(crate) fn new_global() -> Self { method new_timeline (line 161) | pub(crate) fn new_timeline(timeline: &Timeline) -> Self { method new_page_service_pagestream (line 166) | pub(crate) fn new_page_service_pagestream( method new_secondary_timeline (line 175) | pub(crate) fn new_secondary_timeline( method new_secondary_tenant (line 189) | pub(crate) fn new_secondary_tenant(_tenant_shard_id: &TenantShardId) -... method new_unit_test (line 204) | pub(crate) fn new_unit_test() -> Self { method new_debug_tools (line 210) | pub(crate) fn new_debug_tools() -> Self { type PageContentKind (line 219) | pub enum PageContentKind { type DownloadBehavior (line 233) | pub enum DownloadBehavior { type AccessStatsBehavior (line 247) | pub(crate) enum AccessStatsBehavior { type RequestContextBuilder (line 259) | pub struct RequestContextBuilder { method new (line 265) | pub fn new(task_kind: TaskKind) -> Self { method from (line 280) | pub fn from(original: &RequestContext) -> Self { method task_kind (line 286) | pub fn task_kind(mut self, k: TaskKind) -> Self { method download_behavior (line 293) | pub fn download_behavior(mut self, b: DownloadBehavior) -> Self { method access_stats_behavior (line 300) | pub(crate) fn access_stats_behavior(mut self, b: AccessStatsBehavior) ... method page_content_kind (line 305) | pub(crate) fn page_content_kind(mut self, k: PageContentKind) -> Self { method read_path_debug (line 310) | pub(crate) fn read_path_debug(mut self, b: bool) -> Self { method scope (line 315) | pub(crate) fn scope(mut self, s: Scope) -> Self { method perf_span_dispatch (line 320) | pub(crate) fn perf_span_dispatch(mut self, dispatch: Option)... method root_perf_span (line 325) | pub fn root_perf_span(mut self, make_span: Fn) -> Self method perf_span (line 340) | pub fn perf_span(mut self, make_span: Fn) -> Self method root (line 357) | pub fn root(self) -> RequestContext { method attached_child (line 361) | pub fn attached_child(self) -> RequestContext { method detached_child (line 365) | pub fn detached_child(self) -> RequestContext { type PerfInstrumentFutureExt (line 610) | pub(crate) trait PerfInstrumentFutureExt<'a>: Future + Send { method maybe_perf_instrument (line 614) | fn maybe_perf_instrument( FILE: pageserver/src/controller_upcall_client.rs type StorageControllerUpcallClient (line 27) | pub struct StorageControllerUpcallClient { method new (line 71) | pub fn new(conf: &'static PageServerConf, cancel: &CancellationToken) ... method retry_http_forever (line 113) | async fn retry_http_forever( method base_url (line 148) | pub(crate) fn base_url(&self) -> &Url { type RetryForeverError (line 37) | pub enum RetryForeverError { type StorageControllerUpcallApi (line 41) | pub trait StorageControllerUpcallApi { method re_attach (line 42) | fn re_attach( method validate (line 49) | fn validate( method put_timeline_import_status (line 53) | fn put_timeline_import_status( method get_timeline_import_status (line 60) | fn get_timeline_import_status( method re_attach (line 156) | async fn re_attach( method validate (line 255) | async fn validate( method put_timeline_import_status (line 306) | async fn put_timeline_import_status( method get_timeline_import_status (line 330) | async fn get_timeline_import_status( FILE: pageserver/src/deletion_queue.rs type DeletionQueue (line 68) | pub struct DeletionQueue { method new_client (line 579) | pub fn new_client(&self) -> DeletionQueueClient { method new (line 586) | pub fn new( method shutdown (line 637) | pub async fn shutdown(&mut self, timeout: Duration) { type DeletionQueueWorkers (line 77) | pub struct DeletionQueueWorkers function spawn_with (line 90) | pub fn spawn_with(mut self, runtime: &tokio::runtime::Handle) -> tokio::... type FlushOp (line 128) | struct FlushOp { method new (line 133) | fn new() -> (Self, tokio::sync::oneshot::Receiver<()>) { method notify (line 138) | fn notify(self) { type DeletionQueueClient (line 147) | pub struct DeletionQueueClient { method do_push (line 380) | fn do_push( method recover (line 397) | pub(crate) fn recover( method update_remote_consistent_lsn (line 414) | pub(crate) async fn update_remote_consistent_lsn( method push_layers (line 458) | pub(crate) fn push_layers( method do_flush (line 486) | async fn do_flush( method flush (line 507) | pub async fn flush(&self) -> Result<(), DeletionQueueError> { method flush_advisory (line 518) | pub fn flush_advisory(&self) { method flush_execute (line 526) | pub(crate) async fn flush_execute(&self) -> Result<(), DeletionQueueEr... method push_immediate (line 552) | pub(crate) async fn push_immediate( method flush_immediate (line 567) | pub(crate) async fn flush_immediate(&self) -> Result<(), DeletionQueue... type TenantDeletionList (line 155) | struct TenantDeletionList { method len (line 167) | pub(crate) fn len(&self) -> usize { constant TEMP_SUFFIX (line 174) | const TEMP_SUFFIX: &str = "tmp"; type DeletionList (line 177) | struct DeletionList { constant VERSION_LATEST (line 237) | const VERSION_LATEST: u8 = 1; method new (line 238) | fn new(sequence: u64) -> Self { method is_empty (line 248) | fn is_empty(&self) -> bool { method len (line 252) | fn len(&self) -> usize { method push (line 258) | fn push( method into_remote_paths (line 298) | fn into_remote_paths(self) -> Vec { method save (line 314) | async fn save(&self, conf: &'static PageServerConf) -> anyhow::Result<... method fmt (line 328) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type DeletionHeader (line 204) | struct DeletionHeader { constant VERSION_LATEST (line 214) | const VERSION_LATEST: u8 = 1; method new (line 216) | fn new(validated_sequence: u64) -> Self { method save (line 223) | async fn save(&self, conf: &'static PageServerConf) -> anyhow::Result<... type PendingLsn (line 339) | struct PendingLsn { type TenantLsnState (line 344) | struct TenantLsnState { type VisibleLsnUpdates (line 352) | struct VisibleLsnUpdates { method new (line 357) | fn new() -> Self { method fmt (line 365) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type DeletionQueueError (line 371) | pub enum DeletionQueueError { constant TIMELINE_ID (line 677) | pub const TIMELINE_ID: TimelineId = constant EXAMPLE_LAYER_NAME (line 680) | pub const EXAMPLE_LAYER_NAME: LayerName = LayerName::Delta(DeltaLayerName { constant EXAMPLE_LAYER_NAME_ALT (line 686) | pub const EXAMPLE_LAYER_NAME_ALT: LayerName = LayerName::Delta(DeltaLaye... type TestSetup (line 691) | struct TestSetup { method restart (line 702) | async fn restart(&mut self) { method set_latest_generation (line 722) | fn set_latest_generation(&self, gen_: Generation) { method write_remote_layer (line 732) | fn write_remote_layer( type MockStorageController (line 755) | struct MockStorageController { method new (line 760) | fn new() -> Self { method re_attach (line 768) | async fn re_attach( method validate (line 776) | async fn validate( method put_timeline_import_status (line 793) | async fn put_timeline_import_status( method get_timeline_import_status (line 803) | async fn get_timeline_import_status( function setup (line 813) | async fn setup(test_name: &str) -> anyhow::Result { function assert_remote_files (line 852) | fn assert_remote_files(expected: &[&str], remote_path: &Utf8Path) { function assert_local_files (line 884) | fn assert_local_files(expected: &[&str], directory: &Utf8Path) { function deletion_queue_smoke (line 904) | async fn deletion_queue_smoke() -> anyhow::Result<()> { function deletion_queue_validation (line 975) | async fn deletion_queue_validation() -> anyhow::Result<()> { function deletion_queue_recovery (line 1031) | async fn deletion_queue_recovery() -> anyhow::Result<()> { type ConsumerState (line 1120) | pub struct ConsumerState { method consume (line 1128) | async fn consume(&mut self, remote_storage: &GenericRemoteStorage) { type MockDeletionQueue (line 1197) | pub struct MockDeletionQueue { method new (line 1204) | pub fn new(remote_storage: Option) -> Self { method pump (line 1231) | pub async fn pump(&self) { method new_client (line 1240) | pub(crate) fn new_client(&self) -> DeletionQueueClient { function deletion_list_serialization (line 1252) | fn deletion_list_serialization() -> anyhow::Result<()> { FILE: pageserver/src/deletion_queue/deleter.rs constant AUTOFLUSH_INTERVAL (line 19) | const AUTOFLUSH_INTERVAL: Duration = Duration::from_secs(10); type DeleterMessage (line 21) | pub(super) enum DeleterMessage { type Deleter (line 28) | pub(super) struct Deleter { method new (line 39) | pub(super) fn new( method remote_delete (line 53) | async fn remote_delete(&self) -> Result<(), anyhow::Error> { method flush (line 86) | async fn flush(&mut self) -> Result<(), DeletionQueueError> { method background (line 127) | pub(super) async fn background(&mut self) -> Result<(), DeletionQueueE... FILE: pageserver/src/deletion_queue/list_writer.rs constant DELETION_LIST_TARGET_SIZE (line 36) | const DELETION_LIST_TARGET_SIZE: usize = 16384; constant FRONTEND_DEFAULT_TIMEOUT (line 41) | const FRONTEND_DEFAULT_TIMEOUT: Duration = Duration::from_millis(10000); constant FRONTEND_FLUSHING_TIMEOUT (line 45) | const FRONTEND_FLUSHING_TIMEOUT: Duration = Duration::from_millis(100); type DeletionOp (line 48) | pub(super) struct DeletionOp { type RecoverOp (line 63) | pub(super) struct RecoverOp { type ListWriterQueueMessage (line 68) | pub(super) enum ListWriterQueueMessage { type ListWriter (line 79) | pub(super) struct ListWriter { constant BASE_SEQUENCE (line 105) | const BASE_SEQUENCE: u64 = 1; method new (line 107) | pub(super) fn new( method flush (line 128) | async fn flush(&mut self) { method load_validated_sequence (line 170) | async fn load_validated_sequence(&self) -> Result, anyhow:... method recover (line 199) | async fn recover( method background (line 347) | pub(super) async fn background(&mut self) { FILE: pageserver/src/deletion_queue/validator.rs constant AUTOFLUSH_INTERVAL (line 37) | const AUTOFLUSH_INTERVAL: Duration = Duration::from_secs(10); constant AUTOFLUSH_KEY_COUNT (line 40) | const AUTOFLUSH_KEY_COUNT: usize = 16384; type ValidatorQueueMessage (line 43) | pub(super) enum ValidatorQueueMessage { type Validator (line 47) | pub(super) struct Validator function new (line 85) | pub(super) fn new( function validate (line 111) | async fn validate(&mut self) -> Result<(), DeletionQueueError> { function cleanup_lists (line 286) | async fn cleanup_lists(&mut self, list_paths: Vec) { function flush (line 295) | async fn flush(&mut self) -> Result<(), DeletionQueueError> { function flush_executor (line 337) | async fn flush_executor(&mut self) -> Result<(), DeletionQueueError> { function background (line 350) | pub(super) async fn background(&mut self) { FILE: pageserver/src/disk_usage_eviction_task.rs type EvictionOrder (line 73) | pub enum EvictionOrder { method from (line 88) | fn from(value: pageserver_api::config::EvictionOrder) -> Self { method sort (line 100) | fn sort(&self, candidates: &mut [(EvictionPartition, EvictionCandidate... method relative_last_activity (line 112) | fn relative_last_activity(&self, total: usize, index: usize) -> finite... type State (line 162) | pub struct State { function launch_disk_usage_global_eviction_task (line 167) | pub fn launch_disk_usage_global_eviction_task( function disk_usage_eviction_task (line 205) | async fn disk_usage_eviction_task( type Usage (line 256) | pub trait Usage: Clone + Copy + std::fmt::Debug { method has_pressure (line 257) | fn has_pressure(&self) -> bool; method add_available_bytes (line 258) | fn add_available_bytes(&mut self, bytes: u64); function disk_usage_eviction_task_iteration (line 261) | async fn disk_usage_eviction_task_iteration( type IterationOutcome (line 318) | pub enum IterationOutcome { type IterationOutcomeFinished (line 325) | pub struct IterationOutcomeFinished { type AssumedUsage (line 338) | struct AssumedUsage { type PlannedUsage (line 346) | struct PlannedUsage { type LayerCount (line 352) | struct LayerCount { function disk_usage_eviction_task_iteration_impl (line 357) | pub(crate) async fn disk_usage_eviction_task_iteration_impl( type EvictionSecondaryLayer (line 572) | pub(crate) struct EvictionSecondaryLayer { type EvictionLayer (line 582) | pub(crate) enum EvictionLayer { method from (line 588) | fn from(value: Layer) -> Self { method get_tenant_shard_id (line 594) | pub(crate) fn get_tenant_shard_id(&self) -> &TenantShardId { method get_timeline_id (line 601) | pub(crate) fn get_timeline_id(&self) -> &TimelineId { method get_name (line 608) | pub(crate) fn get_name(&self) -> LayerName { method get_file_size (line 615) | pub(crate) fn get_file_size(&self) -> u64 { method fmt (line 632) | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { type EvictionCandidate (line 624) | pub(crate) struct EvictionCandidate { method fmt (line 651) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type DiskUsageEvictionInfo (line 643) | pub(crate) struct DiskUsageEvictionInfo { type EvictionPartition (line 670) | enum EvictionPartition { type EvictionCandidates (line 683) | enum EvictionCandidates { function collect_eviction_candidates (line 790) | async fn collect_eviction_candidates( function select_victims (line 1056) | fn select_victims( type VictimSelection (line 1085) | struct VictimSelection { function into_amount_and_planned (line 1093) | fn into_amount_and_planned(self) -> (usize, PlannedUsage) { type FiniteF32 (line 1123) | pub struct FiniteF32(f32); method fmt (line 1126) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 1132) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method partial_cmp (line 1140) | fn partial_cmp(&self, other: &Self) -> Option { method cmp (line 1146) | fn cmp(&self, other: &Self) -> std::cmp::Ordering { type Error (line 1152) | type Error = f32; method try_from (line 1154) | fn try_from(value: f32) -> Result { constant ZERO (line 1170) | pub const ZERO: FiniteF32 = FiniteF32(0.0); method try_from_normalized (line 1172) | pub fn try_from_normalized(value: f32) -> Result { method into_inner (line 1182) | pub fn into_inner(self) -> f32 { function from (line 1164) | fn from(value: FiniteF32) -> f32 { type Usage (line 1196) | pub struct Usage<'a> { method has_pressure (line 257) | fn has_pressure(&self) -> bool; method add_available_bytes (line 258) | fn add_available_bytes(&mut self, bytes: u64); function has_pressure (line 1206) | fn has_pressure(&self) -> bool { function add_available_bytes (line 1224) | fn add_available_bytes(&mut self, bytes: u64) { function get (line 1229) | pub fn get<'a>( function max_usage_pct_pressure (line 1257) | fn max_usage_pct_pressure() { function relative_equal_bounds (line 1305) | fn relative_equal_bounds() { function relative_spare_bounds (line 1321) | fn relative_spare_bounds() { FILE: pageserver/src/feature_resolver.rs constant DEFAULT_POSTHOG_REFRESH_INTERVAL (line 21) | const DEFAULT_POSTHOG_REFRESH_INTERVAL: Duration = Duration::from_secs(6... type FeatureResolver (line 24) | pub struct FeatureResolver { method new_disabled (line 31) | pub fn new_disabled() -> Self { method update (line 39) | pub fn update(&self, spec: String) -> anyhow::Result<()> { method spawn (line 46) | pub fn spawn( method collect_properties_inner (line 204) | fn collect_properties_inner( method collect_properties (line 226) | pub(crate) fn collect_properties( method evaluate_multivariate (line 243) | pub fn evaluate_multivariate( method evaluate_boolean (line 287) | pub fn evaluate_boolean( method is_feature_flag_boolean (line 328) | pub fn is_feature_flag_boolean(&self, flag_key: &str) -> Result HashMap Self { method evaluate_multivariate (line 407) | pub fn evaluate_multivariate(&self, flag_key: &str) -> Result Result<(), PostHogEv... method collect_properties (line 423) | pub fn collect_properties(&self) -> HashMap Result) -> &State { function get_config (line 168) | fn get_config(request: &Request) -> &'static PageServerConf { function check_permission (line 173) | fn check_permission(request: &Request, tenant_id: Option... method from (line 180) | fn from(pre: PageReconstructError) -> ApiError { method from (line 192) | fn from(tmie: TenantMapInsertError) -> ApiError { method from (line 202) | fn from(e: TenantSlotError) -> ApiError { method from (line 217) | fn from(e: TenantSlotUpsertError) -> ApiError { method from (line 228) | fn from(e: UpsertLocationError) -> ApiError { method from (line 240) | fn from(e: TenantMapError) -> ApiError { method from (line 251) | fn from(tse: TenantStateError) -> ApiError { method from (line 264) | fn from(tse: GetTenantError) -> ApiError { method from (line 283) | fn from(gte: GetTimelineError) -> Self { method from (line 290) | fn from(e: GetActiveTenantError) -> ApiError { method from (line 314) | fn from(value: crate::tenant::DeleteTimelineError) -> Self { method from (line 330) | fn from(value: crate::tenant::TimelineArchivalError) -> Self { method from (line 352) | fn from(value: crate::tenant::mgr::DeleteTimelineError) -> Self { method from (line 367) | fn from(value: crate::tenant::mgr::DeleteTenantError) -> Self { method from (line 378) | fn from(ste: crate::tenant::secondary::SecondaryTenantError) -> ApiError { method from (line 388) | fn from(err: crate::tenant::FinalizeTimelineImportError) -> ApiError { function build_timeline_info (line 400) | async fn build_timeline_info( function build_timeline_info_common (line 436) | async fn build_timeline_info_common( function build_timeline_offloaded_info (line 531) | fn build_timeline_offloaded_info(offloaded: &Arc) -> ... function status_handler (line 550) | async fn status_handler( function reload_auth_validation_keys_handler (line 559) | async fn reload_auth_validation_keys_handler( function timeline_create_handler (line 589) | async fn timeline_create_handler( function timeline_list_handler (line 720) | async fn timeline_list_handler( function timeline_and_offloaded_list_handler (line 771) | async fn timeline_and_offloaded_list_handler( function timeline_preserve_initdb_handler (line 831) | async fn timeline_preserve_initdb_handler( function timeline_archival_config_handler (line 869) | async fn timeline_archival_config_handler( function timeline_patch_index_part_handler (line 920) | async fn timeline_patch_index_part_handler( function timeline_detail_handler (line 985) | async fn timeline_detail_handler( function get_lsn_by_timestamp_handler (line 1036) | async fn get_lsn_by_timestamp_handler( function get_timestamp_of_lsn_handler (line 1111) | async fn get_timestamp_of_lsn_handler( function timeline_delete_handler (line 1154) | async fn timeline_delete_handler( function tenant_reset_handler (line 1186) | async fn tenant_reset_handler( function tenant_list_handler (line 1206) | async fn tenant_list_handler( function tenant_status (line 1235) | async fn tenant_status( function tenant_delete_handler (line 1294) | async fn tenant_delete_handler( function tenant_size_handler (line 1329) | async fn tenant_size_handler( function tenant_shard_split_handler (line 1411) | async fn tenant_shard_split_handler( function layer_map_info_handler (line 1440) | async fn layer_map_info_handler( function timeline_layer_scan_disposable_keys (line 1464) | async fn timeline_layer_scan_disposable_keys( function timeline_download_heatmap_layers_handler (line 1560) | async fn timeline_download_heatmap_layers_handler( function timeline_shutdown_download_heatmap_layers_handler (line 1597) | async fn timeline_shutdown_download_heatmap_layers_handler( function layer_download_handler (line 1616) | async fn layer_download_handler( function evict_timeline_layer_handler (line 1654) | async fn evict_timeline_layer_handler( function timeline_gc_blocking_handler (line 1685) | async fn timeline_gc_blocking_handler( function timeline_gc_unblocking_handler (line 1692) | async fn timeline_gc_unblocking_handler( function timeline_page_trace_handler (line 1701) | async fn timeline_page_trace_handler( function block_or_unblock_gc (line 1767) | async fn block_or_unblock_gc( function synthetic_size_html_response (line 1816) | fn synthetic_size_html_response( function html_response (line 1867) | pub fn html_response(status: StatusCode, data: String) -> Result) -> Result, ApiErro... function post_tracing_event_handler (line 3163) | async fn post_tracing_event_handler( function put_io_engine_handler (line 3196) | async fn put_io_engine_handler( function put_io_mode_handler (line 3206) | async fn put_io_mode_handler( function get_utilization (line 3219) | async fn get_utilization( function list_tenant_visible_size_handler (line 3270) | async fn list_tenant_visible_size_handler( function list_aux_files (line 3293) | async fn list_aux_files( function perf_info (line 3321) | async fn perf_info( function ingest_aux_files (line 3340) | async fn ingest_aux_files( function post_top_tenants (line 3375) | async fn post_top_tenants( function put_tenant_timeline_import_basebackup (line 3465) | async fn put_tenant_timeline_import_basebackup( function put_tenant_timeline_import_wal (line 3547) | async fn put_tenant_timeline_import_wal( function activate_post_import_handler (line 3614) | async fn activate_post_import_handler( function hadron_reset_alert_gauges (line 3711) | async fn hadron_reset_alert_gauges( function read_tar_eof (line 3728) | async fn read_tar_eof(mut reader: (impl tokio::io::AsyncRead + Unpin)) -... function force_refresh_feature_flag (line 3772) | async fn force_refresh_feature_flag( function tenant_evaluate_feature_flag (line 3789) | async fn tenant_evaluate_feature_flag( function force_override_feature_flag_for_testing_put (line 3832) | async fn force_override_feature_flag_for_testing_put( function force_override_feature_flag_for_testing_delete (line 3847) | async fn force_override_feature_flag_for_testing_delete( function update_feature_flag_spec (line 3861) | async fn update_feature_flag_spec( function api_handler (line 3884) | async fn api_handler(request: Request, handler: H) -> Result... function testing_api_handler (line 3973) | async fn testing_api_handler( function make_router (line 3992) | pub fn make_router( FILE: pageserver/src/import_datadir.rs function get_lsn_from_controlfile (line 33) | pub fn get_lsn_from_controlfile(path: &Utf8Path) -> Result { function import_timeline_from_postgres_datadir (line 50) | pub async fn import_timeline_from_postgres_datadir( function import_rel (line 115) | async fn import_rel( function import_slru (line 205) | async fn import_slru( function import_wal (line 264) | async fn import_wal( function import_basebackup_from_tar (line 353) | pub async fn import_basebackup_from_tar( function import_wal_from_tar (line 403) | pub async fn import_wal_from_tar( function import_file (line 504) | async fn import_file( function read_all_bytes (line 652) | async fn read_all_bytes(reader: &mut (impl AsyncRead + Unpin)) -> Result... FILE: pageserver/src/l0_flush.rs type L0FlushConfig (line 5) | pub enum L0FlushConfig { method from (line 19) | fn from(config: pageserver_api::models::L0FlushConfig) -> Self { method default (line 10) | fn default() -> Self { type L0FlushGlobalState (line 29) | pub struct L0FlushGlobalState(Arc); method new (line 36) | pub fn new(config: L0FlushConfig) -> Self { method inner (line 45) | pub fn inner(&self) -> &Arc { type Inner (line 31) | pub enum Inner { FILE: pageserver/src/lib.rs constant STORAGE_FORMAT_VERSION (line 53) | pub const STORAGE_FORMAT_VERSION: u16 = 3; constant DEFAULT_PG_VERSION (line 55) | pub const DEFAULT_PG_VERSION: PgMajorVersion = PgMajorVersion::PG17; constant IMAGE_FILE_MAGIC (line 58) | pub const IMAGE_FILE_MAGIC: u16 = 0x5A60; constant DELTA_FILE_MAGIC (line 59) | pub const DELTA_FILE_MAGIC: u16 = 0x5A61; constant PERF_TRACE_TARGET (line 62) | pub const PERF_TRACE_TARGET: &str = "P"; type CancellableTask (line 68) | pub struct CancellableTask { method shutdown (line 80) | pub async fn shutdown(self) { type HttpEndpointListener (line 72) | pub struct HttpEndpointListener(pub CancellableTask); type HttpsEndpointListener (line 73) | pub struct HttpsEndpointListener(pub CancellableTask); type ConsumptionMetricsTasks (line 74) | pub struct ConsumptionMetricsTasks(pub CancellableTask); type DiskUsageEvictionTask (line 75) | pub struct DiskUsageEvictionTask(pub CancellableTask); type MetricsCollectionTask (line 77) | pub struct MetricsCollectionTask(pub CancellableTask); function shutdown_pageserver (line 88) | pub async fn shutdown_pageserver( constant TENANT_LOCATION_CONFIG_NAME (line 295) | pub(crate) const TENANT_LOCATION_CONFIG_NAME: &str = "config-v1"; constant TENANT_HEATMAP_BASENAME (line 299) | pub(crate) const TENANT_HEATMAP_BASENAME: &str = "heatmap-v1.json"; constant TEMP_FILE_SUFFIX (line 303) | pub(crate) const TEMP_FILE_SUFFIX: &str = "___temp"; function is_temporary (line 305) | pub fn is_temporary(path: &Utf8Path) -> bool { type InitializationOrder (line 318) | pub struct InitializationOrder { function timed (line 332) | async fn timed( function timed_after_cancellation (line 372) | async fn timed_after_cancellation( function timed_completes_when_inner_future_completes (line 397) | async fn timed_completes_when_inner_future_completes() { FILE: pageserver/src/metrics.rs constant CRITICAL_OP_BUCKETS (line 50) | const CRITICAL_OP_BUCKETS: &[f64] = &[ type StorageTimeOperation (line 59) | pub(crate) enum StorageTimeOperation { constant STORAGE_OP_BUCKETS (line 118) | const STORAGE_OP_BUCKETS: &[f64] = &[0.010, 0.100, 1.0, 10.0, 100.0, 100... type GetVectoredLatency (line 215) | pub(crate) struct GetVectoredLatency { constant TRACKED_TASK_KINDS (line 227) | const TRACKED_TASK_KINDS: [TaskKind; 2] = [TaskKind::Compaction, TaskK... method for_task_kind (line 229) | pub(crate) fn for_task_kind(&self, task_kind: TaskKind) -> Option<&His... type ScanLatency (line 220) | pub(crate) struct ScanLatency { constant TRACKED_TASK_KINDS (line 237) | const TRACKED_TASK_KINDS: [TaskKind; 1] = [TaskKind::PageRequestHandler]; method for_task_kind (line 239) | pub(crate) fn for_task_kind(&self, task_kind: TaskKind) -> Option<&His... type ScanLatencyOngoingRecording (line 244) | pub(crate) struct ScanLatencyOngoingRecording<'a> { function start_recording (line 250) | pub(crate) fn start_recording(parent: &'a Histogram) -> ScanLatencyOngoi... function observe (line 255) | pub(crate) fn observe(self) { type PageCacheMetricsForTaskKind (line 307) | pub(crate) struct PageCacheMetricsForTaskKind { type PageCacheMetrics (line 312) | pub(crate) struct PageCacheMetrics { method for_ctx (line 359) | pub(crate) fn for_ctx(&self, ctx: &RequestContext) -> &PageCacheMetric... type PageCacheSizeMetrics (line 364) | pub(crate) struct PageCacheSizeMetrics { type Outcome (line 402) | pub(crate) enum Outcome { function observe (line 427) | pub(crate) fn observe(outcome: Outcome) { type PageCacheErrorKind (line 472) | pub(crate) enum PageCacheErrorKind { function page_cache_errors_inc (line 477) | pub(crate) fn page_cache_errors_inc(error_kind: PageCacheErrorKind) { constant WAIT_ONDEMAND_DOWNLOAD_TIME_BUCKETS (line 541) | const WAIT_ONDEMAND_DOWNLOAD_TIME_BUCKETS: &[f64] = &[ constant WAIT_ONDEMAND_DOWNLOAD_METRIC_TASK_KINDS (line 550) | pub(crate) const WAIT_ONDEMAND_DOWNLOAD_METRIC_TASK_KINDS: [TaskKind; 2]... type WaitOndemandDownloadTimeSum (line 580) | pub struct WaitOndemandDownloadTimeSum { method new (line 585) | pub(crate) fn new(tenant_id: &str, shard_id: &str, timeline_id: &str) ... method observe (line 603) | pub(crate) fn observe(&self, task_kind: TaskKind, duration: Duration) { function shutdown_timeline (line 617) | pub(crate) fn shutdown_timeline(tenant_id: &str, shard_id: &str, timelin... function preinitialize_global_metrics (line 628) | pub(crate) fn preinitialize_global_metrics() { type LayerKind (line 676) | pub(crate) enum LayerKind { type LayerLevel (line 688) | pub(crate) enum LayerLevel { type StartCalculation (line 927) | pub(crate) struct StartCalculation(IntCounterVec); method first (line 990) | pub(crate) fn first(&self, circumstances: StartCircumstances) -> Ongoi... method retry (line 999) | pub(crate) fn retry(&self, circumstances: StartCircumstances) -> Ongoi... type DropCalculation (line 940) | struct DropCalculation { type Calculated (line 958) | pub(crate) struct Calculated { type OngoingCalculationGuard (line 978) | pub(crate) struct OngoingCalculationGuard { method calculation_result_saved (line 1019) | pub(crate) fn calculation_result_saved(mut self) -> FinishedCalculatio... type StartCircumstances (line 983) | pub(crate) enum StartCircumstances { method drop (line 1011) | fn drop(&mut self) { type FinishedCalculationGuard (line 1028) | pub(crate) struct FinishedCalculationGuard { method drop (line 1033) | fn drop(&mut self) { type TenantMetrics (line 1179) | pub(crate) struct TenantMetrics { type EvictionsWithLowResidenceDuration (line 1225) | pub(crate) struct EvictionsWithLowResidenceDuration { method threshold_label_value (line 1268) | fn threshold_label_value(threshold: Duration) -> String { method observe (line 1272) | pub fn observe(&self, observed_value: Duration) { method change_threshold (line 1281) | pub fn change_threshold( method remove (line 1301) | fn remove(&mut self, tenant_id: &str, shard_id: &str, timeline_id: &st... type EvictionsWithLowResidenceDurationBuilder (line 1231) | pub(crate) struct EvictionsWithLowResidenceDurationBuilder { method new (line 1237) | pub fn new(data_source: &'static str, threshold: Duration) -> Self { method build (line 1244) | fn build( constant STORAGE_IO_TIME_BUCKETS (line 1344) | const STORAGE_IO_TIME_BUCKETS: &[f64] = &[ type StorageIoOperation (line 1399) | pub(crate) enum StorageIoOperation { method as_str (line 1413) | pub fn as_str(&self) -> &'static str { type StorageIoTime (line 1431) | pub(crate) struct StorageIoTime { method new (line 1436) | fn new() -> Self { method get (line 1453) | pub(crate) fn get(&self, op: StorageIoOperation) -> &Histogram { type StorageIoSizeOperation (line 1462) | pub(crate) enum StorageIoSizeOperation { constant VARIANTS (line 1468) | pub(crate) const VARIANTS: &'static [&'static str] = &["read", "write"]; method as_str (line 1470) | fn as_str(&self) -> &'static str { type StorageIoSizeMetrics (line 1486) | pub(crate) struct StorageIoSizeMetrics { method new (line 1492) | pub(crate) fn new(tenant_id: &str, shard_id: &str, timeline_id: &str) ... type SmgrOpTimer (line 1547) | pub(crate) struct SmgrOpTimer(Option); method observe_throttle_start (line 1598) | pub(crate) fn observe_throttle_start(&mut self, at: Instant) { method observe_throttle_done (line 1612) | pub(crate) fn observe_throttle_done(&mut self, throttle: ThrottleResul... method observe_execution_start (line 1645) | pub(crate) fn observe_execution_start(&mut self, at: Instant) { method observe_execution_end (line 1668) | pub(crate) fn observe_execution_end(&mut self, at: Instant) -> Option<... type SmgrOpTimerInner (line 1548) | pub(crate) struct SmgrOpTimerInner { type SmgrOpTimerState (line 1574) | enum SmgrOpTimerState { type SmgrOpFlushInProgress (line 1716) | pub(crate) struct SmgrOpFlushInProgress { method measure (line 1742) | pub(crate) async fn measure(self, started_at: Instant, fut: Fu... method drop (line 1722) | fn drop(&mut self) { type SmgrQueryType (line 1821) | pub enum SmgrQueryType { type GetPageBatchBreakReason (line 1842) | pub enum GetPageBatchBreakReason { type SmgrQueryTimePerTimeline (line 1853) | pub(crate) struct SmgrQueryTimePerTimeline { method new (line 2125) | pub(crate) fn new( method start_smgr_op (line 2204) | pub(crate) fn start_smgr_op(&self, op: SmgrQueryType, received_at: Ins... method observe_getpage_batch_start (line 2229) | pub(crate) fn observe_getpage_batch_start( type GetPageBatchBreakReasonTimelineMetrics (line 2013) | struct GetPageBatchBreakReasonTimelineMetrics { method new (line 2018) | fn new(tenant_id: &str, shard_slug: &str, timeline_id: &str) -> Self { method inc (line 2032) | fn inc(&self, reason: GetPageBatchBreakReason) { function set_page_service_config_max_batch_size (line 2056) | fn set_page_service_config_max_batch_size(conf: &PageServicePipeliningCo... type BasebackupQueryTime (line 2253) | pub(crate) struct BasebackupQueryTime { method start_recording (line 2280) | pub(crate) fn start_recording(&self) -> BasebackupQueryTimeOngoingReco... type BasebackupQueryTimeOngoingRecording (line 2274) | pub(crate) struct BasebackupQueryTimeOngoingRecording<'a> { function observe (line 2290) | pub(crate) fn observe(self, res: &Result) { type ComputeCommandKind (line 2324) | pub(crate) enum ComputeCommandKind { type ComputeCommandCounters (line 2332) | pub(crate) struct ComputeCommandCounters { method for_command (line 2354) | pub(crate) fn for_command(&self, command: ComputeCommandKind) -> &IntC... type TenantManagerMetrics (line 2399) | pub(crate) struct TenantManagerMetrics { method slot_inserted (line 2410) | pub(crate) fn slot_inserted(&self, slot: &TenantSlot) { method slot_removed (line 2424) | pub(crate) fn slot_removed(&self, slot: &TenantSlot) { method slots_total (line 2439) | pub(crate) fn slots_total(&self) -> u64 { type DeletionQueueMetrics (line 2476) | pub(crate) struct DeletionQueueMetrics { type SecondaryModeMetrics (line 2531) | pub(crate) struct SecondaryModeMetrics { type RemoteOpKind (line 2595) | pub enum RemoteOpKind { method as_str (line 2601) | pub fn as_str(&self) -> &'static str { type RemoteOpFileKind (line 2611) | pub enum RemoteOpFileKind { method as_str (line 2616) | pub fn as_str(&self) -> &'static str { type BackgroundLoopSemaphoreMetrics (line 2649) | pub struct BackgroundLoopSemaphoreMetrics { method record (line 2712) | pub(crate) fn record( type BackgroundLoopSemaphoreMetricsRecorder (line 2721) | pub struct BackgroundLoopSemaphoreMetricsRecorder<'a> { function start (line 2731) | fn start(metrics: &'a BackgroundLoopSemaphoreMetrics, task: BackgroundLo... function acquired (line 2742) | pub fn acquired(&mut self) -> Duration { method drop (line 2754) | fn drop(&mut self) { constant PAGESTREAM_HANDLER_OUTCOME_SUCCESS (line 2864) | pub(crate) const PAGESTREAM_HANDLER_OUTCOME_SUCCESS: &str = "success"; constant PAGESTREAM_HANDLER_OUTCOME_INTERNAL_ERROR (line 2865) | pub(crate) const PAGESTREAM_HANDLER_OUTCOME_INTERNAL_ERROR: &str = "inte... constant PAGESTREAM_HANDLER_OUTCOME_OTHER_ERROR (line 2866) | pub(crate) const PAGESTREAM_HANDLER_OUTCOME_OTHER_ERROR: &str = "other_e... type WalIngestMetrics (line 2912) | pub(crate) struct WalIngestMetrics { method inc_values_committed (line 2925) | pub(crate) fn inc_values_committed(&self, stats: &DatadirModificationS... type WalRedoProcessCounters (line 3045) | pub(crate) struct WalRedoProcessCounters { type WalRedoKillCause (line 3053) | pub(crate) enum WalRedoKillCause { method default (line 3060) | fn default() -> Self { type StorageTimeMetricsTimer (line 3103) | pub(crate) struct StorageTimeMetricsTimer { method new (line 3110) | fn new(metrics: StorageTimeMetrics) -> Self { method elapsed (line 3123) | pub fn elapsed(&self) -> Duration { method stop_and_record (line 3128) | pub fn stop_and_record(self) -> Duration { method record_on_drop (line 3143) | pub(crate) fn record_on_drop(self) -> AlwaysRecordingStorageTimeMetric... method drop (line 3150) | fn drop(&mut self) { type AlwaysRecordingStorageTimeMetricsTimer (line 3158) | pub(crate) struct AlwaysRecordingStorageTimeMetricsTimer(Option Duration { method drop (line 3161) | fn drop(&mut self) { type StorageTimeMetrics (line 3178) | pub(crate) struct StorageTimeMetrics { method new (line 3192) | pub fn new( method start_timer (line 3226) | pub fn start_timer(&self) -> StorageTimeMetricsTimer { type TimelineMetrics (line 3231) | pub(crate) struct TimelineMetrics { method new (line 3269) | pub fn new( method record_new_file_metrics (line 3457) | pub(crate) fn record_new_file_metrics(&self, sz: u64) { method resident_physical_size_sub (line 3461) | pub(crate) fn resident_physical_size_sub(&self, sz: u64) { method resident_physical_size_add (line 3466) | pub(crate) fn resident_physical_size_add(&self, sz: u64) { method resident_physical_size_get (line 3471) | pub(crate) fn resident_physical_size_get(&self) -> u64 { method make_layer_labels (line 3476) | fn make_layer_labels(&self, layer_desc: &PersistentLayerDesc) -> [&str... method make_frozen_layer_labels (line 3495) | fn make_frozen_layer_labels(&self, _layer: &InMemoryLayer) -> [&str; 5] { method dec_frozen_layer (line 3506) | pub fn dec_frozen_layer(&self, layer: &InMemoryLayer) { method inc_frozen_layer (line 3521) | pub fn inc_frozen_layer(&self, layer: &InMemoryLayer) { method dec_layer (line 3536) | pub fn dec_layer(&self, layer_desc: &PersistentLayerDesc) { method inc_layer (line 3549) | pub fn inc_layer(&self, layer_desc: &PersistentLayerDesc) { method shutdown (line 3561) | pub(crate) fn shutdown(&self) { function remove_tenant_metrics (line 3701) | pub(crate) fn remove_tenant_metrics(tenant_shard_id: &TenantShardId) { type PerTimelineRemotePhysicalSizeGauge (line 3717) | pub(crate) struct PerTimelineRemotePhysicalSizeGauge { method new (line 3723) | fn new(per_timeline_gauge: UIntGauge) -> Self { method set (line 3729) | pub(crate) fn set(&self, sz: u64) { method get (line 3738) | pub(crate) fn get(&self) -> u64 { method drop (line 3744) | fn drop(&mut self) { type RemoteTimelineClientMetrics (line 3749) | pub(crate) struct RemoteTimelineClientMetrics { method new (line 3761) | pub fn new(tenant_shard_id: &TenantShardId, timeline_id: &TimelineId) ... method remote_operation_time (line 3788) | pub fn remote_operation_time( method calls_counter_pair (line 3805) | fn calls_counter_pair( method bytes_started_counter (line 3826) | fn bytes_started_counter( method bytes_finished_counter (line 3847) | fn bytes_finished_counter( method get_bytes_started_counter_value (line 3871) | pub fn get_bytes_started_counter_value( method get_bytes_finished_counter_value (line 3881) | pub fn get_bytes_finished_counter_value( method call_begin (line 3947) | pub(crate) fn call_begin( method call_end (line 3976) | pub(crate) fn call_end( type RemoteTimelineClientCallMetricGuard (line 3894) | pub(crate) struct RemoteTimelineClientCallMetricGuard { method will_decrement_manually (line 3904) | pub fn will_decrement_manually(mut self) { method drop (line 3915) | fn drop(&mut self) { type RemoteTimelineClientMetricsCallTrackSize (line 3931) | pub(crate) enum RemoteTimelineClientMetricsCallTrackSize { method drop (line 3994) | fn drop(&mut self) { type MeasureRemoteOp (line 4046) | pub(crate) trait MeasureRemoteOp: Sized + Future Arc { method remove_system (line 4126) | pub fn remove_system(&self, id: u64) { method flush_thread_local_metrics (line 4132) | pub fn flush_thread_local_metrics(&self) { type ThreadLocalMetrics (line 4108) | pub struct ThreadLocalMetrics { method new (line 4141) | pub fn new(slots_submission_queue_depth: LocalHistogram) -> Self { method flush (line 4148) | pub fn flush(&self) { method observe_slots_submission_queue_depth (line 4157) | fn observe_slots_submission_queue_depth(&self, queue_depth: u64) { type Collector (line 4168) | pub struct Collector { method desc (line 4176) | fn desc(&self) -> Vec<&metrics::core::Desc> { method collect (line 4180) | fn collect(&self) -> Vec { constant NMETRICS (line 4204) | const NMETRICS: usize = 3; method new (line 4207) | pub fn new() -> Self { type GlobalAndPerTenantIntCounter (line 4258) | pub(crate) struct GlobalAndPerTenantIntCounter { method inc (line 4265) | pub(crate) fn inc(&self) { method inc_by (line 4269) | pub(crate) fn inc_by(&self, n: u64) { type Metrics (line 4282) | pub(crate) struct Metrics { constant KINDS (line 4355) | const KINDS: &[&str] = &["pagestream"]; type Pagestream (line 4356) | pub type Pagestream = Metrics<0>; function new (line 4359) | pub(crate) fn new(tenant_shard_id: &TenantShardId) -> Self { function preinitialize_global_metrics (line 4398) | pub(crate) fn preinitialize_global_metrics() { function remove_tenant_metrics (line 4405) | pub(crate) fn remove_tenant_metrics(tenant_shard_id: &TenantShardId) { type Metrics (line 4426) | pub(crate) struct Metrics { method default (line 4438) | fn default() -> Self { function set_tokio_runtime_setup (line 4503) | pub(crate) fn set_tokio_runtime_setup(setup: &str, num_threads: NonZeroU... function preinitialize_metrics (line 4567) | pub fn preinitialize_metrics( FILE: pageserver/src/page_cache.rs constant TEST_PAGE_CACHE_SIZE (line 84) | const TEST_PAGE_CACHE_SIZE: usize = 50; function init (line 89) | pub fn init(size: usize) { function get (line 98) | pub fn get() -> &'static PageCache { constant PAGE_SZ (line 111) | pub const PAGE_SZ: usize = postgres_ffi::BLCKSZ as usize; constant MAX_USAGE_COUNT (line 112) | const MAX_USAGE_COUNT: u8 = 5; type FileId (line 116) | pub struct FileId(u64); function next_file_id (line 121) | pub fn next_file_id() -> FileId { type CacheKey (line 130) | enum CacheKey { type Slot (line 134) | struct Slot { method inc_usage_count (line 148) | fn inc_usage_count(&self) { method dec_usage_count (line 162) | fn dec_usage_count(&self) -> u8 { method set_usage_count (line 176) | fn set_usage_count(&self, count: u8) { type SlotInner (line 139) | struct SlotInner { method coalesce_readers_permit (line 183) | fn coalesce_readers_permit(&self, permit: PinnedSlotsPermit) -> Arc anyhow::Result Option { method remove_mapping (line 512) | fn remove_mapping(&self, old_key: &CacheKey) { method try_insert_mapping (line 528) | fn try_insert_mapping(&self, new_key: &CacheKey, slot_idx: usize) -> O... method find_victim (line 551) | async fn find_victim( method new (line 632) | fn new(num_pages: usize) -> Self { type PinnedSlotsPermit (line 212) | struct PinnedSlotsPermit { type PageReadGuard (line 220) | pub struct PageReadGuard<'i> { type Target (line 226) | type Target = [u8; PAGE_SZ]; function deref (line 228) | fn deref(&self) -> &Self::Target { function as_ref (line 234) | fn as_ref(&self) -> &[u8; PAGE_SZ] { type PageWriteGuard (line 246) | pub struct PageWriteGuard<'i> { type PageWriteGuardState (line 250) | enum PageWriteGuardState<'i> { function deref_mut (line 259) | fn deref_mut(&mut self) -> &mut Self::Target { type Target (line 268) | type Target = [u8; PAGE_SZ]; function deref (line 270) | fn deref(&self) -> &Self::Target { function mark_valid (line 281) | pub fn mark_valid(mut self) -> PageReadGuard<'a> { method drop (line 302) | fn drop(&mut self) { type ReadBufResult (line 316) | pub enum ReadBufResult<'a> { type PageSzBytesMetric (line 671) | trait PageSzBytesMetric { method set_page_sz (line 672) | fn set_page_sz(&self, count: usize); method add_page_sz (line 673) | fn add_page_sz(&self, count: usize); method sub_page_sz (line 674) | fn sub_page_sz(&self, count: usize); method set_page_sz (line 683) | fn set_page_sz(&self, count: usize) { method add_page_sz (line 686) | fn add_page_sz(&self, count: usize) { method sub_page_sz (line 689) | fn sub_page_sz(&self, count: usize) { function count_times_page_sz (line 678) | fn count_times_page_sz(count: usize) -> u64 { FILE: pageserver/src/page_service.rs constant ACTIVE_TENANT_TIMEOUT (line 97) | const ACTIVE_TENANT_TIMEOUT: Duration = Duration::from_millis(5000); constant LOG_SLOW_GETPAGE_THRESHOLD (line 100) | const LOG_SLOW_GETPAGE_THRESHOLD: Duration = Duration::from_secs(30); constant GRPC_TCP_KEEPALIVE_TIME (line 105) | const GRPC_TCP_KEEPALIVE_TIME: Duration = Duration::from_secs(60); constant GRPC_TCP_NODELAY (line 109) | const GRPC_TCP_NODELAY: bool = true; constant GRPC_HTTP2_KEEPALIVE_INTERVAL (line 113) | const GRPC_HTTP2_KEEPALIVE_INTERVAL: Duration = Duration::from_secs(30); constant GRPC_HTTP2_KEEPALIVE_TIMEOUT (line 116) | const GRPC_HTTP2_KEEPALIVE_TIMEOUT: Duration = Duration::from_secs(20); constant GRPC_MAX_CONCURRENT_STREAMS (line 120) | const GRPC_MAX_CONCURRENT_STREAMS: u32 = 256; type Listener (line 124) | pub struct Listener { method stop_accepting (line 177) | pub async fn stop_accepting(self) -> Connections { type Connections (line 131) | pub struct Connections { method shutdown (line 185) | pub(crate) async fn shutdown(self) { method handle_connection_completion (line 198) | fn handle_connection_completion(res: Result, tokio:... function spawn (line 137) | pub fn spawn( function libpq_listener_main (line 216) | pub async fn libpq_listener_main( type ConnectionHandlerResult (line 291) | type ConnectionHandlerResult = anyhow::Result<()>; type ConnectionPerfSpanFields (line 296) | struct ConnectionPerfSpanFields { function page_service_conn_main (line 304) | async fn page_service_conn_main( type PageServerHandler (line 412) | struct PageServerHandler { method new (line 915) | pub fn new( method flush_cancellable (line 946) | async fn flush_cancellable( method pagestream_read_message (line 965) | async fn pagestream_read_message( method record_op_start_and_throttle (line 1294) | async fn record_op_start_and_throttle( method pagestream_do_batch (line 1316) | fn pagestream_do_batch( method pagestream_handle_batched_message (line 1401) | async fn pagestream_handle_batched_message( method pagestream_dispatch_batched_message (line 1629) | async fn pagestream_dispatch_batched_message( method handle_pagerequests (line 1794) | async fn handle_pagerequests( method handle_pagerequests_serial (line 1910) | async fn handle_pagerequests_serial( method handle_pagerequests_pipelined (line 1979) | async fn handle_pagerequests_pipelined( method wait_or_get_last_lsn (line 2206) | async fn wait_or_get_last_lsn( method effective_request_lsn (line 2240) | fn effective_request_lsn( method handle_make_lsn_lease (line 2296) | async fn handle_make_lsn_lease( method handle_get_rel_exists_request (line 2350) | async fn handle_get_rel_exists_request( method handle_get_nblocks_request (line 2383) | async fn handle_get_nblocks_request( method handle_db_size_request (line 2422) | async fn handle_db_size_request( method handle_get_page_at_lsn_request_batched (line 2454) | async fn handle_get_page_at_lsn_request_batched( method handle_get_slru_segment_request (line 2579) | async fn handle_get_slru_segment_request( method handle_test_request_batch (line 2604) | async fn handle_test_request_batch( method handle_basebackup_request (line 2665) | async fn handle_basebackup_request( method check_permission (line 2797) | fn check_permission(&self, tenant_id: Option) -> Result<(), ... method check_auth_jwt (line 3094) | fn check_auth_jwt( method startup (line 3123) | fn startup( method process_query (line 3150) | async fn process_query( type TimelineHandles (line 437) | struct TimelineHandles { method new (line 447) | fn new(tenant_manager: Arc) -> Self { method get (line 456) | async fn get( method tenant_id (line 472) | fn tenant_id(&self) -> Option { type TenantManagerWrapper (line 477) | pub(crate) struct TenantManagerWrapper { method resolve (line 523) | async fn resolve( type TenantManagerTypes (line 485) | pub(crate) struct TenantManagerTypes; type TenantManager (line 488) | type TenantManager = TenantManagerWrapper; type Timeline (line 489) | type Timeline = TenantManagerCacheItem; type TenantManagerCacheItem (line 492) | pub(crate) struct TenantManagerCacheItem { type Target (line 502) | type Target = Arc; method deref (line 503) | fn deref(&self) -> &Self::Target { method shard_timeline_id (line 509) | fn shard_timeline_id(&self) -> timeline::handle::ShardTimelineId { method per_timeline_state (line 513) | fn per_timeline_state(&self) -> &timeline::handle::PerTimelineState &pageserver_api::shard::ShardIdentity { type HoldAppliedGcCutoffGuard (line 595) | enum HoldAppliedGcCutoffGuard { type PageStreamError (line 601) | enum PageStreamError { method from (line 652) | fn from(value: PageReconstructError) -> Self { method from (line 661) | fn from(value: GetActiveTimelineError) -> Self { method from (line 675) | fn from(value: WaitLsnError) -> Self { function from (line 630) | fn from(err: PageStreamError) -> Self { method from (line 685) | fn from(value: WaitLsnError) -> Self { type BatchedPageStreamError (line 695) | struct BatchedPageStreamError { method fmt (line 701) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type BatchedGetPageRequest (line 706) | struct BatchedGetPageRequest { type BatchedTestRequest (line 717) | struct BatchedTestRequest { type BatchedFeMessage (line 727) | enum BatchedFeMessage { method as_static_str (line 772) | fn as_static_str(&self) -> &'static str { method observe_execution_start (line 776) | fn observe_execution_start(&mut self, at: Instant) { method should_break_batch (line 799) | fn should_break_batch( type BaseBackupCmd (line 2815) | struct BaseBackupCmd { method parse (line 2918) | fn parse(query: &str) -> anyhow::Result { type FullBackupCmd (line 2825) | struct FullBackupCmd { method parse (line 2879) | fn parse(query: &str) -> anyhow::Result { type PageStreamCmd (line 2834) | struct PageStreamCmd { method parse (line 2858) | fn parse(query: &str, protocol_version: PagestreamProtocolVersion) -> ... type LeaseLsnCmd (line 2842) | struct LeaseLsnCmd { method parse (line 2982) | fn parse(query: &str) -> anyhow::Result { type PageServiceCmd (line 2849) | enum PageServiceCmd { method parse (line 3005) | fn parse(query: &str) -> anyhow::Result { function parse_options (line 3044) | fn parse_options(options: &str) -> (Vec<(String, String)>, bool) { type GrpcPageServiceHandler (line 3300) | pub struct GrpcPageServiceHandler { method spawn (line 3324) | pub fn spawn( method make_hdr (line 3428) | fn make_hdr( method get_request_timeline (line 3444) | async fn get_request_timeline( method get_request_timeline_shard_zero (line 3469) | async fn get_request_timeline_shard_zero( method record_op_start_and_throttle (line 3512) | async fn record_op_start_and_throttle( method get_page (line 3543) | async fn get_page( method maybe_split_get_page (line 3660) | async fn maybe_split_get_page( type GetBaseBackupStream (line 3734) | type GetBaseBackupStream = Pin< type GetPagesStream (line 3738) | type GetPagesStream = method get_base_backup (line 3742) | async fn get_base_backup( method get_db_size (line 3864) | async fn get_db_size( method get_pages (line 3896) | async fn get_pages( method get_rel_size (line 4007) | async fn get_rel_size( method get_slru_segment (line 4043) | async fn get_slru_segment( method lease_lsn (line 4077) | async fn lease_lsn( type ObservabilityLayer (line 4120) | struct ObservabilityLayer; type Service (line 4123) | type Service = ObservabilityLayerService; method layer (line 4125) | fn layer(&self, inner: S) -> Self::Service { type ObservabilityLayerService (line 4131) | struct ObservabilityLayerService { type ReceivedAt (line 4136) | struct ReceivedAt(Instant); constant NAME (line 4139) | const NAME: &'static str = S::NAME; type Response (line 4147) | type Response = S::Response; type Error (line 4148) | type Error = S::Error; type Future (line 4149) | type Future = BoxFuture<'static, Result>; function call (line 4151) | fn call(&mut self, mut req: http::Request) -> Self::Future { function poll_ready (line 4223) | fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll) -> Result>) -> Self { method call (line 4290) | fn call(&mut self, req: tonic::Request<()>) -> Result(req: &tonic::Request) -> ... function extract_from (line 4331) | fn extract_from(ext: &http::Extensions) -> &T { type GetActiveTimelineError (line 4340) | pub(crate) enum GetActiveTimelineError { method from (line 4348) | fn from(e: GetActiveTimelineError) -> Self { function from (line 4358) | fn from(err: GetActiveTimelineError) -> Self { function from (line 4369) | fn from(err: GetTimelineError) -> Self { method from (line 4381) | fn from(e: GetActiveTenantError) -> Self { function from (line 4397) | fn from(err: GetActiveTenantError) -> Self { method from (line 4412) | fn from(e: HandleUpgradeError) -> Self { function from (line 4420) | fn from(err: HandleUpgradeError) -> Self { function set_tracing_field_shard_id (line 4427) | fn set_tracing_field_shard_id(timeline: &Timeline) { type WaitedForLsn (line 4436) | struct WaitedForLsn(Lsn); method from (line 4438) | fn from(WaitedForLsn(lsn): WaitedForLsn) -> Self { function pageservice_cmd_parse (line 4450) | fn pageservice_cmd_parse() { function pageservice_cmd_err_handling (line 4594) | fn pageservice_cmd_err_handling() { function test_parse_options (line 4622) | fn test_parse_options() { FILE: pageserver/src/pgdatadir_mapping.rs constant MAX_AUX_FILE_DELTAS (line 60) | pub const MAX_AUX_FILE_DELTAS: usize = 1024; constant MAX_AUX_FILE_V2_DELTAS (line 63) | pub const MAX_AUX_FILE_V2_DELTAS: usize = 16; type LsnForTimestamp (line 66) | pub enum LsnForTimestamp { type LsnRange (line 102) | pub struct LsnRange { method at (line 108) | pub fn at(lsn: Lsn) -> LsnRange { method is_latest (line 114) | pub fn is_latest(&self) -> bool { type CalculateLogicalSizeError (line 120) | pub(crate) enum CalculateLogicalSizeError { method from (line 172) | fn from(pre: PageReconstructError) -> Self { type CollectKeySpaceError (line 136) | pub(crate) enum CollectKeySpaceError { method is_cancel (line 146) | pub(crate) fn is_cancel(&self) -> bool { method into_anyhow (line 153) | pub(crate) fn into_anyhow(self) -> anyhow::Error { method from (line 163) | fn from(err: PageReconstructError) -> Self { type RelationError (line 181) | pub enum RelationError { method begin_modification (line 217) | pub fn begin_modification(&self, lsn: Lsn) -> DatadirModification method begin_modification_for_import (line 235) | pub fn begin_modification_for_import(&self, lsn: Lsn) -> DatadirModifica... method get_rel_page_at_lsn (line 258) | pub(crate) async fn get_rel_page_at_lsn( method get_rel_page_at_lsn_batched (line 313) | pub(crate) async fn get_rel_page_at_lsn_batched( method get_db_size (line 505) | pub(crate) async fn get_db_size( method get_rel_size (line 539) | pub(crate) async fn get_rel_size( method get_rel_size_in_reldir (line 557) | pub(crate) async fn get_rel_size_in_reldir( method get_rel_exists (line 609) | pub(crate) async fn get_rel_exists( method get_rel_exists_in_reldir_v1 (line 618) | async fn get_rel_exists_in_reldir_v1( method get_rel_exists_in_reldir_v2 (line 643) | async fn get_rel_exists_in_reldir_v2( method get_rel_exists_in_reldir (line 668) | pub(crate) async fn get_rel_exists_in_reldir( method list_rels_v1 (line 739) | async fn list_rels_v1( method list_rels_v2 (line 759) | async fn list_rels_v2( method list_rels (line 831) | pub(crate) async fn list_rels( method get_slru_segment (line 880) | pub(crate) async fn get_slru_segment( method get_slru_segment_size (line 926) | pub(crate) async fn get_slru_segment_size( method get_slru_segment_exists (line 940) | pub(crate) async fn get_slru_segment_exists( method find_lsn_for_timestamp (line 963) | pub(crate) async fn find_lsn_for_timestamp( method is_latest_commit_timestamp_ge_than (line 1073) | pub(crate) async fn is_latest_commit_timestamp_ge_than( method get_timestamp_for_lsn (line 1096) | pub(crate) async fn get_timestamp_for_lsn( method map_all_timestamps (line 1119) | async fn map_all_timestamps( method get_slru_keyspace (line 1176) | pub(crate) async fn get_slru_keyspace( method list_slru_segments (line 1204) | pub(crate) async fn list_slru_segments( method get_relmap_file (line 1217) | pub(crate) async fn get_relmap_file( method list_dbdirs (line 1230) | pub(crate) async fn list_dbdirs( method get_twophase_file (line 1241) | pub(crate) async fn get_twophase_file( method list_twophase_files (line 1252) | pub(crate) async fn list_twophase_files( method get_control_file (line 1271) | pub(crate) async fn get_control_file( method get_checkpoint (line 1279) | pub(crate) async fn get_checkpoint( method list_aux_files_v2 (line 1287) | async fn list_aux_files_v2( method trigger_aux_file_size_computation (line 1318) | pub(crate) async fn trigger_aux_file_size_computation( method list_aux_files (line 1328) | pub(crate) async fn list_aux_files( method get_replorigins (line 1337) | pub(crate) async fn get_replorigins( method get_current_logical_size_non_incremental (line 1381) | pub(crate) async fn get_current_logical_size_non_incremental( method collect_gc_compaction_keyspace (line 1438) | pub(crate) async fn collect_gc_compaction_keyspace( method collect_keyspace (line 1458) | pub(crate) async fn collect_keyspace( method get_cached_rel_size (line 1601) | pub fn get_cached_rel_size(&self, tag: &RelTag, version: Version<'_>) ->... method update_cached_rel_size (line 1629) | pub fn update_cached_rel_size(&self, tag: RelTag, version: Version<'_>, ... method set_cached_rel_size (line 1655) | pub fn set_cached_rel_size(&self, tag: RelTag, lsn: Lsn, nblocks: BlockN... method remove_cached_rel_size (line 1663) | pub fn remove_cached_rel_size(&self, tag: &RelTag) { type DatadirModification (line 1676) | pub struct DatadirModification<'a> { type MetricsUpdate (line 1712) | pub enum MetricsUpdate { type RelDirMode (line 1722) | pub struct RelDirMode { constant MAX_PENDING_BYTES (line 1733) | pub(crate) const MAX_PENDING_BYTES: usize = 8 * 1024 * 1024; function get_lsn (line 1736) | pub(crate) fn get_lsn(&self) -> Lsn { function approx_pending_bytes (line 1740) | pub(crate) fn approx_pending_bytes(&self) -> usize { function has_dirty_data (line 1747) | pub(crate) fn has_dirty_data(&self) -> bool { function stats (line 1754) | pub(crate) fn stats(&self) -> DatadirModificationStats { function set_lsn (line 1774) | pub(crate) fn set_lsn(&mut self, lsn: Lsn) -> Result<(), WalIngestError> { function is_data_key (line 1796) | fn is_data_key(key: &Key) -> bool { function init_empty (line 1804) | pub fn init_empty(&mut self) -> anyhow::Result<()> { function init_empty_test_timeline (line 1855) | pub fn init_empty_test_timeline(&mut self) -> anyhow::Result<()> { function create_relation_if_required (line 1870) | pub(crate) async fn create_relation_if_required( function find_gaps (line 1905) | fn find_gaps( function ingest_batch (line 1929) | pub async fn ingest_batch( function put_rel_wal_record (line 1979) | pub fn put_rel_wal_record( function put_slru_wal_record (line 1991) | pub fn put_slru_wal_record( function put_rel_page_image (line 2010) | pub fn put_rel_page_image( function put_slru_page_image (line 2025) | pub fn put_slru_page_image( function put_rel_page_image_zero (line 2042) | pub(crate) fn put_rel_page_image_zero( function put_slru_page_image_zero (line 2062) | pub(crate) fn put_slru_page_image_zero( function maybe_enable_rel_size_v2 (line 2088) | pub fn maybe_enable_rel_size_v2(&mut self, is_create: bool) -> anyhow::R... function put_relmap_file (line 2132) | pub async fn put_relmap_file( function put_twophase_file (line 2179) | pub async fn put_twophase_file( function set_replorigin (line 2215) | pub async fn set_replorigin( function drop_replorigin (line 2225) | pub async fn drop_replorigin(&mut self, origin_id: RepOriginId) -> Resul... function put_control_file (line 2229) | pub fn put_control_file(&mut self, img: Bytes) -> Result<(), WalIngestEr... function put_checkpoint (line 2234) | pub fn put_checkpoint(&mut self, img: Bytes) -> Result<(), WalIngestErro... function drop_dbdir (line 2239) | pub async fn drop_dbdir( function initialize_rel_size_v2_keyspace (line 2275) | async fn initialize_rel_size_v2_keyspace( function put_rel_creation_v1 (line 2316) | async fn put_rel_creation_v1( function put_rel_creation_v2 (line 2349) | async fn put_rel_creation_v2( function put_rel_creation (line 2381) | pub async fn put_rel_creation( function put_rel_truncation (line 2454) | pub async fn put_rel_truncation( function put_rel_extend (line 2485) | pub async fn put_rel_extend( function put_rel_drop_v1 (line 2510) | async fn put_rel_drop_v1( function put_rel_drop_v2 (line 2554) | async fn put_rel_drop_v2( function put_rel_drops (line 2578) | pub(crate) async fn put_rel_drops( function put_slru_segment_creation (line 2615) | pub async fn put_slru_segment_creation( function put_slru_extend (line 2652) | pub fn put_slru_extend( function drop_slru_segment (line 2668) | pub async fn drop_slru_segment( function drop_relmap_file (line 2698) | pub fn drop_relmap_file(&mut self, _spcnode: Oid, _dbnode: Oid) -> Resul... function drop_twophase_file (line 2704) | pub async fn drop_twophase_file( function put_file (line 2744) | pub async fn put_file( function flush (line 2827) | pub(crate) async fn flush(&mut self, ctx: &RequestContext) -> anyhow::Re... function commit (line 2867) | pub async fn commit(&mut self, ctx: &RequestContext) -> anyhow::Result<(... function len (line 2950) | pub(crate) fn len(&self) -> usize { function get (line 2965) | async fn get(&self, key: Key, ctx: &RequestContext) -> Result) { type DatadirModificationStats (line 3078) | pub struct DatadirModificationStats { type Version (line 3093) | pub enum Version<'a> { function get (line 3099) | async fn get( function sparse_get (line 3113) | async fn sparse_get( function is_latest (line 3128) | pub fn is_latest(&self) -> bool { function get_lsn (line 3135) | pub fn get_lsn(&self) -> Lsn { function at (line 3142) | pub fn at(lsn: Lsn) -> Self { type DbDirectory (line 3153) | pub(crate) struct DbDirectory { type TwoPhaseDirectory (line 3164) | pub(crate) struct TwoPhaseDirectory { type TwoPhaseDirectoryV17 (line 3169) | struct TwoPhaseDirectoryV17 { type RelDirectory (line 3174) | pub(crate) struct RelDirectory { type RelSizeEntry (line 3183) | struct RelSizeEntry { type SlruSegmentDirectory (line 3188) | pub(crate) struct SlruSegmentDirectory { type DirectoryKind (line 3195) | pub(crate) enum DirectoryKind { constant KINDS_NUM (line 3205) | pub(crate) const KINDS_NUM: usize = ::LENGTH; method offset (line 3206) | pub(crate) fn offset(&self) -> usize { function aux_files_round_trip (line 3227) | async fn aux_files_round_trip() -> anyhow::Result<()> { function gap_finding (line 3282) | fn gap_finding() { function sharded_gap_finding (line 3329) | fn sharded_gap_finding() { FILE: pageserver/src/span.rs constant TENANT_ID (line 6) | pub(super) const TENANT_ID: ConstExtractor = ConstExtractor::new("tenant... constant SHARD_ID (line 7) | pub(super) const SHARD_ID: ConstExtractor = ConstExtractor::new("shard_i... constant TIMELINE_ID (line 8) | pub(super) const TIMELINE_ID: ConstExtractor = ConstExtractor::new("time... function debug_assert_current_span_has_tenant_id (line 12) | pub(crate) fn debug_assert_current_span_has_tenant_id() { function debug_assert_current_span_has_tenant_and_timeline_id (line 22) | pub(crate) fn debug_assert_current_span_has_tenant_and_timeline_id() { function debug_assert_current_span_has_tenant_and_timeline_id_no_shard_id (line 35) | pub(crate) fn debug_assert_current_span_has_tenant_and_timeline_id_no_sh... FILE: pageserver/src/statvfs.rs type Statvfs (line 5) | pub enum Statvfs { method get (line 15) | pub fn get(tenants_dir: &Utf8Path, mocked: Option<&mock::Behavior>) ->... method blocks (line 27) | pub fn blocks(&self) -> u64 { method blocks_available (line 36) | pub fn blocks_available(&self) -> u64 { method fragment_size (line 43) | pub fn fragment_size(&self) -> u64 { method block_size (line 50) | pub fn block_size(&self) -> u64 { method get_avail_total_bytes (line 58) | pub fn get_avail_total_bytes(&self) -> (u64, u64) { function get (line 80) | pub fn get(tenants_dir: &Utf8Path, behavior: &Behavior) -> nix::Result) -> ... function is_not_found (line 144) | fn is_not_found(e: &walkdir::Error) -> bool { type Statvfs (line 152) | pub struct Statvfs { method get (line 15) | pub fn get(tenants_dir: &Utf8Path, mocked: Option<&mock::Behavior>) ->... method blocks (line 27) | pub fn blocks(&self) -> u64 { method blocks_available (line 36) | pub fn blocks_available(&self) -> u64 { method fragment_size (line 43) | pub fn fragment_size(&self) -> u64 { method block_size (line 50) | pub fn block_size(&self) -> u64 { method get_avail_total_bytes (line 58) | pub fn get_avail_total_bytes(&self) -> (u64, u64) { FILE: pageserver/src/task_mgr.rs type TokioRuntimeMode (line 118) | enum TokioRuntimeMode { type Err (line 124) | type Err = String; method from_str (line 126) | fn from_str(s: &str) -> Result { constant NUM_MULTIPLE_RUNTIMES (line 222) | const NUM_MULTIPLE_RUNTIMES: NonZeroUsize = NonZeroUsize::new(4).unwrap(); type PageserverTaskId (line 225) | pub struct PageserverTaskId(u64); method fmt (line 228) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type TaskKind (line 268) | pub enum TaskKind { type MutableTaskState (line 391) | struct MutableTaskState { type PageServerTask (line 397) | struct PageServerTask { function spawn (line 418) | pub fn spawn( function task_wrapper (line 463) | async fn task_wrapper( function exit_on_panic_or_error (line 516) | pub async fn exit_on_panic_or_error( function shutdown_tasks (line 555) | pub async fn shutdown_tasks( function current_task_kind (line 621) | pub fn current_task_kind() -> Option { function current_task_id (line 625) | pub fn current_task_id() -> Option { function shutdown_watcher (line 631) | pub async fn shutdown_watcher() { function shutdown_token (line 644) | pub fn shutdown_token() -> CancellationToken { function is_shutdown_requested (line 656) | pub fn is_shutdown_requested() -> bool { FILE: pageserver/src/tenant.rs constant TENANTS_SEGMENT_NAME (line 155) | pub const TENANTS_SEGMENT_NAME: &str = "tenants"; constant TIMELINES_SEGMENT_NAME (line 158) | pub const TIMELINES_SEGMENT_NAME: &str = "timelines"; type TenantSharedResources (line 163) | pub struct TenantSharedResources { type AttachedTenantConf (line 176) | pub(super) struct AttachedTenantConf { method new (line 185) | fn new( method try_from (line 213) | fn try_from( method is_gc_blocked_by_lsn_lease_deadline (line 229) | fn is_gc_blocked_by_lsn_lease_deadline(&self) -> bool { type TimelinePreload (line 235) | struct TimelinePreload { type TenantPreload (line 242) | pub(crate) struct TenantPreload { type SpawnMode (line 251) | pub(crate) enum SpawnMode { type TenantShard (line 261) | pub struct TenantShard { method fmt (line 397) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method timeline_init_and_sync (line 1164) | async fn timeline_init_and_sync( method spawn (line 1354) | pub(crate) fn spawn( method preload (line 1583) | pub(crate) async fn preload( method read_on_disk_heatmap (line 1661) | async fn read_on_disk_heatmap(&self) -> Option<(HeatMapTenant, std::ti... method attach (line 1690) | async fn attach( method clean_up_timelines (line 1942) | fn clean_up_timelines(&self, existent_timelines: &HashSet)... method remote_size (line 2000) | pub fn remote_size(&self) -> u64 { method load_remote_timeline (line 2012) | async fn load_remote_timeline( method load_timelines_metadata (line 2055) | async fn load_timelines_metadata( method build_timeline_client (line 2110) | fn build_timeline_client( method load_timeline_metadata (line 2126) | fn load_timeline_metadata( method check_to_be_archived_has_no_unarchived_children (line 2151) | fn check_to_be_archived_has_no_unarchived_children( method check_ancestor_of_to_be_unarchived_is_not_archived (line 2174) | fn check_ancestor_of_to_be_unarchived_is_not_archived( method check_to_be_unarchived_timeline_has_no_archived_parent (line 2202) | fn check_to_be_unarchived_timeline_has_no_archived_parent( method unoffload_timeline (line 2218) | async fn unoffload_timeline( method apply_timeline_archival_config (line 2352) | pub(crate) async fn apply_timeline_archival_config( method get_offloaded_timeline (line 2442) | pub fn get_offloaded_timeline( method tenant_shard_id (line 2457) | pub(crate) fn tenant_shard_id(&self) -> TenantShardId { method get_timeline (line 2463) | pub fn get_timeline( method list_timelines (line 2489) | pub fn list_timelines(&self) -> Vec> { method list_importing_timelines (line 2500) | pub fn list_importing_timelines(&self) -> Vec> { method list_timelines_and_offloaded (line 2512) | pub fn list_timelines_and_offloaded( method list_timeline_ids (line 2532) | pub fn list_timeline_ids(&self) -> Vec { method create_empty_timeline (line 2547) | pub(crate) async fn create_empty_timeline( method create_test_timeline (line 2600) | pub async fn create_test_timeline( method create_test_timeline_with_layers (line 2639) | pub async fn create_test_timeline_with_layers( method create_timeline (line 2694) | pub(crate) async fn create_timeline( method create_timeline_import_pgdata (line 2860) | async fn create_timeline_import_pgdata( method finalize_importing_timeline (line 2977) | pub(crate) async fn finalize_importing_timeline( method create_timeline_import_pgdata_task (line 3016) | async fn create_timeline_import_pgdata_task( method create_timeline_import_pgdata_task_impl (line 3043) | async fn create_timeline_import_pgdata_task_impl( method delete_timeline (line 3060) | pub(crate) async fn delete_timeline( method gc_iteration (line 3082) | pub(crate) async fn gc_iteration( method compaction_iteration (line 3135) | async fn compaction_iteration( method maybe_trip_compaction_breaker (line 3326) | pub(crate) fn maybe_trip_compaction_breaker(&self, err: &CompactionErr... method cancel_scheduled_compaction (line 3337) | pub(crate) fn cancel_scheduled_compaction(&self, timeline_id: Timeline... method get_scheduled_compaction_tasks (line 3344) | pub(crate) fn get_scheduled_compaction_tasks( method schedule_compaction (line 3366) | pub(crate) async fn schedule_compaction( method housekeeping (line 3381) | async fn housekeeping(&self) { method timeline_has_no_attached_children (line 3419) | pub fn timeline_has_no_attached_children(&self, timeline_id: TimelineI... method current_state (line 3426) | pub fn current_state(&self) -> TenantState { method is_active (line 3430) | pub fn is_active(&self) -> bool { method generation (line 3434) | pub fn generation(&self) -> Generation { method wal_redo_manager_status (line 3438) | pub(crate) fn wal_redo_manager_status(&self) -> Option Result<... method set_broken (line 3742) | pub(crate) async fn set_broken(&self, reason: String) { method set_broken_no_wait (line 3764) | pub(crate) fn set_broken_no_wait(&self, reason: impl Display) { method subscribe_for_state_updates (line 3794) | pub fn subscribe_for_state_updates(&self) -> watch::Receiver AttachmentMode { method get_location_conf (line 3857) | pub(crate) fn get_location_conf(&self) -> models::LocationConfig { method get_tenant_shard_id (line 3877) | pub(crate) fn get_tenant_shard_id(&self) -> &TenantShardId { method get_shard_identity (line 3881) | pub(crate) fn get_shard_identity(&self) -> ShardIdentity { method get_shard_stripe_size (line 3885) | pub(crate) fn get_shard_stripe_size(&self) -> ShardStripeSize { method get_generation (line 3889) | pub(crate) fn get_generation(&self) -> Generation { method split_prepare (line 3896) | pub(crate) async fn split_prepare( method get_sizes (line 4014) | pub(crate) fn get_sizes(&self) -> TopTenantShardItem { method tenant_specific_overrides (line 4097) | pub fn tenant_specific_overrides(&self) -> pageserver_api::models::Ten... method effective_config (line 4101) | pub fn effective_config(&self) -> pageserver_api::config::TenantConfig... method get_checkpoint_distance (line 4106) | pub fn get_checkpoint_distance(&self) -> u64 { method get_checkpoint_timeout (line 4113) | pub fn get_checkpoint_timeout(&self) -> Duration { method get_compaction_target_size (line 4120) | pub fn get_compaction_target_size(&self) -> u64 { method get_compaction_period (line 4127) | pub fn get_compaction_period(&self) -> Duration { method get_compaction_threshold (line 4134) | pub fn get_compaction_threshold(&self) -> usize { method get_rel_size_v2_enabled (line 4141) | pub fn get_rel_size_v2_enabled(&self) -> bool { method get_compaction_upper_limit (line 4148) | pub fn get_compaction_upper_limit(&self) -> usize { method get_compaction_l0_first (line 4155) | pub fn get_compaction_l0_first(&self) -> bool { method get_gc_horizon (line 4162) | pub fn get_gc_horizon(&self) -> u64 { method get_gc_period (line 4169) | pub fn get_gc_period(&self) -> Duration { method get_image_creation_threshold (line 4176) | pub fn get_image_creation_threshold(&self) -> usize { method get_image_creation_timeout (line 4184) | pub fn get_image_creation_timeout(&self) -> Option { method get_pitr_interval (line 4192) | pub fn get_pitr_interval(&self) -> Duration { method get_min_resident_size_override (line 4199) | pub fn get_min_resident_size_override(&self) -> Option { method get_heatmap_period (line 4206) | pub fn get_heatmap_period(&self) -> Option { method get_lsn_lease_length (line 4218) | pub fn get_lsn_lease_length(&self) -> Duration { method get_lsn_lease_length_impl (line 4222) | pub fn get_lsn_lease_length_impl( method get_timeline_offloading_enabled (line 4231) | pub fn get_timeline_offloading_enabled(&self) -> bool { method build_tenant_manifest (line 4242) | fn build_tenant_manifest(&self) -> TenantManifest { method update_tenant_config (line 4260) | pub fn update_tenant_config< method set_new_location_config (line 4297) | pub(crate) fn set_new_location_config(&self, new_conf: AttachedTenantC... method get_pagestream_throttle_config (line 4312) | fn get_pagestream_throttle_config( method tenant_conf_updated (line 4322) | pub(crate) fn tenant_conf_updated(&self, new_conf: &pageserver_api::mo... method create_timeline_struct (line 4337) | fn create_timeline_struct( method new (line 4400) | fn new( method load_tenant_config (line 4524) | pub(super) fn load_tenant_config( method persist_tenant_config (line 4563) | pub(super) async fn persist_tenant_config( method persist_tenant_config_at (line 4574) | pub(super) async fn persist_tenant_config_at( method gc_iteration_internal (line 4625) | async fn gc_iteration_internal( method refresh_gc_info (line 4688) | pub(crate) async fn refresh_gc_info( method initialize_gc_info (line 4710) | fn initialize_gc_info( method refresh_gc_info_internal (line 4781) | async fn refresh_gc_info_internal( method branch_timeline_test (line 4907) | async fn branch_timeline_test( method branch_timeline_test_with_layers (line 4925) | pub async fn branch_timeline_test_with_layers( method branch_timeline (line 4974) | async fn branch_timeline( method branch_timeline_impl (line 4985) | async fn branch_timeline_impl( method bootstrap_timeline_test (line 5127) | pub(crate) async fn bootstrap_timeline_test( method start_creating_timeline (line 5149) | async fn start_creating_timeline( method upload_initdb (line 5218) | async fn upload_initdb( method bootstrap_timeline (line 5269) | async fn bootstrap_timeline( method build_timeline_remote_client (line 5428) | fn build_timeline_remote_client(&self, timeline_id: TimelineId) -> Rem... method build_timeline_resources (line 5441) | fn build_timeline_resources(&self, timeline_id: TimelineId) -> Timelin... method get_timeline_resources_for (line 5447) | fn get_timeline_resources_for(&self, remote_client: RemoteTimelineClie... method prepare_new_timeline (line 5465) | async fn prepare_new_timeline<'a>( method create_timeline_files (line 5528) | async fn create_timeline_files(&self, timeline_path: &Utf8Path) -> any... method create_timeline_create_guard (line 5543) | fn create_timeline_create_guard( method gather_size_inputs (line 5582) | pub async fn gather_size_inputs( method calculate_synthetic_size (line 5625) | pub async fn calculate_synthetic_size( method set_cached_synthetic_size (line 5641) | pub fn set_cached_synthetic_size(&self, size: u64) { method cached_synthetic_size (line 5654) | pub fn cached_synthetic_size(&self) -> u64 { method flush_remote (line 5666) | pub(crate) async fn flush_remote(&self) -> anyhow::Result<()> { method get_tenant_conf (line 5715) | pub(crate) fn get_tenant_conf(&self) -> pageserver_api::models::Tenant... method local_storage_wanted (line 5727) | pub(crate) fn local_storage_wanted(&self) -> u64 { method get_visible_size (line 5742) | pub(crate) fn get_visible_size(&self) -> u64 { method maybe_upload_tenant_manifest (line 5757) | pub(crate) async fn maybe_upload_tenant_manifest(&self) -> Result<(), ... type WalRedoManager (line 402) | pub(crate) enum WalRedoManager { method new (line 413) | pub(crate) fn new(mgr: PostgresRedoManager) -> Result, Globa... method from (line 470) | fn from(mgr: harness::TestRedoManager) -> Self { method shutdown (line 476) | pub(crate) async fn shutdown(&self) -> bool { method maybe_quiesce (line 487) | pub(crate) fn maybe_quiesce(&self, idle_timeout: Duration) { method request_redo (line 500) | pub async fn request_redo( method status (line 522) | pub(crate) fn status(&self) -> Option { type GlobalShutDown (line 410) | pub(crate) struct GlobalShutDown; method drop (line 428) | fn drop(&mut self) { type WalredoManagerId (line 454) | pub(crate) struct WalredoManagerId(u64); method next (line 456) | pub fn next() -> Self { type OffloadedTimeline (line 537) | pub struct OffloadedTimeline { method from_timeline (line 585) | fn from_timeline(timeline: &Timeline) -> Result OffloadedTimelineManifest { method delete_from_ancestor_with_timelines (line 649) | fn delete_from_ancestor_with_timelines( method defuse_for_tenant_drop (line 676) | fn defuse_for_tenant_drop(&self) { method fmt (line 682) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type OffloadedTimelineMetricsGuard (line 560) | struct OffloadedTimelineMetricsGuard; method new (line 563) | fn new() -> Self { method drop (line 572) | fn drop(&mut self) { method drop (line 688) | fn drop(&mut self) { type MaybeOffloaded (line 699) | pub enum MaybeOffloaded { type TimelineOrOffloaded (line 705) | pub enum TimelineOrOffloaded { method arc_ref (line 712) | pub fn arc_ref(&self) -> TimelineOrOffloadedArcRef<'_> { method tenant_shard_id (line 725) | pub fn tenant_shard_id(&self) -> TenantShardId { method timeline_id (line 728) | pub fn timeline_id(&self) -> TimelineId { method delete_progress (line 731) | pub fn delete_progress(&self) -> &Arc Option> { type TimelineOrOffloadedArcRef (line 749) | pub enum TimelineOrOffloadedArcRef<'a> { function tenant_shard_id (line 756) | pub fn tenant_shard_id(&self) -> TenantShardId { function timeline_id (line 763) | pub fn timeline_id(&self) -> TimelineId { function from (line 773) | fn from(timeline: &'a Arc) -> Self { function from (line 779) | fn from(timeline: &'a Arc) -> Self { function from (line 785) | fn from(timeline: &'a Arc) -> Self { type GetTimelineError (line 791) | pub enum GetTimelineError { type LoadLocalTimelineError (line 808) | pub enum LoadLocalTimelineError { type DeleteTimelineError (line 816) | pub enum DeleteTimelineError { method fmt (line 834) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type TimelineArchivalError (line 846) | pub enum TimelineArchivalError { method from (line 879) | fn from(e: TenantManifestError) -> Self { type TenantManifestError (line 870) | pub(crate) enum TenantManifestError { method fmt (line 888) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type SetStoppingError (line 903) | pub enum SetStoppingError { method fmt (line 909) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type FinalizeTimelineImportError (line 918) | pub(crate) enum FinalizeTimelineImportError { type CreateTimelineParams (line 932) | pub(crate) enum CreateTimelineParams { type CreateTimelineParamsBootstrap (line 939) | pub(crate) struct CreateTimelineParamsBootstrap { type CreateTimelineParamsBranch (line 947) | pub(crate) struct CreateTimelineParamsBranch { type CreateTimelineParamsImportPgdata (line 954) | pub(crate) struct CreateTimelineParamsImportPgdata { type CreateTimelineIdempotency (line 976) | pub(crate) enum CreateTimelineIdempotency { type CreatingTimelineIdempotencyImportPgdata (line 994) | pub(crate) struct CreatingTimelineIdempotencyImportPgdata { type StartCreatingTimelineResult (line 1000) | enum StartCreatingTimelineResult { type TimelineInitAndSyncResult (line 1006) | enum TimelineInitAndSyncResult { type TimelineInitAndSyncNeedsSpawnImportPgdata (line 1012) | struct TimelineInitAndSyncNeedsSpawnImportPgdata { type CreateTimelineResult (line 1019) | enum CreateTimelineResult { method discriminant (line 1029) | fn discriminant(&self) -> &'static str { method timeline (line 1036) | fn timeline(&self) -> &Arc { method into_timeline_for_test (line 1043) | fn into_timeline_for_test(self) -> Arc { type CreateTimelineError (line 1051) | pub enum CreateTimelineError { type InitdbError (line 1069) | pub enum InitdbError { type CreateTimelineCause (line 1078) | enum CreateTimelineCause { type LoadTimelineCause (line 1084) | enum LoadTimelineCause { type GcError (line 1090) | pub(crate) enum GcError { method from (line 1121) | fn from(value: PageReconstructError) -> Self { method from (line 1130) | fn from(value: NotInitialized) -> Self { method from (line 1139) | fn from(_: timeline::layer_manager::Shutdown) -> Self { type LoadConfigError (line 1145) | pub(crate) enum LoadConfigError { function tree_sort_timelines (line 4050) | fn tree_sort_timelines( function run_initdb (line 5822) | async fn run_initdb( function dump_layerfile_from_path (line 5870) | pub async fn dump_layerfile_from_path( constant TIMELINE_ID (line 5917) | pub const TIMELINE_ID: TimelineId = constant NEW_TIMELINE_ID (line 5919) | pub const NEW_TIMELINE_ID: TimelineId = function test_img (line 5923) | pub fn test_img(s: &str) -> Bytes { type TenantHarness (line 5931) | pub struct TenantHarness { method create_custom (line 5959) | pub async fn create_custom( method create (line 6012) | pub async fn create(test_name: &'static str) -> anyhow::Result { method span (line 6032) | pub fn span(&self) -> tracing::Span { method load (line 6036) | pub(crate) async fn load(&self) -> (Arc, RequestContext) { method do_try_load_with_redo (line 6048) | pub(crate) async fn do_try_load_with_redo( method do_try_load (line 6090) | pub(crate) async fn do_try_load( method timeline_path (line 6098) | pub fn timeline_path(&self, timeline_id: &TimelineId) -> Utf8PathBuf { function setup_logging (line 5945) | pub(crate) fn setup_logging() { type TestRedoManager (line 6104) | pub(crate) struct TestRedoManager; method request_redo (line 6110) | pub async fn request_redo( type TestTimelineSpecification (line 6209) | struct TestTimelineSpecification { type Storage (line 6222) | struct Storage { method get (line 6229) | fn get(&self, key: Key, lsn: Lsn) -> Bytes { function randomize_timeline (line 6285) | async fn randomize_timeline( function test_basic (line 6521) | async fn test_basic() -> anyhow::Result<()> { function no_duplicate_timelines (line 6568) | async fn no_duplicate_timelines() -> anyhow::Result<()> { function test_value (line 6592) | pub fn test_value(s: &str) -> Value { function test_branch (line 6602) | async fn test_branch() -> anyhow::Result<()> { function make_some_layers (line 6668) | async fn make_some_layers( function test_prohibit_branch_creation_on_garbage_collected_data (line 6725) | async fn test_prohibit_branch_creation_on_garbage_collected_data() -> an... function test_prohibit_branch_creation_on_pre_initdb_lsn (line 6774) | async fn test_prohibit_branch_creation_on_pre_initdb_lsn() -> anyhow::Re... function test_get_branchpoints_from_an_inactive_timeline (line 6831) | async fn test_get_branchpoints_from_an_inactive_timeline() -> anyhow::Re... function test_retain_data_in_parent_which_is_needed_for_child (line 6895) | async fn test_retain_data_in_parent_which_is_needed_for_child() -> anyho... function test_parent_keeps_data_forever_after_branching (line 6927) | async fn test_parent_keeps_data_forever_after_branching() -> anyhow::Res... function timeline_load (line 6967) | async fn timeline_load() -> anyhow::Result<()> { function timeline_load_with_ancestor (line 6994) | async fn timeline_load_with_ancestor() -> anyhow::Result<()> { function delta_layer_dumping (line 7042) | async fn delta_layer_dumping() -> anyhow::Result<()> { function test_images (line 7073) | async fn test_images() -> anyhow::Result<()> { function bulk_insert_compact_gc (line 7171) | async fn bulk_insert_compact_gc( function bulk_insert_maybe_compact_gc (line 7183) | async fn bulk_insert_maybe_compact_gc( function test_bulk_insert (line 7247) | async fn test_bulk_insert() -> anyhow::Result<()> { function test_get_vectored (line 7278) | async fn test_get_vectored() -> anyhow::Result<()> { function test_get_vectored_aux_files (line 7390) | async fn test_get_vectored_aux_files() -> anyhow::Result<()> { function test_get_vectored_key_gap (line 7458) | async fn test_get_vectored_key_gap() -> anyhow::Result<()> { function test_get_vectored_ancestor_descent (line 7621) | async fn test_get_vectored_ancestor_descent() -> anyhow::Result<()> { function test_random_updates (line 7761) | async fn test_random_updates() -> anyhow::Result<()> { function test_random_updates_algorithm (line 7772) | async fn test_random_updates_algorithm( function test_traverse_branches (line 7859) | async fn test_traverse_branches() -> anyhow::Result<()> { function test_traverse_ancestors (line 7950) | async fn test_traverse_ancestors() -> anyhow::Result<()> { function test_write_at_initdb_lsn_takes_optimization_code_path (line 8017) | async fn test_write_at_initdb_lsn_takes_optimization_code_path() -> anyh... function test_create_guard_crash (line 8086) | async fn test_create_guard_crash() -> anyhow::Result<()> { function test_read_at_max_lsn (line 8128) | async fn test_read_at_max_lsn() -> anyhow::Result<()> { function test_read_at_max_lsn_algorithm (line 8139) | async fn test_read_at_max_lsn_algorithm( function test_metadata_scan (line 8166) | async fn test_metadata_scan() -> anyhow::Result<()> { function test_metadata_compaction_trigger (line 8287) | async fn test_metadata_compaction_trigger() -> anyhow::Result<()> { function test_aux_file_e2e (line 8349) | async fn test_aux_file_e2e() { function test_repl_origin_tombstones (line 8415) | async fn test_repl_origin_tombstones() { function test_metadata_image_creation (line 8463) | async fn test_metadata_image_creation() -> anyhow::Result<()> { function test_vectored_missing_data_key_reads (line 8584) | async fn test_vectored_missing_data_key_reads() -> anyhow::Result<()> { function test_vectored_missing_metadata_key_reads (line 8659) | async fn test_vectored_missing_metadata_key_reads() -> anyhow::Result<()> { function get_vectored_impl_wrapper (line 8854) | async fn get_vectored_impl_wrapper( function test_metadata_tombstone_reads (line 8876) | async fn test_metadata_tombstone_reads() -> anyhow::Result<()> { function test_metadata_tombstone_image_creation (line 8957) | async fn test_metadata_tombstone_image_creation() { function test_metadata_tombstone_empty_image_creation (line 9034) | async fn test_metadata_tombstone_empty_image_creation() { function test_simple_bottom_most_compaction_images (line 9101) | async fn test_simple_bottom_most_compaction_images() -> anyhow::Result<(... function test_neon_test_record (line 9331) | async fn test_neon_test_record() -> anyhow::Result<()> { function test_lsn_lease (line 9438) | async fn test_lsn_lease() -> anyhow::Result<()> { function test_failed_flush_should_not_update_disk_consistent_lsn (line 9548) | async fn test_failed_flush_should_not_update_disk_consistent_lsn() -> an... function test_simple_bottom_most_compaction_deltas_1 (line 9620) | async fn test_simple_bottom_most_compaction_deltas_1() -> anyhow::Result... function test_simple_bottom_most_compaction_deltas_2 (line 9630) | async fn test_simple_bottom_most_compaction_deltas_2() -> anyhow::Result... function test_simple_bottom_most_compaction_deltas_helper (line 9639) | async fn test_simple_bottom_most_compaction_deltas_helper( function test_generate_key_retention (line 9911) | async fn test_generate_key_retention() -> anyhow::Result<()> { function test_simple_bottom_most_compaction_with_retain_lsns (line 10270) | async fn test_simple_bottom_most_compaction_with_retain_lsns() -> anyhow... function test_simple_bottom_most_compaction_with_retain_lsns_single_key (line 10547) | async fn test_simple_bottom_most_compaction_with_retain_lsns_single_key(... function test_simple_bottom_most_compaction_on_branch (line 10778) | async fn test_simple_bottom_most_compaction_on_branch() -> anyhow::Resul... function test_vectored_read_with_nested_image_layer (line 11015) | async fn test_vectored_read_with_nested_image_layer() -> anyhow::Result<... function test_vectored_read_with_image_layer_inside_inmem (line 11136) | async fn test_vectored_read_with_image_layer_inside_inmem() -> anyhow::R... function test_read_path (line 11305) | async fn test_read_path() -> anyhow::Result<()> { function sort_layer_key (line 11499) | fn sort_layer_key(k1: &PersistentLayerKey, k2: &PersistentLayerKey) -> s... function inspect_and_sort (line 11516) | async fn inspect_and_sort( function check_layer_map_key_eq (line 11529) | fn check_layer_map_key_eq( function test_simple_partial_bottom_most_compaction (line 11550) | async fn test_simple_partial_bottom_most_compaction() -> anyhow::Result<... function test_timeline_offload_retain_lsn (line 11893) | async fn test_timeline_offload_retain_lsn() -> anyhow::Result<()> { function test_simple_bottom_most_compaction_above_lsn (line 11943) | async fn test_simple_bottom_most_compaction_above_lsn() -> anyhow::Resul... function test_simple_bottom_most_compaction_rectangle (line 12199) | async fn test_simple_bottom_most_compaction_rectangle() -> anyhow::Resul... function test_bottom_most_compation_redo_failure (line 12551) | async fn test_bottom_most_compation_redo_failure() -> anyhow::Result<()> { function test_synthetic_size_calculation_with_invisible_branches (line 12644) | async fn test_synthetic_size_calculation_with_invisible_branches() -> an... function test_get_force_image_creation_lsn (line 12895) | async fn test_get_force_image_creation_lsn() -> anyhow::Result<()> { FILE: pageserver/src/tenant/blob_io.rs type CompressionInfo (line 37) | pub struct CompressionInfo { type Header (line 47) | pub struct Header { method decode (line 55) | pub fn decode(bytes: &[u8]) -> anyhow::Result { method total_len (line 88) | pub fn total_len(&self) -> usize { type WriteBlobError (line 94) | pub enum WriteBlobError { method is_cancel (line 102) | pub fn is_cancel(&self) -> bool { method into_anyhow (line 108) | pub fn into_anyhow(self) -> anyhow::Error { function read_blob (line 118) | pub async fn read_blob( function read_blob_into_buf (line 129) | pub async fn read_blob_into_buf( constant LEN_COMPRESSION_BIT_MASK (line 225) | pub(super) const LEN_COMPRESSION_BIT_MASK: u8 = 0xf0; constant MAX_SUPPORTED_BLOB_LEN (line 229) | pub(crate) const MAX_SUPPORTED_BLOB_LEN: usize = 0x0fff_ffff; constant BYTE_UNCOMPRESSED (line 231) | pub(super) const BYTE_UNCOMPRESSED: u8 = 0x80; constant BYTE_ZSTD (line 232) | pub(super) const BYTE_ZSTD: u8 = BYTE_UNCOMPRESSED | 0x10; type BlobWriter (line 235) | pub struct BlobWriter { function new (line 247) | pub fn new( function size (line 270) | pub fn size(&self) -> u64 { constant CAPACITY (line 274) | const CAPACITY: usize = 64 * 1024; function write_all (line 277) | async fn write_all( function write_blob (line 297) | pub async fn write_blob( function write_blob_maybe_compressed (line 310) | pub(crate) async fn write_blob_maybe_compressed( function write_blob_raw (line 401) | pub(crate) async fn write_blob_raw( function shutdown (line 432) | pub async fn shutdown( function round_trip_test (line 457) | async fn round_trip_test(blobs: &[Vec]) -> anyhow::Result<()> { function write_maybe_compressed (line 461) | pub(crate) async fn write_maybe_compressed( function round_trip_test_compressed (line 514) | async fn round_trip_test_compressed( function random_array (line 537) | pub(crate) fn random_array(len: usize) -> Vec { function test_one (line 543) | async fn test_one() -> anyhow::Result<()> { function test_hello_simple (line 550) | async fn test_hello_simple() -> anyhow::Result<()> { function test_really_big_array (line 563) | async fn test_really_big_array() -> anyhow::Result<()> { function test_arrays_inc (line 578) | async fn test_arrays_inc() -> anyhow::Result<()> { function test_arrays_random_size (line 587) | async fn test_arrays_random_size() -> anyhow::Result<()> { function test_arrays_page_boundary (line 604) | async fn test_arrays_page_boundary() -> anyhow::Result<()> { FILE: pageserver/src/tenant/block_io.rs type BlockReader (line 19) | pub trait BlockReader { method block_cursor (line 25) | fn block_cursor(&self) -> BlockCursor<'_>; method block_cursor (line 32) | fn block_cursor(&self) -> BlockCursor<'_> { method block_cursor (line 230) | fn block_cursor(&self) -> BlockCursor<'_> { type BlockLease (line 38) | pub enum BlockLease<'a> { function from (line 49) | fn from(value: PageReadGuard<'static>) -> BlockLease<'static> { function from (line 56) | fn from(value: std::sync::Arc<[u8; PAGE_SZ]>) -> Self { type Target (line 62) | type Target = [u8; PAGE_SZ]; method deref (line 64) | fn deref(&self) -> &Self::Target { type BlockReaderRef (line 83) | pub(crate) enum BlockReaderRef<'a> { function read_blk (line 94) | async fn read_blk( type BlockCursor (line 130) | pub struct BlockCursor<'a> { function new (line 136) | pub(crate) fn new(reader: BlockReaderRef<'a>) -> Self { function new_with_compression (line 139) | pub(crate) fn new_with_compression(reader: BlockReaderRef<'a>, read_comp... function new_fileblockreader (line 146) | pub fn new_fileblockreader(reader: &'a FileBlockReader) -> Self { function read_blk (line 159) | pub async fn read_blk( type FileBlockReader (line 173) | pub struct FileBlockReader<'a> { function new (line 183) | pub fn new(file: &'a VirtualFile, file_id: FileId) -> Self { function fill_buffer (line 192) | async fn fill_buffer( function read_blk (line 208) | pub async fn read_blk<'b>( type BlockWriter (line 241) | pub trait BlockWriter { method write_blk (line 248) | fn write_blk(&mut self, buf: IoBuffer) -> Result; method write_blk (line 258) | fn write_blk(&mut self, buf: IoBuffer) -> Result { type BlockBuf (line 254) | pub struct BlockBuf { method new (line 267) | pub fn new() -> Self { method size (line 271) | pub fn size(&self) -> u64 { method default (line 276) | fn default() -> Self { FILE: pageserver/src/tenant/checks.rs function check_valid_layermap (line 34) | pub fn check_valid_layermap(metadata: &[LayerName]) -> Option { FILE: pageserver/src/tenant/config.rs type AttachmentMode (line 19) | pub(crate) enum AttachmentMode { type AttachedLocationConfig (line 34) | pub(crate) struct AttachedLocationConfig { method may_delete_layers_hint (line 96) | pub(crate) fn may_delete_layers_hint(&self) -> bool { method may_upload_layers_hint (line 117) | pub(crate) fn may_upload_layers_hint(&self) -> bool { type SecondaryLocationConfig (line 43) | pub(crate) struct SecondaryLocationConfig { type LocationMode (line 49) | pub(crate) enum LocationMode { type LocationConf (line 57) | pub(crate) struct LocationConf { method fmt (line 76) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method attached_single (line 137) | pub(crate) fn attached_single( method attach_in_generation (line 155) | pub(crate) fn attach_in_generation( method try_from (line 188) | pub(crate) fn try_from(conf: &'_ models::LocationConfig) -> anyhow::Re... method default (line 259) | fn default() -> Self { function serde_roundtrip_tenant_conf_opt (line 274) | fn serde_roundtrip_tenant_conf_opt() { FILE: pageserver/src/tenant/debug.rs function process_page_image (line 39) | fn process_page_image(next_record_lsn: Lsn, is_fpw: bool, img_bytes: Byt... function redo_wals (line 49) | async fn redo_wals(input: &str, key: Key) -> anyhow::Result<()> { function search_key (line 137) | async fn search_key( type RedoWalsCmd (line 298) | struct RedoWalsCmd { function test_redo_wals (line 306) | async fn test_redo_wals() -> anyhow::Result<()> { type SearchKeyCmd (line 330) | struct SearchKeyCmd { function test_search_key (line 344) | async fn test_search_key() -> anyhow::Result<()> { FILE: pageserver/src/tenant/disk_btree.rs constant VALUE_SZ (line 40) | pub const VALUE_SZ: usize = 5; constant MAX_VALUE (line 41) | pub const MAX_VALUE: u64 = 0x007f_ffff_ffff; constant PAGE_SZ (line 43) | pub const PAGE_SZ: usize = 8192; type Value (line 46) | struct Value([u8; VALUE_SZ]); method from_slice (line 49) | fn from_slice(slice: &[u8]) -> Value { method from_u64 (line 55) | fn from_u64(x: u64) -> Value { method from_blknum (line 66) | fn from_blknum(x: u32) -> Value { method is_offset (line 77) | fn is_offset(self) -> bool { method to_u64 (line 81) | fn to_u64(self) -> u64 { method to_blknum (line 90) | fn to_blknum(self) -> u32 { type DiskBtreeError (line 98) | pub enum DiskBtreeError { type Result (line 112) | pub type Result = result::Result; type OnDiskNode (line 115) | struct OnDiskNode<'a, const L: usize> { function deparse (line 134) | fn deparse(buf: &[u8]) -> Result> { function value (line 171) | fn value(&self, idx: usize) -> Value { function binary_search (line 177) | fn binary_search( type DiskBtreeReader (line 212) | pub struct DiskBtreeReader type VisitDirection (line 222) | pub enum VisitDirection { function new (line 231) | pub fn new(start_blk: u32, root_blk: u32, reader: R) -> Self { function get (line 242) | pub async fn get(&self, search_key: &[u8; L], ctx: &RequestContext) -> R... function iter (line 259) | pub fn iter<'a>(self, start_key: &'a [u8; L], ctx: &'a RequestContext) -... function into_stream (line 283) | pub fn into_stream<'a>( function visit (line 376) | pub async fn visit( function dump (line 480) | pub async fn dump(&self, ctx: &RequestContext) -> Result<()> { type DiskBtreeIterator (line 523) | pub struct DiskBtreeIterator<'a> { function next (line 531) | pub async fn next(&mut self) -> Option, u64... type DiskBtreeBuilder (line 543) | pub struct DiskBtreeBuilder function new (line 570) | pub fn new(writer: W) -> Self { function append (line 578) | pub fn append(&mut self, key: &[u8; L], value: u64) -> Result<()> { function append_internal (line 595) | fn append_internal(&mut self, key: &[u8; L], value: Value) -> Result<()> { function flush_node (line 633) | fn flush_node(&mut self) -> Result<()> { function finish (line 658) | pub fn finish(mut self) -> Result<(u32, W)> { function borrow_writer (line 674) | pub fn borrow_writer(&self) -> &W { type BuildNode (line 683) | struct BuildNode { constant NODE_SIZE (line 695) | const NODE_SIZE: usize = PAGE_SZ; constant NODE_HDR_SIZE (line 697) | const NODE_HDR_SIZE: usize = 2 + 1 + 1 + 1; function new (line 700) | fn new(level: u8) -> Self { function push (line 715) | fn push(&mut self, key: &[u8; L], value: Value) -> bool { function compress (line 750) | fn compress(&mut self) -> bool { function pack (line 791) | fn pack(&self) -> IoBuffer { function first_suffix (line 813) | fn first_suffix(&self) -> &[u8] { function last_suffix (line 816) | fn last_suffix(&self) -> &[u8] { function first_key (line 821) | fn first_key(&self) -> [u8; L] { type TestDisk (line 842) | pub(crate) struct TestDisk { method new (line 846) | fn new() -> Self { method read_blk (line 849) | pub(crate) fn read_blk(&self, blknum: u32) -> io::Result { method block_cursor (line 856) | fn block_cursor(&self) -> BlockCursor<'_> { method write_blk (line 861) | fn write_blk(&mut self, buf: IoBuffer) -> io::Result { function basic (line 869) | async fn basic() -> Result<()> { function lots_of_keys (line 981) | async fn lots_of_keys() -> Result<()> { function random_data (line 1085) | async fn random_data() -> Result<()> { function unsorted_input (line 1149) | fn unsorted_input() { function particular_data (line 1169) | async fn particular_data() -> Result<()> { FILE: pageserver/src/tenant/ephemeral_file.rs type EphemeralFile (line 30) | pub struct EphemeralFile { method create (line 62) | pub async fn create( method len (line 165) | pub(crate) fn len(&self) -> u64 { method page_cache_file_id (line 173) | pub(crate) fn page_cache_file_id(&self) -> page_cache::FileId { method load_to_io_buf (line 177) | pub(crate) async fn load_to_io_buf( method write_raw (line 196) | pub(crate) async fn write_raw( method write_raw_controlled (line 208) | async fn write_raw_controlled( method tick (line 238) | pub(crate) fn tick(&self) -> Option { method read_exact_at_eof_ok (line 246) | async fn read_exact_at_eof_ok( type BufferedWriter (line 43) | type BufferedWriter = owned_buffers_io::write::BufferedWriter< type TempVirtualFileCoOwnedByEphemeralFileAndBufferedWriter (line 55) | struct TempVirtualFileCoOwnedByEphemeralFileAndBufferedWriter { method new (line 119) | fn new(file: VirtualFile, gate_guard: GateGuard) -> Self { type Target (line 151) | type Target = VirtualFile; method deref (line 153) | fn deref(&self) -> &Self::Target { constant TAIL_SZ (line 59) | const TAIL_SZ: usize = 64 * 1024; method write_all_at (line 127) | fn write_all_at bool { function harness (line 429) | fn harness( function ephemeral_file_holds_gate_open (line 458) | async fn ephemeral_file_holds_gate_open() { function test_ephemeral_file_basics (line 493) | async fn test_ephemeral_file_basics() { function test_flushes_do_happen (line 554) | async fn test_flushes_do_happen() { function test_read_split_across_file_and_buffer (line 596) | async fn test_read_split_across_file_and_buffer() { FILE: pageserver/src/tenant/gc_block.rs type Storage (line 8) | type Storage = HashMap>; type GcBlock (line 12) | pub(crate) struct GcBlock { method start (line 34) | pub(super) async fn start(&self) -> Result { method summary (line 56) | pub(crate) fn summary(&self) -> Option { method insert (line 71) | pub(crate) async fn insert( method remove (line 98) | pub(crate) async fn remove( method before_delete (line 145) | pub(crate) fn before_delete(&self, timeline_id: &super::TimelineId) { method set_scanned (line 163) | pub(crate) fn set_scanned(&self, scanned: Storage) { type Guard (line 174) | pub(crate) struct Guard { type BlockingReasons (line 179) | pub(crate) struct BlockingReasons { method fmt (line 185) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method clean_and_summarize (line 195) | fn clean_and_summarize(mut g: std::sync::MutexGuard<'_, Storage>) -> O... method summarize (line 211) | fn summarize(g: &std::sync::MutexGuard<'_, Storage>) -> Option { FILE: pageserver/src/tenant/gc_result.rs type GcResult (line 11) | pub struct GcResult { function serialize_duration_as_millis (line 33) | fn serialize_duration_as_millis(d: &Duration, serializer: S) -> Resul... method add_assign (line 41) | fn add_assign(&mut self, other: Self) { FILE: pageserver/src/tenant/layer_map.rs type LayerMap (line 71) | pub struct LayerMap { method search (line 448) | pub fn search(&self, key: Key, end_lsn: Lsn) -> Option { method select_layer (line 473) | fn select_layer( method range_search (line 596) | pub fn range_search(&self, key_range: Range, end_lsn: Lsn) -> Ran... method batch_update (line 621) | pub fn batch_update(&mut self) -> BatchedUpdates<'_> { method insert_historic_noflush (line 631) | pub(self) fn insert_historic_noflush(&mut self, layer_desc: Persistent... method remove_historic_noflush (line 651) | pub fn remove_historic_noflush(&mut self, layer_desc: &PersistentLayer... method flush_updates (line 674) | pub(self) fn flush_updates(&mut self) { method image_layer_exists (line 684) | pub fn image_layer_exists(&self, key: &Range, lsn: &Range) -... method iter_historic_layers (line 718) | pub fn iter_historic_layers(&self) -> impl ExactSizeIterator Option Arc<... method image_coverage (line 759) | pub fn image_coverage( method is_l0 (line 793) | pub fn is_l0(key_range: &Range, is_delta_layer: bool) -> bool { method is_reimage_worthy (line 819) | pub fn is_reimage_worthy(layer: &PersistentLayerDesc, partition_range:... method count_deltas (line 841) | pub fn count_deltas(&self, key: &Range, lsn: &Range, limit: ... method compute_image_consistent_lsn (line 917) | pub fn compute_image_consistent_lsn(&self, disk_consistent_lsn: Lsn) -... method level0_deltas (line 1006) | pub fn level0_deltas(&self) -> &Vec> { method watch_level0_deltas (line 1011) | pub fn watch_level0_deltas(&self) -> watch::Receiver { method dump (line 1017) | pub async fn dump(&self, verbose: bool, ctx: &RequestContext) -> Resul... method get_visibility (line 1043) | pub fn get_visibility( method default (line 105) | fn default() -> Self { type BatchedUpdates (line 122) | pub struct BatchedUpdates<'a> { function insert_historic (line 135) | pub fn insert_historic(&mut self, layer_desc: PersistentLayerDesc) { function remove_historic (line 144) | pub fn remove_historic(&mut self, layer_desc: &PersistentLayerDesc) { function flush (line 151) | pub fn flush(self) { method drop (line 162) | fn drop(&mut self) { type SearchResult (line 169) | pub struct SearchResult { type RangeSearchResult (line 180) | pub struct RangeSearchResult { method new (line 185) | fn new() -> Self { method map_to_in_memory_layer (line 191) | fn map_to_in_memory_layer( type RangeSearchCollector (line 216) | struct RangeSearchCollector type NextLayerType (line 233) | enum NextLayerType { method next_change_at_key (line 240) | fn next_change_at_key(&self) -> Key { function new (line 253) | fn new( function collect (line 276) | fn collect(mut self) -> RangeSearchResult { function pad_range (line 322) | fn pad_range(&mut self, key_range: Range) { function add_range (line 341) | fn add_range(&mut self, covered_range: Range) { function advance (line 361) | fn advance(&mut self, layer_type: &NextLayerType) { function choose_next_layer_type (line 382) | fn choose_next_layer_type(&mut self) -> Option { type InMemoryLayerDesc (line 402) | pub struct InMemoryLayerDesc { method get_lsn_range (line 408) | pub(crate) fn get_lsn_range(&self) -> Range { type InMemoryLayerHandle (line 414) | enum InMemoryLayerHandle { type LayerDesc (line 1221) | struct LayerDesc { function create_layer_map (line 1227) | fn create_layer_map(layers: Vec) -> LayerMap { function assert_range_search_result_eq (line 1242) | fn assert_range_search_result_eq(lhs: RangeSearchResult, rhs: RangeSearc... function brute_force_range_search (line 1258) | fn brute_force_range_search( function ranged_search_on_empty_layer_map (line 1283) | fn ranged_search_on_empty_layer_map() { function ranged_search (line 1292) | async fn ranged_search() { function layer_visibility_basic (line 1378) | fn layer_visibility_basic() { function fixture_path (line 1538) | fn fixture_path(relative: &str) -> PathBuf { function layer_visibility_realistic (line 1543) | fn layer_visibility_realistic() { function test_compute_image_consistent_lsn (line 1683) | fn test_compute_image_consistent_lsn() { function create_persistent_layer (line 1818) | fn create_persistent_layer( function create_inmem_layer (line 1834) | fn create_inmem_layer(start_lsn: u64, end_lsn: u64) -> InMemoryLayerDesc { function test_select_layer_empty (line 1842) | fn test_select_layer_empty() { function test_select_layer_only_delta (line 1847) | fn test_select_layer_only_delta() { function test_select_layer_only_image (line 1858) | fn test_select_layer_only_image() { function test_select_layer_only_inmem (line 1869) | fn test_select_layer_only_inmem() { function test_select_layer_image_inside_delta (line 1878) | fn test_select_layer_image_inside_delta() { function test_select_layer_newer_image (line 1906) | fn test_select_layer_newer_image() { function test_select_layer_delta_with_older_image (line 1929) | fn test_select_layer_delta_with_older_image() { function test_select_layer_image_inside_inmem (line 1952) | fn test_select_layer_image_inside_inmem() { function test_select_layer_delta_inside_inmem (line 1983) | fn test_select_layer_delta_inside_inmem() { function test_select_layer_all_overlap_1 (line 2022) | fn test_select_layer_all_overlap_1() { function test_select_layer_all_overlap_2 (line 2066) | fn test_select_layer_all_overlap_2() { function test_select_layer_all_overlap_3 (line 2099) | fn test_select_layer_all_overlap_3() { FILE: pageserver/src/tenant/layer_map/historic_layer_coverage.rs type LayerKey (line 17) | pub struct LayerKey { method from (line 46) | fn from(layer: &PersistentLayerDesc) -> Self { method partial_cmp (line 27) | fn partial_cmp(&self, other: &Self) -> Option { method cmp (line 33) | fn cmp(&self, other: &Self) -> std::cmp::Ordering { type HistoricLayerCoverage (line 62) | pub struct HistoricLayerCoverage { method default (line 73) | fn default() -> Self { function new (line 79) | pub fn new() -> Self { function insert (line 90) | pub fn insert(&mut self, layer_key: LayerKey, value: Value) { function get_version (line 113) | pub fn get_version(&self, lsn: u64) -> Option<&LayerCoverageTuple> { function trim (line 121) | pub fn trim(&mut self, begin: &u64) { function test_persistent_simple (line 135) | fn test_persistent_simple() { function test_off_by_one (line 182) | fn test_off_by_one() { function test_regression (line 211) | fn test_regression() { function test_key_collision (line 240) | fn test_key_collision() { function test_persistent_overlapping (line 305) | fn test_persistent_overlapping() { type BufferedHistoricLayerCoverage (line 416) | pub struct BufferedHistoricLayerCoverage { function fmt (line 432) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method default (line 441) | fn default() -> Self { function new (line 447) | pub fn new() -> Self { function insert (line 455) | pub fn insert(&mut self, layer_key: LayerKey, value: Value) { function remove (line 459) | pub fn remove(&mut self, layer_key: LayerKey) { function rebuild (line 463) | pub fn rebuild(&mut self) { function iter (line 507) | pub fn iter(&self) -> impl ExactSizeIterator { function get (line 519) | pub fn get(&self) -> anyhow::Result<&HistoricLayerCoverage> { function len (line 530) | pub(crate) fn len(&self) -> usize { function test_retroactive_regression_1 (line 536) | fn test_retroactive_regression_1() { function test_retroactive_simple (line 558) | fn test_retroactive_simple() { FILE: pageserver/src/tenant/layer_map/layer_coverage.rs type LayerCoverage (line 18) | pub struct LayerCoverage { method default (line 33) | fn default() -> Self { function new (line 39) | pub fn new() -> Self { function add_node (line 55) | fn add_node(&mut self, key: i128) { function insert (line 67) | pub fn insert(&mut self, key: Range, lsn: Range, value: Value) { function query (line 113) | pub fn query(&self, key: i128) -> Option { function range (line 126) | pub fn range(&self, key: Range) -> impl '_ + Iterator Self { type LayerCoverageTuple (line 177) | pub struct LayerCoverageTuple { method default (line 183) | fn default() -> Self { function clone (line 192) | pub fn clone(&self) -> Self { FILE: pageserver/src/tenant/metadata.rs constant METADATA_FORMAT_VERSION (line 28) | const METADATA_FORMAT_VERSION: u16 = 4; constant METADATA_OLD_FORMAT_VERSION (line 34) | const METADATA_OLD_FORMAT_VERSION: u16 = 3; constant METADATA_MAX_SIZE (line 41) | const METADATA_MAX_SIZE: usize = 512; type TimelineMetadata (line 63) | pub struct TimelineMetadata { method new (line 164) | pub fn new( method with_recalculated_checksum (line 192) | pub(crate) fn with_recalculated_checksum(mut self) -> anyhow::Result anyhow::Result<... method from_bytes (line 227) | pub fn from_bytes(metadata_bytes: &[u8]) -> anyhow::Result { method to_bytes (line 260) | pub fn to_bytes(&self) -> Result, SerializeError> { method disk_consistent_lsn (line 277) | pub fn disk_consistent_lsn(&self) -> Lsn { method prev_record_lsn (line 281) | pub fn prev_record_lsn(&self) -> Option { method ancestor_timeline (line 285) | pub fn ancestor_timeline(&self) -> Option { method ancestor_lsn (line 289) | pub fn ancestor_lsn(&self) -> Lsn { method reparent (line 296) | pub fn reparent(&mut self, timeline: &TimelineId) { method detach_from_ancestor (line 303) | pub fn detach_from_ancestor(&mut self, branchpoint: &(TimelineId, Lsn)) { method latest_gc_cutoff_lsn (line 313) | pub fn latest_gc_cutoff_lsn(&self) -> Lsn { method initdb_lsn (line 317) | pub fn initdb_lsn(&self) -> Lsn { method pg_version (line 321) | pub fn pg_version(&self) -> PgMajorVersion { method example (line 327) | pub fn example() -> Self { method apply (line 341) | pub(crate) fn apply(&mut self, update: &MetadataUpdate) { type TimelineMetadataHeader (line 69) | struct TimelineMetadataHeader { type Error (line 76) | type Error = Crc32CalculationFailed; method try_from (line 78) | fn try_from(value: &TimelineMetadataBodyV2) -> Result(); type TimelineMetadataBodyV2 (line 120) | struct TimelineMetadataBodyV2 { type TimelineMetadataBodyV1 (line 144) | struct TimelineMetadataBodyV1 { function deserialize (line 353) | pub(crate) fn deserialize<'de, D>(deserializer: D) -> Result( function deserializes_bytes_as_well_as_equivalent_body_v2 (line 407) | fn deserializes_bytes_as_well_as_equivalent_body_v2() { type MetadataUpdate (line 440) | pub(crate) struct MetadataUpdate { method new (line 447) | pub(crate) fn new( function metadata_serializes_correctly (line 466) | fn metadata_serializes_correctly() { function test_metadata_upgrade (line 494) | fn test_metadata_upgrade() { function test_metadata_bincode_serde_ensure_roundtrip (line 559) | fn test_metadata_bincode_serde_ensure_roundtrip() { FILE: pageserver/src/tenant/mgr.rs type TenantSlot (line 71) | pub(crate) enum TenantSlot { method fmt (line 80) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method get_attached (line 91) | fn get_attached(&self) -> Option<&Arc> { type TenantsMap (line 102) | pub(crate) enum TenantsMap { method get (line 184) | pub(crate) fn get(&self, tenant_shard_id: &TenantShardId) -> Option<&A... method len (line 194) | pub(crate) fn len(&self) -> usize { type ShardSelector (line 116) | pub(crate) enum ShardSelector { type TenantStartupMode (line 131) | pub(crate) enum TenantStartupMode { method from_reattach_tenant (line 142) | fn from_reattach_tenant(rart: ReAttachResponseTenant) -> Option { type ShardResolveResult (line 173) | pub(crate) enum ShardResolveResult { function safe_rename_tenant_dir (line 211) | async fn safe_rename_tenant_dir(path: impl AsRef) -> std::io::... type BackgroundPurges (line 239) | pub struct BackgroundPurges(tokio_util::task::TaskTracker); method spawn (line 247) | pub fn spawn(&self, tmp_path: Utf8PathBuf) { method shutdown (line 286) | pub async fn shutdown(&self) { type TenantManager (line 301) | pub struct TenantManager { method get_conf (line 776) | pub(crate) fn get_conf(&self) -> &'static PageServerConf { method get_attached_tenant_shard (line 785) | pub(crate) fn get_attached_tenant_shard( method get_secondary_tenant_shard (line 802) | pub(crate) fn get_secondary_tenant_shard( method manages_tenant_shard (line 819) | pub(crate) fn manages_tenant_shard(&self, tenant_shard_id: TenantShard... method has_child_shard (line 832) | pub(crate) fn has_child_shard(&self, tenant_id: TenantId, shard_index:... method upsert_location (line 842) | pub(crate) async fn upsert_location( method tenant_map_acquire_slot (line 1152) | fn tenant_map_acquire_slot( method reset_tenant (line 1231) | pub(crate) async fn reset_tenant( method get_attached_active_tenant_shards (line 1296) | pub(crate) fn get_attached_active_tenant_shards(&self) -> Vec(&self, mut func: F) method list (line 1335) | pub(crate) fn list(&self) -> Vec<(TenantShardId, TenantSlot)> { method get (line 1345) | pub(crate) fn get(&self, tenant_shard_id: TenantShardId) -> Option Result<(u64, u32), Tenan... method immediate_gc (line 2375) | pub(crate) async fn immediate_gc( method remove_tenant_from_memory (line 2453) | async fn remove_tenant_from_memory( function emergency_generations (line 315) | fn emergency_generations( function init_load_generations (line 340) | async fn init_load_generations( function load_tenant_config (line 392) | fn load_tenant_config( function init_load_tenant_configs (line 424) | async fn init_load_tenant_configs( type DeleteTenantError (line 474) | pub(crate) enum DeleteTenantError { function init (line 486) | pub fn init( function init_tenant_mgr (line 505) | pub async fn init_tenant_mgr( function tenant_spawn (line 720) | fn tenant_spawn( type UpsertLocationError (line 755) | pub(crate) enum UpsertLocationError { type GetTenantError (line 2526) | pub(crate) enum GetTenantError { type GetActiveTenantError (line 2544) | pub(crate) enum GetActiveTenantError { type DeleteTimelineError (line 2578) | pub(crate) enum DeleteTimelineError { type TenantStateError (line 2587) | pub(crate) enum TenantStateError { type TenantMapListError (line 2599) | pub(crate) enum TenantMapListError { type TenantMapInsertError (line 2605) | pub(crate) enum TenantMapInsertError { type TenantSlotError (line 2617) | pub(crate) enum TenantSlotError { type TenantSlotUpsertError (line 2634) | pub(crate) enum TenantSlotUpsertError { method fmt (line 2651) | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { type TenantSlotDropError (line 2661) | enum TenantSlotDropError { type TenantMapError (line 2670) | pub(crate) enum TenantMapError { type SlotGuard (line 2700) | pub(crate) struct SlotGuard<'a> { function new (line 2713) | fn new( function get_old_value (line 2733) | fn get_old_value(&self) -> &Option { function upsert (line 2739) | fn upsert(mut self, new_value: TenantSlot) -> Result<(), TenantSlotUpser... function revert (line 2814) | fn revert(mut self) { function old_value_is_shutdown (line 2833) | fn old_value_is_shutdown(&self) -> bool { function drop_old_value (line 2847) | fn drop_old_value(&mut self) -> Result<(), TenantSlotDropError> { method drop (line 2858) | fn drop(&mut self) { type TenantSlotPeekMode (line 2910) | enum TenantSlotPeekMode { function tenant_map_peek_slot (line 2917) | fn tenant_map_peek_slot<'a>( type TenantSlotAcquireMode (line 2940) | enum TenantSlotAcquireMode { function shutdown_awaits_in_progress_tenant (line 2972) | async fn shutdown_awaits_in_progress_tenant() { FILE: pageserver/src/tenant/remote_timeline_client.rs constant FAILED_DOWNLOAD_WARN_THRESHOLD (line 246) | pub(crate) const FAILED_DOWNLOAD_WARN_THRESHOLD: u32 = 3; constant FAILED_REMOTE_OP_RETRIES (line 247) | pub(crate) const FAILED_REMOTE_OP_RETRIES: u32 = 10; constant FAILED_UPLOAD_WARN_THRESHOLD (line 251) | pub(crate) const FAILED_UPLOAD_WARN_THRESHOLD: u32 = 3; constant INITDB_PATH (line 253) | pub(crate) const INITDB_PATH: &str = "initdb.tar.zst"; constant INITDB_PRESERVED_PATH (line 255) | pub(crate) const INITDB_PRESERVED_PATH: &str = "initdb-preserved.tar.zst"; constant BUFFER_SIZE (line 258) | pub(crate) const BUFFER_SIZE: usize = 32 * 1024; constant DELETION_QUEUE_FLUSH_TIMEOUT (line 262) | const DELETION_QUEUE_FLUSH_TIMEOUT: Duration = Duration::from_secs(10); type MaybeDeletedIndexPart (line 264) | pub enum MaybeDeletedIndexPart { type PersistIndexPartWithDeletedFlagError (line 270) | pub enum PersistIndexPartWithDeletedFlagError { type WaitCompletionError (line 280) | pub enum WaitCompletionError { type UploadQueueNotReadyError (line 289) | pub struct UploadQueueNotReadyError; type ShutdownIfArchivedError (line 292) | pub enum ShutdownIfArchivedError { type RemoteTimelineClientConfig (line 302) | struct RemoteTimelineClientConfig { method from (line 322) | fn from(lc: &AttachedLocationConfig) -> Self { type RemoteTimelineClient (line 349) | pub(crate) struct RemoteTimelineClient { method new (line 385) | pub(crate) fn new( method init_upload_queue (line 420) | pub fn init_upload_queue(&self, index_part: &IndexPart) -> anyhow::Res... method init_upload_queue_for_empty_remote (line 443) | pub fn init_upload_queue_for_empty_remote( method init_upload_queue_stopped_to_continue_deletion (line 468) | pub fn init_upload_queue_stopped_to_continue_deletion( method update_config (line 497) | pub(super) fn update_config(&self, location_conf: &AttachedLocationCon... method remote_consistent_lsn_projected (line 533) | pub fn remote_consistent_lsn_projected(&self) -> Option { method remote_consistent_lsn_visible (line 544) | pub fn remote_consistent_lsn_visible(&self) -> Option { method is_previous_ancestor_lsn (line 558) | pub(crate) fn is_previous_ancestor_lsn(&self, lsn: Lsn) -> bool { method is_archived (line 569) | pub(crate) fn is_archived(&self) -> Option { method is_invisible (line 579) | pub(crate) fn is_invisible(&self) -> Option { method archived_at_stopped_queue (line 591) | pub(crate) fn archived_at_stopped_queue( method update_remote_physical_size_gauge (line 602) | fn update_remote_physical_size_gauge(&self, current_remote_index_part:... method get_remote_physical_size (line 615) | pub fn get_remote_physical_size(&self) -> u64 { method download_index_file (line 627) | pub async fn download_index_file( method download_layer_file (line 715) | pub async fn download_layer_file( method schedule_index_upload_for_full_metadata_update (line 778) | pub fn schedule_index_upload_for_full_metadata_update( method schedule_index_upload_for_metadata_update (line 801) | pub(crate) fn schedule_index_upload_for_metadata_update( method schedule_index_upload_for_timeline_archival_state (line 826) | pub(crate) fn schedule_index_upload_for_timeline_archival_state( method schedule_index_upload_for_timeline_invisible_state (line 862) | pub(crate) fn schedule_index_upload_for_timeline_invisible_state( method shutdown_if_archived (line 900) | pub(crate) async fn shutdown_if_archived( method schedule_index_upload_for_import_pgdata_state_update (line 943) | pub(crate) fn schedule_index_upload_for_import_pgdata_state_update( method schedule_index_upload_for_import_pgdata_finalize (line 956) | pub(crate) fn schedule_index_upload_for_import_pgdata_finalize( method schedule_index_upload_for_gc_compaction_state_update (line 984) | pub(crate) fn schedule_index_upload_for_gc_compaction_state_update( method schedule_index_upload_for_rel_size_v2_status_update (line 996) | pub(crate) fn schedule_index_upload_for_rel_size_v2_status_update( method schedule_index_upload_for_file_changes (line 1022) | pub fn schedule_index_upload_for_file_changes(self: &Arc) -> Res... method force_schedule_index_upload (line 1034) | pub fn force_schedule_index_upload(self: &Arc) -> Result<(), Not... method schedule_index_upload (line 1042) | fn schedule_index_upload(self: &Arc, upload_queue: &mut UploadQu... method schedule_reparenting_and_wait (line 1074) | pub(crate) async fn schedule_reparenting_and_wait( method schedule_adding_existing_layers_to_index_detach_and_wait (line 1113) | pub(crate) async fn schedule_adding_existing_layers_to_index_detach_an... method schedule_insert_gc_block_reason (line 1153) | pub(crate) fn schedule_insert_gc_block_reason( method schedule_remove_gc_block_reason (line 1215) | pub(crate) fn schedule_remove_gc_block_reason( method schedule_layer_file_upload (line 1269) | pub(crate) fn schedule_layer_file_upload( method schedule_layer_file_upload0 (line 1281) | fn schedule_layer_file_upload0( method schedule_layer_file_deletion (line 1313) | pub fn schedule_layer_file_deletion( method schedule_gc_update (line 1335) | pub(crate) fn schedule_gc_update( method schedule_unlinking_of_layers_from_index_part (line 1355) | pub(crate) fn schedule_unlinking_of_layers_from_index_part( method schedule_unlinking_of_layers_from_index_part0 (line 1372) | fn schedule_unlinking_of_layers_from_index_part0( method schedule_deletion_of_unlinked (line 1428) | pub(crate) fn schedule_deletion_of_unlinked( method schedule_deletion_of_unlinked0 (line 1440) | fn schedule_deletion_of_unlinked0( method schedule_compaction_update (line 1500) | pub(crate) fn schedule_compaction_update( method wait_completion (line 1521) | pub(crate) async fn wait_completion(self: &Arc) -> Result<(), Wa... method wait_completion0 (line 1533) | async fn wait_completion0( method schedule_barrier (line 1543) | pub(crate) fn schedule_barrier(self: &Arc) -> anyhow::Result<()> { method schedule_barrier0 (line 1550) | fn schedule_barrier0( method shutdown (line 1569) | pub(crate) async fn shutdown(self: &Arc) { method persist_index_part_with_deleted_flag (line 1634) | pub(crate) async fn persist_index_part_with_deleted_flag( method is_deleting (line 1714) | pub(crate) fn is_deleting(&self) -> bool { method preserve_initdb_archive (line 1719) | pub(crate) async fn preserve_initdb_archive( method upload_layer_file (line 1746) | pub(crate) async fn upload_layer_file( method copy_timeline_layer (line 1784) | pub(crate) async fn copy_timeline_layer( method flush_deletion_queue (line 1830) | async fn flush_deletion_queue(&self) -> Result<(), DeletionQueueError> { method delete_all (line 1853) | pub(crate) async fn delete_all(self: &Arc) -> Result<(), DeleteT... method launch_queued_tasks (line 2022) | fn launch_queued_tasks(self: &Arc, upload_queue: &mut UploadQueu... method perform_upload_task (line 2100) | async fn perform_upload_task(self: &Arc, task: Arc) { method metric_impl (line 2444) | fn metric_impl( method metric_begin (line 2481) | fn metric_begin(&self, op: &UploadOp) { method metric_end (line 2490) | fn metric_end(&self, op: &UploadOp) { method stop (line 2505) | pub(crate) fn stop(&self) { method stop_impl (line 2513) | fn stop_impl(&self, guard: &mut std::sync::MutexGuard) { method initialized_upload_queue (line 2586) | pub(crate) fn initialized_upload_queue( method no_pending_work (line 2594) | pub(crate) fn no_pending_work(&self) -> bool { method download_foreign_index (line 2608) | pub(crate) async fn download_foreign_index( method drop (line 373) | fn drop(&mut self) { type UploadQueueAccessor (line 2629) | pub(crate) struct UploadQueueAccessor<'a> { function latest_uploaded_index_part (line 2634) | pub(crate) fn latest_uploaded_index_part(&self) -> &IndexPart { function remote_tenant_path (line 2644) | pub fn remote_tenant_path(tenant_shard_id: &TenantShardId) -> RemotePath { function remote_tenant_manifest_path (line 2649) | pub fn remote_tenant_manifest_path( function remote_tenant_manifest_prefix (line 2661) | pub fn remote_tenant_manifest_prefix(tenant_shard_id: &TenantShardId) ->... function remote_timelines_path (line 2666) | pub fn remote_timelines_path(tenant_shard_id: &TenantShardId) -> RemoteP... function remote_timelines_path_unsharded (line 2671) | fn remote_timelines_path_unsharded(tenant_id: &TenantId) -> RemotePath { function remote_timeline_path (line 2676) | pub fn remote_timeline_path( function remote_layer_path (line 2688) | pub fn remote_layer_path( function is_same_remote_layer_path (line 2711) | pub fn is_same_remote_layer_path( function remote_initdb_archive_path (line 2721) | pub fn remote_initdb_archive_path(tenant_id: &TenantId, timeline_id: &Ti... function remote_initdb_preserved_archive_path (line 2728) | pub fn remote_initdb_preserved_archive_path( function remote_index_path (line 2738) | pub fn remote_index_path( function remote_heatmap_path (line 2751) | pub(crate) fn remote_heatmap_path(tenant_shard_id: &TenantShardId) -> Re... function parse_remote_index_path (line 2759) | pub fn parse_remote_index_path(path: RemotePath) -> Option { function parse_remote_tenant_manifest_path (line 2776) | pub fn parse_remote_tenant_manifest_path(path: RemotePath) -> Option Vec { function dummy_metadata (line 2800) | pub(super) fn dummy_metadata(disk_consistent_lsn: Lsn) -> TimelineMetada... function assert_file_list (line 2817) | fn assert_file_list(a: &HashSet, b: &[&str]) { function assert_remote_files (line 2827) | fn assert_remote_files(expected: &[&str], remote_path: &Utf8Path, genera... type TestSetup (line 2845) | struct TestSetup { method new (line 2853) | async fn new(test_name: &str) -> anyhow::Result { method build_client (line 2871) | fn build_client(&self, generation: Generation) -> Arc tracing::Span { function upload_scheduling (line 2908) | async fn upload_scheduling() { function bytes_unfinished_gauge_for_layer_file_uploads (line 3116) | async fn bytes_unfinished_gauge_for_layer_file_uploads() { function inject_index_part (line 3208) | async fn inject_index_part(test_state: &TestSetup, generation: Generatio... function assert_got_index_part (line 3233) | async fn assert_got_index_part( function index_part_download_simple (line 3254) | async fn index_part_download_simple() -> anyhow::Result<()> { function index_part_download_ordering (line 3269) | async fn index_part_download_ordering() -> anyhow::Result<()> { FILE: pageserver/src/tenant/remote_timeline_client/download.rs function download_layer_file (line 55) | pub async fn download_layer_file<'a>( function download_object (line 181) | async fn download_object( constant TEMP_DOWNLOAD_EXTENSION (line 244) | const TEMP_DOWNLOAD_EXTENSION: &str = "temp_download"; function is_temp_download_file (line 246) | pub(crate) fn is_temp_download_file(path: &Utf8Path) -> bool { function list_identifiers (line 255) | async fn list_identifiers( function list_remote_tenant_shards (line 296) | pub(crate) async fn list_remote_tenant_shards( function list_remote_timelines (line 306) | pub async fn list_remote_timelines( function do_download_remote_path_retry_forever (line 319) | async fn do_download_remote_path_retry_forever( function do_download_tenant_manifest (line 346) | async fn do_download_tenant_manifest( function do_download_index_part (line 370) | async fn do_download_index_part( function download_generation_object (line 416) | pub(crate) async fn download_generation_object<'a, T, DF, DFF, PF>( function download_index_part (line 538) | pub(crate) async fn download_index_part( function download_tenant_manifest (line 562) | pub(crate) async fn download_tenant_manifest( function download_initdb_tar_zst (line 584) | pub(crate) async fn download_initdb_tar_zst( function download_retry (line 672) | pub(super) async fn download_retry( function download_retry_forever (line 694) | pub(crate) async fn download_retry_forever( FILE: pageserver/src/tenant/remote_timeline_client/index.rs type IndexPart (line 29) | pub struct IndexPart { constant LATEST_VERSION (line 151) | const LATEST_VERSION: usize = 15; constant KNOWN_VERSIONS (line 154) | pub const KNOWN_VERSIONS: &'static [usize] = constant FILE_NAME (line 157) | pub const FILE_NAME: &'static str = "index_part.json"; method empty (line 159) | pub fn empty(metadata: TimelineMetadata) -> Self { method version (line 179) | pub fn version(&self) -> usize { method duplicated_disk_consistent_lsn (line 185) | pub fn duplicated_disk_consistent_lsn(&self) -> Lsn { method from_json_bytes (line 189) | pub fn from_json_bytes(bytes: &[u8]) -> Result { method to_json_bytes (line 193) | pub fn to_json_bytes(&self) -> serde_json::Result> { method example (line 198) | pub(crate) fn example() -> Self { method references (line 206) | pub fn references(&self, name: &LayerName, metadata: &LayerFileMetadat... method validate (line 215) | pub(crate) fn validate(&self) -> Result<(), String> { type GcCompactionState (line 125) | pub struct GcCompactionState { type LayerFileMetadata (line 234) | pub struct LayerFileMetadata { method new (line 247) | pub fn new(file_size: u64, generation: Generation, shard: ShardIndex) ... method generation_file_size (line 255) | pub fn generation_file_size(&self) -> (Generation, u64) { type Lineage (line 265) | pub(crate) struct Lineage { constant REMEMBER_AT_MOST (line 309) | const REMEMBER_AT_MOST: usize = 100; method record_previous_ancestor (line 311) | pub(crate) fn record_previous_ancestor(&mut self, old_ancestor: &Timel... method record_detaching (line 339) | pub(crate) fn record_detaching(&mut self, branchpoint: &(TimelineId, L... method is_previous_ancestor_lsn (line 358) | pub(crate) fn is_previous_ancestor_lsn(&self, lsn: Lsn) -> bool { method is_detached_from_ancestor (line 364) | pub(crate) fn is_detached_from_ancestor(&self) -> bool { method detached_previous_ancestor (line 369) | pub(crate) fn detached_previous_ancestor(&self) -> Option<(TimelineId,... method is_reparented (line 373) | pub(crate) fn is_reparented(&self) -> bool { function is_false (line 304) | fn is_false(b: &bool) -> bool { type GcBlocking (line 379) | pub(crate) struct GcBlocking { method started_now_for (line 392) | pub(super) fn started_now_for(reason: GcBlockingReason) -> Self { method blocked_by (line 400) | pub(crate) fn blocked_by(&self, reason: GcBlockingReason) -> bool { method with_reason (line 405) | pub(super) fn with_reason(&self, reason: GcBlockingReason) -> Self { method without_reason (line 418) | pub(super) fn without_reason(&self, reason: GcBlockingReason) -> Optio... type GcBlockingReason (line 386) | pub(crate) enum GcBlockingReason { function v1_indexpart_is_parsed (line 445) | fn v1_indexpart_is_parsed() { function v1_indexpart_is_parsed_with_optional_missing_layers (line 494) | fn v1_indexpart_is_parsed_with_optional_missing_layers() { function v2_indexpart_is_parsed_with_deleted_at (line 544) | fn v2_indexpart_is_parsed_with_deleted_at() { function empty_layers_are_parsed (line 595) | fn empty_layers_are_parsed() { function v4_indexpart_is_parsed (line 650) | fn v4_indexpart_is_parsed() { function v5_indexpart_is_parsed (line 698) | fn v5_indexpart_is_parsed() { function v6_indexpart_is_parsed (line 750) | fn v6_indexpart_is_parsed() { function v7_indexpart_is_parsed (line 807) | fn v7_indexpart_is_parsed() { function v8_indexpart_is_parsed (line 869) | fn v8_indexpart_is_parsed() { function v9_indexpart_is_parsed (line 932) | fn v9_indexpart_is_parsed() { function v10_importpgdata_is_parsed (line 1000) | fn v10_importpgdata_is_parsed() { function v11_rel_size_migration_is_parsed (line 1081) | fn v11_rel_size_migration_is_parsed() { function v12_v13_l2_gc_ompaction_is_parsed (line 1163) | fn v12_v13_l2_gc_ompaction_is_parsed() { function v14_marked_invisible_at_is_parsed (line 1251) | fn v14_marked_invisible_at_is_parsed() { function v15_rel_size_migrated_at_is_parsed (line 1340) | fn v15_rel_size_migrated_at_is_parsed() { function parse_naive_datetime (line 1429) | fn parse_naive_datetime(s: &str) -> NaiveDateTime { FILE: pageserver/src/tenant/remote_timeline_client/manifest.rs type TenantManifest (line 12) | pub struct TenantManifest { method eq_ignoring_version (line 62) | pub fn eq_ignoring_version(&self, other: &Self) -> bool { method from_json_bytes (line 79) | pub fn from_json_bytes(bytes: &[u8]) -> Result { method to_json_bytes (line 84) | pub fn to_json_bytes(&self) -> serde_json::Result> { type OffloadedTimelineManifest (line 40) | pub struct OffloadedTimelineManifest { constant LATEST_TENANT_MANIFEST_VERSION (line 57) | pub const LATEST_TENANT_MANIFEST_VERSION: usize = 2; function parse_empty (line 99) | fn parse_empty() -> anyhow::Result<()> { function parse_unknown_fields (line 114) | fn parse_unknown_fields() -> anyhow::Result<()> { function parse_v1 (line 130) | fn parse_v1() -> anyhow::Result<()> { function parse_v2 (line 172) | fn parse_v2() -> anyhow::Result<()> { FILE: pageserver/src/tenant/remote_timeline_client/upload.rs function upload_index_part (line 29) | pub(crate) async fn upload_index_part( function upload_tenant_manifest (line 67) | pub(crate) async fn upload_tenant_manifest( function upload_timeline_layer (line 100) | pub(super) async fn upload_timeline_layer<'a>( function copy_timeline_layer (line 172) | pub(super) async fn copy_timeline_layer( function upload_initdb_dir (line 191) | pub(crate) async fn upload_initdb_dir( function preserve_initdb_archive (line 213) | pub(crate) async fn preserve_initdb_archive( function time_travel_recover_tenant (line 227) | pub(crate) async fn time_travel_recover_tenant( FILE: pageserver/src/tenant/secondary.rs type DownloadCommand (line 32) | enum DownloadCommand { method get_tenant_shard_id (line 48) | fn get_tenant_shard_id(&self) -> &TenantShardId { type UploadCommand (line 35) | enum UploadCommand { method get_tenant_shard_id (line 40) | fn get_tenant_shard_id(&self) -> &TenantShardId { type CommandRequest (line 55) | struct CommandRequest { type CommandResponse (line 60) | struct CommandResponse { type SecondaryTenantError (line 65) | pub(crate) enum SecondaryTenantError { method from (line 73) | fn from(gte: GetTenantError) -> Self { type SecondaryTenant (line 90) | pub(crate) struct SecondaryTenant { method new (line 121) | pub(crate) fn new( method tenant_shard_id (line 158) | pub(crate) fn tenant_shard_id(&self) -> TenantShardId { method shutdown (line 162) | pub(crate) async fn shutdown(&self) { method set_config (line 183) | pub(crate) fn set_config(&self, config: &SecondaryLocationConfig) { method set_tenant_conf (line 187) | pub(crate) fn set_tenant_conf(&self, config: &pageserver_api::models::... method get_location_conf (line 194) | pub(crate) fn get_location_conf(&self) -> models::LocationConfig { method get_tenant_shard_id (line 211) | pub(crate) fn get_tenant_shard_id(&self) -> &TenantShardId { method get_layers_for_eviction (line 215) | pub(crate) fn get_layers_for_eviction(self: &Arc) -> (DiskUsageE... method evict_layer (line 221) | pub(crate) async fn evict_layer(self: &Arc, timeline_id: Timelin... method validate_metrics (line 271) | fn validate_metrics(&self) { method validate_metrics (line 279) | fn validate_metrics(&self) { type SecondaryController (line 291) | pub struct SecondaryController { method dispatch (line 297) | async fn dispatch( method upload_tenant (line 319) | pub(crate) async fn upload_tenant( method download_tenant (line 326) | pub(crate) async fn download_tenant( type GlobalTasks (line 338) | pub struct GlobalTasks { method wait (line 353) | pub async fn wait(self) { function spawn_tasks (line 374) | pub fn spawn_tasks( FILE: pageserver/src/tenant/secondary/downloader.rs constant DEFAULT_DOWNLOAD_INTERVAL (line 56) | const DEFAULT_DOWNLOAD_INTERVAL: Duration = Duration::from_millis(60000); function downloader_task (line 58) | pub(super) async fn downloader_task( type SecondaryDownloader (line 81) | struct SecondaryDownloader { method on_completion (line 442) | fn on_completion(&mut self, completion: CompleteDownload) { method schedule (line 475) | async fn schedule(&mut self) -> SchedulingResult { method on_command (line 530) | fn on_command( method spawn (line 548) | fn spawn( type OnDiskState (line 88) | pub(super) struct OnDiskState { method new (line 95) | fn new( method remove_blocking (line 113) | pub(super) fn remove_blocking(&self) { method file_size (line 123) | pub(crate) fn file_size(&self) -> u64 { type SecondaryDetailTimeline (line 128) | pub(super) struct SecondaryDetailTimeline { method fmt (line 154) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method empty (line 163) | pub(super) fn empty(ctx: RequestContext) -> Self { method context (line 171) | pub(super) fn context(&self) -> &RequestContext { method remove_layer (line 175) | pub(super) fn remove_layer( method touch_layer (line 188) | fn touch_layer( method clone (line 138) | fn clone(&self) -> Self { type DownloadSummary (line 222) | struct DownloadSummary { type SecondaryDetail (line 232) | pub(super) struct SecondaryDetail { method new (line 261) | pub(super) fn new(config: SecondaryLocationConfig) -> Self { method total_resident_size (line 271) | pub(crate) fn total_resident_size(&self) -> u64 { method evict_layer (line 283) | pub(super) fn evict_layer( method remove_timeline (line 298) | pub(super) fn remove_timeline( method drain_timelines (line 310) | pub(super) fn drain_timelines( method clear_timeline_metrics (line 320) | fn clear_timeline_metrics( method get_layers_for_eviction (line 349) | pub(super) fn get_layers_for_eviction( function strftime (line 241) | fn strftime(t: &'_ SystemTime) -> DelayedFormat> { type HeatMapModified (line 247) | struct HeatMapModified { type HeatMapDownload (line 253) | enum HeatMapDownload { type PendingDownload (line 396) | struct PendingDownload { method get_tenant_shard_id (line 403) | fn get_tenant_shard_id(&self) -> &TenantShardId { type RunningDownload (line 408) | struct RunningDownload { method get_barrier (line 413) | fn get_barrier(&self) -> Barrier { type CompleteDownload (line 418) | struct CompleteDownload { method get_tenant_shard_id (line 425) | fn get_tenant_shard_id(&self) -> &TenantShardId { type Scheduler (line 430) | type Scheduler = TenantBackgroundJobs< type LayerAction (line 622) | enum LayerAction { type TenantDownloader (line 631) | struct TenantDownloader<'a> { type UpdateError (line 639) | enum UpdateError { method from (line 660) | fn from(value: DownloadError) -> Self { method from (line 670) | fn from(value: std::io::Error) -> Self { function new (line 689) | fn new( function download (line 701) | async fn download(&self, ctx: &RequestContext) -> Result<(), UpdateError> { function prepare_timelines (line 909) | async fn prepare_timelines( function download_heatmap (line 1036) | async fn download_heatmap( function download_timeline_layers (line 1087) | async fn download_timeline_layers( function layer_action (line 1145) | async fn layer_action( function download_timeline (line 1225) | async fn download_timeline( function skip_layer (line 1275) | fn skip_layer(&self, layer: HeatMapLayer) { function download_layer (line 1283) | async fn download_layer( function init_timeline_state (line 1376) | async fn init_timeline_state( function load_heatmap (line 1522) | async fn load_heatmap( FILE: pageserver/src/tenant/secondary/heatmap.rs type HeatMapTenant (line 13) | pub(crate) struct HeatMapTenant { method into_timelines_index (line 31) | pub(crate) fn into_timelines_index(self) -> HashMap HeatMapStats { method strip_atimes (line 120) | pub(crate) fn strip_atimes(self) -> Self { type HeatMapTimeline (line 41) | pub(crate) struct HeatMapTimeline { method new (line 79) | pub(crate) fn new(timeline_id: TimelineId, layers: Vec) ... method into_hot_layers (line 86) | pub(crate) fn into_hot_layers(self) -> impl Iterator impl Iterator { method all_layers (line 94) | pub(crate) fn all_layers(&self) -> impl Iterator { type HeatMapLayer (line 50) | pub(crate) struct HeatMapLayer { method new (line 63) | pub(crate) fn new( type HeatMapStats (line 99) | pub(crate) struct HeatMapStats { FILE: pageserver/src/tenant/secondary/heatmap_uploader.rs function heatmap_uploader_task (line 32) | pub(super) async fn heatmap_uploader_task( type HeatmapUploader (line 58) | struct HeatmapUploader { method schedule (line 132) | async fn schedule(&mut self) -> SchedulingResult { method spawn (line 203) | fn spawn( method on_command (line 277) | fn on_command( method on_completion (line 303) | fn on_completion(&mut self, completion: WriteComplete) { type WriteInProgress (line 66) | struct WriteInProgress { method get_barrier (line 71) | fn get_barrier(&self) -> Barrier { type UploadPending (line 76) | struct UploadPending { method get_tenant_shard_id (line 84) | fn get_tenant_shard_id(&self) -> &TenantShardId { type WriteComplete (line 89) | struct WriteComplete { method get_tenant_shard_id (line 97) | fn get_tenant_shard_id(&self) -> &TenantShardId { type UploaderTenantState (line 106) | struct UploaderTenantState { type Scheduler (line 121) | type Scheduler = TenantBackgroundJobs< type UploadHeatmapOutcome (line 325) | enum UploadHeatmapOutcome { type UploadHeatmapError (line 335) | enum UploadHeatmapError { type LastUploadState (line 348) | struct LastUploadState { function upload_tenant_heatmap (line 358) | async fn upload_tenant_heatmap( FILE: pageserver/src/tenant/secondary/scheduler.rs constant MAX_SCHEDULING_INTERVAL (line 19) | const MAX_SCHEDULING_INTERVAL: Duration = Duration::from_secs(10); constant MIN_SCHEDULING_INTERVAL (line 20) | const MIN_SCHEDULING_INTERVAL: Duration = Duration::from_secs(1); function period_jitter (line 24) | pub(super) fn period_jitter(d: Duration, pct: u32) -> Duration { function period_warmup (line 34) | pub(super) fn period_warmup(period: Duration) -> Duration { type TenantBackgroundJobs (line 60) | pub(super) struct TenantBackgroundJobs type JobGenerator (line 87) | pub(crate) trait JobGenerator method schedule (line 102) | async fn schedule(&mut self) -> SchedulingResult; method spawn (line 107) | fn spawn(&mut self, pending_job: PJ) -> (RJ, Pin Result; type SchedulingResult (line 118) | pub(super) struct SchedulingResult { type PendingJob (line 125) | pub(super) trait PendingJob { method get_tenant_shard_id (line 126) | fn get_tenant_shard_id(&self) -> &TenantShardId; type Completion (line 130) | pub(super) trait Completion: Send + 'static { method get_tenant_shard_id (line 131) | fn get_tenant_shard_id(&self) -> &TenantShardId; type RunningJob (line 135) | pub(super) trait RunningJob { method get_barrier (line 136) | fn get_barrier(&self) -> Barrier; function new (line 146) | pub(super) fn new(generator: G, concurrency: usize) -> Self { function run (line 158) | pub(super) async fn run( function do_spawn (line 261) | fn do_spawn(&mut self, job: PJ) { function spawn_pending (line 277) | fn spawn_pending(&mut self) { function spawn_now (line 288) | fn spawn_now(&mut self, job: PJ) -> &RJ { function process_next_completion (line 299) | async fn process_next_completion(&mut self) -> Option { function handle_command (line 321) | fn handle_command( function get_running (line 357) | fn get_running(&self, tenant_shard_id: &TenantShardId) -> Option { function schedule_iteration (line 367) | async fn schedule_iteration(&mut self, cancel: &CancellationToken) { FILE: pageserver/src/tenant/size.rs type ModelInputs (line 30) | pub struct ModelInputs { method calculate_model (line 582) | pub fn calculate_model(&self) -> tenant_size_model::StorageModel { method calculate (line 594) | pub fn calculate(&self) -> u64 { type SegmentMeta (line 37) | pub struct SegmentMeta { method size_needed (line 78) | fn size_needed(&self) -> bool { type CalculateSyntheticSizeError (line 44) | pub(crate) enum CalculateSyntheticSizeError { method from (line 67) | fn from(value: GcError) -> Self { type LsnKind (line 98) | pub enum LsnKind { method from (line 116) | fn from(kind: LsnKind) -> Self { type TimelineInputs (line 127) | pub struct TimelineInputs { function gather_inputs (line 158) | pub(super) async fn gather_inputs( function fill_logical_sizes (line 454) | async fn fill_logical_sizes( type TimelineAtLsnSizeResult (line 602) | struct TimelineAtLsnSizeResult( function calculate_logical_size (line 609) | async fn calculate_logical_size( function verify_size_for_multiple_branches (line 629) | fn verify_size_for_multiple_branches() { function verify_size_for_one_branch (line 787) | fn verify_size_for_one_branch() { FILE: pageserver/src/tenant/storage_layer.rs function range_overlaps (line 51) | pub fn range_overlaps(a: &Range, b: &Range) -> bool type ValueReconstructState (line 79) | pub(crate) struct ValueReconstructState { method num_deltas (line 86) | pub fn num_deltas(&self) -> usize { type ValueReconstructSituation (line 95) | pub(crate) enum ValueReconstructSituation { type OnDiskValue (line 103) | pub(crate) enum OnDiskValue { type VectoredValueReconstructState (line 112) | pub struct VectoredValueReconstructState { method collect_pending_ios (line 180) | pub(crate) async fn collect_pending_ios( method sink_pending_ios (line 256) | pub async fn sink_pending_ios(self) -> Result<(), std::io::Error> { type OnDiskValueIoWaiter (line 119) | pub(crate) struct OnDiskValueIoWaiter { method wait_completion (line 168) | pub(crate) async fn wait_completion(self) -> Result; type WaitCompletionError (line 162) | pub(crate) enum WaitCompletionError { type ValuesReconstructState (line 297) | pub struct ValuesReconstructState { method new (line 655) | pub fn new(io_concurrency: IoConcurrency) -> Self { method new_with_debug (line 670) | pub(crate) fn new_with_debug(io_concurrency: IoConcurrency) -> Self { method spawn_io (line 686) | pub(crate) async fn spawn_io(&mut self, fut: F) method set_debug_state (line 693) | pub(crate) fn set_debug_state(&mut self, debug_state: &ValueReconstruc... method on_layer_visited (line 699) | pub(crate) fn on_layer_visited(&mut self, layer: &ReadableLayer) { method get_delta_layers_visited (line 708) | pub(crate) fn get_delta_layers_visited(&self) -> u32 { method get_layers_visited (line 712) | pub(crate) fn get_layers_visited(&self) -> u32 { method on_image_layer_visited (line 718) | pub(crate) fn on_image_layer_visited(&mut self, key_range: &Range) { method update_key (line 734) | pub(crate) fn update_key(&mut self, key: &Key, lsn: Lsn, completes: bo... method consume_done_keys (line 774) | pub(crate) fn consume_done_keys(&mut self) -> (KeySpace, Option) -> std::fmt::Result { method sequential (line 366) | pub(crate) fn sequential() -> Self { method spawn_from_conf (line 370) | pub fn spawn_from_conf(conf: GetVectoredConcurrentIo, gate_guard: Gate... method spawn (line 378) | pub(crate) fn spawn(io_concurrency: SelectedIoConcurrency) -> Self { method spawn_io (line 524) | pub(crate) async fn spawn_io(&mut self, fut: F) method spawn_for_test (line 548) | pub(crate) fn spawn_for_test() -> impl std::ops::DerefMut>>; type SelectedIoConcurrency (line 335) | pub(crate) enum SelectedIoConcurrency { method fmt (line 350) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method clone (line 614) | fn clone(&self) -> Self { method drop (line 634) | fn drop(&mut self) { type LayerId (line 784) | pub(crate) enum LayerId { type LayerToVisitId (line 814) | struct LayerToVisitId { type ReadableLayerWeak (line 821) | pub enum ReadableLayerWeak { type ReadableLayer (line 830) | pub(crate) enum ReadableLayer { method id (line 957) | pub(crate) fn id(&self) -> LayerId { method get_values_reconstruct_data (line 964) | pub(crate) async fn get_values_reconstruct_data( type LayerVisit (line 837) | struct LayerVisit { type LayerFringe (line 852) | pub(crate) struct LayerFringe { method new (line 864) | pub(crate) fn new() -> Self { method next_layer (line 871) | pub(crate) fn next_layer(&mut self) -> Option<(ReadableLayer, KeySpace... method update (line 892) | pub(crate) fn update( type LayerVisitReads (line 858) | struct LayerVisitReads { method default (line 926) | fn default() -> Self { method cmp (line 932) | fn cmp(&self, other: &Self) -> Ordering { method partial_cmp (line 943) | fn partial_cmp(&self, other: &Self) -> Option { method eq (line 949) | fn eq(&self, other: &Self) -> bool { type LayerVisibilityHint (line 1016) | pub enum LayerVisibilityHint { type LayerAccessStats (line 1025) | pub(crate) struct LayerAccessStats(std::sync::atomic::AtomicU64); constant TS_DROP_HIGH_BITS (line 1056) | const TS_DROP_HIGH_BITS: u32 = u32::count_ones(Self::TS_ONES) + 1; constant TS_MASK (line 1057) | const TS_MASK: u32 = 0x1f_ff_ff_ff; constant TS_ONES (line 1058) | const TS_ONES: u32 = 0x60_00_00_00; constant ATIME_SHIFT (line 1060) | const ATIME_SHIFT: u32 = 0; constant RTIME_SHIFT (line 1061) | const RTIME_SHIFT: u32 = 32 - Self::TS_DROP_HIGH_BITS; constant VISIBILITY_SHIFT (line 1062) | const VISIBILITY_SHIFT: u32 = 64 - 2 * Self::TS_DROP_HIGH_BITS; method write_bits (line 1064) | fn write_bits(&self, mask: u64, value: u64) -> u64 { method to_low_res_timestamp (line 1075) | fn to_low_res_timestamp(shift: u32, time: SystemTime) -> (u64, u64) { method read_low_res_timestamp (line 1082) | fn read_low_res_timestamp(&self, shift: u32) -> Option { method record_residence_event_at (line 1106) | pub(crate) fn record_residence_event_at(&self, now: SystemTime) { method record_residence_event (line 1111) | pub(crate) fn record_residence_event(&self) { method record_access_at (line 1115) | fn record_access_at(&self, now: SystemTime) -> bool { method record_access (line 1131) | pub(crate) fn record_access(&self, ctx: &RequestContext) -> bool { method as_api_model (line 1139) | fn as_api_model( method latest_activity (line 1164) | pub(crate) fn latest_activity(&self) -> SystemTime { method accessed (line 1177) | fn accessed(&self) -> bool { method decode_visibility (line 1191) | fn decode_visibility(&self, bits: u64) -> LayerVisibilityHint { method set_visibility (line 1200) | pub(crate) fn set_visibility(&self, visibility: LayerVisibilityHint) -... method visibility (line 1210) | pub(crate) fn visibility(&self) -> LayerVisibilityHint { type LayerAccessStatsReset (line 1028) | pub(crate) enum LayerAccessStatsReset { method default (line 1034) | fn default() -> Self { type AsLayerDesc (line 1217) | pub(crate) trait AsLayerDesc { method layer_desc (line 1219) | fn layer_desc(&self) -> &PersistentLayerDesc; method from (line 1229) | fn from(value: DeltaLayerName) -> Self { method from (line 1241) | fn from(value: ImageLayerName) -> Self { method from (line 1253) | fn from(value: LayerName) -> Self { type RangeDisplayDebug (line 1265) | struct RangeDisplayDebug<'a, T: std::fmt::Display>(&'a Range); function fmt (line 1268) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function test_io_concurrency_noise (line 1308) | async fn test_io_concurrency_noise() { FILE: pageserver/src/tenant/storage_layer/batch_split_writer.rs type BatchWriterResult (line 23) | pub(crate) enum BatchWriterResult { method into_resident_layer (line 30) | fn into_resident_layer(self) -> ResidentLayer { method into_discarded_layer (line 37) | fn into_discarded_layer(self) -> PersistentLayerKey { type LayerWriterWrapper (line 45) | enum LayerWriterWrapper { type BatchLayerWriter (line 52) | pub struct BatchLayerWriter { method new (line 58) | pub fn new(conf: &'static PageServerConf) -> Self { method add_unfinished_image_writer (line 65) | pub fn add_unfinished_image_writer( method add_unfinished_delta_writer (line 81) | pub fn add_unfinished_delta_writer( method finish (line 97) | pub(crate) async fn finish( method finish_with_discard_fn (line 114) | pub(crate) async fn finish_with_discard_fn( method pending_layer_num (line 177) | pub fn pending_layer_num(&self) -> usize { type SplitImageLayerWriter (line 184) | pub struct SplitImageLayerWriter<'a> { function new (line 199) | pub fn new( function put_image (line 223) | pub async fn put_image( function finish_with_discard_fn (line 278) | pub(crate) async fn finish_with_discard_fn( function finish (line 301) | pub(crate) async fn finish( type SplitDeltaLayerWriter (line 318) | pub struct SplitDeltaLayerWriter<'a> { function new (line 332) | pub fn new( function put_value (line 355) | pub async fn put_value( function finish_with_discard_fn (line 425) | pub(crate) async fn finish_with_discard_fn( function finish (line 452) | pub(crate) async fn finish( function get_key (line 472) | fn get_key(id: u32) -> Key { function get_img (line 478) | fn get_img(id: u32) -> Bytes { function get_large_img (line 482) | fn get_large_img() -> Bytes { function write_one_image (line 490) | async fn write_one_image() { function write_split (line 555) | async fn write_split() { function write_split_discard (line 561) | async fn write_split_discard() { function write_split_helper (line 568) | async fn write_split_helper(harness_name: &'static str, discard: bool) { function write_large_img (line 662) | async fn write_large_img() { function write_split_single_key (line 748) | async fn write_split_single_key() { FILE: pageserver/src/tenant/storage_layer/delta_layer.rs type Summary (line 90) | pub struct Summary { method from (line 107) | fn from(layer: &DeltaLayer) -> Self { method ser_into_page (line 119) | pub fn ser_into_page(&self) -> Result { method expected (line 127) | pub(super) fn expected( constant WILL_INIT (line 149) | const WILL_INIT: u64 = 1; type BlobRef (line 157) | pub struct BlobRef(pub u64); method will_init (line 160) | pub fn will_init(&self) -> bool { method pos (line 164) | pub fn pos(&self) -> u64 { method new (line 168) | pub fn new(pos: u64, will_init: bool) -> BlobRef { constant DELTA_KEY_SIZE (line 177) | pub const DELTA_KEY_SIZE: usize = KEY_SIZE + 8; type DeltaKey (line 178) | struct DeltaKey([u8; DELTA_KEY_SIZE]); method from_slice (line 183) | fn from_slice(buf: &[u8]) -> Self { method from_key_lsn (line 189) | fn from_key_lsn(key: &Key, lsn: Lsn) -> Self { method key (line 196) | fn key(&self) -> Key { method lsn (line 200) | fn lsn(&self) -> Lsn { method extract_lsn_from_buf (line 204) | fn extract_lsn_from_buf(buf: &[u8]) -> Lsn { type DeltaLayer (line 213) | pub struct DeltaLayer { method fmt (line 220) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 271) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method dump (line 283) | pub async fn dump(&self, verbose: bool, ctx: &RequestContext) -> Resul... method temp_path_for (line 295) | fn temp_path_for( method load (line 324) | async fn load(&self, ctx: &RequestContext) -> Result<&Arc anyhow::Result Result { method path (line 380) | fn path(&self) -> Utf8PathBuf { method rewrite_summary (line 772) | pub async fn rewrite_summary( type DeltaLayerInner (line 234) | pub struct DeltaLayerInner { method layer_dbg_info (line 249) | pub(crate) fn layer_dbg_info(&self) -> String { method fmt (line 261) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method key_range (line 805) | pub(crate) fn key_range(&self) -> &Range { method lsn_range (line 809) | pub(crate) fn lsn_range(&self) -> &Range { method load (line 813) | pub(super) async fn load( method get_values_reconstruct_data (line 870) | pub(super) async fn get_values_reconstruct_data( method plan_reads (line 911) | async fn plan_reads( method get_min_read_buffer_size (line 973) | fn get_min_read_buffer_size( method do_reads_and_update_state (line 1015) | async fn do_reads_and_update_state( method index_entries (line 1092) | pub(crate) async fn index_entries<'a>( method copy_prefix (line 1147) | pub(super) async fn copy_prefix( method dump (line 1347) | pub(super) async fn dump(&self, ctx: &RequestContext) -> anyhow::Resul... method stream_index_forwards (line 1416) | fn stream_index_forwards<'a, R>( method index_start_offset (line 1441) | fn index_start_offset(&self) -> u64 { method iter_with_options (line 1453) | pub fn iter_with_options<'a>( method load_keys (line 1476) | pub(crate) async fn load_keys(&self, ctx: &RequestContext) -> anyhow::... method as_ref (line 1530) | fn as_ref(&self) -> &DeltaLayerInner { method layer_desc (line 277) | fn layer_desc(&self) -> &PersistentLayerDesc { type DeltaLayerWriterInner (line 396) | struct DeltaLayerWriterInner { method new (line 417) | async fn new( method put_value (line 475) | async fn put_value( method put_value_bytes (line 497) | async fn put_value_bytes( method size (line 540) | fn size(&self) -> u64 { method finish (line 547) | async fn finish( type DeltaLayerWriter (line 655) | pub struct DeltaLayerWriter { method new (line 664) | pub async fn new( method is_empty (line 691) | pub fn is_empty(&self) -> bool { method put_value (line 700) | pub async fn put_value( method put_value_bytes (line 714) | pub async fn put_value_bytes( method size (line 732) | pub fn size(&self) -> u64 { method finish (line 739) | pub(crate) async fn finish( method num_keys (line 747) | pub(crate) fn num_keys(&self) -> usize { method estimated_size (line 751) | pub(crate) fn estimated_size(&self) -> u64 { type RewriteSummaryError (line 758) | pub enum RewriteSummaryError { method from (line 766) | fn from(e: std::io::Error) -> Self { type DeltaEntry (line 1484) | pub struct DeltaEntry<'a> { type ValueRef (line 1494) | pub struct ValueRef<'a> { function load (line 1501) | pub async fn load(&self, ctx: &RequestContext) -> Result { function load_raw (line 1507) | async fn load_raw(&self, ctx: &RequestContext) -> Result> { type Adapter (line 1516) | pub(crate) struct Adapter(T); function read_blk (line 1519) | pub(crate) async fn read_blk( function key (line 1536) | fn key(&self) -> Key { function lsn (line 1539) | fn lsn(&self) -> Lsn { function size (line 1542) | fn size(&self) -> u64 { type DeltaLayerIterator (line 1547) | pub struct DeltaLayerIterator<'a> { function layer_dbg_info (line 1557) | pub(crate) fn layer_dbg_info(&self) -> String { function next_batch (line 1562) | async fn next_batch(&mut self) -> anyhow::Result<()> { function next (line 1606) | pub async fn next(&mut self) -> anyhow::Result> { function test_delta_layer_index_traversal (line 1646) | async fn test_delta_layer_index_traversal() { function validate (line 1711) | fn validate( constant LSN_OFFSET (line 1761) | pub(super) const LSN_OFFSET: Lsn = Lsn(0x08); constant KEY_COUNT (line 1763) | pub(super) const KEY_COUNT: u8 = 60; constant MAX_ENTRIES_PER_KEY (line 1765) | pub(super) const MAX_ENTRIES_PER_KEY: u8 = 20; constant VALUE_SIZES (line 1767) | pub(super) const VALUE_SIZES: [(usize, u8); 3] = [(100, 2), (1024, 2), (... constant KEY_GAP_CHANGES (line 1769) | pub(super) const KEY_GAP_CHANGES: [(bool, u8); 2] = [(true, 1), (false, ... constant MIN_RANGE_SIZE (line 1771) | pub(super) const MIN_RANGE_SIZE: i128 = 10; constant RANGES_COUNT (line 1773) | pub(super) const RANGES_COUNT: u8 = 2; constant READS_COUNT (line 1775) | pub(super) const READS_COUNT: u8 = 100; constant MAX_VECTORED_READ_BYTES (line 1778) | pub(super) const MAX_VECTORED_READ_BYTES: usize = 64 * 1024; type Entry (line 1781) | struct Entry { function generate_entries (line 1787) | fn generate_entries(rng: &mut StdRng) -> Vec { type EntriesMeta (line 1835) | struct EntriesMeta { function get_entries_meta (line 1841) | fn get_entries_meta(entries: &[Entry]) -> EntriesMeta { function pick_random_keyspace (line 1864) | fn pick_random_keyspace(rng: &mut StdRng, key_range: &Range) -> Key... function test_delta_layer_vectored_read_end_to_end (line 1890) | async fn test_delta_layer_vectored_read_end_to_end() -> anyhow::Result<(... function copy_delta_prefix_smoke (line 1990) | async fn copy_delta_prefix_smoke() { function assert_keys_and_values_eq (line 2139) | async fn assert_keys_and_values_eq( function sort_delta (line 2211) | pub(crate) fn sort_delta( function sort_delta_value (line 2219) | pub(crate) fn sort_delta_value( function produce_delta_layer (line 2228) | pub(crate) async fn produce_delta_layer( function assert_delta_iter_equal (line 2263) | async fn assert_delta_iter_equal( function delta_layer_iterator (line 2284) | async fn delta_layer_iterator() { FILE: pageserver/src/tenant/storage_layer/errors.rs type PutError (line 4) | pub enum PutError { method is_cancel (line 12) | pub fn is_cancel(&self) -> bool { method into_anyhow (line 18) | pub fn into_anyhow(self) -> anyhow::Error { FILE: pageserver/src/tenant/storage_layer/filter_iterator.rs type FilterIterator (line 17) | pub struct FilterIterator<'a> { function create (line 24) | pub fn create( function next_inner (line 50) | async fn next_inner(&mut self) -> anyhow::Result anyhow::Result> { function next_with_trace (line 88) | pub async fn next_with_trace( function assert_filter_iter_equal (line 106) | async fn assert_filter_iter_equal( function filter_keyspace_iterator (line 127) | async fn filter_keyspace_iterator() { FILE: pageserver/src/tenant/storage_layer/image_layer.rs type Summary (line 88) | pub struct Summary { method from (line 106) | fn from(layer: &ImageLayer) -> Self { method ser_into_page (line 118) | pub fn ser_into_page(&self) -> Result { method expected (line 126) | pub(super) fn expected( type ImageLayer (line 148) | pub struct ImageLayer { method fmt (line 157) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 234) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method dump (line 246) | pub async fn dump(&self, verbose: bool, ctx: &RequestContext) -> Resul... method temp_path_for (line 260) | fn temp_path_for( method load (line 283) | async fn load(&self, ctx: &RequestContext) -> Result<&ImageLayerInner> { method load_inner (line 290) | async fn load_inner(&self, ctx: &RequestContext) -> Result Result { method path (line 338) | fn path(&self) -> Utf8PathBuf { method rewrite_summary (line 358) | pub async fn rewrite_summary( type ImageLayerInner (line 171) | pub struct ImageLayerInner { method layer_dbg_info (line 186) | pub(crate) fn layer_dbg_info(&self) -> String { method fmt (line 197) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method dump (line 206) | pub(super) async fn dump(&self, ctx: &RequestContext) -> anyhow::Resul... method key_range (line 391) | pub(crate) fn key_range(&self) -> &Range { method lsn (line 395) | pub(crate) fn lsn(&self) -> Lsn { method load (line 399) | pub(super) async fn load( method get_values_reconstruct_data (line 454) | pub(super) async fn get_values_reconstruct_data( method plan_reads (line 479) | async fn plan_reads( method filter (line 544) | pub(super) async fn filter( method do_reads_and_update_state (line 587) | async fn do_reads_and_update_state( method iter_with_options (line 687) | pub(crate) fn iter_with_options<'a>( method load_keys (line 710) | pub(crate) async fn load_keys(&self, ctx: &RequestContext) -> anyhow::... method layer_desc (line 240) | fn layer_desc(&self) -> &PersistentLayerDesc { type RewriteSummaryError (line 344) | pub enum RewriteSummaryError { method from (line 352) | fn from(e: std::io::Error) -> Self { type ImageLayerWriterInner (line 733) | struct ImageLayerWriterInner { method new (line 767) | async fn new( method put_image (line 840) | async fn put_image( method put_image_raw (line 892) | async fn put_image_raw( method finish (line 925) | async fn finish( type ImageLayerWriter (line 1051) | pub struct ImageLayerWriter { method new (line 1060) | pub async fn new( method put_image (line 1092) | pub async fn put_image( method put_image_raw (line 1107) | pub async fn put_image_raw( method estimated_size (line 1121) | pub(crate) fn estimated_size(&self) -> u64 { method num_keys (line 1126) | pub(crate) fn num_keys(&self) -> usize { method finish (line 1133) | pub(crate) async fn finish( method finish_with_end_key (line 1141) | pub(super) async fn finish_with_end_key( type ImageLayerIterator (line 1150) | pub struct ImageLayerIterator<'a> { function layer_dbg_info (line 1160) | pub(crate) fn layer_dbg_info(&self) -> String { function next_batch (line 1165) | async fn next_batch(&mut self) -> anyhow::Result<()> { function next (line 1210) | pub async fn next(&mut self) -> anyhow::Result> { function image_layer_rewrite (line 1247) | async fn image_layer_rewrite() { function produce_image_layer (line 1425) | async fn produce_image_layer( function assert_img_iter_equal (line 1458) | async fn assert_img_iter_equal( function image_layer_iterator (line 1483) | async fn image_layer_iterator() { FILE: pageserver/src/tenant/storage_layer/inmemory_layer.rs type InMemoryLayerFileId (line 45) | pub(crate) struct InMemoryLayerFileId(page_cache::FileId); type InMemoryLayer (line 47) | pub struct InMemoryLayer { method fmt (line 87) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method file_id (line 359) | pub(crate) fn file_id(&self) -> InMemoryLayerFileId { method get_timeline_id (line 363) | pub(crate) fn get_timeline_id(&self) -> TimelineId { method info (line 367) | pub(crate) fn info(&self) -> InMemoryLayerInfo { method len (line 377) | pub(crate) fn len(&self) -> u64 { method assert_writable (line 381) | pub(crate) fn assert_writable(&self) { method end_lsn_or_max (line 385) | pub(crate) fn end_lsn_or_max(&self) -> Lsn { method get_lsn_range (line 389) | pub(crate) fn get_lsn_range(&self) -> Range { method dump (line 396) | pub async fn dump(&self, _verbose: bool, _ctx: &RequestContext) -> Res... method get_values_reconstruct_data (line 409) | pub async fn get_values_reconstruct_data( method fmt (line 519) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method estimated_in_mem_size (line 526) | pub fn estimated_in_mem_size(&self) -> u64 { method create (line 531) | pub async fn create( method put_batch (line 571) | pub async fn put_batch( method get_opened_at (line 646) | pub(crate) fn get_opened_at(&self) -> Instant { method tick (line 650) | pub(crate) fn tick(&self) -> Option { method put_tombstones (line 654) | pub(crate) async fn put_tombstones(&self, _key_ranges: &[(Range, ... method freeze (line 673) | pub async fn freeze(&self, end_lsn: Lsn) { method write_to_disk (line 707) | pub async fn write_to_disk( constant MAX_SUPPORTED_BLOB_LEN (line 98) | const MAX_SUPPORTED_BLOB_LEN: usize = crate::tenant::blob_io::MAX_SUPPOR... constant MAX_SUPPORTED_BLOB_LEN_BITS (line 99) | const MAX_SUPPORTED_BLOB_LEN_BITS: usize = { type IndexEntry (line 115) | pub struct IndexEntry(u64); constant MAX_SUPPORTED_POS_BITS (line 119) | const MAX_SUPPORTED_POS_BITS: usize = { constant MAX_SUPPORTED_POS (line 128) | const MAX_SUPPORTED_POS: usize = (1 << Self::MAX_SUPPORTED_POS_BITS) - 1; constant WILL_INIT_RANGE (line 131) | const WILL_INIT_RANGE: Range = 0..1; constant LEN_RANGE (line 132) | const LEN_RANGE: Range = constant POS_RANGE (line 134) | const POS_RANGE: Range = constant _ASSERT (line 136) | const _ASSERT: () = { method new (line 153) | fn new(arg: IndexEntryNewArgs) -> anyhow::Result { method unpack (line 188) | fn unpack(&self) -> IndexEntryUnpacked { method validate_checkpoint_distance (line 198) | pub(crate) const fn validate_checkpoint_distance( constant _ASSERT_DEFAULT_CHECKPOINT_DISTANCE_IS_VALID (line 216) | const _ASSERT_DEFAULT_CHECKPOINT_DISTANCE_IS_VALID: () = { type IndexEntryNewArgs (line 228) | struct IndexEntryNewArgs { type IndexEntryUnpacked (line 237) | struct IndexEntryUnpacked { type GlobalResources (line 248) | pub(crate) struct GlobalResources { type GlobalResourceUnits (line 259) | pub(crate) struct GlobalResourceUnits { constant MAX_SIZE_DRIFT (line 269) | const MAX_SIZE_DRIFT: u64 = 10 * 1024 * 1024; method new (line 271) | pub(crate) fn new() -> Self { method publish_size (line 283) | pub(crate) fn publish_size(&mut self, size: u64) -> Option { method maybe_publish_size (line 328) | pub(crate) fn maybe_publish_size(&mut self, size: u64) { method drop (line 342) | fn drop(&mut self) { function inmem_layer_display (line 504) | fn inmem_layer_display(mut f: impl Write, start_lsn: Lsn, end_lsn: Lsn) ... function inmem_layer_log_display (line 508) | fn inmem_layer_log_display( function test_index_entry (line 802) | fn test_index_entry() { FILE: pageserver/src/tenant/storage_layer/inmemory_layer/vectored_dio_read.rs type File (line 13) | pub trait File: Send { method read_exact_at_eof_ok (line 25) | async fn read_exact_at_eof_ok( method read_exact_at_eof_ok (line 483) | async fn read_exact_at_eof_ok( method read_exact_at_eof_ok (line 614) | async fn read_exact_at_eof_ok( method read_exact_at_eof_ok (line 744) | async fn read_exact_at_eof_ok( type LogicalRead (line 34) | pub struct LogicalRead { type LogicalReadState (line 39) | enum LogicalReadState { function new (line 49) | pub fn new(pos: u64, buf: B) -> Self { function into_result (line 55) | pub fn into_result(self) -> Option>> { type Buffer (line 66) | pub trait Buffer: std::ops::Deref { method cap (line 68) | fn cap(&self) -> usize; method len (line 70) | fn len(&self) -> usize; method extend_from_slice (line 72) | fn extend_from_slice(&mut self, src: &[u8]); method cap (line 407) | fn cap(&self) -> usize { method len (line 411) | fn len(&self) -> usize { method extend_from_slice (line 415) | fn extend_from_slice(&mut self, src: &[u8]) { constant DIO_CHUNK_SIZE (line 76) | const DIO_CHUNK_SIZE: usize = crate::virtual_file::get_io_buffer_alignme... constant MAX_CHUNK_BATCH_SIZE (line 80) | const MAX_CHUNK_BATCH_SIZE: usize = { function execute (line 95) | pub async fn execute<'a, I, F, B>(file: &F, reads: I, ctx: &RequestContext) function is_terminal (line 339) | fn is_terminal(&self) -> bool { function transition_to_terminal (line 346) | fn transition_to_terminal(&mut self, err: std::io::Result<()>) { function fmt (line 360) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type RwLockRefCell (line 390) | struct RwLockRefCell(RwLock); function new (line 392) | fn new(value: T) -> Self { function borrow (line 395) | fn borrow(&self) -> impl std::ops::Deref + '_ { function borrow_mut (line 398) | fn borrow_mut(&self) -> impl std::ops::DerefMut + '_ { function into_inner (line 401) | fn into_inner(self) -> T { type InMemoryFile (line 436) | struct InMemoryFile { method new_random (line 441) | fn new_random(len: usize) -> Self { method test_logical_read (line 449) | fn test_logical_read(&self, pos: u64, len: usize) -> TestLogicalRead { function test_in_memory_file (line 460) | fn test_in_memory_file() { type TestLogicalRead (line 507) | struct TestLogicalRead { method new (line 514) | fn new(pos: u64, len: usize, expected_result: Result, String>)... method make_logical_read (line 521) | fn make_logical_read(&self) -> LogicalRead> { function execute_and_validate_test_logical_reads (line 526) | async fn execute_and_validate_test_logical_reads( function test_blackbox (line 550) | async fn test_blackbox() { function test_reusing_logical_reads_panics (line 583) | async fn test_reusing_logical_reads_panics() { type RecorderFile (line 593) | struct RecorderFile<'a> { type RecordedRead (line 598) | struct RecordedRead { function new (line 605) | fn new(file: &'a InMemoryFile) -> RecorderFile<'a> { function test_logical_reads_to_same_chunk_are_merged_into_one_chunk_read (line 631) | async fn test_logical_reads_to_same_chunk_are_merged_into_one_chunk_read... function test_max_chunk_batch_size_is_respected (line 651) | async fn test_max_chunk_batch_size_is_respected() { function test_batch_breaks_if_chunk_is_not_interesting (line 684) | async fn test_batch_breaks_if_chunk_is_not_interesting() { type ExpectedRead (line 712) | struct ExpectedRead { type MockFile (line 718) | struct MockFile { method drop (line 723) | fn drop(&mut self) { function test_mock_file (line 775) | async fn test_mock_file() { function test_error_on_one_chunk_read_fails_only_dependent_logical_reads (line 821) | async fn test_error_on_one_chunk_read_fails_only_dependent_logical_reads... type TestShortReadsSetup (line 859) | struct TestShortReadsSetup { function setup_short_chunk_read_tests (line 864) | fn setup_short_chunk_read_tests() -> TestShortReadsSetup { function test_short_chunk_read_from_written_range (line 873) | async fn test_short_chunk_read_from_written_range() { function test_short_chunk_read_and_logical_read_from_unwritten_range (line 895) | async fn test_short_chunk_read_and_logical_read_from_unwritten_range() { FILE: pageserver/src/tenant/storage_layer/layer.rs constant S3_UPLOAD_LIMIT (line 39) | pub const S3_UPLOAD_LIMIT: u64 = 4_500_000_000; type Layer (line 93) | pub(crate) struct Layer(Arc); method fmt (line 96) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 107) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method for_evicted (line 159) | pub(crate) fn for_evicted( method for_resident (line 196) | pub(crate) fn for_resident( method finish_creating (line 244) | pub(crate) fn finish_creating( method evict_and_wait (line 303) | pub(crate) async fn evict_and_wait(&self, timeout: Duration) -> Result... method delete_on_drop (line 318) | pub(crate) fn delete_on_drop(&self) { method get_values_reconstruct_data (line 322) | pub(crate) async fn get_values_reconstruct_data( method download (line 385) | pub(crate) async fn download(&self, ctx: &RequestContext) -> Result<()... method needs_download (line 390) | pub(crate) async fn needs_download(&self) -> Result Option { method is_likely_resident (line 412) | pub(crate) fn is_likely_resident(&self) -> bool { method download_and_keep_resident (line 421) | pub(crate) async fn download_and_keep_resident( method info (line 433) | pub(crate) fn info(&self, reset: LayerAccessStatsReset) -> HistoricLay... method latest_activity (line 437) | pub(crate) fn latest_activity(&self) -> SystemTime { method visibility (line 441) | pub(crate) fn visibility(&self) -> LayerVisibilityHint { method local_path (line 445) | pub(crate) fn local_path(&self) -> &Utf8Path { method metadata (line 449) | pub(crate) fn metadata(&self) -> LayerFileMetadata { method last_evicted_at (line 453) | pub(crate) fn last_evicted_at(&self) -> LastEviction { method get_timeline_id (line 464) | pub(crate) fn get_timeline_id(&self) -> Option { method dump (line 473) | pub(crate) async fn dump(&self, verbose: bool, ctx: &RequestContext) -... method wait_drop (line 491) | pub(crate) fn wait_drop(&self) -> impl std::future::Future Self { method layer_desc (line 113) | fn layer_desc(&self) -> &PersistentLayerDesc { method eq (line 119) | fn eq(&self, other: &Self) -> bool { function local_layer_path (line 124) | pub(crate) fn local_layer_path( type LastEviction (line 141) | pub(crate) enum LastEviction { method happened_after (line 148) | pub(crate) fn happened_after(&self, timepoint: std::time::Instant) -> ... type ResidentOrWantedEvicted (line 577) | enum ResidentOrWantedEvicted { method get (line 588) | fn get(&self) -> Option> { method is_likely_resident (line 597) | fn is_likely_resident(&self) -> bool { method get_and_upgrade (line 608) | fn get_and_upgrade(&mut self) -> Option<(Arc, bool)> { method downgrade (line 629) | fn downgrade(&mut self) -> Option> { type LayerInner (line 645) | struct LayerInner { method fmt (line 725) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method new (line 848) | fn new( method delete_on_drop (line 897) | fn delete_on_drop(&self) { method evict_and_wait (line 910) | pub(crate) async fn evict_and_wait(&self, timeout: Duration) -> Result... method get_or_maybe_download (line 974) | async fn get_or_maybe_download( method check_expected_download (line 1108) | fn check_expected_download(&self, ctx: &RequestContext) -> Result<(), ... method download_init_and_wait (line 1134) | async fn download_init_and_wait( method download_and_init (line 1198) | async fn download_and_init( method initialize_after_layer_is_on_disk (line 1298) | fn initialize_after_layer_is_on_disk( method needs_download (line 1326) | async fn needs_download(&self) -> Result, std::i... method needs_download_blocking (line 1334) | fn needs_download_blocking(&self) -> Result, std... method is_file_present_and_good_size (line 1342) | fn is_file_present_and_good_size(&self, m: &std::fs::Metadata) -> Resu... method info (line 1356) | fn info(&self, reset: LayerAccessStatsReset) -> HistoricLayerInfo { method on_downloaded_layer_drop (line 1396) | fn on_downloaded_layer_drop(self: Arc, only_version: usize) { method wait_for_turn_and_evict (line 1423) | async fn wait_for_turn_and_evict( method evict_blocking (line 1560) | fn evict_blocking( method metadata (line 1625) | fn metadata(&self) -> LayerFileMetadata { method spawn (line 1632) | fn spawn(fut: F) method spawn_blocking (line 1643) | fn spawn_blocking(f: F) method layer_desc (line 731) | fn layer_desc(&self) -> &PersistentLayerDesc { type Status (line 737) | enum Status { method drop (line 744) | fn drop(&mut self) { function capture_mtime_and_remove (line 1654) | fn capture_mtime_and_remove(path: &Utf8Path) -> Result bool { type NeedsDownload (line 1706) | pub(crate) enum NeedsDownload { method fmt (line 1713) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type DownloadedLayer (line 1725) | pub(crate) struct DownloadedLayer { method fmt (line 1734) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method get (line 1762) | async fn get<'a>( method get_values_reconstruct_data (line 1836) | async fn get_values_reconstruct_data( method dump (line 1862) | async fn dump(&self, owner: &Arc, ctx: &RequestContext) ->... method drop (line 1744) | fn drop(&mut self) { type LayerKind (line 1875) | enum LayerKind { type ResidentLayer (line 1882) | pub struct ResidentLayer { method fmt (line 1888) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 1894) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method drop_eviction_guard (line 1903) | pub(crate) fn drop_eviction_guard(self) -> Layer { method load_keys (line 1909) | pub(crate) async fn load_keys<'a>( method filter (line 1933) | pub(crate) async fn filter( method copy_delta_prefix (line 1960) | pub(crate) async fn copy_delta_prefix( method local_path (line 1979) | pub(crate) fn local_path(&self) -> &Utf8Path { method metadata (line 1983) | pub(crate) fn metadata(&self) -> LayerFileMetadata { method get_as_delta (line 1988) | pub(crate) async fn get_as_delta( method get_as_image (line 2000) | pub(crate) async fn get_as_image( method as_ref (line 2019) | fn as_ref(&self) -> &Layer { method layer_desc (line 2013) | fn layer_desc(&self) -> &PersistentLayerDesc { type LayerImplMetrics (line 2033) | pub(crate) struct LayerImplMetrics { method inc_started_evictions (line 2166) | fn inc_started_evictions(&self) { method inc_completed_evictions (line 2169) | fn inc_completed_evictions(&self) { method inc_eviction_cancelled (line 2172) | fn inc_eviction_cancelled(&self, reason: EvictionCancelled) { method inc_started_deletes (line 2176) | fn inc_started_deletes(&self) { method inc_completed_deletes (line 2179) | fn inc_completed_deletes(&self) { method inc_deletes_failed (line 2182) | fn inc_deletes_failed(&self, reason: DeleteFailed) { method inc_delete_removes_failed (line 2188) | fn inc_delete_removes_failed(&self) { method inc_init_completed_without_requester (line 2194) | fn inc_init_completed_without_requester(&self) { method inc_download_failed_without_requester (line 2199) | fn inc_download_failed_without_requester(&self) { method inc_raced_wanted_evicted_accesses (line 2207) | fn inc_raced_wanted_evicted_accesses(&self) { method inc_init_needed_no_download (line 2213) | fn inc_init_needed_no_download(&self) { method inc_permanent_loading_failures (line 2218) | fn inc_permanent_loading_failures(&self) { method inc_init_cancelled (line 2222) | fn inc_init_cancelled(&self) { method record_redownloaded_after (line 2226) | fn record_redownloaded_after(&self, duration: std::time::Duration) { method inc_evicted_with_waiters (line 2233) | fn inc_evicted_with_waiters(&self) { method record_time_to_evict (line 2239) | fn record_time_to_evict(&self, duration: std::time::Duration) { method default (line 2049) | fn default() -> Self { type EvictionCancelled (line 2245) | enum EvictionCancelled { method as_str (line 2260) | fn as_str(&self) -> &'static str { type DeleteFailed (line 2276) | enum DeleteFailed { method as_str (line 2282) | fn as_str(&self) -> &'static str { type RareEvent (line 2291) | enum RareEvent { method as_str (line 2302) | fn as_str(&self) -> &'static str { FILE: pageserver/src/tenant/storage_layer/layer/failpoints.rs method enable_failpoint (line 9) | pub(super) fn enable_failpoint(&self, failpoint: Failpoint) { method failpoint (line 18) | pub(super) async fn failpoint(&self, kind: FailpointKind) -> Result<(), ... type FailpointKind (line 37) | pub(crate) enum FailpointKind { method fmt (line 99) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type Failpoint (line 46) | pub(crate) enum Failpoint { method kind (line 59) | fn kind(&self) -> FailpointKind { method hit (line 69) | fn hit(&mut self) -> impl std::future::Future) -> std::fmt::Result { method from (line 116) | fn from(value: FailpointHit) -> Self { FILE: pageserver/src/tenant/storage_layer/layer/tests.rs constant ADVANCE (line 17) | const ADVANCE: std::time::Duration = std::time::Duration::from_secs(3600); constant FOREVER (line 21) | const FOREVER: std::time::Duration = std::time::Duration::from_secs(ADVA... function smoke_test (line 25) | async fn smoke_test() { function evict_and_wait_on_wanted_deleted (line 249) | async fn evict_and_wait_on_wanted_deleted() { function read_wins_pending_eviction (line 331) | fn read_wins_pending_eviction() { function multiple_pending_evictions_in_order (line 457) | fn multiple_pending_evictions_in_order() { function multiple_pending_evictions_out_of_order (line 465) | fn multiple_pending_evictions_out_of_order() { function multiple_pending_evictions_scenario (line 471) | fn multiple_pending_evictions_scenario(name: &'static str, in_order: boo... function cancelled_get_or_maybe_download_does_not_cancel_eviction (line 655) | async fn cancelled_get_or_maybe_download_does_not_cancel_eviction() { function evict_and_wait_does_not_wait_for_download (line 744) | async fn evict_and_wait_does_not_wait_for_download() { function eviction_cancellation_on_drop (line 851) | async fn eviction_cancellation_on_drop() { function layer_size (line 948) | fn layer_size() { type SpawnBlockingPoolHelper (line 955) | struct SpawnBlockingPoolHelper { method consume_all_spawn_blocking_threads (line 968) | async fn consume_all_spawn_blocking_threads(handle: &tokio::runtime::H... method consume_all_spawn_blocking_threads0 (line 974) | async fn consume_all_spawn_blocking_threads0( method release (line 1012) | async fn release(self) { method consume_and_release_all_of_spawn_blocking_threads (line 1030) | async fn consume_and_release_all_of_spawn_blocking_threads(handle: &to... method consume_and_release_all_of_spawn_blocking_threads0 (line 1034) | async fn consume_and_release_all_of_spawn_blocking_threads0( function spawn_blocking_pool_helper_actually_works (line 1046) | fn spawn_blocking_pool_helper_actually_works() { function lowres_time (line 1093) | fn lowres_time(hires: SystemTime) -> SystemTime { function access_stats (line 1099) | fn access_stats() { function access_stats_2038 (line 1134) | fn access_stats_2038() { FILE: pageserver/src/tenant/storage_layer/layer_desc.rs type PersistentLayerDesc (line 20) | pub struct PersistentLayerDesc { method key (line 88) | pub fn key(&self) -> PersistentLayerKey { method short_id (line 96) | pub fn short_id(&self) -> impl Display { method new_test (line 101) | pub fn new_test(key_range: Range, lsn_range: Range, is_delta... method new_img (line 112) | pub fn new_img( method new_delta (line 129) | pub fn new_delta( method from_filename (line 146) | pub fn from_filename( method image_layer_lsn (line 167) | pub fn image_layer_lsn(&self) -> Lsn { method image_layer_lsn_range (line 174) | pub fn image_layer_lsn_range(lsn: Lsn) -> Range { method delta_layer_name (line 181) | pub fn delta_layer_name(&self) -> DeltaLayerName { method image_layer_name (line 192) | pub fn image_layer_name(&self) -> ImageLayerName { method layer_name (line 201) | pub fn layer_name(&self) -> LayerName { method get_lsn_range (line 211) | pub fn get_lsn_range(&self) -> Range { method get_key_range (line 215) | pub fn get_key_range(&self) -> Range { method get_timeline_id (line 219) | pub fn get_timeline_id(&self) -> TimelineId { method is_incremental (line 227) | pub fn is_incremental(&self) -> bool { method is_delta (line 231) | pub fn is_delta(&self) -> bool { method dump (line 235) | pub fn dump(&self) { method file_size (line 262) | pub fn file_size(&self) -> u64 { type PersistentLayerKey (line 39) | pub struct PersistentLayerKey { method fmt (line 46) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method from (line 60) | fn from(image_layer_name: ImageLayerName) -> Self { method from (line 70) | fn from(delta_layer_name: DeltaLayerName) -> Self { method from (line 80) | fn from(layer_name: LayerName) -> Self { FILE: pageserver/src/tenant/storage_layer/layer_name.rs type DeltaLayerName (line 16) | pub struct DeltaLayerName { method fmt (line 22) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method parse_str (line 66) | pub fn parse_str(fname: &str) -> Option { method fmt (line 111) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method partial_cmp (line 33) | fn partial_cmp(&self, other: &Self) -> Option { method cmp (line 39) | fn cmp(&self, other: &Self) -> Ordering { type ImageLayerName (line 124) | pub struct ImageLayerName { method fmt (line 130) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method lsn_as_range (line 163) | pub fn lsn_as_range(&self) -> Range { method parse_str (line 178) | pub fn parse_str(fname: &str) -> Option { method fmt (line 210) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method partial_cmp (line 141) | fn partial_cmp(&self, other: &Self) -> Option { method cmp (line 147) | fn cmp(&self, other: &Self) -> Ordering { type LayerName (line 229) | pub enum LayerName { method is_in_future (line 237) | pub(crate) fn is_in_future(&self, disk_consistent_lsn: Lsn) -> bool { method kind (line 246) | pub(crate) fn kind(&self) -> &'static str { method key_range (line 255) | pub fn key_range(&self) -> &Range { method lsn_as_range (line 263) | pub fn lsn_as_range(&self) -> Range { method is_delta (line 270) | pub fn is_delta(&self) -> bool { method fmt (line 276) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method from (line 285) | fn from(fname: ImageLayerName) -> Self { method from (line 290) | fn from(fname: DeltaLayerName) -> Self { method serialize (line 319) | fn serialize(&self, serializer: S) -> Result method deserialize (line 331) | fn deserialize(deserializer: D) -> Result type Err (line 296) | type Err = String; method from_str (line 301) | fn from_str(value: &str) -> Result { type LayerNameVisitor (line 339) | struct LayerNameVisitor; type Value (line 342) | type Value = LayerName; method expecting (line 344) | fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { method visit_str (line 350) | fn visit_str(self, v: &str) -> Result function image_layer_parse (line 362) | fn image_layer_parse() { function delta_layer_parse (line 380) | fn delta_layer_parse() { FILE: pageserver/src/tenant/storage_layer/merge_iterator.rs type LayerRef (line 16) | pub(crate) enum LayerRef<'a> { function iter_with_options (line 22) | fn iter_with_options( function layer_dbg_info (line 38) | fn layer_dbg_info(&self) -> String { type LayerIterRef (line 46) | enum LayerIterRef<'a> { function next (line 52) | async fn next(&mut self) -> anyhow::Result> { function layer_dbg_info (line 59) | fn layer_dbg_info(&self) -> String { type IteratorWrapper (line 72) | pub(crate) enum IteratorWrapper<'a> { type PeekableLayerIterRef (line 87) | pub(crate) struct PeekableLayerIterRef<'a> { function create (line 93) | async fn create(mut iter: LayerIterRef<'a>) -> anyhow::Result { function peek (line 98) | fn peek(&self) -> &Option<(Key, Lsn, Value)> { function next (line 102) | async fn next(&mut self) -> anyhow::Result> { function eq (line 115) | fn eq(&self, other: &Self) -> bool { function partial_cmp (line 123) | fn partial_cmp(&self, other: &Self) -> Option { function cmp (line 129) | fn cmp(&self, other: &Self) -> std::cmp::Ordering { function create_from_image_layer (line 157) | pub fn create_from_image_layer( function create_from_delta_layer (line 178) | pub fn create_from_delta_layer( function peek_next_key_lsn_value (line 199) | fn peek_next_key_lsn_value(&self) -> Option<(&Key, Lsn, Option<&Value>)> { function load (line 219) | async fn load(&mut self) -> anyhow::Result<()> { function is_loaded (line 250) | fn is_loaded(&self) -> bool { function next (line 259) | async fn next(&mut self) -> anyhow::Result> { function trace_source (line 267) | fn trace_source(&self) -> Arc { type MergeIterator (line 286) | pub struct MergeIterator<'a> { type MergeIteratorItem (line 290) | pub(crate) trait MergeIteratorItem { method new (line 291) | fn new(item: (Key, Lsn, Value), iterator: &IteratorWrapper<'_>) -> Self; method key_lsn_value (line 293) | fn key_lsn_value(&self) -> &(Key, Lsn, Value); method new (line 297) | fn new(item: (Key, Lsn, Value), _: &IteratorWrapper<'_>) -> Self { method key_lsn_value (line 301) | fn key_lsn_value(&self) -> &(Key, Lsn, Value) { method new (line 307) | fn new(item: (Key, Lsn, Value), iter: &IteratorWrapper<'_>) -> Self { method key_lsn_value (line 311) | fn key_lsn_value(&self) -> &(Key, Lsn, Value) { function create_for_testing (line 318) | pub(crate) fn create_for_testing( function create_with_options (line 339) | pub fn create_with_options( function next_inner (line 368) | pub(crate) async fn next_inner(&mut self) -> anyho... function next (line 389) | pub async fn next(&mut self) -> anyhow::Result> { function next_with_trace (line 394) | pub async fn next_with_trace( function assert_merge_iter_equal (line 416) | async fn assert_merge_iter_equal( function merge_in_between (line 437) | async fn merge_in_between() { function delta_merge (line 501) | async fn delta_merge() { function delta_image_mixed_merge (line 577) | async fn delta_image_mixed_merge() { function is_send (line 704) | fn is_send(_: impl Send) {} FILE: pageserver/src/tenant/tasks.rs type BackgroundLoopKind (line 88) | pub(crate) enum BackgroundLoopKind { type BackgroundLoopSemaphorePermit (line 103) | pub struct BackgroundLoopSemaphorePermit<'a> { function acquire_concurrency_permit (line 109) | pub(crate) async fn acquire_concurrency_permit( function start_background_loops (line 135) | pub fn start_background_loops(tenant: &Arc, can_start: Opti... function compaction_loop (line 216) | async fn compaction_loop(tenant: Arc, cancel: CancellationT... function log_compaction_error (line 304) | pub(crate) fn log_compaction_error( function gc_loop (line 343) | async fn gc_loop(tenant: Arc, cancel: CancellationToken) { function tenant_housekeeping_loop (line 427) | async fn tenant_housekeeping_loop(tenant: Arc, cancel: Canc... function wait_for_active_tenant (line 477) | async fn wait_for_active_tenant( type Cancelled (line 500) | pub(crate) struct Cancelled; function sleep_random (line 506) | pub(crate) async fn sleep_random( function sleep_random_range (line 514) | pub(crate) async fn sleep_random_range( function sleep_jitter (line 529) | pub(crate) async fn sleep_jitter( type Iteration (line 539) | struct Iteration { method run (line 552) | pub(crate) async fn run, O>(self, fut: F) -> Ite... type IterationResult (line 545) | struct IterationResult { function warn_when_period_overrun (line 571) | pub(crate) fn warn_when_period_overrun( FILE: pageserver/src/tenant/throttle.rs type Throttle (line 15) | pub struct Throttle { method new (line 53) | pub fn new(config: Config) -> Self { method new_inner (line 62) | fn new_inner(config: Config) -> Inner { method reconfigure (line 87) | pub fn reconfigure(&self, config: Config) { method reset_stats (line 94) | pub fn reset_stats(&self) -> Stats { method steady_rps (line 108) | pub fn steady_rps(&self) -> f64 { method throttle (line 113) | pub async fn throttle(&self, key_count: usize, start: Instant) -> Thro... type Inner (line 27) | pub struct Inner { type Config (line 32) | pub type Config = pageserver_api::models::ThrottleConfig; type Stats (line 35) | pub struct Stats { type ThrottleResult (line 47) | pub enum ThrottleResult { FILE: pageserver/src/tenant/timeline.rs type FlushLoopState (line 140) | pub(crate) enum FlushLoopState { type ImageLayerCreationMode (line 152) | pub enum ImageLayerCreationMode { method fmt (line 178) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type LastImageLayerCreationStatus (line 165) | pub enum LastImageLayerCreationStatus { function drop_layer_manager_rlock (line 185) | fn drop_layer_manager_rlock(rlock: LayerManagerReadGuard<'_>) { function drop_layer_manager_wlock (line 191) | fn drop_layer_manager_wlock(rlock: LayerManagerWriteGuard<'_>) { type TimelineResources (line 196) | pub struct TimelineResources { type Timeline (line 206) | pub struct Timeline { method fmt (line 968) | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { method get_ancestor_lsn (line 1166) | pub(crate) fn get_ancestor_lsn(&self) -> Lsn { method get_ancestor_timeline_id (line 1171) | pub(crate) fn get_ancestor_timeline_id(&self) -> Option { method ancestor_timeline (line 1178) | pub(crate) fn ancestor_timeline(&self) -> Option<&Arc> { method get_pitr_history_stats (line 1184) | pub(crate) fn get_pitr_history_stats(&self) -> (u64, bool) { method get_applied_gc_cutoff_lsn (line 1198) | pub(crate) fn get_applied_gc_cutoff_lsn(&self) -> RcuReadGuard { method get_gc_cutoff_lsn (line 1205) | pub(crate) fn get_gc_cutoff_lsn(&self) -> Option { method get (line 1227) | pub(crate) async fn get( method debug_get (line 1280) | pub(crate) async fn debug_get( constant LAYERS_VISITED_WARN_THRESHOLD (line 1330) | pub(crate) const LAYERS_VISITED_WARN_THRESHOLD: u32 = 100; method get_vectored (line 1339) | pub(crate) async fn get_vectored( method scan (line 1392) | pub(crate) async fn scan( method get_vectored_impl (line 1438) | pub(super) async fn get_vectored_impl( method debug_get_vectored_impl (line 1629) | pub(super) async fn debug_get_vectored_impl( method get_last_record_lsn (line 1720) | pub(crate) fn get_last_record_lsn(&self) -> Lsn { method get_prev_record_lsn (line 1724) | pub(crate) fn get_prev_record_lsn(&self) -> Lsn { method get_last_record_rlsn (line 1729) | pub(crate) fn get_last_record_rlsn(&self) -> RecordLsn { method subscribe_for_wait_lsn_updates (line 1735) | pub(crate) fn subscribe_for_wait_lsn_updates(&self) -> watch::Receiver... method get_disk_consistent_lsn (line 1739) | pub(crate) fn get_disk_consistent_lsn(&self) -> Lsn { method get_remote_consistent_lsn_projected (line 1746) | pub(crate) fn get_remote_consistent_lsn_projected(&self) -> Option { method get_remote_consistent_lsn_visible (line 1753) | pub(crate) fn get_remote_consistent_lsn_visible(&self) -> Option { method layer_size_sum (line 1760) | pub(crate) async fn layer_size_sum(&self) -> u64 { method resident_physical_size (line 1768) | pub(crate) fn resident_physical_size(&self) -> u64 { method get_directory_metrics (line 1772) | pub(crate) fn get_directory_metrics(&self) -> [u64; DirectoryKind::KIN... method wait_lsn (line 1782) | pub(crate) async fn wait_lsn( method walreceiver_status (line 1909) | pub(crate) fn walreceiver_status(&self) -> String { method check_lsn_is_in_scope (line 1920) | pub(crate) fn check_lsn_is_in_scope( method init_lsn_lease (line 1935) | pub(crate) fn init_lsn_lease( method renew_lsn_lease (line 1945) | pub(crate) fn renew_lsn_lease( method make_lsn_lease (line 1961) | fn make_lsn_lease( method freeze (line 2035) | pub(crate) async fn freeze(&self) -> Result { method freeze_and_flush (line 2041) | pub(crate) async fn freeze_and_flush(&self) -> Result<(), FlushLayerEr... method freeze0 (line 2047) | pub(crate) async fn freeze0(&self) -> Result { method freeze_and_flush0 (line 2055) | pub(crate) async fn freeze_and_flush0(&self) -> Result<(), FlushLayerE... method maybe_freeze_ephemeral_layer (line 2064) | pub(super) async fn maybe_freeze_ephemeral_layer(&self) { method can_offload (line 2185) | pub(crate) fn can_offload(&self) -> (bool, &'static str) { method compact (line 2199) | pub(crate) async fn compact( method compact_with_options (line 2229) | pub(crate) async fn compact_with_options( method writer (line 2299) | pub(crate) async fn writer(&self) -> TimelineWriter<'_> { method activate (line 2306) | pub(crate) fn activate( method shutdown (line 2352) | pub(crate) async fn shutdown(&self, mode: ShutdownMode) { method set_state (line 2507) | pub(crate) fn set_state(&self, new_state: TimelineState) { method set_broken (line 2527) | pub(crate) fn set_broken(&self, reason: String) { method current_state (line 2541) | pub(crate) fn current_state(&self) -> TimelineState { method is_broken (line 2545) | pub(crate) fn is_broken(&self) -> bool { method is_active (line 2549) | pub(crate) fn is_active(&self) -> bool { method is_archived (line 2553) | pub(crate) fn is_archived(&self) -> Option { method is_invisible (line 2557) | pub(crate) fn is_invisible(&self) -> Option { method is_stopping (line 2561) | pub(crate) fn is_stopping(&self) -> bool { method subscribe_for_state_updates (line 2565) | pub(crate) fn subscribe_for_state_updates(&self) -> watch::Receiver bool { method get_cached_basebackup (line 2730) | pub(crate) async fn get_cached_basebackup(&self, lsn: Lsn) -> Option Duration { method get_lsn_lease_length_for_ts (line 2799) | pub(crate) fn get_lsn_lease_length_for_ts(&self) -> Duration { method is_gc_blocked_by_lsn_lease_deadline (line 2807) | pub(crate) fn is_gc_blocked_by_lsn_lease_deadline(&self) -> bool { method get_lazy_slru_download (line 2812) | pub(crate) fn get_lazy_slru_download(&self) -> bool { method is_get_page_request_sampled (line 2824) | pub(crate) fn is_get_page_request_sampled(&self) -> bool { method get_checkpoint_distance (line 2845) | fn get_checkpoint_distance(&self) -> u64 { method get_checkpoint_timeout (line 2853) | fn get_checkpoint_timeout(&self) -> Duration { method get_pitr_interval (line 2861) | pub(crate) fn get_pitr_interval(&self) -> Duration { method get_compaction_period (line 2868) | fn get_compaction_period(&self) -> Duration { method get_compaction_target_size (line 2875) | fn get_compaction_target_size(&self) -> u64 { method get_compaction_threshold (line 2883) | fn get_compaction_threshold(&self) -> usize { method get_rel_size_v2_enabled (line 2894) | pub(crate) fn get_rel_size_v2_enabled(&self) -> bool { method get_rel_size_v2_status (line 2902) | pub(crate) fn get_rel_size_v2_status(&self) -> (RelSizeMigration, Opti... method get_compaction_upper_limit (line 2907) | fn get_compaction_upper_limit(&self) -> usize { method get_compaction_l0_first (line 2915) | pub fn get_compaction_l0_first(&self) -> bool { method get_compaction_l0_semaphore (line 2922) | pub fn get_compaction_l0_semaphore(&self) -> bool { method get_l0_flush_delay_threshold (line 2929) | fn get_l0_flush_delay_threshold(&self) -> Option { method get_l0_flush_stall_threshold (line 2959) | fn get_l0_flush_stall_threshold(&self) -> Option { method get_image_creation_threshold (line 3010) | fn get_image_creation_threshold(&self) -> usize { method get_image_layer_force_creation_period (line 3019) | fn get_image_layer_force_creation_period(&self) -> Option { method get_compaction_algorithm_settings (line 3030) | fn get_compaction_algorithm_settings(&self) -> CompactionAlgorithmSett... method get_compaction_shard_ancestor (line 3040) | pub fn get_compaction_shard_ancestor(&self) -> bool { method get_eviction_policy (line 3048) | fn get_eviction_policy(&self) -> EvictionPolicy { method get_evictions_low_residence_duration_metric_threshold (line 3056) | fn get_evictions_low_residence_duration_metric_threshold( method get_image_layer_creation_check_threshold (line 3065) | fn get_image_layer_creation_check_threshold(&self) -> u8 { method get_gc_compaction_settings (line 3077) | fn get_gc_compaction_settings(&self) -> GcCompactionCombinedSettings { method get_image_creation_preempt_threshold (line 3107) | fn get_image_creation_preempt_threshold(&self) -> usize { method tenant_conf_updated (line 3119) | pub(super) fn tenant_conf_updated(&self, new_conf: &AttachedTenantConf) { method new (line 3161) | pub(super) fn new( method maybe_spawn_flush_loop (line 3370) | pub(super) fn maybe_spawn_flush_loop(self: &Arc) { method update_gc_compaction_state (line 3423) | pub(crate) fn update_gc_compaction_state( method update_rel_size_v2_status (line 3433) | pub(crate) fn update_rel_size_v2_status( method get_gc_compaction_state (line 3449) | pub(crate) fn get_gc_compaction_state(&self) -> Option, ctx: ... method initial_logical_size_calculation_task (line 3838) | async fn initial_logical_size_calculation_task( method spawn_ondemand_logical_size_calculation (line 3970) | pub(crate) fn spawn_ondemand_logical_size_calculation( method logical_size_calculation_task (line 4005) | async fn logical_size_calculation_task( method calculate_logical_size (line 4028) | async fn calculate_logical_size( method update_current_logical_size (line 4068) | fn update_current_logical_size(&self, delta: i64) { method update_directory_entries_count (line 4089) | pub(crate) fn update_directory_entries_count(&self, kind: DirectoryKin... method find_layer (line 4146) | async fn find_layer( method should_keep_previous_heatmap (line 4162) | pub(super) fn should_keep_previous_heatmap(&self, new_heatmap_end_lsn:... method generate_heatmap (line 4181) | pub(crate) async fn generate_heatmap(&self) -> Option { method generate_unarchival_heatmap (line 4286) | pub(super) async fn generate_unarchival_heatmap(&self, end_lsn: Lsn) -... method is_ancestor_lsn (line 4322) | pub(crate) fn is_ancestor_lsn(&self, lsn: Lsn) -> bool { method get_vectored_reconstruct_data (line 4491) | async fn get_vectored_reconstruct_data( method get_vectored_init_fringe (line 4627) | async fn get_vectored_init_fringe( method get_vectored_reconstruct_data_timeline (line 4670) | async fn get_vectored_reconstruct_data_timeline( method get_ready_ancestor_timeline (line 4758) | async fn get_ready_ancestor_timeline( method get_shard_identity (line 4820) | pub(crate) fn get_shard_identity(&self) -> &ShardIdentity { method shard_timeline_id (line 4825) | pub(crate) fn shard_timeline_id(&self) -> ShardTimelineId { method get_layer_for_write (line 4839) | async fn get_layer_for_write( method finish_write (line 4873) | pub(crate) fn finish_write(&self, new_lsn: Lsn) { method freeze_inmem_layer_at (line 4884) | async fn freeze_inmem_layer_at( method flush_loop (line 4928) | async fn flush_loop( method wait_flush_completion (line 5122) | async fn wait_flush_completion(&self, request: u64) -> Result<(), Flus... method flush_frozen_layer (line 5158) | async fn flush_frozen_layer( method set_disk_consistent_lsn (line 5320) | fn set_disk_consistent_lsn(&self, new_value: Lsn) -> bool { method schedule_uploads (line 5334) | fn schedule_uploads( method preserve_initdb_archive (line 5375) | pub(crate) async fn preserve_initdb_archive(&self) -> anyhow::Result<(... method create_delta_layer (line 5387) | async fn create_delta_layer( method repartition (line 5451) | async fn repartition( method time_for_new_image_layer (line 5507) | async fn time_for_new_image_layer( method create_image_layer_for_rel_blocks (line 5583) | async fn create_image_layer_for_rel_blocks( method create_image_layer_for_metadata_keys (line 5705) | async fn create_image_layer_for_metadata_keys( method should_check_if_image_layers_required (line 5798) | fn should_check_if_image_layers_required(self: &Arc, lsn: Ls... method create_image_layers (line 5856) | async fn create_image_layers( method await_initial_logical_size (line 6169) | pub(crate) async fn await_initial_logical_size(self: Arc) { method prepare_to_detach_from_ancestor (line 6228) | pub(crate) async fn prepare_to_detach_from_ancestor( method detach_from_ancestor_and_reparent (line 6247) | pub(crate) async fn detach_from_ancestor_and_reparent( method complete_detaching_timeline_ancestor (line 6271) | pub(crate) async fn complete_detaching_timeline_ancestor( method finish_compact_batch (line 6519) | async fn finish_compact_batch( method rewrite_layers (line 6580) | async fn rewrite_layers( method upload_new_image_layers (line 6605) | fn upload_new_image_layers( method find_gc_time_cutoff (line 6620) | async fn find_gc_time_cutoff( method find_gc_cutoffs (line 6715) | pub(super) async fn find_gc_cutoffs( method gc (line 6785) | pub(super) async fn gc(&self) -> Result { method gc_timeline (line 6872) | async fn gc_timeline( method reconstruct_value (line 7090) | pub(crate) async fn reconstruct_value( method spawn_download_all_remote_layers (line 7183) | pub(crate) async fn spawn_download_all_remote_layers( method download_all_remote_layers (line 7250) | async fn download_all_remote_layers( method get_download_all_remote_layers_task_info (line 7354) | pub(crate) fn get_download_all_remote_layers_task_info( method compute_image_consistent_lsn (line 7364) | pub(crate) async fn compute_image_consistent_lsn(&self) -> anyhow::Res... method get_local_layers_for_disk_usage_eviction (line 7379) | pub(crate) async fn get_local_layers_for_disk_usage_eviction(&self) ->... method get_shard_index (line 7406) | pub(crate) fn get_shard_index(&self) -> ShardIndex { method block_gc (line 7416) | pub(crate) async fn block_gc(&self, tenant: &super::TenantShard) -> an... method unblock_gc (line 7423) | pub(crate) async fn unblock_gc(&self, tenant: &super::TenantShard) -> ... method force_advance_lsn (line 7430) | pub(super) fn force_advance_lsn(self: &Arc, new_lsn: Lsn) { method force_set_disk_consistent_lsn (line 7435) | pub(super) fn force_set_disk_consistent_lsn(&self, new_value: Lsn) { method force_create_image_layer (line 7445) | pub(super) async fn force_create_image_layer( method force_create_delta_layer (line 7502) | pub(super) async fn force_create_delta_layer( method force_create_in_memory_layer (line 7561) | pub(super) async fn force_create_in_memory_layer( method inspect_image_layers (line 7647) | pub(crate) async fn inspect_image_layers( method inspect_historic_layers (line 7679) | pub(crate) async fn inspect_historic_layers( method add_extra_test_dense_keyspace (line 7691) | pub(crate) fn add_extra_test_dense_keyspace(&self, ks: KeySpace) { type PreviousHeatmap (line 463) | pub(crate) enum PreviousHeatmap { type TimelineDeleteProgress (line 473) | pub type TimelineDeleteProgress = Arc Lsn { method insert_child (line 507) | pub(super) fn insert_child( method remove_child_maybe_offloaded (line 517) | pub(super) fn remove_child_maybe_offloaded( method remove_child_not_offloaded (line 536) | pub(super) fn remove_child_not_offloaded(&mut self, child_id: Timeline... method remove_child_offloaded (line 540) | pub(super) fn remove_child_offloaded(&mut self, child_id: TimelineId) ... method lsn_covered_by_lease (line 543) | pub(crate) fn lsn_covered_by_lease(&self, lsn: Lsn) -> bool { type GcCutoffs (line 552) | pub(crate) struct GcCutoffs { method select_min (line 566) | fn select_min(&self) -> Lsn { type TimelineVisitOutcome (line 572) | pub(crate) struct TimelineVisitOutcome { type PageReconstructError (line 579) | pub(crate) enum PageReconstructError { method is_cancel (line 598) | pub(crate) fn is_cancel(&self) -> bool { method into_anyhow (line 608) | pub(crate) fn into_anyhow(self) -> anyhow::Error { method from (line 620) | fn from(value: anyhow::Error) -> Self { method from (line 630) | fn from(value: utils::bin_ser::DeserializeError) -> Self { method from (line 636) | fn from(_: layer_manager::Shutdown) -> Self { method from (line 1075) | fn from(e: GetVectoredError) -> Self { method from (line 1088) | fn from(e: GetReadyAncestorError) -> Self { type ReadPathLayerId (line 656) | pub enum ReadPathLayerId { method fmt (line 662) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type ReadPath (line 671) | pub struct ReadPath { method new (line 678) | pub fn new(keyspace: KeySpace, lsn: Lsn) -> Self { method record_layer_visit (line 686) | pub fn record_layer_visit( method fmt (line 706) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type MissingKeyError (line 720) | pub struct MissingKeyError { method enrich (line 733) | fn enrich(&mut self, query: VersionedKeySpaceQuery) { method fmt (line 739) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 745) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type CreateImageLayersError (line 773) | pub(crate) enum CreateImageLayersError { method from (line 788) | fn from(_: layer_manager::Shutdown) -> Self { method from (line 1047) | fn from(e: PageReconstructError) -> Self { method from (line 1056) | fn from(e: super::storage_layer::errors::PutError) -> Self { method from (line 1066) | fn from(e: GetVectoredError) -> Self { type FlushLayerError (line 794) | pub(crate) enum FlushLayerError { method from_anyhow (line 815) | fn from_anyhow(timeline: &Timeline, err: anyhow::Error) -> Self { method from (line 831) | fn from(_: layer_manager::Shutdown) -> Self { method from (line 1038) | fn from(e: CreateImageLayersError) -> Self { type GetVectoredError (line 837) | pub enum GetVectoredError { method is_missing_key_error (line 643) | pub(crate) fn is_missing_key_error(&self) -> bool { method from (line 649) | fn from(_: layer_manager::Shutdown) -> Self { method from (line 858) | fn from(value: GetReadyAncestorError) -> Self { type GetReadyAncestorError (line 870) | pub enum GetReadyAncestorError { type LogicalSizeCalculationCause (line 885) | pub enum LogicalSizeCalculationCause { type GetLogicalSizePriority (line 892) | pub enum GetLogicalSizePriority { type CompactFlags (line 898) | pub(crate) enum CompactFlags { type CompactRequest (line 917) | pub(crate) struct CompactRequest { type MarkInvisibleRequest (line 931) | pub(crate) struct MarkInvisibleRequest { type CompactOptions (line 937) | pub(crate) struct CompactOptions { method default_for_gc_compaction_unit_tests (line 959) | pub fn default_for_gc_compaction_unit_tests() -> Self { type WaitLsnError (line 974) | pub enum WaitLsnError { method is_cancel (line 989) | pub(crate) fn is_cancel(&self) -> bool { method into_anyhow (line 1001) | pub(crate) fn into_anyhow(self) -> anyhow::Error { function from (line 1011) | fn from(err: WaitLsnError) -> Self { type WaitLsnTimeout (line 1098) | pub(crate) enum WaitLsnTimeout { type WaitLsnWaiter (line 1104) | pub(crate) enum WaitLsnWaiter<'a> { type ShutdownMode (line 1114) | pub(crate) enum ShutdownMode { type ImageLayerCreationOutcome (line 1131) | enum ImageLayerCreationOutcome { type RepartitionError (line 1143) | enum RepartitionError { method is_cancel (line 1149) | fn is_cancel(&self) -> bool { method into_anyhow (line 1155) | fn into_anyhow(self) -> anyhow::Error { constant REPARTITION_FREQ_IN_CHECKPOINT_DISTANCE (line 2787) | const REPARTITION_FREQ_IN_CHECKPOINT_DISTANCE: u64 = 10; type VersionedKeySpaceQuery (line 4337) | pub(crate) enum VersionedKeySpaceQuery { method uniform (line 4347) | pub(crate) fn uniform(keyspace: KeySpace, lsn: Lsn) -> Self { method scattered (line 4351) | pub(crate) fn scattered(keyspaces_at_lsn: Vec<(Lsn, KeySpace)>) -> Self { method high_watermark_lsn (line 4358) | fn high_watermark_lsn(&self) -> Result { method total_keyspace (line 4387) | fn total_keyspace(&self) -> KeySpace { method map_key_to_lsn (line 4403) | pub(super) fn map_key_to_lsn(&self, key: &Key) -> Lsn { method remove_overlapping_with (line 4418) | fn remove_overlapping_with(&mut self, to_remove: &KeySpace) -> KeySpace { method is_empty (line 4433) | fn is_empty(&self) -> bool { method lower (line 4443) | fn lower(&mut self, to: Lsn) { method fmt (line 4461) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method drop (line 6282) | fn drop(&mut self) { type CompactionError (line 6314) | pub(crate) enum CompactionError { method from (line 1026) | fn from(e: CreateImageLayersError) -> Self { method new_cancelled (line 6327) | pub fn new_cancelled() -> Self { method is_cancel (line 6331) | pub fn is_cancel(&self) -> bool { method into_anyhow (line 6370) | pub fn into_anyhow(self) -> anyhow::Error { method from_collect_keyspace (line 6376) | pub fn from_collect_keyspace(err: CollectKeySpaceError) -> Self { method from (line 6387) | fn from(value: super::upload_queue::NotInitialized) -> Self { method from (line 6399) | fn from(e: super::storage_layer::layer::DownloadError) -> Self { method from (line 6421) | fn from(_: layer_manager::Shutdown) -> Self { method from (line 6427) | fn from(e: super::storage_layer::errors::PutError) -> Self { type ForbidMatching (line 6324) | struct ForbidMatching; type RecordedDuration (line 6438) | struct RecordedDuration(#[serde_as(as = "serde_with::DurationMicroSecond... type DurationRecorder (line 6441) | enum DurationRecorder { method till_now (line 6448) | fn till_now(&self) -> DurationRecorder { method into_recorded (line 6459) | fn into_recorded(self) -> Option { type DeltaLayerTestDesc (line 6473) | pub struct DeltaLayerTestDesc { method new (line 6489) | pub fn new(lsn_range: Range, key_range: Range, data: Vec<(Ke... method new_with_inferred_key_range (line 6497) | pub fn new_with_inferred_key_range( method layer_name (line 6510) | pub(crate) fn layer_name(&self) -> LayerName { type InMemoryLayerTestDesc (line 6481) | pub struct InMemoryLayerTestDesc { type TimelineWriterState (line 7701) | pub(crate) struct TimelineWriterState { method new (line 7713) | fn new(open_layer: Arc, current_size: u64, last_freeze_... type TimelineWriter (line 7728) | pub(crate) struct TimelineWriter<'a> { type Target (line 7734) | type Target = Timeline; method deref (line 7736) | fn deref(&self) -> &Self::Target { type OpenLayerAction (line 7742) | enum OpenLayerAction { function handle_open_layer_action (line 7749) | async fn handle_open_layer_action( function open_layer (line 7770) | async fn open_layer(&mut self, at: Lsn, ctx: &RequestContext) -> anyhow:... function roll_layer (line 7787) | async fn roll_layer(&mut self, freeze_at: Lsn) -> Result<(), FlushLayerE... function get_open_layer_action (line 7830) | fn get_open_layer_action(&self, lsn: Lsn, new_value_size: u64) -> OpenLa... function put_batch (line 7880) | pub(crate) async fn put_batch( function put (line 7934) | pub(crate) async fn put( function delete_batch (line 7959) | pub(crate) async fn delete_batch( function finish_write (line 7981) | pub(crate) fn finish_write(&self, new_lsn: Lsn) { function update_current_logical_size (line 7985) | pub(crate) fn update_current_logical_size(&self, delta: i64) { function is_send (line 7993) | fn is_send() { function assert_heatmaps_have_same_layers (line 8019) | fn assert_heatmaps_have_same_layers(lhs: &HeatMapTimeline, rhs: &HeatMap... function test_heatmap_generation (line 8029) | async fn test_heatmap_generation() { function test_previous_heatmap_obsoletion (line 8182) | async fn test_previous_heatmap_obsoletion() { function two_layer_eviction_attempts_at_the_same_time (line 8267) | async fn two_layer_eviction_attempts_at_the_same_time() { function find_some_layer (line 8312) | async fn find_some_layer(timeline: &Timeline) -> Layer { FILE: pageserver/src/tenant/timeline/analysis.rs type RangeAnalysis (line 10) | pub(crate) struct RangeAnalysis { method perf_info (line 20) | pub(crate) async fn perf_info(&self) -> Vec { FILE: pageserver/src/tenant/timeline/compaction.rs constant COMPACTION_DELTA_THRESHOLD (line 73) | const COMPACTION_DELTA_THRESHOLD: usize = 5; constant ANCESTOR_COMPACTION_REWRITE_THRESHOLD (line 80) | const ANCESTOR_COMPACTION_REWRITE_THRESHOLD: f64 = 0.3; type GcCompactionJobId (line 83) | pub struct GcCompactionJobId(pub usize); method fmt (line 86) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type GcCompactionCombinedSettings (line 91) | pub struct GcCompactionCombinedSettings { type GcCompactionQueueItem (line 99) | pub enum GcCompactionQueueItem { method into_compact_info_resp (line 159) | pub fn into_compact_info_resp( type GcCompactionMetaStatistics (line 116) | pub struct GcCompactionMetaStatistics { method finalize (line 142) | fn finalize(&mut self) { type GcCompactionGuardItems (line 185) | struct GcCompactionGuardItems { type GcCompactionQueueInner (line 190) | struct GcCompactionQueueInner { method next_id (line 199) | fn next_id(&mut self) -> GcCompactionJobId { type GcCompactionQueue (line 207) | pub struct GcCompactionQueue { method new (line 220) | pub fn new() -> Self { method cancel_scheduled (line 233) | pub fn cancel_scheduled(&self) { method schedule_manual_compaction (line 242) | pub fn schedule_manual_compaction( method schedule_auto_compaction (line 262) | fn schedule_auto_compaction( method trigger_auto_compaction (line 281) | pub async fn trigger_auto_compaction( method collect_layer_below_lsn (line 416) | async fn collect_layer_below_lsn( method notify_and_unblock (line 437) | fn notify_and_unblock(&self, id: GcCompactionJobId) { method clear_running_job (line 457) | fn clear_running_job(&self) { method handle_sub_compaction (line 462) | async fn handle_sub_compaction( method iteration (line 565) | pub async fn iteration( method iteration_inner (line 590) | async fn iteration_inner( method remaining_jobs (line 760) | pub fn remaining_jobs( method remaining_jobs_num (line 770) | pub fn remaining_jobs_num(&self) -> usize { type GcCompactJob (line 780) | pub(crate) struct GcCompactJob { method from_compact_options (line 795) | pub fn from_compact_options(options: CompactOptions) -> Self { type GcCompactionJobDescription (line 813) | pub struct GcCompactionJobDescription { type KeyLogAtLsn (line 840) | pub struct KeyLogAtLsn(pub Vec<(Lsn, Value)>); type KeyHistoryRetention (line 845) | pub(crate) struct KeyHistoryRetention { method discard_key (line 865) | async fn discard_key(key: &PersistentLayerKey, tline: &Arc, ... method pipe_to (line 899) | async fn pipe_to( method verify (line 945) | async fn verify( type CompactionStatisticsNumSize (line 1063) | struct CompactionStatisticsNumSize { type CompactionStatistics (line 1069) | pub struct CompactionStatistics { method estimated_size_of_value (line 1109) | fn estimated_size_of_value(val: &Value) -> usize { method estimated_size_of_key (line 1116) | fn estimated_size_of_key() -> usize { method visit_delta_layer (line 1119) | fn visit_delta_layer(&mut self, size: u64) { method visit_image_layer (line 1123) | fn visit_image_layer(&mut self, size: u64) { method on_unique_key_visited (line 1127) | fn on_unique_key_visited(&mut self) { method visit_wal_key (line 1130) | fn visit_wal_key(&mut self, val: &Value) { method visit_image_key (line 1135) | fn visit_image_key(&mut self, val: &Value) { method produce_key (line 1140) | fn produce_key(&mut self, val: &Value) { method produce_wal_key (line 1146) | fn produce_wal_key(&mut self, val: &Value) { method produce_image_key (line 1151) | fn produce_image_key(&mut self, val: &Bytes) { method discard_delta_layer (line 1155) | fn discard_delta_layer(&mut self, original_size: u64) { method discard_image_layer (line 1159) | fn discard_image_layer(&mut self, original_size: u64) { method produce_delta_layer (line 1163) | fn produce_delta_layer(&mut self, size: u64) { method produce_image_layer (line 1167) | fn produce_image_layer(&mut self, size: u64) { method finalize (line 1171) | fn finalize(&mut self) { type CompactionOutcome (line 1187) | pub enum CompactionOutcome { method compact_legacy (line 1206) | pub(crate) async fn compact_legacy( method get_force_image_creation_lsn (line 1484) | pub(crate) fn get_force_image_creation_lsn(self: &Arc) -> Option Result) -> anyhow::Result { method check_compaction_space (line 2956) | async fn check_compaction_space( method check_memory_usage (line 2993) | async fn check_memory_usage( method get_gc_compaction_watermark (line 3032) | pub(crate) fn get_gc_compaction_watermark(self: &Arc) -> Lsn { method gc_compaction_split_jobs (line 3050) | pub(crate) async fn gc_compaction_split_jobs( method compact_with_gc (line 3201) | pub(crate) async fn compact_with_gc( method compact_with_gc_inner (line 3236) | async fn compact_with_gc_inner( type TimelineAdaptor (line 4194) | struct TimelineAdaptor { method new (line 4205) | pub fn new(timeline: &Arc, keyspace: (Lsn, KeySpace)) -> Self { method flush_updates (line 4215) | pub async fn flush_updates(&mut self) -> Result<(), CompactionError> { method create_image_impl (line 4420) | async fn create_image_impl( type ResidentDeltaLayer (line 4241) | struct ResidentDeltaLayer(ResidentLayer); method key_range (line 4542) | fn key_range(&self) -> &Range { method lsn_range (line 4545) | fn lsn_range(&self) -> &Range { method file_size (line 4548) | fn file_size(&self) -> u64 { method short_id (line 4551) | fn short_id(&self) -> std::string::String { method is_delta (line 4554) | fn is_delta(&self) -> bool { type DeltaEntry (line 4560) | type DeltaEntry<'a> = DeltaEntry<'a>; method load_keys (line 4562) | async fn load_keys(&self, ctx: &RequestContext) -> anyhow::Result &Range { method lsn_range (line 4571) | fn lsn_range(&self) -> &Range { method file_size (line 4574) | fn file_size(&self) -> u64 { method short_id (line 4577) | fn short_id(&self) -> std::string::String { method is_delta (line 4580) | fn is_delta(&self) -> bool { type Key (line 4246) | type Key = pageserver_api::key::Key; type Layer (line 4248) | type Layer = OwnArc; type DeltaLayer (line 4249) | type DeltaLayer = ResidentDeltaLayer; type ImageLayer (line 4250) | type ImageLayer = ResidentImageLayer; type RequestContext (line 4252) | type RequestContext = crate::context::RequestContext; method get_shard_identity (line 4254) | fn get_shard_identity(&self) -> &ShardIdentity { method get_layers (line 4258) | async fn get_layers( method get_keyspace (line 4283) | async fn get_keyspace( method downcast_delta_layer (line 4301) | async fn downcast_delta_layer( method create_image (line 4324) | async fn create_image( method create_delta (line 4333) | async fn create_delta( method delete_layer (line 4409) | async fn delete_layer( type OwnArc (line 4490) | pub struct OwnArc(pub Arc); type Target (line 4493) | type Target = as Deref>::Target; method deref (line 4494) | fn deref(&self) -> &Self::Target { function as_ref (line 4500) | fn as_ref(&self) -> &T { function key_range (line 4506) | fn key_range(&self) -> &Range { function lsn_range (line 4509) | fn lsn_range(&self) -> &Range { function file_size (line 4512) | fn file_size(&self) -> u64 { function short_id (line 4515) | fn short_id(&self) -> std::string::String { function is_delta (line 4518) | fn is_delta(&self) -> bool { function key_range (line 4524) | fn key_range(&self) -> &Range { function lsn_range (line 4527) | fn lsn_range(&self) -> &Range { function file_size (line 4530) | fn file_size(&self) -> u64 { function short_id (line 4533) | fn short_id(&self) -> std::string::String { function is_delta (line 4536) | fn is_delta(&self) -> bool { FILE: pageserver/src/tenant/timeline/delete.rs function set_deleted_in_remote_index (line 29) | async fn set_deleted_in_remote_index( function delete_local_timeline_directory (line 62) | pub(super) async fn delete_local_timeline_directory( function remove_maybe_offloaded_timeline_from_tenant (line 115) | async fn remove_maybe_offloaded_timeline_from_tenant( type DeleteTimelineFlow (line 185) | pub enum DeleteTimelineFlow { method run (line 199) | pub async fn run( method mark_in_progress (line 299) | fn mark_in_progress(&mut self) -> anyhow::Result<()> { method resume_deletion (line 313) | pub(crate) async fn resume_deletion( method schedule_background (line 362) | fn schedule_background( method background (line 405) | async fn background( method is_not_started (line 458) | pub(crate) fn is_not_started(&self) -> bool { type TimelineDeleteGuardKind (line 464) | pub(super) enum TimelineDeleteGuardKind { function make_timeline_delete_guard (line 469) | pub(super) fn make_timeline_delete_guard( type DeletionGuard (line 541) | pub(super) struct DeletionGuard(OwnedMutexGuard); type Target (line 544) | type Target = DeleteTimelineFlow; method deref (line 546) | fn deref(&self) -> &Self::Target { method deref_mut (line 552) | fn deref_mut(&mut self) -> &mut Self::Target { FILE: pageserver/src/tenant/timeline/detach_ancestor.rs type Error (line 37) | pub(crate) enum Error { method launder (line 78) | fn launder(e: anyhow::Error, or_else: F) -> Error method from (line 123) | fn from(_: crate::tenant::upload_queue::NotInitialized) -> Self { method from (line 130) | fn from(_: super::layer_manager::Shutdown) -> Self { method from (line 101) | fn from(value: Error) -> Self { type Progress (line 135) | pub(crate) enum Progress { type PreparedTimelineDetach (line 140) | pub(crate) struct PreparedTimelineDetach { type Options (line 146) | pub(crate) struct Options { method default (line 152) | fn default() -> Self { type Attempt (line 162) | pub(crate) struct Attempt { method before_reset_tenant (line 171) | pub(crate) fn before_reset_tenant(&mut self) { method new_barrier (line 176) | pub(crate) fn new_barrier(&self) -> completion::Barrier { function generate_tombstone_image_layer (line 181) | pub(crate) async fn generate_tombstone_image_layer( function prepare (line 284) | pub(super) async fn prepare( function start_new_attempt (line 610) | async fn start_new_attempt( function continue_with_blocked_gc (line 631) | async fn continue_with_blocked_gc( function obtain_exclusive_attempt (line 642) | fn obtain_exclusive_attempt( function reparented_direct_children (line 675) | fn reparented_direct_children( function partition_work (line 726) | fn partition_work( function upload_rewritten_layer (line 760) | async fn upload_rewritten_layer( function copy_lsn_prefix (line 782) | async fn copy_lsn_prefix( function remote_copy (line 851) | async fn remote_copy( type DetachingAndReparenting (line 939) | pub(crate) enum DetachingAndReparenting { method reset_tenant_required (line 956) | pub(crate) fn reset_tenant_required(&self) -> bool { method completed (line 965) | pub(crate) fn completed(self) -> Option> { function detach_and_reparent (line 975) | pub(super) async fn detach_and_reparent( function complete (line 1209) | pub(super) async fn complete( function reparentable_timelines (line 1252) | fn reparentable_timelines<'a, I>( function check_no_archived_children_of_ancestor (line 1284) | fn check_no_archived_children_of_ancestor( function fsync_timeline_dir (line 1330) | async fn fsync_timeline_dir(timeline: &Timeline, ctx: &RequestContext) { FILE: pageserver/src/tenant/timeline/eviction_task.rs type EvictionTaskTimelineState (line 40) | pub struct EvictionTaskTimelineState { type EvictionTaskTenantState (line 45) | pub struct EvictionTaskTenantState { method launch_eviction_task (line 50) | pub(super) fn launch_eviction_task( method eviction_task (line 79) | async fn eviction_task(self: Arc, tenant: Arc) { method eviction_iteration (line 120) | async fn eviction_iteration( method eviction_iteration_threshold (line 177) | async fn eviction_iteration_threshold( method imitiate_only (line 311) | async fn imitiate_only( method acquire_imitation_permit (line 325) | async fn acquire_imitation_permit( method imitate_layer_accesses (line 365) | async fn imitate_layer_accesses( method imitate_timeline_cached_layer_accesses (line 445) | async fn imitate_timeline_cached_layer_accesses( method imitate_synthetic_size_calculation_worker (line 501) | async fn imitate_synthetic_size_calculation_worker( FILE: pageserver/src/tenant/timeline/handle.rs type Types (line 231) | pub(crate) trait Types: Sized { type TenantManager (line 656) | type TenantManager = StubManager; type Timeline (line 657) | type Timeline = Entered; type CacheId (line 240) | struct CacheId(u64); method next (line 243) | fn next() -> Self { type Cache (line 254) | pub(crate) struct Cache { type Map (line 259) | type Map = HashMap>; method default (line 262) | fn default() -> Self { type ShardTimelineId (line 271) | pub(crate) struct ShardTimelineId { type Handle (line 277) | pub(crate) struct Handle { type WeakHandle (line 281) | pub(crate) struct WeakHandle { type HandleInner (line 285) | enum HandleInner { type PerTimelineState (line 293) | pub struct PerTimelineState { method default (line 300) | fn default() -> Self { type TenantManager (line 308) | pub(crate) trait TenantManager { method resolve (line 310) | async fn resolve( type Timeline (line 318) | pub(crate) trait Timeline { method shard_timeline_id (line 319) | fn shard_timeline_id(&self) -> ShardTimelineId; method get_shard_identity (line 320) | fn get_shard_identity(&self) -> &ShardIdentity; method per_timeline_state (line 321) | fn per_timeline_state(&self) -> &PerTimelineState; type RoutingResult (line 325) | enum RoutingResult { function get (line 335) | pub(crate) async fn get( function do_get (line 383) | async fn do_get( function shard_routing (line 413) | fn shard_routing( function get_miss (line 463) | async fn get_miss( type HandleUpgradeError (line 515) | pub(crate) enum HandleUpgradeError { function upgrade (line 520) | pub(crate) fn upgrade(&self) -> Result, HandleUpgradeError> { function is_same_handle_as (line 535) | pub(crate) fn is_same_handle_as(&self, other: &WeakHandle) -> bool { type Target (line 541) | type Target = T::Timeline; function deref (line 542) | fn deref(&self) -> &Self::Target { function downgrade (line 548) | pub(crate) fn downgrade(&self) -> WeakHandle { function shutdown (line 563) | pub(super) fn shutdown(&self) { method drop (line 587) | fn drop(&mut self) { function shutdown (line 624) | fn shutdown(&mut self) -> Option> { constant FOREVER (line 651) | const FOREVER: std::time::Duration = std::time::Duration::from_secs(u64:... type TestTypes (line 654) | struct TestTypes; type StubManager (line 660) | struct StubManager { method resolve (line 702) | async fn resolve( type StubTimeline (line 664) | struct StubTimeline { method getpage (line 679) | fn getpage(&self) { type Entered (line 672) | struct Entered { method shard_timeline_id (line 685) | fn shard_timeline_id(&self) -> ShardTimelineId { method get_shard_identity (line 692) | fn get_shard_identity(&self) -> &ShardIdentity { method per_timeline_state (line 696) | fn per_timeline_state(&self) -> &PerTimelineState { type Target (line 752) | type Target = StubTimeline; method deref (line 753) | fn deref(&self) -> &Self::Target { function test_timeline_shutdown (line 759) | async fn test_timeline_shutdown() { function test_multiple_timelines_and_deletion (line 862) | async fn test_multiple_timelines_and_deletion() { function make_relation_key_for_shard (line 928) | fn make_relation_key_for_shard(shard: ShardNumber, params: ShardParamete... function test_shard_split (line 941) | async fn test_shard_split() { function test_connection_handler_exit (line 1070) | async fn test_connection_handler_exit() { function test_weak_handles (line 1110) | async fn test_weak_handles() { function test_reference_cycle_broken_when_cache_is_dropped (line 1181) | async fn test_reference_cycle_broken_when_cache_is_dropped() { function test_reference_cycle_broken_when_per_timeline_state_shutdown (line 1241) | async fn test_reference_cycle_broken_when_per_timeline_state_shutdown() { FILE: pageserver/src/tenant/timeline/heatmap_layers_downloader.rs type HeatmapLayersDownloadStatus (line 19) | pub(super) enum HeatmapLayersDownloadStatus { type HeatmapLayersDownloader (line 24) | pub(super) struct HeatmapLayersDownloader { method new (line 32) | fn new( method is_complete (line 129) | fn is_complete(&self) -> bool { method stop_and_drain (line 144) | async fn stop_and_drain(self) { method start_heatmap_layers_download (line 158) | pub(crate) fn start_heatmap_layers_download( method stop_and_drain_heatmap_layers_download (line 179) | pub(crate) async fn stop_and_drain_heatmap_layers_download(&self) { FILE: pageserver/src/tenant/timeline/import_pgdata.rs type ImportingTimeline (line 25) | pub struct ImportingTimeline { method fmt (line 33) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method shutdown (line 39) | pub async fn shutdown(&self) { function doit (line 47) | pub async fn doit( function prepare_import (line 153) | async fn prepare_import( function terminate_flow_with_error (line 259) | async fn terminate_flow_with_error( FILE: pageserver/src/tenant/timeline/import_pgdata/flow.rs function run (line 61) | pub async fn run( function run_v1 (line 79) | async fn run_v1( type Planner (line 148) | struct Planner { method plan (line 166) | async fn plan(mut self, import_config: &TimelineImportConfig) -> anyho... method import_db (line 292) | async fn import_db(&mut self, db: &PgDataDirDb) -> anyhow::Result<()> { method import_slru (line 357) | async fn import_slru(&mut self, kind: SlruKind, path: &RemotePath) -> ... type Plan (line 156) | struct Plan { method execute (line 414) | async fn execute( type PgDataDir (line 520) | struct PgDataDir { method new (line 541) | async fn new(storage: &RemoteStorageWrapper) -> anyhow::Result { type PgDataDirDb (line 524) | struct PgDataDirDb { method new (line 589) | async fn new( type PgDataDirDbFile (line 531) | struct PgDataDirDbFile { type ImportTask (line 660) | trait ImportTask { method key_range (line 661) | fn key_range(&self) -> Range; method total_size (line 663) | fn total_size(&self, shard_identity: &ShardIdentity) -> usize { method doit (line 682) | async fn doit( method key_range (line 715) | fn key_range(&self) -> Range { method doit (line 719) | async fn doit( method key_range (line 768) | fn key_range(&self) -> Range { method doit (line 773) | async fn doit( method key_range (line 860) | fn key_range(&self) -> Range { method doit (line 864) | async fn doit( method key_range (line 903) | fn key_range(&self) -> Range { method doit (line 911) | async fn doit( type ImportSingleKeyTask (line 690) | struct ImportSingleKeyTask { method new (line 709) | fn new(key: Key, buf: Bytes) -> Self { method hash (line 696) | fn hash(&self, state: &mut H) { type ImportRelBlocksTask (line 730) | struct ImportRelBlocksTask { method new (line 752) | fn new( method hash (line 738) | fn hash(&self, state: &mut H) { type ImportSlruBlocksTask (line 830) | struct ImportSlruBlocksTask { method new (line 850) | fn new(key_range: Range, path: &RemotePath, storage: RemoteStorag... method hash (line 837) | fn hash(&self, state: &mut H) { type AnyImportTask (line 896) | enum AnyImportTask { method from (line 926) | fn from(t: ImportSingleKeyTask) -> Self { method from (line 932) | fn from(t: ImportRelBlocksTask) -> Self { method from (line 938) | fn from(t: ImportSlruBlocksTask) -> Self { type ChunkProcessingJob (line 944) | struct ChunkProcessingJob { method new (line 952) | fn new(range: Range, tasks: Vec, pgdata_lsn: Lsn) ... method run (line 961) | async fn run( FILE: pageserver/src/tenant/timeline/import_pgdata/importbucket_client.rs function new (line 20) | pub async fn new( type RemoteStorageWrapper (line 72) | pub struct RemoteStorageWrapper { method new (line 78) | pub fn new(storage: GenericRemoteStorage, cancel: CancellationToken) -... method listfilesindir (line 83) | pub async fn listfilesindir( method listdir (line 119) | pub async fn listdir(&self, path: &RemotePath) -> Result Result( method get_range (line 195) | pub async fn get_range( method pgdata (line 236) | pub fn pgdata(&self) -> RemotePath { method get_control_file (line 240) | pub async fn get_control_file(&self) -> Result Result Lsn { method pg_version (line 267) | pub(crate) fn pg_version(&self) -> PgMajorVersion { method control_file_data (line 271) | pub(crate) fn control_file_data(&self) -> &ControlFileData { method control_file_buf (line 274) | pub(crate) fn control_file_buf(&self) -> &Bytes { method try_pg_version (line 278) | fn try_pg_version(&self) -> anyhow::Result { FILE: pageserver/src/tenant/timeline/import_pgdata/importbucket_format.rs type PgdataStatus (line 4) | pub struct PgdataStatus { FILE: pageserver/src/tenant/timeline/import_pgdata/index_part_format.rs type Root (line 6) | pub enum Root { method is_done (line 51) | pub fn is_done(&self) -> bool { method idempotency_key (line 59) | pub fn idempotency_key(&self) -> &IdempotencyKey { method started_at (line 67) | pub fn started_at(&self) -> &chrono::NaiveDateTime { type V1 (line 10) | pub enum V1 { type IdempotencyKey (line 17) | pub struct IdempotencyKey(String); method new (line 20) | pub fn new(s: String) -> Self { type InProgress (line 26) | pub struct InProgress { type Done (line 33) | pub struct Done { type Location (line 40) | pub enum Location { FILE: pageserver/src/tenant/timeline/init.rs type Discovered (line 15) | pub(super) enum Discovered { function scan_timeline_dir (line 31) | pub(super) fn scan_timeline_dir(path: &Utf8Path) -> anyhow::Result Self { type Decision (line 89) | pub(super) enum Decision { type DismissedLayer (line 102) | pub(super) enum DismissedLayer { function reconcile (line 120) | pub(super) fn reconcile( function cleanup (line 180) | pub(super) fn cleanup(path: &Utf8Path, kind: &str) -> anyhow::Result<()> { function cleanup_local_file_for_remote (line 186) | pub(super) fn cleanup_local_file_for_remote(local: &LocalLayerFileMetada... function cleanup_future_layer (line 197) | pub(super) fn cleanup_future_layer( function cleanup_local_only_file (line 210) | pub(super) fn cleanup_local_only_file( FILE: pageserver/src/tenant/timeline/layer_manager.rs constant LAYER_MANAGER_LOCK_WARN_THRESHOLD (line 28) | const LAYER_MANAGER_LOCK_WARN_THRESHOLD: Duration = Duration::from_secs(5); constant LAYER_MANAGER_LOCK_READ_WARN_THRESHOLD (line 29) | const LAYER_MANAGER_LOCK_READ_WARN_THRESHOLD: Duration = Duration::from_... type LayerManagerLockHolder (line 34) | pub(crate) enum LayerManagerLockHolder { type LockedLayerManager (line 58) | pub(crate) struct LockedLayerManager { method read (line 131) | pub(crate) async fn read(&self, holder: LayerManagerLockHolder) -> Lay... method try_read (line 140) | pub(crate) fn try_read( method write (line 153) | pub(crate) async fn write(&self, holder: LayerManagerLockHolder) -> La... method try_write (line 162) | pub(crate) fn try_write( type LayerManagerReadGuard (line 62) | pub(crate) struct LayerManagerReadGuard<'a> { type LayerManagerWriteGuard (line 68) | pub(crate) struct LayerManagerWriteGuard<'a> { method drop (line 75) | fn drop(&mut self) { method drop (line 92) | fn drop(&mut self) { type Target (line 109) | type Target = LayerManager; method deref (line 111) | fn deref(&self) -> &Self::Target { type Target (line 117) | type Target = LayerManager; method deref (line 119) | fn deref(&self) -> &Self::Target { method deref_mut (line 125) | fn deref_mut(&mut self) -> &mut Self::Target { type LayerManager (line 177) | pub(crate) enum LayerManager { method upgrade (line 195) | fn upgrade(&self, weak: ReadableLayerWeak) -> ReadableLayer { method get_from_key (line 210) | pub(crate) fn get_from_key(&self, key: &PersistentLayerKey) -> Layer { method try_get_from_key (line 219) | pub(crate) fn try_get_from_key(&self, key: &PersistentLayerKey) -> Opt... method get_from_desc (line 223) | pub(crate) fn get_from_desc(&self, desc: &PersistentLayerDesc) -> Layer { method layer_map (line 231) | pub(crate) fn layer_map(&self) -> Result<&LayerMap, Shutdown> { method open_mut (line 239) | pub(crate) fn open_mut(&mut self) -> Result<&mut OpenLayerManager, Shu... method shutdown (line 252) | pub(crate) fn shutdown(&mut self, writer_state: &mut Option u64 { method likely_resident_layers (line 282) | pub(crate) fn likely_resident_layers(&self) -> impl Iterator impl Iterator... method contains (line 292) | pub(crate) fn contains(&self, layer: &Layer) -> bool { method contains_key (line 296) | pub(crate) fn contains_key(&self, key: &PersistentLayerKey) -> bool { method all_persistent_layers (line 300) | pub(crate) fn all_persistent_layers(&self) -> Vec { method update_search_fringe (line 308) | pub(crate) fn update_search_fringe( method layers (line 334) | fn layers(&self) -> &HashMap { method default (line 189) | fn default() -> Self { type OpenLayerManager (line 344) | pub(crate) struct OpenLayerManager { method fmt (line 350) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method initialize_local_layers (line 365) | pub(crate) fn initialize_local_layers(&mut self, layers: Vec, n... method initialize_empty (line 375) | pub(crate) fn initialize_empty(&mut self, next_open_layer_at: Lsn) { method get_layer_for_write (line 382) | pub(crate) async fn get_layer_for_write( method try_freeze_in_memory_layer (line 441) | pub(super) async fn try_freeze_in_memory_layer( method track_new_image_layers (line 487) | pub(crate) fn track_new_image_layers( method finish_flush_l0_layer (line 505) | pub(crate) fn finish_flush_l0_layer( method finish_compact_l0 (line 532) | pub(crate) fn finish_compact_l0( method finish_gc_compaction (line 550) | pub(crate) fn finish_gc_compaction( method rewrite_layers (line 580) | pub fn rewrite_layers( method rewrite_layers_inner (line 589) | fn rewrite_layers_inner( method finish_gc_timeline (line 638) | pub(crate) fn finish_gc_timeline(&mut self, gc_layers: &[Layer]) { method force_insert_layer (line 647) | pub(crate) fn force_insert_layer(&mut self, layer: ResidentLayer) { method insert_historic_layer (line 654) | fn insert_historic_layer( method delete_historic_layer (line 665) | fn delete_historic_layer( method force_insert_in_memory_layer (line 684) | pub(crate) fn force_insert_in_memory_layer(&mut self, layer: Arc(HashMap); method default (line 706) | fn default() -> Self { function insert (line 712) | pub(crate) fn insert(&mut self, layer: T) { function remove (line 719) | pub(crate) fn remove(&mut self, layer: &T) { FILE: pageserver/src/tenant/timeline/logical_size.rs type LogicalSize (line 18) | pub(super) struct LogicalSize { method empty_initial (line 131) | pub(super) fn empty_initial() -> Self { method deferred_initial (line 146) | pub(super) fn deferred_initial(compute_to: Lsn) -> Self { method current_size (line 157) | pub(super) fn current_size(&self) -> CurrentLogicalSize { method increment_size (line 175) | pub(super) fn increment_size(&self, delta: i64) { method initialized_size (line 182) | pub(super) fn initialized_size(&self, lsn: Lsn) -> Option { type CurrentLogicalSize (line 70) | pub(crate) enum CurrentLogicalSize { method size_dont_care_about_accuracy (line 112) | pub(crate) fn size_dont_care_about_accuracy(&self) -> u64 { method accuracy (line 118) | pub(crate) fn accuracy(&self) -> Accuracy { method is_exact (line 125) | pub(crate) fn is_exact(&self) -> bool { type Accuracy (line 81) | pub(crate) enum Accuracy { type Approximate (line 87) | pub(crate) struct Approximate(u64); method zero (line 106) | pub(crate) fn zero() -> Self { type Exact (line 89) | pub(crate) struct Exact(u64); function from (line 92) | fn from(value: &Approximate) -> Self { function from (line 98) | fn from(val: &Exact) -> Self { FILE: pageserver/src/tenant/timeline/offload.rs type OffloadError (line 15) | pub(crate) enum OffloadError { method from (line 27) | fn from(e: TenantManifestError) -> Self { function offload_timeline (line 35) | pub(crate) async fn offload_timeline( function remove_timeline_from_tenant (line 131) | fn remove_timeline_from_tenant( FILE: pageserver/src/tenant/timeline/uninit.rs type UninitializedTimeline (line 29) | pub struct UninitializedTimeline<'t> { function new (line 39) | pub(crate) fn new( function write (line 55) | pub(crate) async fn write(&mut self, f: F) -> anyhow::Result<()> function abort (line 89) | pub(crate) async fn abort(&self) { function finish_creation (line 100) | pub(crate) async fn finish_creation(mut self) -> anyhow::Result (Arc, Timel... function import_basebackup_from_tar (line 159) | pub(crate) async fn import_basebackup_from_tar( function raw_timeline (line 189) | pub(crate) fn raw_timeline(&self) -> anyhow::Result<&Arc> { method drop (line 204) | fn drop(&mut self) { function cleanup_timeline_directory (line 222) | pub(crate) fn cleanup_timeline_directory(create_guard: TimelineCreateGua... type TimelineCreateGuard (line 240) | pub(crate) struct TimelineCreateGuard { method new (line 267) | pub(crate) fn new( type TimelineExclusionError (line 250) | pub(crate) enum TimelineExclusionError { method drop (line 320) | fn drop(&mut self) { FILE: pageserver/src/tenant/timeline/walreceiver.rs type WalReceiverConf (line 47) | pub struct WalReceiverConf { type WalReceiver (line 61) | pub struct WalReceiver { method start (line 69) | pub fn start( method cancel (line 127) | pub async fn cancel(self) { method status (line 133) | pub(crate) fn status(&self) -> Option { type TaskHandle (line 145) | struct TaskHandle { type TaskEvent (line 151) | enum TaskEvent { type TaskStateUpdate (line 157) | enum TaskStateUpdate { function spawn (line 167) | fn spawn( function next_task_event (line 198) | async fn next_task_event(&mut self) -> TaskEvent { function shutdown (line 234) | async fn shutdown(self) { FILE: pageserver/src/tenant/timeline/walreceiver/connection_manager.rs type Cancelled (line 47) | pub(crate) struct Cancelled; function connection_manager_loop_step (line 56) | pub(super) async fn connection_manager_loop_step( function subscribe_for_timeline_updates (line 319) | async fn subscribe_for_timeline_updates( constant WALCONNECTION_RETRY_MIN_BACKOFF_SECONDS (line 375) | const WALCONNECTION_RETRY_MIN_BACKOFF_SECONDS: f64 = 0.1; constant WALCONNECTION_RETRY_MAX_BACKOFF_SECONDS (line 376) | const WALCONNECTION_RETRY_MAX_BACKOFF_SECONDS: f64 = 15.0; constant WALCONNECTION_RETRY_BACKOFF_MULTIPLIER (line 377) | const WALCONNECTION_RETRY_BACKOFF_MULTIPLIER: f64 = 1.5; type ConnectionManagerState (line 380) | pub(super) struct ConnectionManagerState { method new (line 508) | pub(super) fn new( method spawn (line 528) | fn spawn( method change_connection (line 545) | async fn change_connection(&mut self, new_sk: NewWalConnectionCandidat... method drop_old_connection (line 644) | async fn drop_old_connection(&mut self, needs_shutdown: bool) { method time_until_next_retry (line 701) | fn time_until_next_retry(&self) -> Option { method register_timeline_update (line 715) | fn register_timeline_update(&mut self, typed_msg: TypedMessage) { method next_connection_candidate (line 804) | fn next_connection_candidate(&mut self) -> Option ConnectionManagerStatus { type ConnectionManagerStatus (line 397) | pub struct ConnectionManagerStatus { method to_human_readable_string (line 404) | pub fn to_human_readable_string(&self) -> String { type WalConnection (line 469) | struct WalConnection { type NewCommittedWAL (line 486) | struct NewCommittedWAL { type RetryInfo (line 494) | struct RetryInfo { type BrokerSkTimeline (line 501) | struct BrokerSkTimeline { type NewWalConnectionCandidate (line 1087) | struct NewWalConnectionCandidate { type ReconnectReason (line 1096) | enum ReconnectReason { method name (line 1120) | fn name(&self) -> &str { function dummy_broker_sk_timeline (line 1139) | fn dummy_broker_sk_timeline( function no_connection_no_candidate (line 1158) | async fn no_connection_no_candidate() -> anyhow::Result<()> { function connection_no_candidate (line 1191) | async fn connection_no_candidate() -> anyhow::Result<()> { function no_connection_candidate (line 1256) | async fn no_connection_candidate() -> anyhow::Result<()> { function candidate_with_many_connection_failures (line 1319) | async fn candidate_with_many_connection_failures() -> anyhow::Result<()> { function lsn_wal_over_threshold_current_candidate (line 1359) | async fn lsn_wal_over_threshold_current_candidate() -> anyhow::Result<()> { function timeout_connection_threshold_current_candidate (line 1425) | async fn timeout_connection_threshold_current_candidate() -> anyhow::Res... function timeout_wal_over_threshold_current_candidate (line 1489) | async fn timeout_wal_over_threshold_current_candidate() -> anyhow::Resul... constant DUMMY_SAFEKEEPER_HOST (line 1556) | const DUMMY_SAFEKEEPER_HOST: &str = "safekeeper_connstr"; function dummy_state (line 1558) | async fn dummy_state(harness: &TenantHarness) -> ConnectionManagerState { function switch_to_same_availability_zone (line 1594) | async fn switch_to_same_availability_zone() -> anyhow::Result<()> { FILE: pageserver/src/tenant/timeline/walreceiver/walreceiver_connection.rs type WalConnectionStatus (line 49) | pub(super) struct WalConnectionStatus { type WalReceiverError (line 67) | pub(super) enum WalReceiverError { method from (line 80) | fn from(err: tokio_postgres::Error) -> Self { method from (line 102) | fn from(err: anyhow::Error) -> Self { method from (line 108) | fn from(err: WalDecodeError) -> Self { function handle_walreceiver_connection (line 116) | pub(super) async fn handle_walreceiver_connection( type IdentifySystem (line 620) | struct IdentifySystem { type IdentifyError (line 631) | struct IdentifyError; function identify_system (line 634) | async fn identify_system(client: &Client) -> anyhow::Result &'static str { method initialize_empty_remote (line 333) | pub fn initialize_empty_remote( method initialize_with_current_remote_index_part (line 371) | pub fn initialize_with_current_remote_index_part( method initialized_mut (line 412) | pub fn initialized_mut(&mut self) -> Result<&mut UploadQueueInitialize... method stopped_mut (line 427) | pub(crate) fn stopped_mut(&mut self) -> anyhow::Result<&mut UploadQueu... type OpType (line 49) | pub enum OpType { type UploadQueueInitialized (line 55) | pub struct UploadQueueInitialized { method no_pending_work (line 118) | pub(super) fn no_pending_work(&self) -> bool { method get_last_remote_consistent_lsn_visible (line 122) | pub(super) fn get_last_remote_consistent_lsn_visible(&self) -> Lsn { method get_last_remote_consistent_lsn_projected (line 126) | pub(super) fn get_last_remote_consistent_lsn_projected(&self) -> Optio... method next_ready (line 140) | pub fn next_ready(&mut self) -> Option<(UploadOp, Vec)> { method is_ready (line 208) | fn is_ready(&self, pos: usize) -> bool { method num_inprogress_deletions (line 236) | pub(crate) fn num_inprogress_deletions(&self) -> usize { method num_inprogress_layer_uploads (line 245) | pub(crate) fn num_inprogress_layer_uploads(&self) -> usize { method schedule_ready (line 258) | fn schedule_ready(&mut self) -> Vec> { method complete (line 280) | fn complete(&mut self, task_id: u64) { type SetDeletedFlagProgress (line 294) | pub(super) enum SetDeletedFlagProgress { type UploadQueueStoppedDeletable (line 300) | pub struct UploadQueueStoppedDeletable { type UploadQueueStopped (line 306) | pub enum UploadQueueStopped { type NotInitialized (line 312) | pub enum NotInitialized { method is_stopping (line 322) | pub(crate) fn is_stopping(&self) -> bool { type UploadTask (line 442) | pub struct UploadTask { type Delete (line 457) | pub struct Delete { type UploadOp (line 462) | pub enum UploadOp { method fmt (line 484) | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { method can_bypass (line 513) | pub fn can_bypass(&self, other: &UploadOp, index: &IndexPart) -> bool { function assert_same_op (line 577) | fn assert_same_op(a: &UploadOp, b: &UploadOp) { function assert_same_ops (line 595) | fn assert_same_ops<'a>( function make_timeline (line 611) | fn make_timeline() -> Arc { function make_layer (line 634) | fn make_layer(timeline: &Arc, name: &str) -> ResidentLayer { function make_layer_with_size (line 639) | fn make_layer_with_size(timeline: &Arc, name: &str, size: usiz... function make_layer_with_metadata (line 649) | fn make_layer_with_metadata( function index_with (line 668) | fn index_with(index: &IndexPart, layer: &ResidentLayer) -> Box { function index_without (line 677) | fn index_without(index: &IndexPart, layer: &ResidentLayer) -> Box anyhow::Result<()> { function schedule_delete_parallel (line 766) | fn schedule_delete_parallel() -> anyhow::Result<()> { function schedule_upload_conflicts (line 823) | fn schedule_upload_conflicts() -> anyhow::Result<()> { function schedule_upload_delete_conflicts (line 868) | fn schedule_upload_delete_conflicts() -> anyhow::Result<()> { function schedule_upload_delete_conflicts_bypass (line 913) | fn schedule_upload_delete_conflicts_bypass() -> anyhow::Result<()> { function schedule_upload_parallel (line 967) | fn schedule_upload_parallel() -> anyhow::Result<()> { function schedule_index_coalesce (line 1005) | fn schedule_index_coalesce() -> anyhow::Result<()> { function schedule_index_upload_chain (line 1040) | fn schedule_index_upload_chain() -> anyhow::Result<()> { function schedule_index_delete_dereferenced (line 1114) | fn schedule_index_delete_dereferenced() -> anyhow::Result<()> { function schedule_index_upload_dereferenced (line 1162) | fn schedule_index_upload_dereferenced() -> anyhow::Result<()> { function schedule_shutdown (line 1213) | fn schedule_shutdown() -> anyhow::Result<()> { function schedule_inprogress_limit (line 1283) | fn schedule_inprogress_limit() -> anyhow::Result<()> { function can_bypass_path (line 1331) | fn can_bypass_path() -> anyhow::Result<()> { FILE: pageserver/src/tenant/vectored_blob_io.rs type BlobMeta (line 34) | pub struct BlobMeta { type BufView (line 42) | pub(crate) enum BufView<'a> { function new_slice (line 49) | pub fn new_slice(slice: &'a [u8]) -> Self { function new_bytes (line 54) | pub fn new_bytes(bytes: bytes::Bytes) -> Self { function into_bytes (line 61) | pub fn into_bytes(self) -> Bytes { function view (line 69) | fn view(&self, range: std::ops::Range) -> Self { type Target (line 78) | type Target = [u8]; method deref (line 80) | fn deref(&self) -> &Self::Target { function as_ref (line 89) | fn as_ref(&self) -> &[u8] { function from (line 98) | fn from(value: &'a [u8]) -> Self { function from (line 104) | fn from(value: Bytes) -> Self { type VectoredBlob (line 111) | pub struct VectoredBlob { method read (line 126) | pub(crate) async fn read<'a>(&self, buf: &BufView<'a>) -> Result(&self, buf: &BufView<'a>) -> BufView... method fmt (line 160) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type VectoredBlobsBuf (line 170) | pub struct VectoredBlobsBuf { type VectoredRead (line 180) | pub struct VectoredRead { method size (line 188) | pub(crate) fn size(&self) -> usize { type VectoredReadExtended (line 194) | pub(crate) enum VectoredReadExtended { type ChunkedVectoredReadBuilder (line 200) | pub(crate) struct ChunkedVectoredReadBuilder { constant CHUNK_SIZE (line 211) | const CHUNK_SIZE: usize = virtual_file::get_io_buffer_alignment(); method new_impl (line 217) | fn new_impl( method new (line 238) | pub(crate) fn new( method new_streaming (line 247) | pub(crate) fn new_streaming(start_offset: u64, end_offset: u64, meta: ... method extend (line 254) | pub(crate) fn extend(&mut self, start: u64, end: u64, meta: BlobMeta) ... method size (line 291) | pub(crate) fn size(&self) -> usize { method build (line 295) | pub(crate) fn build(self) -> VectoredRead { type BlobFlag (line 307) | pub enum BlobFlag { type VectoredReadPlanner (line 321) | pub struct VectoredReadPlanner { method new (line 339) | pub fn new(max_read_size: usize) -> Self { method handle (line 364) | pub fn handle(&mut self, key: Key, lsn: Lsn, offset: u64, flag: BlobFl... method handle_range_end (line 380) | pub fn handle_range_end(&mut self, offset: u64) { method add_blob (line 388) | fn add_blob(&mut self, key: Key, lsn: Lsn, start_offset: u64, end_offs... method finish (line 403) | pub fn finish(self) -> Vec { type VectoredBlobReader (line 453) | pub struct VectoredBlobReader<'a> { function new (line 458) | pub fn new(file: &'a VirtualFile) -> Self { function read_blobs (line 470) | pub async fn read_blobs( type StreamingVectoredReadPlanner (line 535) | pub struct StreamingVectoredReadPlanner { method new (line 549) | pub fn new(max_read_size: u64, max_cnt: usize) -> Self { method handle (line 561) | pub fn handle( method handle_range_end (line 592) | pub fn handle_range_end(&mut self, offset: u64) -> Option { method add_blob (line 611) | fn add_blob( function validate_read (line 674) | fn validate_read(read: &VectoredRead, offset_range: &[(Key, Lsn, u64, Bl... function planner_chunked_coalesce_all_test (line 692) | fn planner_chunked_coalesce_all_test() { function planner_max_read_size_test (line 749) | fn planner_max_read_size_test() { function planner_replacement_test (line 793) | fn planner_replacement_test() { function streaming_planner_max_read_size_test (line 827) | fn streaming_planner_max_read_size_test() { function streaming_planner_max_cnt_test (line 866) | fn streaming_planner_max_cnt_test() { function streaming_planner_edge_test (line 904) | fn streaming_planner_edge_test() { function round_trip_test_compressed (line 949) | async fn round_trip_test_compressed( function test_really_big_array (line 1004) | async fn test_really_big_array() -> anyhow::Result<()> { function test_arrays_inc (line 1019) | async fn test_arrays_inc() -> anyhow::Result<()> { FILE: pageserver/src/utilization.rs function regenerate (line 16) | pub(crate) fn regenerate( FILE: pageserver/src/virtual_file.rs type VirtualFile (line 70) | pub struct VirtualFile { method open (line 79) | pub async fn open>( method open_v2 (line 93) | pub async fn open_v2>( method open_with_options_v2 (line 101) | pub async fn open_with_options_v2>( method path (line 118) | pub fn path(&self) -> &Utf8Path { method crashsafe_overwrite (line 122) | pub async fn crashsafe_overwrite + Send, Buf:... method sync_all (line 130) | pub async fn sync_all(&self) -> Result<(), Error> { method sync_data (line 137) | pub async fn sync_data(&self) -> Result<(), Error> { method set_len (line 144) | pub async fn set_len(&self, len: u64, ctx: &RequestContext) -> Result<... method metadata (line 148) | pub async fn metadata(&self) -> Result { method read_exact_at (line 152) | pub async fn read_exact_at( method read_exact_at_page (line 164) | pub async fn read_exact_at_page( method write_all_at (line 173) | pub async fn write_all_at( method read_to_string (line 182) | pub(crate) async fn read_to_string>( method read_blk (line 1115) | pub(crate) async fn read_blk( type SyncMode (line 214) | pub enum SyncMode { type Error (line 220) | type Error = u8; method try_from (line 222) | fn try_from(value: u8) -> Result { type VirtualFileInner (line 247) | pub struct VirtualFileInner { method open (line 513) | pub async fn open>( method open_with_options (line 525) | pub async fn open_with_options>( method crashsafe_overwrite (line 572) | pub async fn crashsafe_overwrite + Send, Buf:... method sync_all (line 597) | pub async fn sync_all(&self) -> Result<(), Error> { method sync_data (line 605) | pub async fn sync_data(&self) -> Result<(), Error> { method metadata (line 612) | pub async fn metadata(&self) -> Result { method set_len (line 619) | pub async fn set_len(&self, len: u64, _ctx: &RequestContext) -> Result... method lock_file (line 632) | async fn lock_file(&self) -> Result { method read_exact_at (line 696) | pub async fn read_exact_at( method read_exact_at_page (line 727) | pub async fn read_exact_at_page( method write_all_at (line 741) | pub async fn write_all_at( method read_at (line 776) | pub(super) async fn read_at( method write_at (line 810) | async fn write_at( method validate_direct_io (line 836) | fn validate_direct_io(&self, addr: usize, size: usize, offset: u64) { method read_blk (line 1126) | pub(crate) async fn read_blk( type SlotHandle (line 264) | struct SlotHandle { type OpenFiles (line 284) | struct OpenFiles { method find_victim_slot (line 344) | async fn find_victim_slot(&self) -> (SlotHandle, RwLockWriteGuard OpenFiles { type Slot (line 291) | struct Slot { type SlotInner (line 298) | struct SlotInner { type PageWriteGuardBuf (line 308) | struct PageWriteGuardBuf { method stable_ptr (line 316) | fn stable_ptr(&self) -> *const u8 { method bytes_init (line 319) | fn bytes_init(&self) -> usize { method bytes_total (line 322) | fn bytes_total(&self) -> usize { method stable_mut_ptr (line 329) | fn stable_mut_ptr(&mut self) -> *mut u8 { method set_init (line 333) | unsafe fn set_init(&mut self, pos: usize) { function is_fatal_io_error (line 409) | pub(crate) fn is_fatal_io_error(e: &std::io::Error) -> bool { function on_fatal_io_error (line 446) | pub(crate) fn on_fatal_io_error(e: &std::io::Error, context: &str) -> ! { type MaybeFatalIo (line 452) | pub(crate) trait MaybeFatalIo { method maybe_fatal_err (line 453) | fn maybe_fatal_err(self, context: &str) -> std::io::Result; method fatal_err (line 454) | fn fatal_err(self, context: &str) -> T; function maybe_fatal_err (line 462) | fn maybe_fatal_err(self, context: &str) -> std::io::Result { function fatal_err (line 474) | fn fatal_err(self, context: &str) -> T { function read_exact_at_impl (line 893) | pub async fn read_exact_at_impl( type Expectation (line 945) | struct Expectation { type MockReadAt (line 950) | struct MockReadAt { method read_at (line 955) | async fn read_at( method drop (line 978) | fn drop(&mut self) { function test_basic (line 984) | async fn test_basic() { function test_empty_buf_issues_no_syscall (line 1003) | async fn test_empty_buf_issues_no_syscall() { function test_two_read_at_calls_needed_until_buf_filled (line 1017) | async fn test_two_read_at_calls_needed_until_buf_filled() { function test_eof_before_buffer_full (line 1043) | async fn test_eof_before_buffer_full() { type FileGuard (line 1078) | struct FileGuard { method as_ref (line 1083) | fn as_ref(&self) -> &OwnedFd { method with_std_file (line 1092) | fn with_std_file(&self, with: F) -> R method as_fd (line 1107) | unsafe fn as_fd(&self) -> RawFd { method drop (line 1145) | fn drop(&mut self) { method write_all_at (line 1185) | async fn write_all_at( method set_len (line 1193) | async fn set_len(&self, len: u64, ctx: &RequestContext) -> std::io::Resu... function init (line 1221) | pub fn init(num_slots: usize, engine: IoEngineKind, mode: IoMode, sync_m... constant TEST_MAX_FILE_DESCRIPTORS (line 1231) | const TEST_MAX_FILE_DESCRIPTORS: usize = 10; function get_open_files (line 1234) | fn get_open_files() -> &'static OpenFiles { function get_io_buffer_alignment (line 1251) | pub(crate) const fn get_io_buffer_alignment() -> usize { type IoBufferMut (line 1255) | pub(crate) type IoBufferMut = AlignedBufferMut = function set_io_mode (line 1262) | pub fn set_io_mode(mode: IoMode) { function get_io_mode (line 1266) | pub(crate) fn get_io_mode() -> IoMode { function test_virtual_files (line 1286) | async fn test_virtual_files() -> anyhow::Result<()> { function test_vfile_concurrency (line 1373) | async fn test_vfile_concurrency() -> Result<(), Error> { function test_atomic_overwrite_basic (line 1437) | async fn test_atomic_overwrite_basic() { function test_atomic_overwrite_preexisting_tmp (line 1462) | async fn test_atomic_overwrite_preexisting_tmp() { FILE: pageserver/src/virtual_file/io_engine.rs type IoEngine (line 21) | pub(crate) enum IoEngine { method from (line 29) | fn from(value: IoEngineKind) -> Self { type Error (line 39) | type Error = u8; method try_from (line 41) | fn try_from(value: u8) -> Result { method read_at (line 132) | pub(super) async fn read_at( method sync_all (line 163) | pub(super) async fn sync_all(&self, file_guard: FileGuard) -> (FileGua... method sync_data (line 181) | pub(super) async fn sync_data( method metadata (line 202) | pub(super) async fn metadata( method set_len (line 228) | pub(super) async fn set_len( method write_at (line 249) | pub(super) async fn write_at( method spawn_blocking_and_block_on_if_std (line 283) | pub(crate) async fn spawn_blocking_and_block_on_if_std(&self, ... function set (line 54) | pub(crate) fn set(engine_kind: IoEngineKind) { function init (line 68) | pub(super) fn init(engine_kind: IoEngineKind) { function get (line 73) | pub(crate) fn get() -> IoEngine { function epoll_uring_error_to_std (line 122) | pub(super) fn epoll_uring_error_to_std( function retry_ecanceled_once (line 312) | pub(super) async fn retry_ecanceled_once( function panic_operation_must_be_idempotent (line 348) | pub(super) fn panic_operation_must_be_idempotent() { type FeatureTestResult (line 354) | pub enum FeatureTestResult { constant PLATFORM_PREFERRED (line 364) | const PLATFORM_PREFERRED: IoEngineKind = IoEngineKind::TokioEpollUring; constant PLATFORM_PREFERRED (line 366) | const PLATFORM_PREFERRED: IoEngineKind = IoEngineKind::StdFs; method from (line 370) | fn from(val: FeatureTestResult) -> Self { function feature_test (line 380) | pub fn feature_test() -> anyhow::Result { function io_engine_for_bench (line 440) | pub fn io_engine_for_bench() -> IoEngineKind { FILE: pageserver/src/virtual_file/io_engine/tokio_epoll_uring_ext.rs type ThreadLocalState (line 20) | struct ThreadLocalState(Arc); method new (line 36) | pub fn new() -> Self { method make_id_string (line 44) | pub fn make_id_string(&self) -> String { type ThreadLocalStateInner (line 22) | struct ThreadLocalStateInner { method drop (line 30) | fn drop(&mut self) { function thread_local_system (line 56) | pub async fn thread_local_system() -> Handle { function emit_launch_failure_process_stats (line 118) | fn emit_launch_failure_process_stats() { type Handle (line 188) | pub struct Handle(ThreadLocalState); type Target (line 191) | type Target = SystemHandle; method deref (line 193) | fn deref(&self) -> &Self::Target { FILE: pageserver/src/virtual_file/metadata.rs type Metadata (line 3) | pub enum Metadata { method from (line 11) | fn from(value: Box) -> Self { method from (line 17) | fn from(value: std::fs::Metadata) -> Self { method len (line 23) | pub fn len(&self) -> u64 { FILE: pageserver/src/virtual_file/open_options.rs type OpenOptions (line 10) | pub struct OpenOptions { method new (line 46) | pub fn new() -> OpenOptions { method is_write (line 50) | pub(super) fn is_write(&self) -> bool { method is_direct (line 54) | pub(super) fn is_direct(&self) -> bool { method read (line 58) | pub fn read(mut self, read: bool) -> Self { method write (line 71) | pub fn write(mut self, write: bool) -> Self { method create (line 85) | pub fn create(mut self, create: bool) -> Self { method create_new (line 98) | pub fn create_new(mut self, create_new: bool) -> Self { method truncate (line 111) | pub fn truncate(mut self, truncate: bool) -> Self { method append (line 125) | pub fn append(&mut self, _append: bool) { method open (line 129) | pub(in crate::virtual_file) async fn open(&self, path: &Path) -> std::... method mode (line 170) | pub fn mode(mut self, mode: u32) -> Self { method direct (line 183) | pub fn direct(mut self, direct: bool) -> Self { type Inner (line 21) | enum Inner { method default (line 28) | fn default() -> Self { FILE: pageserver/src/virtual_file/owned_buffers_io/aligned_buffer/alignment.rs type Alignment (line 1) | pub trait Alignment: std::marker::Unpin + 'static { method align (line 3) | fn align(&self) -> usize; method align (line 11) | fn align(&self) -> usize { method align (line 23) | fn align(&self) -> usize { type ConstAlign (line 8) | pub struct ConstAlign; type RuntimeAlign (line 18) | pub struct RuntimeAlign { FILE: pageserver/src/virtual_file/owned_buffers_io/aligned_buffer/buffer.rs type AlignedBuffer (line 10) | pub struct AlignedBuffer { function from_raw (line 19) | pub(super) fn from_raw(raw: RawAlignedBuffer, range: Range) ->... function len (line 28) | pub fn len(&self) -> usize { function align (line 34) | pub fn align(&self) -> usize { function as_ptr (line 39) | fn as_ptr(&self) -> *const u8 { function as_slice (line 48) | fn as_slice(&self) -> &[u8] { function slice (line 53) | pub fn slice(&self, range: impl RangeBounds) -> Self { function into_mut (line 86) | pub fn into_mut(self) -> Option> { type Target (line 93) | type Target = [u8]; method deref (line 95) | fn deref(&self) -> &Self::Target { function as_ref (line 101) | fn as_ref(&self) -> &[u8] { function eq (line 107) | fn eq(&self, other: &[u8]) -> bool { function from (line 113) | fn from(value: &[u8; N]) -> Self { function stable_ptr (line 122) | fn stable_ptr(&self) -> *const u8 { function bytes_init (line 126) | fn bytes_init(&self) -> usize { function bytes_total (line 130) | fn bytes_total(&self) -> usize { FILE: pageserver/src/virtual_file/owned_buffers_io/aligned_buffer/buffer_mut.rs type AlignedBufferMut (line 10) | pub struct AlignedBufferMut { function with_capacity (line 30) | pub fn with_capacity(capacity: usize) -> Self { function with_capacity_zeroed (line 37) | pub fn with_capacity_zeroed(capacity: usize) -> Self { function from_raw (line 49) | pub(super) fn from_raw(raw: RawAlignedBuffer) -> Self { function capacity (line 55) | pub fn capacity(&self) -> usize { function align (line 61) | pub fn align(&self) -> usize { function len (line 67) | pub fn len(&self) -> usize { function set_len (line 73) | unsafe fn set_len(&mut self, new_len: usize) { function as_ptr (line 79) | fn as_ptr(&self) -> *const u8 { function as_mut_ptr (line 84) | fn as_mut_ptr(&mut self) -> *mut u8 { function as_slice (line 92) | fn as_slice(&self) -> &[u8] { function as_mut_slice (line 99) | fn as_mut_slice(&mut self) -> &mut [u8] { function clear (line 105) | pub fn clear(&mut self) { function reserve (line 118) | pub fn reserve(&mut self, additional: usize) { function truncate (line 123) | pub fn truncate(&mut self, len: usize) { function leak (line 128) | pub fn leak<'a>(self) -> &'a mut [u8] { function freeze (line 132) | pub fn freeze(self) -> AlignedBuffer { function extend_from_slice (line 139) | pub fn extend_from_slice(&mut self, extend: &[u8]) { function spare_capacity_mut (line 159) | fn spare_capacity_mut(&mut self) -> &mut [MaybeUninit] { type Target (line 172) | type Target = [u8]; method deref (line 174) | fn deref(&self) -> &Self::Target { method deref_mut (line 180) | fn deref_mut(&mut self) -> &mut Self::Target { function as_ref (line 186) | fn as_ref(&self) -> &[u8] { function as_mut (line 192) | fn as_mut(&mut self) -> &mut [u8] { function eq (line 198) | fn eq(&self, other: &[u8]) -> bool { function remaining_mut (line 206) | fn remaining_mut(&self) -> usize { function advance_mut (line 214) | unsafe fn advance_mut(&mut self, cnt: usize) { function chunk_mut (line 229) | fn chunk_mut(&mut self) -> &mut bytes::buf::UninitSlice { function panic_advance (line 244) | fn panic_advance(idx: usize, len: usize) -> ! { function stable_ptr (line 253) | fn stable_ptr(&self) -> *const u8 { function bytes_init (line 257) | fn bytes_init(&self) -> usize { function bytes_total (line 261) | fn bytes_total(&self) -> usize { function stable_mut_ptr (line 268) | fn stable_mut_ptr(&mut self) -> *mut u8 { function set_init (line 272) | unsafe fn set_init(&mut self, init_len: usize) { function write (line 283) | fn write(&mut self, buf: &[u8]) -> std::io::Result { function flush (line 288) | fn flush(&mut self) -> std::io::Result<()> { constant ALIGN (line 298) | const ALIGN: usize = 4 * 1024; type TestIoBufferMut (line 299) | type TestIoBufferMut = AlignedBufferMut>; function test_with_capacity (line 302) | fn test_with_capacity() { function test_with_capacity_zeroed (line 317) | fn test_with_capacity_zeroed() { function test_reserve (line 327) | fn test_reserve() { function test_bytes_put (line 345) | fn test_bytes_put() { function test_bytes_put_panic (line 368) | fn test_bytes_put_panic() { function test_io_buf_put_slice (line 379) | fn test_io_buf_put_slice() { FILE: pageserver/src/virtual_file/owned_buffers_io/aligned_buffer/raw.rs type AlignedBufferPtr (line 9) | struct AlignedBufferPtr(*mut u8); type RawAlignedBuffer (line 19) | pub struct RawAlignedBuffer { function with_capacity (line 42) | pub fn with_capacity(capacity: usize) -> Self { function capacity (line 67) | pub fn capacity(&self) -> usize { function align (line 73) | pub fn align(&self) -> usize { function len (line 79) | pub fn len(&self) -> usize { function set_len (line 85) | pub unsafe fn set_len(&mut self, new_len: usize) { function as_ptr (line 91) | pub fn as_ptr(&self) -> *const u8 { function as_mut_ptr (line 96) | pub fn as_mut_ptr(&mut self) -> *mut u8 { function as_slice (line 104) | pub fn as_slice(&self) -> &[u8] { function as_mut_slice (line 112) | pub fn as_mut_slice(&mut self) -> &mut [u8] { function clear (line 119) | pub fn clear(&mut self) { function reserve (line 132) | pub fn reserve(&mut self, additional: usize) { function reserve_inner (line 138) | fn reserve_inner(&mut self, additional: usize) { function truncate (line 172) | pub fn truncate(&mut self, len: usize) { function leak (line 180) | pub fn leak<'a>(self) -> &'a mut [u8] { function capacity_overflow (line 187) | fn capacity_overflow() -> ! { function is_valid_alloc (line 200) | fn is_valid_alloc(alloc_size: usize) -> bool { method drop (line 205) | fn drop(&mut self) { FILE: pageserver/src/virtual_file/owned_buffers_io/aligned_buffer/slice.rs type AlignedSlice (line 6) | pub struct AlignedSlice<'a, const N: usize, A: Alignment> { function new_unchecked (line 15) | pub unsafe fn new_unchecked(buf: &'a mut [u8; N]) -> Self { type Target (line 23) | type Target = [u8; N]; method deref (line 25) | fn deref(&self) -> &Self::Target { method deref_mut (line 31) | fn deref_mut(&mut self) -> &mut Self::Target { function as_ref (line 37) | fn as_ref(&self) -> &[u8; N] { FILE: pageserver/src/virtual_file/owned_buffers_io/io_buf_aligned.rs type IoBufAlignedMut (line 6) | pub trait IoBufAlignedMut: IoBufMut {} type IoBufAligned (line 9) | pub trait IoBufAligned: IoBuf {} FILE: pageserver/src/virtual_file/owned_buffers_io/io_buf_ext.rs type FullSlice (line 17) | pub struct FullSlice { function must_new (line 25) | pub(crate) fn must_new(slice: Slice) -> Self { function into_raw_slice (line 29) | pub(crate) fn into_raw_slice(self) -> Slice { type Target (line 39) | type Target = [u8]; method deref (line 41) | fn deref(&self) -> &[u8] { method cheap_clone (line 53) | fn cheap_clone(&self) -> Self { type IoBufExt (line 61) | pub(crate) trait IoBufExt { method slice_len (line 63) | fn slice_len(self) -> FullSlice FILE: pageserver/src/virtual_file/owned_buffers_io/slice.rs type SliceMutExt (line 3) | pub(crate) trait SliceMutExt { method as_mut_rust_slice_full_zeroed (line 7) | fn as_mut_rust_slice_full_zeroed(&mut self) -> &mut [u8]; method as_mut_rust_slice_full_zeroed (line 15) | fn as_mut_rust_slice_full_zeroed(&mut self) -> &mut [u8] { function test_slice_full_zeroed (line 41) | fn test_slice_full_zeroed() { FILE: pageserver/src/virtual_file/owned_buffers_io/write.rs type CheapCloneForRead (line 19) | pub(crate) trait CheapCloneForRead { method cheap_clone (line 21) | fn cheap_clone(&self) -> Self; method cheap_clone (line 25) | fn cheap_clone(&self) -> Self { type OwnedAsyncWriter (line 34) | pub trait OwnedAsyncWriter { method write_all_at (line 35) | fn write_all_at( method set_len (line 41) | fn set_len( method write_all_at (line 427) | async fn write_all_at( method set_len (line 439) | async fn set_len(&self, len: u64, _ctx: &RequestContext) -> std::io::R... type BufferedWriter (line 84) | pub struct BufferedWriter { type BufferedWriterShutdownMode (line 108) | pub enum BufferedWriterShutdownMode { function new (line 129) | pub fn new( function bytes_submitted (line 154) | pub fn bytes_submitted(&self) -> u64 { function inspect_mutable (line 159) | pub fn inspect_mutable(&self) -> Option<&B> { function inspect_maybe_flushed (line 165) | pub fn inspect_maybe_flushed(&self) -> Option<&FullSlice> { function shutdown (line 170) | pub async fn shutdown( function mutable (line 247) | pub(crate) fn mutable(&self) -> &B { function write_buffered_borrowed (line 252) | pub async fn write_buffered_borrowed( function write_buffered_borrowed_controlled (line 265) | pub(crate) async fn write_buffered_borrowed_controlled( function flush (line 303) | async fn flush( type Buffer (line 336) | pub trait Buffer { method cap (line 340) | fn cap(&self) -> usize; method extend_from_slice (line 345) | fn extend_from_slice(&mut self, other: &[u8]); method extend_with (line 349) | fn extend_with(&mut self, val: u8, count: usize); method pending (line 352) | fn pending(&self) -> usize; method flush (line 356) | fn flush(self) -> FullSlice; method reuse_after_flush (line 360) | fn reuse_after_flush(iobuf: Self::IoBuf) -> Self; type IoBuf (line 364) | type IoBuf = IoBuffer; method cap (line 366) | fn cap(&self) -> usize { method extend_from_slice (line 370) | fn extend_from_slice(&mut self, other: &[u8]) { method extend_with (line 378) | fn extend_with(&mut self, val: u8, count: usize) { method pending (line 386) | fn pending(&self) -> usize { method flush (line 390) | fn flush(self) -> FullSlice { method reuse_after_flush (line 395) | fn reuse_after_flush(iobuf: Self::IoBuf) -> Self { type Op (line 415) | enum Op { type RecorderWriter (line 421) | struct RecorderWriter { function test_ctx (line 445) | fn test_ctx() -> RequestContext { function test_write_all_borrowed_always_goes_through_buffer (line 451) | async fn test_write_all_borrowed_always_goes_through_buffer( function test_set_len_is_skipped_if_not_needed (line 520) | async fn test_set_len_is_skipped_if_not_needed() -> anyhow::Result<()> { FILE: pageserver/src/virtual_file/owned_buffers_io/write/flush.rs type FlushHandle (line 14) | pub struct FlushHandle { type FlushHandleInner (line 18) | pub struct FlushHandleInner { type FlushRequest (line 26) | struct FlushRequest { type ShutdownRequest (line 35) | pub struct ShutdownRequest { type Request (line 39) | enum Request { function op_str (line 45) | fn op_str(&self) -> &'static str { function new_flush_op (line 55) | fn new_flush_op(slice: FullSlice, offset: u64) -> (FlushReques... function new_flush_op (line 64) | fn new_flush_op(slice: FullSlice, offset: u64) -> (FlushReques... type FlushControl (line 80) | pub(crate) struct FlushControl { method not_started (line 89) | fn not_started( method untracked (line 102) | fn untracked() -> Self { method into_not_started (line 108) | pub(crate) fn into_not_started(self) -> FlushNotStarted { method release (line 115) | pub async fn release(self) { type FlushControl (line 85) | pub(crate) struct FlushControl; method not_started (line 89) | fn not_started( method untracked (line 102) | fn untracked() -> Self { method into_not_started (line 108) | pub(crate) fn into_not_started(self) -> FlushNotStarted { method release (line 115) | pub async fn release(self) { function spawn_new (line 139) | pub fn spawn_new( function flush (line 172) | pub async fn flush( function shutdown (line 193) | pub async fn shutdown(&mut self, req: ShutdownRequest) -> Result) -> Result<(), FlushTaskE... function handle_error (line 206) | async fn handle_error(&mut self) -> Result { function wait (line 213) | async fn wait(&mut self) -> Result { function inner_mut (line 224) | fn inner_mut(&mut self) -> &mut FlushHandleInner { type FlushBackgroundTask (line 232) | pub struct FlushBackgroundTask { type FlushTaskError (line 245) | pub enum FlushTaskError { method is_cancel (line 251) | pub fn is_cancel(&self) -> bool { method into_anyhow (line 256) | pub fn into_anyhow(self) -> anyhow::Error { function new (line 269) | fn new( function run (line 286) | async fn run(mut self) -> Result { type FlushNotStarted (line 416) | pub(crate) struct FlushNotStarted { method ready_to_flush (line 432) | pub fn ready_to_flush(self) -> FlushInProgress { type FlushInProgress (line 422) | pub(crate) struct FlushInProgress { method wait_until_flush_is_done (line 445) | pub async fn wait_until_flush_is_done(self) -> FlushDone { type FlushDone (line 427) | pub(crate) struct FlushDone; FILE: pageserver/src/virtual_file/temporary.rs type TempVirtualFile (line 16) | pub struct TempVirtualFile { type Target (line 58) | type Target = VirtualFile; method deref (line 60) | fn deref(&self) -> &Self::Target { method deref_mut (line 70) | fn deref_mut(&mut self) -> &mut Self::Target { method new (line 86) | pub fn new(virtual_file: VirtualFile, gate_guard: GateGuard) -> Self { method disarm_into_inner (line 104) | pub fn disarm_into_inner(mut self) -> VirtualFile { type Inner (line 21) | struct Inner { method write_all_at (line 28) | fn write_all_at( method set_len (line 37) | async fn set_len(&self, len: u64, ctx: &RequestContext) -> std::io::Resu... method drop (line 43) | fn drop(&mut self) { FILE: pageserver/src/walingest.rs method encode (line 59) | fn encode(&self) -> Result { method update_next_xid (line 63) | fn update_next_xid(&mut self, xid: u32) -> bool { method update_next_multixid (line 67) | pub fn update_next_multixid(&mut self, multi_xid: u32, multi_offset: u32... type WalLagCooldown (line 79) | pub struct WalLagCooldown { method new (line 87) | pub fn new(attach_start: Instant, attach_duration: Duration) -> Self { type WalIngest (line 95) | pub struct WalIngest { method new (line 199) | pub async fn new( method ingest_record (line 234) | pub async fn ingest_record( method adjust_to_full_transaction_id (line 382) | fn adjust_to_full_transaction_id(&self, xid: TransactionId) -> Result<... method ingest_clear_vm_bits (line 402) | async fn ingest_clear_vm_bits( method ingest_xlog_dbase_create (line 509) | async fn ingest_xlog_dbase_create( method ingest_xlog_dbase_drop (line 612) | async fn ingest_xlog_dbase_drop( method ingest_xlog_smgr_create (line 630) | async fn ingest_xlog_smgr_create( method ingest_xlog_smgr_truncate (line 644) | async fn ingest_xlog_smgr_truncate( method warn_on_ingest_lag (line 741) | fn warn_on_ingest_lag( method ingest_xact_record (line 796) | async fn ingest_xact_record( method ingest_clog_truncate (line 920) | async fn ingest_clog_truncate( method ingest_clog_zero_page (line 996) | async fn ingest_clog_zero_page( method ingest_multixact_create (line 1015) | fn ingest_multixact_create( method ingest_multixact_truncate (line 1117) | async fn ingest_multixact_truncate( method ingest_multixact_zero_page (line 1165) | async fn ingest_multixact_zero_page( method ingest_relmap_update (line 1187) | async fn ingest_relmap_update( method ingest_raw_xlog_record (line 1200) | async fn ingest_raw_xlog_record( method ingest_logical_message_put (line 1346) | async fn ingest_logical_message_put( method ingest_standby_record (line 1356) | fn ingest_standby_record(&mut self, record: StandbyRecord) -> Result<(... method ingest_replorigin_record (line 1370) | async fn ingest_replorigin_record( method put_rel_creation (line 1389) | async fn put_rel_creation( method put_rel_page_image (line 1400) | async fn put_rel_page_image( method put_rel_wal_record (line 1414) | async fn put_rel_wal_record( method put_rel_truncation (line 1428) | async fn put_rel_truncation( method handle_rel_extend (line 1439) | async fn handle_rel_extend( method put_slru_page_image (line 1532) | async fn put_slru_page_image( method handle_slru_extend (line 1551) | async fn handle_slru_extend( type WarnIngestLag (line 103) | struct WarnIngestLag { type WalIngestError (line 109) | pub struct WalIngestError { method from (line 149) | fn from(value: T) -> Self { method source (line 158) | fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { method fmt (line 164) | fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { method fmt (line 170) | fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { type WalIngestErrorKind (line 115) | pub enum WalIngestErrorKind { function get_relsize (line 1604) | async fn get_relsize( constant TESTREL_A (line 1637) | const TESTREL_A: RelTag = RelTag { function assert_current_logical_size (line 1644) | fn assert_current_logical_size(_timeline: &Timeline, _lsn: Lsn) { function test_zeroed_checkpoint_decodes_correctly (line 1649) | async fn test_zeroed_checkpoint_decodes_correctly() -> Result<(), anyhow... function init_walingest_test (line 1659) | async fn init_walingest_test(tline: &Timeline, ctx: &RequestContext) -> ... function test_relsize (line 1673) | async fn test_relsize() -> Result<()> { function test_drop_extend (line 2000) | async fn test_drop_extend() -> Result<()> { function test_truncate_extend (line 2076) | async fn test_truncate_extend() -> Result<()> { function test_large_rel (line 2257) | async fn test_large_rel() -> Result<()> { function test_ingest_real_wal (line 2344) | async fn test_ingest_real_wal() { FILE: pageserver/src/walredo.rs type PostgresRedoManager (line 55) | pub struct PostgresRedoManager { method request_redo (line 173) | pub async fn request_redo( method ping (line 248) | pub async fn ping(&self, pg_version: PgMajorVersion) -> Result<(), Err... method status (line 257) | pub fn status(&self) -> WalRedoManagerStatus { method new (line 279) | pub fn new( method shutdown (line 307) | pub async fn shutdown(&self) -> bool { method maybe_quiesce (line 338) | pub(crate) fn maybe_quiesce(&self, idle_timeout: Duration) { method do_with_walredo_process (line 352) | async fn do_with_walredo_process< method apply_batch_postgres (line 450) | async fn apply_batch_postgres( method apply_batch_neon (line 542) | fn apply_batch_neon( method apply_record_neon (line 580) | fn apply_record_neon( type ProcessOnceCell (line 106) | enum ProcessOnceCell { type Process (line 111) | struct Process { type Target (line 119) | type Target = process::WalRedoProcess; method deref (line 121) | fn deref(&self) -> &Self::Target { type Error (line 127) | pub enum Error { type RedoAttemptType (line 141) | pub enum RedoAttemptType { method fmt (line 151) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type RedoHarness (line 599) | pub struct RedoHarness { method new (line 607) | pub fn new() -> anyhow::Result { method span (line 623) | pub fn span(&self) -> tracing::Span { function test_ping (line 644) | async fn test_ping() { function short_v14_redo (line 655) | async fn short_v14_redo() { function short_v14_fails_for_wrong_key_but_returns_zero_page (line 685) | async fn short_v14_fails_for_wrong_key_but_returns_zero_page() { function test_stderr (line 716) | async fn test_stderr() { function short_records (line 734) | fn short_records() -> Vec<(Lsn, NeonWalRecord)> { FILE: pageserver/src/walredo/apply_neon.rs function can_apply_in_neon (line 18) | pub(crate) fn can_apply_in_neon(rec: &NeonWalRecord) -> bool { function apply_in_neon (line 31) | pub(crate) fn apply_in_neon( FILE: pageserver/src/walredo/process.rs type WalRedoProcess (line 28) | pub struct WalRedoProcess { method launch (line 58) | pub(crate) fn launch( method id (line 182) | pub(crate) fn id(&self) -> u32 { method apply_wal_records (line 196) | pub(crate) async fn apply_wal_records( method ping (line 254) | pub(crate) async fn ping(&self, timeout: Duration) -> anyhow::Result<(... method apply_wal_records0 (line 277) | async fn apply_wal_records0(&self, writebuf: &[u8]) -> anyhow::Result<... method record_and_log (line 370) | fn record_and_log(&self, writebuf: &[u8]) { method record_and_log (line 402) | fn record_and_log(&self, _: &[u8]) {} type ProcessInput (line 42) | struct ProcessInput { type ProcessOutput (line 47) | struct ProcessOutput { method drop (line 406) | fn drop(&mut self) { FILE: pageserver/src/walredo/process/no_leak_child.rs type NoLeakChild (line 12) | pub(crate) struct NoLeakChild { method spawn (line 32) | pub(crate) fn spawn(tenant_id: TenantShardId, command: &mut Command) -... method kill_and_wait (line 40) | pub(crate) fn kill_and_wait(mut self, cause: WalRedoKillCause) { method kill_and_wait_impl (line 49) | pub(crate) fn kill_and_wait_impl(mut child: Child, cause: WalRedoKillC... type Target (line 18) | type Target = Child; method deref (line 20) | fn deref(&self) -> &Self::Target { method deref_mut (line 26) | fn deref_mut(&mut self) -> &mut Self::Target { method drop (line 82) | fn drop(&mut self) { type NoLeakChildCommandExt (line 108) | pub(crate) trait NoLeakChildCommandExt { method spawn_no_leak_child (line 109) | fn spawn_no_leak_child(&mut self, tenant_id: TenantShardId) -> io::Res... method spawn_no_leak_child (line 113) | fn spawn_no_leak_child(&mut self, tenant_id: TenantShardId) -> io::Res... FILE: pageserver/src/walredo/process/protocol.rs type BufferTag (line 14) | pub(crate) struct BufferTag { function build_begin_redo_for_block_msg (line 19) | pub(crate) fn build_begin_redo_for_block_msg(tag: BufferTag, buf: &mut V... function build_push_page_msg (line 29) | pub(crate) fn build_push_page_msg(tag: BufferTag, base_img: &[u8], buf: ... function build_apply_record_msg (line 41) | pub(crate) fn build_apply_record_msg(endlsn: Lsn, rec: &[u8], buf: &mut ... function build_get_page_msg (line 50) | pub(crate) fn build_get_page_msg(tag: BufferTag, buf: &mut Vec) { function build_ping_msg (line 59) | pub(crate) fn build_ping_msg(buf: &mut Vec) { FILE: pgxn/neon/communicator.c type PrefetchStatus (line 170) | typedef enum PrefetchStatus type PrefetchRequestFlags (line 182) | typedef enum { type PrefetchRequest (line 187) | typedef struct PrefetchRequest type PrfHashEntry (line 201) | typedef struct PrfHashEntry type PrefetchState (line 239) | typedef struct PrefetchState function pg_init_communicator (line 308) | void function compact_prefetch_buffers (line 315) | static bool function check_getpage_response (line 415) | static void function communicator_prefetch_pump_state (line 467) | void function readahead_buffer_resize (line 528) | void function prefetch_on_exit (line 641) | static void function consume_prefetch_responses (line 659) | static void function prefetch_cleanup_trailing_unused (line 671) | static void function prefetch_flush_requests (line 690) | static bool function prefetch_wait_for (line 715) | static bool function prefetch_read (line 769) | static bool function communicator_prefetch_receive (line 864) | bool function prefetch_on_ps_disconnect (line 887) | void function prefetch_set_unused (line 944) | static inline void function prefetch_do_request (line 996) | static void function communicator_prefetch_lookupv (line 1048) | int function communicator_prefetch_register_bufferv (line 1143) | void function uint64 (line 1158) | static uint64 function equal_requests (line 1400) | static bool function NeonResponse (line 1411) | static NeonResponse * function StringInfoData (line 1483) | StringInfoData function NeonResponse (line 1568) | NeonResponse * function communicator_init (line 1870) | void function neon_prefetch_response_usable (line 1920) | static bool function communicator_exists (line 2015) | bool function communicator_read_at_lsnv (line 2092) | void function BlockNumber (line 2264) | BlockNumber function int64 (line 2336) | int64 function communicator_read_slru_segment (line 2401) | int function communicator_reconfigure_timeout_if_needed (line 2495) | void function pagestore_timeout_handler (line 2537) | static void function communicator_processinterrupts (line 2559) | static bool FILE: pgxn/neon/communicator/build.rs function main (line 3) | fn main() -> Result<(), Box> { FILE: pgxn/neon/communicator/src/lib.rs constant NEON_COMMUNICATOR_SOCKET_NAME (line 5) | const NEON_COMMUNICATOR_SOCKET_NAME: &str = "neon-communicator.socket"; FILE: pgxn/neon/communicator/src/worker_process/callbacks.rs function callback_set_my_latch_unsafe (line 10) | pub fn callback_set_my_latch_unsafe(); function callback_get_lfc_metrics_unsafe (line 11) | pub fn callback_get_lfc_metrics_unsafe() -> LfcMetrics; function callback_set_my_latch_unsafe (line 19) | unsafe fn callback_set_my_latch_unsafe() { function callback_get_lfc_metrics_unsafe (line 23) | unsafe fn callback_get_lfc_metrics_unsafe() -> LfcMetrics { function callback_set_my_latch (line 29) | pub(super) fn callback_set_my_latch() { function callback_get_lfc_metrics (line 33) | pub(super) fn callback_get_lfc_metrics() -> LfcMetrics { type LfcMetrics (line 39) | pub struct LfcMetrics { FILE: pgxn/neon/communicator/src/worker_process/control_socket.rs method launch_control_socket_listener (line 33) | pub(crate) async fn launch_control_socket_listener( function get_metrics (line 71) | async fn get_metrics(State(state): State<&CommunicatorWorkerProcessStruc... function get_autoscaling_metrics (line 79) | async fn get_autoscaling_metrics( function handle_debug_panic (line 86) | async fn handle_debug_panic(State(_state): State<&CommunicatorWorkerProc... function metrics_to_response (line 91) | async fn metrics_to_response(metrics: &(dyn MetricGroup Result<(), usize { method encode (line 64) | fn encode(&self) -> usize { method decode (line 68) | fn decode(value: usize) -> Self { method visit (line 74) | fn visit(&self, v: V) -> V::Output { method visit_values (line 80) | fn visit_values(&self, v: &mut impl measured::label::LabelGroupVisitor) { FILE: pgxn/neon/communicator/src/worker_process/logging.rs type LoggingReceiver (line 25) | pub struct LoggingReceiver { type LoggingSender (line 30) | struct LoggingSender { type Writer (line 166) | type Writer = EventBuilder<'a>; method make_writer (line 168) | fn make_writer(&'a self) -> Self::Writer { method make_writer_for (line 172) | fn make_writer_for(&'a self, meta: &Metadata<'_>) -> Self::Writer { method send_event (line 184) | fn send_event(&self, e: FormattedEventWithMeta) { function communicator_worker_configure_logging (line 39) | pub extern "C" fn communicator_worker_configure_logging() -> Box Self { type EventBuilder (line 140) | struct EventBuilder<'a> { function write (line 147) | fn write(&mut self, buf: &[u8]) -> std::io::Result { function flush (line 150) | fn flush(&mut self) -> std::io::Result<()> { method drop (line 157) | fn drop(&mut self) { type SimpleFormatter (line 210) | struct SimpleFormatter; method format_event (line 217) | fn format_event( FILE: pgxn/neon/communicator/src/worker_process/main_loop.rs type CommunicatorWorkerProcessStruct (line 11) | pub struct CommunicatorWorkerProcessStruct { method collect_group_into (line 63) | fn collect_group_into(&self, enc: &mut T) -> Result<(), T::Err> { function init (line 19) | pub(super) fn init( FILE: pgxn/neon/communicator/src/worker_process/worker_interface.rs function communicator_worker_launch (line 26) | pub extern "C" fn communicator_worker_launch( FILE: pgxn/neon/communicator_process.c type LoggingReceiver (line 40) | struct LoggingReceiver function pg_init_communicator_process (line 45) | void function communicator_new_bgworker_main (line 70) | void function pump_logging (line 193) | static void function callback_set_my_latch_unsafe (line 269) | void FILE: pgxn/neon/extension_server.c function neon_download_extension_file_http (line 33) | static bool function pg_init_extension_server (line 77) | void FILE: pgxn/neon/file_cache.c type FileCacheBlockState (line 114) | typedef enum FileCacheBlockState type FileCacheEntry (line 123) | typedef struct FileCacheEntry type PrewarmWorkerState (line 142) | typedef struct PrewarmWorkerState type FileCacheControl (line 149) | typedef struct FileCacheControl function lfc_close_file (line 239) | static void function lfc_switch_off (line 255) | static void function lfc_disable (line 299) | static void function lfc_maybe_disabled (line 312) | static bool function lfc_ensure_opened (line 322) | static bool function LfcShmemInit (line 344) | void function LfcShmemRequest (line 398) | void function is_normal_backend (line 408) | static bool function lfc_check_chunk_size (line 421) | static bool function lfc_change_chunk_size (line 432) | static void function lfc_check_limit_hook (line 439) | static bool function lfc_change_limit_hook (line 450) | static void function lfc_init (line 529) | void function FileCacheState (line 644) | FileCacheState* function lfc_prewarm (line 710) | void function lfc_prewarm_main (line 864) | void function lfc_invalidate (line 978) | void function lfc_cache_contains (line 1021) | bool function lfc_cache_containsv (line 1054) | int function lfc_readv_select (line 1159) | int function lfc_init_new_entry (line 1409) | static bool function lfc_prefetch (line 1519) | bool function lfc_writev (line 1669) | void function LfcStatsEntry (line 1864) | LfcStatsEntry * function LocalCachePagesRec (line 1905) | LocalCachePagesRec * function int32 (line 1989) | int32 function callback_get_lfc_metrics_unsafe (line 2011) | struct LfcMetrics function Datum (line 2037) | Datum function Datum (line 2050) | Datum function Datum (line 2064) | Datum FILE: pgxn/neon/file_cache.h type FileCacheState (line 16) | typedef struct FileCacheState type LfcStatsEntry (line 50) | typedef struct LfcStatsEntry type LocalCachePagesRec (line 58) | typedef struct function lfc_read (line 73) | static inline bool function lfc_write (line 81) | static inline void FILE: pgxn/neon/hll.c function uint8 (line 80) | static inline uint8 function initSHLL (line 99) | void function addSHLL (line 114) | void function uint8 (line 130) | static uint8 function estimateSHLL (line 150) | double FILE: pgxn/neon/hll.h type HyperLogLogState (line 77) | typedef struct HyperLogLogState FILE: pgxn/neon/libpagestore.c type NeonComputeMode (line 54) | enum NeonComputeMode { type config_enum_entry (line 60) | struct config_enum_entry type ShardMap (line 95) | typedef struct type PagestoreShmemState (line 126) | typedef struct type PSConnectionState (line 136) | typedef enum PSConnectionState { type PageServer (line 144) | typedef struct function PagestoreShmemIsValid (line 190) | static bool function ParseShardMap (line 203) | static bool function CheckPageserverConnstring (line 255) | static bool function AssignPageserverConnstring (line 263) | static void function shardno_t (line 301) | shardno_t get_num_shards(void) function load_shard_map (line 326) | static void function shardno_t (line 389) | shardno_t function CLEANUP_AND_DISCONNECT (line 409) | static inline void function pageserver_connect (line 436) | static bool function get_socket_stats (line 794) | static void function get_local_port (line 824) | static void function call_PQgetCopyData (line 842) | static int function pageserver_disconnect (line 1002) | static void function pageserver_disconnect_shard (line 1019) | static void function hadron_request_configuration_refresh (line 1058) | static bool function pageserver_send (line 1134) | static bool function NeonResponse (line 1218) | static NeonResponse * function NeonResponse (line 1307) | static NeonResponse * function pageserver_flush (line 1400) | static bool function check_neon_id (line 1435) | static bool function PagestoreShmemInit (line 1443) | void function PagestoreShmemRequest (line 1460) | void function pg_init_libpagestore (line 1469) | void FILE: pgxn/neon/libpqwalproposer.h type WalProposerExecStatusType (line 10) | typedef enum type PGAsyncReadResult (line 35) | typedef enum type PGAsyncWriteResult (line 50) | typedef enum type WalProposerConn (line 81) | typedef struct WalProposerConn FILE: pgxn/neon/logical_replication_monitor.c type SnapDesc (line 35) | typedef struct SnapDesc { function SnapDescComparator (line 45) | static int function XLogRecPtr (line 64) | static XLogRecPtr function InitLogicalReplicationMonitor (line 177) | void function LogicalSlotsMonitorMain (line 225) | void FILE: pgxn/neon/neon--1.0--1.1.sql function neon_get_lfc_stats (line 3) | CREATE FUNCTION neon_get_lfc_stats() type neon_lfc_stats (line 9) | CREATE VIEW neon_lfc_stats AS FILE: pgxn/neon/neon--1.0.sql function pg_cluster_size (line 3) | CREATE FUNCTION pg_cluster_size() function backpressure_lsns (line 9) | CREATE FUNCTION backpressure_lsns( function backpressure_throttling_time (line 19) | CREATE FUNCTION backpressure_throttling_time() function local_cache_pages (line 25) | CREATE FUNCTION local_cache_pages() type local_cache (line 31) | CREATE VIEW local_cache AS FILE: pgxn/neon/neon--1.1--1.2.sql type NEON_STAT_FILE_CACHE (line 5) | CREATE OR REPLACE VIEW NEON_STAT_FILE_CACHE AS FILE: pgxn/neon/neon--1.2--1.3.sql function approximate_working_set_size (line 3) | CREATE FUNCTION approximate_working_set_size(reset bool) FILE: pgxn/neon/neon--1.3--1.4.sql function approximate_working_set_size_seconds (line 3) | CREATE FUNCTION approximate_working_set_size_seconds(duration integer de... FILE: pgxn/neon/neon--1.4--1.5.sql function get_backend_perf_counters (line 4) | CREATE FUNCTION get_backend_perf_counters() function get_perf_counters (line 9) | CREATE FUNCTION get_perf_counters() type neon_backend_perf_counters (line 21) | CREATE VIEW neon_backend_perf_counters AS type neon_perf_counters (line 33) | CREATE VIEW neon_perf_counters AS FILE: pgxn/neon/neon--1.5--1.6.sql function get_prewarm_info (line 3) | CREATE FUNCTION get_prewarm_info(out total_pages integer, out prewarmed_... function get_local_cache_state (line 9) | CREATE FUNCTION get_local_cache_state(max_chunks integer default null) function prewarm_local_cache (line 15) | CREATE FUNCTION prewarm_local_cache(state bytea, n_workers integer defau... FILE: pgxn/neon/neon.c type RunningXactsOverflowPolicies (line 87) | enum RunningXactsOverflowPolicies { type config_enum_entry (line 93) | struct config_enum_entry type config_enum_entry (line 100) | struct config_enum_entry function RestoreRunningXactsFromClog (line 164) | static bool function ReportSearchPath (line 419) | static void function DatabricksSqlErrorHookImpl (line 451) | static void DatabricksSqlErrorHookImpl(ErrorData *edata) { function _PG_init (line 465) | void function Datum (line 673) | Datum function Datum (line 686) | Datum function Datum (line 712) | Datum function Datum (line 718) | Datum function Datum (line 733) | Datum function Datum (line 746) | Datum function Datum (line 777) | Datum function neon_shmem_request_hook (line 822) | static void function neon_shmem_startup_hook (line 844) | static void function neon_ExecutorStart (line 881) | static void function neon_ExecutorEnd (line 910) | static void FILE: pgxn/neon/neon_ddl_handler.c type OpType (line 72) | typedef enum type DbEntry (line 78) | typedef struct type RoleEntry (line 86) | typedef struct type DdlHashTable (line 99) | typedef struct DdlHashTable function PushKeyValue (line 111) | static void type ErrorString (line 220) | typedef struct function ErrorWriteCallback (line 226) | static size_t function SendDeltasToControlPlane (line 247) | static void function InitCurrentDdlTableIfNeeded (line 338) | static void function InitDbTableIfNeeded (line 353) | static void function InitRoleTableIfNeeded (line 372) | static void function PushTable (line 391) | static void function MergeTable (line 397) | static void function PopTable (line 498) | static void function NeonSubXactCallback (line 512) | static void function NeonXactCallback (line 532) | static void function IsPrivilegedRole (line 544) | static bool function HandleCreateDb (line 552) | static void function HandleAlterOwner (line 593) | static void function HandleDbRename (line 621) | static void function HandleDropDb (line 660) | static void function HandleCreateRole (line 678) | static void function HandleAlterRole (line 710) | static void function HandleRoleRename (line 756) | static void function HandleDropRole (line 797) | static void function HandleRename (line 822) | static void function neon_needs_fmgr_hook (line 845) | static bool function LookupFuncOwnerSecDef (line 852) | static void function Datum (line 872) | Datum noop(__attribute__ ((unused)) PG_FUNCTION_ARGS) { PG_RETURN_VOID();} function force_noop (line 874) | static void function neon_fmgr_hook (line 899) | static void function switch_to_superuser (line 1027) | static bool function switch_to_original_role (line 1047) | static void function alter_role_super (line 1067) | static void function alter_event_trigger_owner (line 1104) | static void function ProcessCreateEventTrigger (line 1122) | static void function NeonProcessUtility (line 1262) | static void function neon_event_triggers_assign_hook (line 1360) | static void function InitDDLHandler (line 1373) | void FILE: pgxn/neon/neon_lwlsncache.c type LastWrittenLsnCacheEntry (line 17) | typedef struct LastWrittenLsnCacheEntry type LwLsnCacheCtl (line 25) | typedef struct LwLsnCacheCtl { function lwlc_register_gucs (line 55) | static void function init_lwlsncache (line 87) | void function LwLsnCacheShmemRequest (line 110) | void function LwLsnCacheShmemInit (line 120) | void function XLogRecPtr (line 152) | XLogRecPtr function neon_set_max_lwlsn (line 210) | static void neon_set_max_lwlsn(XLogRecPtr lsn) { function neon_get_lwlsn_v (line 224) | void function XLogRecPtr (line 307) | static XLogRecPtr function XLogRecPtr (line 376) | XLogRecPtr function XLogRecPtr (line 402) | XLogRecPtr function XLogRecPtr (line 469) | XLogRecPtr function XLogRecPtr (line 478) | XLogRecPtr function XLogRecPtr (line 487) | XLogRecPtr FILE: pgxn/neon/neon_perf_counters.c function Size (line 27) | Size function DatabricksMetricsShmemInit (line 33) | void function NeonPerfCountersShmemRequest (line 55) | void function NeonPerfCountersShmemInit (line 76) | void function inc_iohist (line 93) | static inline void function inc_qthist (line 114) | static inline void function inc_getpage_wait (line 138) | void function inc_page_cache_read_wait (line 147) | void function inc_page_cache_write_wait (line 156) | void function inc_query_time (line 163) | void type metric_t (line 174) | typedef struct function io_histogram_to_metrics (line 182) | static int function qt_histogram_to_metrics (line 216) | static int function metric_t (line 250) | static metric_t * function metric_to_datums (line 312) | static void function Datum (line 332) | Datum function io_histogram_merge_into (line 366) | static inline void function qt_histogram_merge_into (line 375) | static inline void function Datum (line 385) | Datum FILE: pgxn/neon/neon_perf_counters.h type IOHistogramData (line 30) | typedef struct IOHistogramData type IOHistogramData (line 37) | typedef IOHistogramData *IOHistogram; type QTHistogramData (line 52) | typedef struct QTHistogramData type QTHistogramData (line 59) | typedef QTHistogramData *QTHistogram; type neon_per_backend_counters (line 61) | typedef struct type databricks_metrics (line 181) | typedef struct FILE: pgxn/neon/neon_pgversioncompat.c function InitMaterializedSRF (line 14) | void function TimeLineID (line 46) | TimeLineID GetWALInsertionTimeLine(void) FILE: pgxn/neon/neon_pgversioncompat.h type PGAlignedBlock (line 13) | typedef PGAlignedBlock PGIOAlignedBlock; function BufferTagsEqual (line 30) | static inline bool function InitBufferTag (line 36) | static inline void FILE: pgxn/neon/neon_utils.c function HexDecodeChar (line 18) | static int function HexDecodeString (line 36) | bool function uint16 (line 58) | uint16 function uint32 (line 68) | uint32 function uint32 (line 78) | uint32 function uint64 (line 92) | uint64 function pq_sendint32_le (line 103) | void function pq_sendint64_le (line 112) | void function disable_core_dump (line 123) | void function CURL (line 158) | CURL * function BufferTagIsValid (line 190) | bool FILE: pgxn/neon/neon_walreader.c type NeonWALReaderRemoteState (line 47) | typedef enum type NeonWALReader (line 61) | struct NeonWALReader function NeonWALReader (line 109) | NeonWALReader * function NeonWALReaderFree (line 136) | void function NeonWALReadResult (line 174) | NeonWALReadResult function NeonWALReadResult (line 202) | static NeonWALReadResult function NeonWALReadResult (line 428) | static NeonWALReadResult function NeonWALReaderResetRemote (line 541) | void function pgsocket (line 563) | pgsocket function NeonWALReaderIsRemConnEstablished (line 576) | bool function TimeLineID (line 587) | TimeLineID function uint32 (line 597) | extern uint32 function NeonWALReadLocal (line 617) | static bool function XLogRecPtr (line 746) | XLogRecPtr function WALOpenSegment (line 752) | const WALOpenSegment * function neon_wal_segment_open (line 764) | bool function is_wal_segment_exists (line 780) | static bool function neon_wal_segment_close (line 791) | void function NeonWALReaderUpdateDonor (line 811) | bool FILE: pgxn/neon/neon_walreader.h type NeonWALReader (line 7) | struct NeonWALReader type NeonWALReader (line 8) | typedef struct NeonWALReader NeonWALReader; type WalProposer (line 11) | struct WalProposer type WalProposer (line 12) | typedef struct WalProposer WalProposer; type NeonWALReadResult (line 15) | typedef enum FILE: pgxn/neon/pagestore_client.h type NeonMessageTag (line 26) | typedef enum type uint64 (line 48) | typedef uint64 NeonRequestId; type NeonMessage (line 51) | typedef struct type SlruKind (line 62) | typedef enum { type NeonMessage (line 94) | typedef NeonMessage NeonRequest; type NeonExistsRequest (line 96) | typedef struct type NeonNblocksRequest (line 103) | typedef struct type NeonDbSizeRequest (line 110) | typedef struct type NeonGetPageRequest (line 116) | typedef struct type NeonGetSlruSegmentRequest (line 124) | typedef struct type NeonMessage (line 133) | typedef NeonMessage NeonResponse; type NeonExistsResponse (line 135) | typedef struct type NeonNblocksResponse (line 141) | typedef struct type NeonGetPageResponse (line 147) | typedef struct type NeonDbSizeResponse (line 155) | typedef struct type NeonErrorResponse (line 161) | typedef struct type NeonGetSlruSegmentResponse (line 168) | typedef struct type DebugCompareLocalMode (line 186) | typedef enum type uint16 (line 200) | typedef uint16 shardno_t; type page_server_api (line 202) | typedef struct type neon_request_lsns (line 257) | typedef struct FILE: pgxn/neon/pagestore_smgr.c type UnloggedBuildPhase (line 89) | typedef enum function XLogRecPtr (line 113) | static XLogRecPtr function XLogRecPtr (line 130) | static XLogRecPtr function PageIsEmptyHeapPage (line 169) | static bool function neon_wallog_pagev (line 180) | static void function neon_wallog_page (line 331) | static void function neon_init (line 449) | static void function XLogRecPtr (line 482) | static XLogRecPtr function neon_get_request_lsns (line 506) | void function neon_exists (line 712) | static bool function neon_create (line 782) | static void function neon_unlink (line 868) | static void function neon_zeroextend (line 991) | static void function neon_open (line 1099) | static void function neon_close (line 1117) | static void function neon_prefetch (line 1132) | static bool function neon_prefetch (line 1188) | static bool function neon_writeback (line 1230) | static void function neon_read_at_lsn (line 1274) | void function compare_with_local (line 1281) | static void function neon_read (line 1373) | static void function compare_with_localv (line 1454) | static void function neon_readv (line 1470) | static void function neon_writev (line 1681) | static void function BlockNumber (line 1739) | static BlockNumber function int64 (line 1792) | int64 function neon_truncate (line 1813) | static void function neon_immedsync (line 1888) | static void function neon_registersync (line 1921) | static void function neon_start_unlogged_build (line 1962) | static void function neon_finish_unlogged_build_phase_1 (line 2031) | static void function neon_end_unlogged_build (line 2067) | static void function neon_read_slru_segment (line 2130) | static int function AtEOXact_neon (line 2185) | static void type f_smgr (line 2220) | struct f_smgr function f_smgr (line 2257) | const f_smgr * function smgr_init_neon (line 2268) | void function neon_extend_rel_size (line 2279) | static void function BlockNumber (line 2326) | static BlockNumber function neon_redo_read_buffer_filter (line 2387) | static bool FILE: pgxn/neon/relsize_cache.c type RelTag (line 27) | typedef struct type RelSizeEntry (line 33) | typedef struct type RelSizeHashControl (line 40) | typedef struct function RelsizeCacheShmemInit (line 61) | void function get_cached_relsize (line 85) | bool function set_cached_relsize (line 118) | void function update_cached_relsize (line 166) | void function forget_cached_relsize (line 200) | void function relsize_hash_init (line 220) | void function RelsizeCacheShmemRequest (line 239) | void FILE: pgxn/neon/unstable_extensions.c function list_contains (line 20) | static bool function CheckUnstableExtension (line 43) | static void function InitUnstableExtensionsSupport (line 104) | void FILE: pgxn/neon/walproposer.c function WalProposer (line 90) | WalProposer * function WalProposerFree (line 210) | void function WalProposerGenerationsEnabled (line 232) | static bool function WalProposerBroadcast (line 242) | void function WalProposerPoll (line 255) | void function WalProposerStart (line 336) | void function WalProposerLoop (line 349) | static void function ShutdownConnection (line 358) | static void function ResetConnection (line 383) | static void function TimeToReconnect (line 452) | static long function ReconnectSafekeepers (line 469) | static void function AdvancePollState (line 489) | static void function HandleConnectionEvent (line 589) | static void function SendStartWALPush (line 655) | static void function RecvStartWALPushResult (line 678) | static void function SendProposerGreeting (line 729) | static void function UpdateMemberSafekeeperPtr (line 752) | static void function ResetMemberSafekeeperPtrs (line 819) | static void function uint32 (line 831) | static uint32 function MsetHasQuorum (line 839) | static bool function TermsCollectedMset (line 851) | static bool function TermsCollected (line 875) | static bool function RecvAcceptorGreeting (line 920) | static void function SendVoteRequest (line 1039) | static void function RecvVoteResponse (line 1055) | static void function VotesCollectedMset (line 1120) | static bool function VotesCollected (line 1166) | static bool function HandleElectedProposer (line 1244) | static void function term_t (line 1299) | static term_t function term_t (line 1306) | static term_t function XLogRecPtr (line 1313) | static XLogRecPtr function ProcessPropStartPos (line 1333) | static void function SendProposerElected (line 1445) | static void function StartStreaming (line 1532) | static void function SendMessageToNode (line 1564) | static void function BroadcastAppendRequest (line 1579) | static void function PrepareAppendRequest (line 1587) | static void function HandleActiveState (line 1603) | static void function SendAppendRequests (line 1647) | static bool function RecvAppendResponses (line 1786) | static bool function ParsePageserverFeedbackMessage (line 1850) | static void function XLogRecPtr (line 1926) | static XLogRecPtr function XLogRecPtr (line 1946) | static XLogRecPtr function XLogRecPtr (line 1994) | static XLogRecPtr function UpdateDonorShmem (line 2043) | static void function HandleSafekeeperResponse (line 2094) | static void function MembershipConfigurationSerialize (line 2179) | static void function PAMessageSerialize (line 2208) | static void function AsyncRead (line 2390) | static bool function MembershipConfigurationDeserialize (line 2416) | static void function AsyncReadMessage (line 2457) | static bool function BlockingWrite (line 2620) | static bool function AsyncWrite (line 2662) | static bool function AsyncFlush (line 2701) | static bool function CompareLsn (line 2732) | static int function AssertEventsOkForState (line 2812) | static void function SafekeeperStateDesiredEvents (line 2847) | void function MembershipConfigurationCopy (line 3019) | static void function MembershipConfigurationFree (line 3031) | static void FILE: pgxn/neon/walproposer.h type WalProposerConn (line 24) | struct WalProposerConn type WalProposerConn (line 25) | typedef struct WalProposerConn WalProposerConn; type SafekeeperState (line 35) | typedef enum type SafekeeperActiveState (line 106) | typedef enum type uint64 (line 138) | typedef uint64 term_t; type uint64 (line 141) | typedef uint64 NNodeId; type uint32 (line 147) | typedef uint32 Generation; type SafekeeperId (line 150) | typedef struct SafekeeperId type MemberSet (line 158) | typedef struct MemberSet type MembershipConfiguration (line 168) | typedef struct MembershipConfiguration type ProposerAcceptorMessage (line 180) | typedef struct ProposerAcceptorMessage type ProposerGreeting (line 186) | typedef struct ProposerGreeting type ProposerGreetingV2 (line 211) | typedef struct ProposerGreetingV2 type AcceptorProposerMessage (line 224) | typedef struct AcceptorProposerMessage type AcceptorGreeting (line 233) | typedef struct AcceptorGreeting type VoteRequest (line 244) | typedef struct VoteRequest type VoteRequestV2 (line 252) | typedef struct VoteRequestV2 type TermSwitchEntry (line 260) | typedef struct TermSwitchEntry type TermHistory (line 266) | typedef struct TermHistory type VoteResponse (line 273) | typedef struct VoteResponse type ProposerElected (line 300) | typedef struct ProposerElected type AppendRequestHeader (line 314) | typedef struct AppendRequestHeader type AppendRequestHeaderV2 (line 332) | typedef struct AppendRequestHeaderV2 type HotStandbyFeedback (line 358) | typedef struct HotStandbyFeedback type PageserverFeedback (line 365) | typedef struct PageserverFeedback type WalRateLimiter (line 392) | typedef struct WalRateLimiter type WalproposerShmemState (line 412) | typedef struct WalproposerShmemState type AppendResponse (line 445) | typedef struct AppendResponse type WalProposer (line 477) | struct WalProposer type WalProposer (line 478) | typedef struct WalProposer WalProposer; type Safekeeper (line 483) | typedef struct Safekeeper type WalProposerConnectPollStatusType (line 573) | typedef enum type WalProposerConnStatusType (line 587) | typedef enum type walproposer_api (line 604) | typedef struct walproposer_api type WalProposerConfig (line 765) | typedef struct WalProposerConfig type WalProposerState (line 822) | typedef enum type WalProposer (line 835) | typedef struct WalProposer FILE: pgxn/neon/walproposer_compat.c function ExceptionalCondition (line 15) | void function pq_copymsgbytes (line 25) | void function pq_getmsgint (line 40) | unsigned int function int64 (line 79) | int64 function pq_getmsgbyte (line 93) | int function pq_getmsgend (line 151) | void function pq_sendbytes (line 162) | void function pq_send_ascii_string (line 184) | void function TimestampDifferenceExceeds (line 212) | bool function WalProposerLibLog (line 222) | void FILE: pgxn/neon/walproposer_pg.c function positive_mb_to_bytes (line 126) | static int positive_mb_to_bytes(int mb) function init_walprop_config (line 139) | static void function PGDLLEXPORT (line 162) | PGDLLEXPORT void function PGDLLEXPORT (line 180) | PGDLLEXPORT void function pg_init_walproposer (line 207) | void function nwp_register_gucs (line 222) | static void function split_safekeepers_list (line 300) | static int function safekeepers_cmp (line 353) | static bool function assign_neon_safekeepers (line 397) | static void function uint64 (line 435) | static uint64 hadron_backpressure_lag_impl(void) function uint64 (line 490) | static uint64 function uint64 (line 560) | static uint64 function Size (line 574) | static Size function WalproposerShmemInit (line 580) | void function WalproposerShmemInit_SyncSafekeeper (line 606) | static void function backpressure_throttling_impl (line 625) | static bool function uint64 (line 676) | uint64 function walprop_register_bgworker (line 688) | static void function WalproposerShmemRequest (line 713) | void function WalproposerShmemState (line 719) | WalproposerShmemState * function WalproposerShmemState (line 726) | static WalproposerShmemState * function PageserverFeedback (line 736) | static PageserverFeedback function replication_feedback_get_lsns (line 785) | void function walprop_pg_start_streaming (line 798) | static void function walprop_pg_init_walsender (line 811) | static void function walprop_pg_init_standalone_sync_safekeepers (line 835) | static void function walprop_sigusr2 (line 886) | static void function walprop_pg_init_bgworker (line 896) | static void function XLogRecPtr (line 922) | static XLogRecPtr function TimestampTz (line 932) | static TimestampTz function TimeLineID (line 938) | TimeLineID function walprop_pg_load_libpqwalreceiver (line 949) | static void function walprop_pg_update_donor (line 957) | static void function ensure_nonblocking_status (line 972) | static bool function WalProposerConnStatusType (line 994) | static WalProposerConnStatusType function WalProposerConn (line 1008) | WalProposerConn * function walprop_connect_start (line 1066) | static void function WalProposerConnectPollStatusType (line 1073) | static WalProposerConnectPollStatusType function libpqwp_send_query (line 1114) | extern bool function walprop_send_query (line 1131) | static bool function WalProposerExecStatusType (line 1137) | WalProposerExecStatusType function WalProposerExecStatusType (line 1216) | static WalProposerExecStatusType function pgsocket (line 1222) | static pgsocket function walprop_flush (line 1228) | static int function PGAsyncReadResult (line 1235) | PGAsyncReadResult function PGAsyncReadResult (line 1319) | static PGAsyncReadResult function PGAsyncWriteResult (line 1325) | static PGAsyncWriteResult function walprop_blocking_write (line 1384) | static bool function libpqwp_disconnect (line 1407) | void function walprop_finish (line 1416) | static void function StartProposerReplication (line 1440) | static void function WalSndLoop (line 1547) | static void function XLogBroadcastWalProposer (line 1565) | static void function WalProposerRecovery (line 1689) | static bool function walprop_pg_wal_reader_allocate (line 1695) | static void function NeonWALReadResult (line 1707) | static NeonWALReadResult function uint32 (line 1739) | static uint32 function walprop_pg_free_event_set (line 1747) | static void function walprop_pg_init_event_set (line 1764) | static void function walprop_pg_add_safekeeper_event_set (line 1790) | static void function add_nwr_event_set (line 1798) | static void function walprop_pg_update_event_set (line 1807) | static void function update_nwr_event_set (line 1820) | static void function walprop_pg_active_state_update_event_set (line 1829) | static void function walprop_pg_rm_safekeeper_event_set (line 1882) | static void function rm_safekeeper_event_set (line 1898) | static void function walprop_pg_wait_event_set (line 1956) | static int function walprop_pg_finish_sync_safekeepers (line 2042) | static void __attribute__((noreturn)) function CheckGracefulShutdown (line 2061) | static void function CombineHotStanbyFeedbacks (line 2087) | static void function walprop_pg_process_safekeeper_feedback (line 2126) | static void function XLogRecPtr (line 2233) | static XLogRecPtr function walprop_pg_strong_random (line 2239) | static bool function walprop_pg_log_internal (line 2245) | static void function SetNeonCurrentClusterSize (line 2251) | void function uint64 (line 2257) | uint64 function walprop_pg_reset_safekeeper_statuses_for_metrics (line 2265) | static void function walprop_pg_update_safekeeper_status_for_metrics (line 2275) | static void FILE: pgxn/neon/walsender_hooks.c type WalSnd (line 29) | struct WalSnd type WalSnd (line 30) | struct WalSnd function XLogRecPtr (line 37) | static XLogRecPtr function NeonWALPageRead (line 70) | static int function NeonWALReadSegmentOpen (line 172) | static void function NeonWALReadSegmentClose (line 179) | static void function NeonOnDemandXLogReaderRoutines (line 186) | void FILE: pgxn/neon/walsender_hooks.h type XLogReaderRoutine (line 4) | struct XLogReaderRoutine type XLogReaderRoutine (line 5) | struct XLogReaderRoutine FILE: pgxn/neon_rmgr/neon_rmgr.c function _PG_init (line 45) | void function neon_rm_redo (line 54) | static void function neon_rm_startup (line 84) | static void function neon_rm_cleanup (line 90) | static void function neon_rm_mask (line 96) | static void function fix_infomask_from_infobits (line 185) | static void function redo_neon_heap_insert (line 208) | static void function redo_neon_heap_delete (line 325) | static void function redo_neon_heap_update (line 398) | static void function redo_neon_heap_lock (line 670) | static void function redo_neon_heap_multi_insert (line 741) | static void FILE: pgxn/neon_rmgr/neon_rmgr_decode.c function neon_rm_decode (line 27) | void function FilterByOrigin (line 71) | static inline bool function DecodeNeonInsert (line 85) | static void function DecodeNeonDelete (line 143) | static void function DecodeNeonUpdate (line 200) | static void function DecodeNeonMultiInsert (line 267) | static void function DecodeXLogTuple (line 374) | static void function neon_rm_decode (line 421) | void function FilterByOrigin (line 465) | static inline bool function DecodeNeonInsert (line 479) | static void function DecodeNeonDelete (line 537) | static void function DecodeNeonUpdate (line 594) | static void function DecodeNeonMultiInsert (line 661) | static void function DecodeXLogTuple (line 768) | static void FILE: pgxn/neon_rmgr/neon_rmgr_desc.c function infobits_desc (line 18) | static void function neon_rm_desc (line 47) | void FILE: pgxn/neon_test_utils/neon_test_utils--1.3.sql function test_consume_xids (line 4) | CREATE FUNCTION test_consume_xids(nxids int) function test_consume_oids (line 10) | CREATE FUNCTION test_consume_oids(oid int) function test_consume_cpu (line 16) | CREATE FUNCTION test_consume_cpu(seconds int) function test_consume_memory (line 22) | CREATE FUNCTION test_consume_memory(megabytes int) function test_release_memory (line 28) | CREATE FUNCTION test_release_memory(megabytes int DEFAULT NULL) function clear_buffer_cache (line 34) | CREATE FUNCTION clear_buffer_cache() function get_raw_page_at_lsn (line 40) | CREATE FUNCTION get_raw_page_at_lsn(relname text, forkname text, blocknu... function get_raw_page_at_lsn (line 45) | CREATE FUNCTION get_raw_page_at_lsn(tbspc oid, db oid, relfilenode oid, ... function neon_xlogflush (line 50) | CREATE FUNCTION neon_xlogflush(lsn pg_lsn DEFAULT NULL) function trigger_panic (line 55) | CREATE FUNCTION trigger_panic() function trigger_segfault (line 60) | CREATE FUNCTION trigger_segfault() FILE: pgxn/neon_test_utils/neontest.c function _PG_init (line 61) | void function Datum (line 78) | Datum function Datum (line 91) | Datum function Datum (line 123) | Datum function Datum (line 162) | Datum function Datum (line 196) | Datum function Datum (line 233) | Datum function Datum (line 304) | Datum function Datum (line 404) | Datum function Datum (line 464) | Datum function Datum (line 509) | Datum function Datum (line 519) | Datum FILE: pgxn/neon_utils/neon_utils--1.0.sql function num_cpus (line 1) | CREATE FUNCTION num_cpus() FILE: pgxn/neon_utils/neon_utils.c function Datum (line 24) | Datum FILE: pgxn/neon_walredo/inmem_smgr.c function locate_page (line 45) | static int function inmem_init (line 108) | static void function inmem_exists (line 117) | static bool function inmem_create (line 138) | static void function inmem_unlink (line 146) | static void function inmem_zeroextend (line 173) | static void function inmem_open (line 184) | static void function inmem_close (line 192) | static void function inmem_prefetch (line 198) | static bool function inmem_prefetch (line 208) | static bool function inmem_writeback (line 218) | static void function inmem_read (line 232) | static void function inmem_readv (line 247) | static void function inmem_writev (line 311) | static void function BlockNumber (line 325) | static BlockNumber function inmem_truncate (line 344) | static void function inmem_immedsync (line 352) | static void function inmem_registersync (line 358) | static void type f_smgr (line 364) | struct f_smgr function f_smgr (line 401) | const f_smgr * function smgr_init_inmem (line 412) | void FILE: pgxn/neon_walredo/neon_seccomp.h type PgSeccompRule (line 6) | typedef struct { FILE: pgxn/neon_walredo/seccomp.c function seccomp_load_rules (line 111) | void function do_seccomp_load_rules (line 177) | static int function die (line 208) | static void function seccomp_test_sighandler (line 220) | static void function seccomp_deny_sighandler (line 240) | static void FILE: pgxn/neon_walredo/walredoproc.c function close_range_syscall (line 167) | static int function enter_seccomp_mode (line 208) | static void function PGDLLEXPORT (line 240) | PGDLLEXPORT void function CreateFakeSharedMemoryAndSemaphores (line 451) | static void function Buffer (line 605) | static inline Buffer function ReadRedoCommand (line 658) | static int function BeginRedoForBlock (line 716) | static void function PushPage (line 764) | static void function ApplyRecord (line 810) | static void function apply_error_callback (line 931) | static void function redo_block_filter (line 955) | static bool function GetPage (line 995) | static void function Ping (line 1058) | static void function buffered_read (line 1105) | static ssize_t FILE: pre-commit.py class Color (line 13) | class Color(enum.Enum): function colorify (line 22) | def colorify( function cargo_fmt (line 32) | def cargo_fmt(fix_inplace: bool = False, no_color: bool = False) -> str: function ruff_check (line 41) | def ruff_check(fix_inplace: bool) -> str: function ruff_format (line 48) | def ruff_format(fix_inplace: bool) -> str: function mypy (line 55) | def mypy() -> str: function get_commit_files (line 59) | def get_commit_files() -> list[str]: function check (line 64) | def check( FILE: proxy/src/auth/backend/classic.rs function authenticate (line 13) | pub(super) async fn authenticate( FILE: proxy/src/auth/backend/console_redirect.rs type ConsoleRedirectError (line 26) | pub(crate) enum ConsoleRedirectError { type ConsoleRedirectBackend (line 38) | pub struct ConsoleRedirectBackend { method new (line 88) | pub fn new(console_uri: reqwest::Url, api: cplane_proxy_v1::NeonContro... method get_api (line 92) | pub(crate) fn get_api(&self) -> &cplane_proxy_v1::NeonControlPlaneClie... method authenticate (line 96) | pub(crate) async fn authenticate( function fmt (line 44) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method to_string_client (line 50) | fn to_string_client(&self) -> String { method get_error_kind (line 56) | fn get_error_kind(&self) -> crate::error::ErrorKind { function hello_message (line 65) | fn hello_message( function new_psql_session_id (line 83) | pub(crate) fn new_psql_session_id() -> String { type ConsoleRedirectNodeInfo (line 110) | pub struct ConsoleRedirectNodeInfo(pub(super) NodeInfo); method wake_compute (line 114) | async fn wake_compute( function authenticate (line 122) | async fn authenticate( FILE: proxy/src/auth/backend/hacks.rs function authenticate_cleartext (line 17) | pub(crate) async fn authenticate_cleartext( function password_hack_no_authentication (line 63) | pub(crate) async fn password_hack_no_authentication( FILE: proxy/src/auth/backend/jwt.rs constant CLOCK_SKEW_LEEWAY (line 29) | const CLOCK_SKEW_LEEWAY: Duration = Duration::from_secs(30); constant MIN_RENEW (line 30) | const MIN_RENEW: Duration = Duration::from_secs(30); constant AUTO_RENEW (line 31) | const AUTO_RENEW: Duration = Duration::from_secs(300); constant MAX_RENEW (line 32) | const MAX_RENEW: Duration = Duration::from_secs(3600); constant MAX_JWK_BODY_SIZE (line 33) | const MAX_JWK_BODY_SIZE: usize = 64 * 1024; constant JWKS_USER_AGENT (line 34) | const JWKS_USER_AGENT: &str = "neon-proxy"; constant JWKS_CONNECT_TIMEOUT (line 36) | const JWKS_CONNECT_TIMEOUT: Duration = Duration::from_secs(2); constant JWKS_FETCH_TIMEOUT (line 37) | const JWKS_FETCH_TIMEOUT: Duration = Duration::from_secs(5); constant JWKS_FETCH_RETRIES (line 38) | const JWKS_FETCH_RETRIES: u32 = 3; type FetchAuthRules (line 41) | pub(crate) trait FetchAuthRules: Clone + Send + Sync + 'static { method fetch_auth_rules (line 42) | fn fetch_auth_rules( method fetch_auth_rules (line 976) | async fn fetch_auth_rules( type FetchAuthRulesError (line 50) | pub(crate) enum FetchAuthRulesError { type AuthRule (line 59) | pub(crate) struct AuthRule { type JwkCache (line 66) | pub struct JwkCache { method check_jwt (line 439) | pub(crate) async fn check_jwt( type JwkCacheEntry (line 72) | pub(crate) struct JwkCacheEntry { method find_jwk_and_audience (line 82) | fn find_jwk_and_audience( type KeySet (line 100) | struct KeySet { method find_key (line 107) | fn find_key(&self, key_id: &str) -> Option<&jose_jwk::Jwk> { type JwkCacheEntryLock (line 115) | pub(crate) struct JwkCacheEntryLock { method acquire_permit (line 225) | async fn acquire_permit(self: &Arc) -> JwkRenewalPermit<'_> { method try_acquire_permit (line 229) | fn try_acquire_permit(self: &Arc) -> Option> { method renew_jwks (line 233) | async fn renew_jwks( method get_or_update_jwk_cache (line 279) | async fn get_or_update_jwk_cache( method check_jwt (line 332) | async fn check_jwt( method default (line 121) | fn default() -> Self { type JwkSet (line 130) | struct JwkSet<'a> { function fetch_jwks (line 139) | async fn fetch_jwks( method default (line 463) | fn default() -> Self { function verify_ec_signature (line 487) | fn verify_ec_signature(data: &[u8], sig: &[u8], key: &jose_jwk::Ec) -> R... function verify_rsa_signature (line 504) | fn verify_rsa_signature( type JwtHeader (line 530) | struct JwtHeader<'a> { type JwtPayload (line 542) | struct JwtPayload<'a> { type OneOrMany (line 584) | struct OneOrMany(Vec); method deserialize (line 587) | fn deserialize(deserializer: D) -> Result function numeric_date_opt (line 621) | fn numeric_date_opt<'de, D: Deserializer<'de>>(d: D) -> Result { type JwkRenewalPermitInner (line 637) | enum JwkRenewalPermitInner<'a> { function into_owned (line 643) | fn into_owned(mut self) -> JwkRenewalPermit<'static> { function acquire_permit (line 649) | async fn acquire_permit(from: &Arc) -> JwkRenewalPerm... function try_acquire_permit (line 661) | fn try_acquire_permit(from: &Arc) -> Option JwkRenewalPermitInner<'static> { method drop (line 685) | fn drop(&mut self) { type JwtError (line 697) | pub(crate) enum JwtError { method from (line 736) | fn from(err: base64::DecodeError) -> Self { method from (line 742) | fn from(err: serde_json::Error) -> Self { type JwtEncodingError (line 749) | pub enum JwtEncodingError { type JwtClaimsError (line 762) | pub enum JwtClaimsError { type KeyType (line 775) | pub(crate) enum KeyType { method from (line 784) | fn from(key: &jose_jwk::Key) -> Self { function new_ec_jwk (line 816) | fn new_ec_jwk(kid: String) -> (p256::SecretKey, jose_jwk::Jwk) { function new_rsa_jwk (line 830) | fn new_rsa_jwk(key: &str, kid: String) -> (rsa::RsaPrivateKey, jose_jwk:... function now (line 844) | fn now() -> u64 { function build_jwt_payload (line 851) | fn build_jwt_payload(kid: String, sig: jose_jwa::Signing) -> String { function build_custom_jwt_payload (line 865) | fn build_custom_jwt_payload( function new_ec_jwt (line 881) | fn new_ec_jwt(kid: String, key: &p256::SecretKey) -> String { function new_custom_ec_jwt (line 891) | fn new_custom_ec_jwt(kid: String, key: &p256::SecretKey, body: impl Seri... function new_rsa_jwt (line 901) | fn new_rsa_jwt(kid: String, key: rsa::RsaPrivateKey) -> String { constant RS1 (line 913) | const RS1: &str = "-----BEGIN PRIVATE KEY----- constant RS2 (line 942) | const RS2: &str = "-----BEGIN PRIVATE KEY----- type Fetch (line 973) | struct Fetch(Vec); function jwks_server (line 985) | async fn jwks_server( function check_jwt_happy_path (line 1018) | async fn check_jwt_happy_path() { function check_jwt_regression_cognito_issuer (line 1090) | async fn check_jwt_regression_cognito_issuer() { function check_jwt_invalid_signature (line 1145) | async fn check_jwt_invalid_signature() { function check_jwt_unknown_role (line 1185) | async fn check_jwt_unknown_role() { function check_jwt_invalid_claims (line 1225) | async fn check_jwt_invalid_claims() { function check_jwk_keycloak_regression (line 1325) | async fn check_jwk_keycloak_regression() { FILE: proxy/src/auth/backend/local.rs type LocalBackend (line 19) | pub struct LocalBackend { method new (line 26) | pub fn new(postgres_addr: SocketAddr, compute_ctl: ApiUrl) -> Self { type StaticAuthRules (line 53) | pub(crate) struct StaticAuthRules; method fetch_auth_rules (line 58) | async fn fetch_auth_rules( FILE: proxy/src/auth/backend/mod.rs type MaybeOwned (line 38) | pub enum MaybeOwned<'a, T> { type Target (line 44) | type Target = T; function deref (line 46) | fn deref(&self) -> &Self::Target { type Backend (line 62) | pub enum Backend<'a, T> { function fmt (line 70) | fn fmt(&self, fmt: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function as_ref (line 105) | pub(crate) fn as_ref(&self) -> Backend<'_, &T> { function get_api (line 112) | pub(crate) fn get_api(&self) -> &ControlPlaneClient { function is_local_proxy (line 119) | pub(crate) fn is_local_proxy(&self) -> bool { function map (line 128) | pub(crate) fn map(self, f: impl FnOnce(T) -> R) -> Backend<'a, R> { function transpose (line 138) | pub(crate) fn transpose(self) -> Result, E> { type ComputeCredentials (line 146) | pub(crate) struct ComputeCredentials { type ComputeUserInfoNoEndpoint (line 152) | pub(crate) struct ComputeUserInfoNoEndpoint { type ComputeUserInfo (line 158) | pub(crate) struct ComputeUserInfo { method endpoint_cache_key (line 165) | pub(crate) fn endpoint_cache_key(&self) -> EndpointCacheKey { type Error (line 178) | type Error = ComputeUserInfoNoEndpoint; method try_from (line 180) | fn try_from(user_info: ComputeUserInfoMaybeEndpoint) -> Result &str { function authenticate (line 319) | pub(crate) async fn authenticate( function get_role_secret (line 375) | pub(crate) async fn get_role_secret( function get_endpoint_access_control (line 388) | pub(crate) async fn get_endpoint_access_control( method wake_compute (line 409) | async fn wake_compute( type Auth (line 451) | struct Auth { method get_role_access_control (line 459) | async fn get_role_access_control( method get_endpoint_access_control (line 470) | async fn get_endpoint_access_control( method get_endpoint_jwks (line 484) | async fn get_endpoint_jwks( method wake_compute (line 493) | async fn wake_compute( function read_message (line 513) | async fn read_message(r: &mut (impl AsyncRead + Unpin), b: &mut BytesMut... function auth_quirks_scram (line 523) | async fn auth_quirks_scram() { function auth_quirks_cleartext (line 605) | async fn auth_quirks_cleartext() { function auth_quirks_password_hack (line 659) | async fn auth_quirks_password_hack() { FILE: proxy/src/auth/credentials.rs type ComputeUserInfoParseError (line 21) | pub(crate) enum ComputeUserInfoParseError { method get_error_kind (line 42) | fn get_error_kind(&self) -> crate::error::ErrorKind { type ComputeUserInfoMaybeEndpoint (line 50) | pub(crate) struct ComputeUserInfoMaybeEndpoint { method endpoint (line 58) | pub(crate) fn endpoint(&self) -> Option<&str> { method parse (line 75) | pub(crate) fn parse( function endpoint_sni (line 63) | pub(crate) fn endpoint_sni(sni: &str, common_names: &HashSet) ->... function check_peer_addr_is_in_list (line 159) | pub(crate) fn check_peer_addr_is_in_list(peer_addr: &IpAddr, ip_list: &[... type IpPattern (line 164) | pub(crate) enum IpPattern { method deserialize (line 172) | fn deserialize(deserializer: D) -> Result type Err (line 202) | type Err = anyhow::Error; method from_str (line 204) | fn from_str(s: &str) -> Result { function parse_ip_pattern (line 209) | fn parse_ip_pattern(pattern: &str) -> anyhow::Result { function check_ip (line 223) | fn check_ip(ip: &IpAddr, pattern: &IpPattern) -> bool { function project_name_valid (line 232) | fn project_name_valid(name: &str) -> bool { function parse_bare_minimum (line 244) | fn parse_bare_minimum() -> anyhow::Result<()> { function parse_excessive (line 256) | fn parse_excessive() -> anyhow::Result<()> { function parse_project_from_sni (line 271) | fn parse_project_from_sni() -> anyhow::Result<()> { function parse_project_from_options (line 288) | fn parse_project_from_options() -> anyhow::Result<()> { function parse_endpoint_from_options (line 303) | fn parse_endpoint_from_options() -> anyhow::Result<()> { function parse_three_endpoints_from_options (line 318) | fn parse_three_endpoints_from_options() -> anyhow::Result<()> { function parse_when_endpoint_and_project_are_in_options (line 336) | fn parse_when_endpoint_and_project_are_in_options() -> anyhow::Result<()> { function parse_projects_identical (line 351) | fn parse_projects_identical() -> anyhow::Result<()> { function parse_multi_common_names (line 367) | fn parse_multi_common_names() -> anyhow::Result<()> { function parse_projects_different (line 388) | fn parse_projects_different() { function parse_unknown_sni (line 408) | fn parse_unknown_sni() { function parse_unknown_sni_with_options (line 422) | fn parse_unknown_sni_with_options() { function parse_neon_options (line 439) | fn parse_neon_options() -> anyhow::Result<()> { function test_check_peer_addr_is_in_list (line 460) | fn test_check_peer_addr_is_in_list() { function test_parse_ip_v4 (line 474) | fn test_parse_ip_v4() -> anyhow::Result<()> { function test_check_ipv4 (line 497) | fn test_check_ipv4() -> anyhow::Result<()> { function test_connection_blocker (line 543) | fn test_connection_blocker() { FILE: proxy/src/auth/flow.rs type Scram (line 22) | pub(crate) struct Scram<'a>( function first_message (line 29) | fn first_message(&self, channel_binding: bool) -> BeMessage<'_> { type PasswordHack (line 42) | pub(crate) struct PasswordHack; type CleartextPassword (line 46) | pub(crate) struct CleartextPassword { type AuthFlow (line 55) | pub(crate) struct AuthFlow<'a, S, State> { function new (line 66) | pub(crate) fn new(stream: &'a mut PqStream>, method: M) -> Self { function get_password (line 79) | pub(crate) async fn get_password(self) -> super::Result super::Result super::Result = std::result::Result; type AuthError (line 33) | pub(crate) enum AuthError { method bad_auth_method (line 101) | pub(crate) fn bad_auth_method(name: impl Into>) -> Self { method password_failed (line 105) | pub(crate) fn password_failed(user: impl Into>) -> Self { method ip_address_not_allowed (line 109) | pub(crate) fn ip_address_not_allowed(ip: IpAddr) -> Self { method vpc_endpoint_id_not_allowed (line 113) | pub(crate) fn vpc_endpoint_id_not_allowed(id: String) -> Self { method too_many_connections (line 117) | pub(crate) fn too_many_connections() -> Self { method is_password_failed (line 121) | pub(crate) fn is_password_failed(&self) -> bool { method user_timeout (line 125) | pub(crate) fn user_timeout(elapsed: Elapsed) -> Self { method confirmation_timeout (line 129) | pub(crate) fn confirmation_timeout(timeout: humantime::Duration) -> Se... method to_string_client (line 135) | fn to_string_client(&self) -> String { method get_error_kind (line 158) | fn get_error_kind(&self) -> crate::error::ErrorKind { FILE: proxy/src/auth/password_hack.rs type PasswordHackPayload (line 10) | pub(crate) struct PasswordHackPayload { method parse (line 16) | pub(crate) fn parse(bytes: &[u8]) -> Option { function parse_endpoint_param (line 33) | pub(crate) fn parse_endpoint_param(bytes: &str) -> Option<&str> { function parse_endpoint_param_fn (line 44) | fn parse_endpoint_param_fn() { function parse_password_hack_payload_project (line 65) | fn parse_password_hack_payload_project() { function parse_password_hack_payload_endpoint (line 85) | fn parse_password_hack_payload_endpoint() { function parse_password_hack_payload_dollar (line 104) | fn parse_password_hack_payload_dollar() { FILE: proxy/src/batch.rs type ProcResult (line 15) | type ProcResult

= Result<

::Res,

usize; method apply (line 31) | fn apply( type BatchQueueError (line 38) | pub enum BatchQueueError { type BatchQueue (line 45) | pub struct BatchQueue { type BatchJob (line 50) | struct BatchJob { function new (line 56) | pub fn new(p: P) -> Self { function call (line 69) | pub async fn call( type BatchQueueInner (line 164) | struct BatchQueueInner { function register_job (line 170) | fn register_job(&mut self, req: P::Req) -> (u64, oneshot::Receiver (Vec, Vec anyhow::Result<()> { FILE: proxy/src/bin/pg_sni_router.rs function main (line 8) | async fn main() -> anyhow::Result<()> { FILE: proxy/src/bin/proxy.rs function main (line 9) | async fn main() -> anyhow::Result<()> { FILE: proxy/src/binary/local_proxy.rs type LocalProxyCliArgs (line 46) | struct LocalProxyCliArgs { type SqlOverHttpArgs (line 90) | struct SqlOverHttpArgs { function run (line 112) | pub async fn run() -> anyhow::Result<()> { function build_config (line 226) | fn build_config(args: &LocalProxyCliArgs) -> anyhow::Result<&'static Pro... function build_auth_backend (line 312) | fn build_auth_backend(args: &LocalProxyCliArgs) -> &'static auth::Backen... FILE: proxy/src/binary/pg_sni_router.rs function cli (line 39) | fn cli() -> clap::Command { function run (line 78) | pub async fn run() -> anyhow::Result<()> { function parse_tls (line 161) | pub(super) fn parse_tls( function task_main (line 208) | pub(super) async fn task_main( type FirstMessage (line 274) | struct FirstMessage(io::Error); function ssl_handshake (line 276) | async fn ssl_handshake( function handle_client (line 303) | async fn handle_client( type Connection (line 379) | enum Connection { FILE: proxy/src/binary/proxy.rs type AuthBackendType (line 65) | enum AuthBackendType { type ProxyCliArgs (line 82) | struct ProxyCliArgs { type SqlOverHttpArgs (line 272) | struct SqlOverHttpArgs { type PgSniRouterArgs (line 318) | struct PgSniRouterArgs { function run (line 336) | pub async fn run() -> anyhow::Result<()> { function build_config (line 618) | fn build_config(args: &ProxyCliArgs) -> anyhow::Result<&'static ProxyCon... function build_auth_backend (line 779) | fn build_auth_backend( function configure_redis (line 932) | async fn configure_redis( function parse_endpoint_rps_limit (line 986) | fn parse_endpoint_rps_limit() { FILE: proxy/src/cache/common.rs constant DEFAULT_ERROR_TTL (line 13) | pub const DEFAULT_ERROR_TTL: Duration = Duration::from_secs(30); type Cache (line 18) | pub(crate) trait Cache { method invalidate (line 27) | fn invalidate(&self, _: &Self::Key); type Key (line 31) | type Key = C::Key; type Value (line 32) | type Value = C::Value; method invalidate (line 34) | fn invalidate(&self, info: &Self::Key) { type Cached (line 40) | pub(crate) struct Cached::Value> { function new_uncached (line 50) | pub(crate) fn new_uncached(value: V) -> Self { function invalidate (line 55) | pub(crate) fn invalidate(self) -> V { function cached (line 63) | pub(crate) fn cached(&self) -> bool { type Target (line 69) | type Target = V; method deref (line 71) | fn deref(&self) -> &Self::Target { method deref_mut (line 77) | fn deref_mut(&mut self) -> &mut Self::Target { type ControlPlaneResult (line 82) | pub type ControlPlaneResult = Result>; type CplaneExpiry (line 85) | pub struct CplaneExpiry { method expire_early (line 98) | pub fn expire_early( method expire_err_early (line 109) | pub fn expire_err_early(&self, err: &ControlPlaneErrorMessage, updated... method expire_after_create (line 118) | fn expire_after_create( method expire_after_update (line 127) | fn expire_after_update( method default (line 90) | fn default() -> Self { function eviction_listener (line 138) | pub fn eviction_listener(kind: CacheKind, cause: RemovalCause) { function count_cache_outcome (line 152) | pub fn count_cache_outcome(kind: CacheKind, cache_result: Option) ... function count_cache_insert (line 166) | pub fn count_cache_insert(kind: CacheKind) { FILE: proxy/src/cache/node_info.rs type NodeInfoCache (line 8) | pub(crate) struct NodeInfoCache(moka::sync::Cache Self { method insert (line 40) | pub fn insert(&self, key: EndpointCacheKey, value: ControlPlaneResult<... method get (line 45) | pub fn get(&self, key: &EndpointCacheKey) -> Option; type Key (line 12) | type Key = EndpointCacheKey; type Value (line 13) | type Value = ControlPlaneResult; method invalidate (line 15) | fn invalidate(&self, info: &EndpointCacheKey) { FILE: proxy/src/cache/project_info.rs type ProjectInfoCache (line 25) | pub struct ProjectInfoCache { method invalidate_endpoint_access (line 37) | pub fn invalidate_endpoint_access(&self, endpoint_id: EndpointIdInt) { method invalidate_endpoint_access_for_project (line 42) | pub fn invalidate_endpoint_access_for_project(&self, project_id: Proje... method invalidate_endpoint_access_for_org (line 54) | pub fn invalidate_endpoint_access_for_org(&self, account_id: AccountId... method invalidate_role_secret_for_project (line 66) | pub fn invalidate_role_secret_for_project( method new (line 87) | pub(crate) fn new(config: ProjectInfoCacheOptions) -> Self { method get_role_secret (line 124) | pub(crate) fn get_role_secret( method get_endpoint_access (line 138) | pub(crate) fn get_endpoint_access( method insert_endpoint_access (line 150) | pub(crate) fn insert_endpoint_access( method insert_endpoint_access_err (line 179) | pub(crate) fn insert_endpoint_access_err( method insert_project2endpoint (line 214) | fn insert_project2endpoint(&self, project_id: ProjectIdInt, endpoint_i... method insert_account2endpoint (line 223) | fn insert_account2endpoint(&self, account_id: AccountIdInt, endpoint_i... method maybe_invalidate_role_secret (line 232) | pub fn maybe_invalidate_role_secret(&self, _endpoint_id: &EndpointId, ... method gc_worker (line 237) | pub async fn gc_worker(&self) -> anyhow::Result { function test_project_info_cache_settings (line 258) | async fn test_project_info_cache_settings() { function test_caching_project_info_errors (line 347) | async fn test_caching_project_info_errors() { FILE: proxy/src/cancellation.rs type IpSubnetKey (line 33) | type IpSubnetKey = IpNet; constant CANCEL_KEY_INITIAL_PERIOD (line 36) | const CANCEL_KEY_INITIAL_PERIOD: Duration = Duration::from_secs(60); constant CANCEL_KEY_REFRESH_PERIOD (line 37) | const CANCEL_KEY_REFRESH_PERIOD: Duration = Duration::from_secs(10 * 60); constant CANCEL_KEY_TTL_SLACK (line 39) | const CANCEL_KEY_TTL_SLACK: Duration = Duration::from_secs(30); type CancelKeyOp (line 42) | pub enum CancelKeyOp { method redis_msg_kind (line 61) | const fn redis_msg_kind(&self) -> RedisMsgKind { method cancel_channel_metric_guard (line 70) | fn cancel_channel_metric_guard(&self) -> CancelChannelSizeGuard<'stati... method register (line 134) | fn register(&self, pipe: &mut Pipeline) { type PipelineError (line 79) | pub enum PipelineError { type Pipeline (line 86) | pub struct Pipeline { method with_capacity (line 92) | fn with_capacity(n: usize) -> Self { method execute (line 99) | async fn execute(self, client: &mut RedisKVClient) -> Result, CancelKeyOp); type Res (line 167) | type Res = redis::Value; type Err (line 168) | type Err = PipelineError; method batch_size (line 170) | fn batch_size(&self, _queue_size: usize) -> usize { method apply (line 174) | async fn apply(&mut self, batch: Vec) -> Result Self { method init_tx (line 256) | pub fn init_tx(&self, queue: BatchQueue) { method get_key (line 263) | pub(crate) fn get_key(self: Arc) -> Session { method get_cancel_key (line 281) | async fn get_cancel_key( method cancel_session (line 362) | pub(crate) async fn cancel_session( type CancelError (line 207) | pub(crate) enum CancelError { method get_error_kind (line 228) | fn get_error_kind(&self) -> crate::error::ErrorKind { type CancelClosure (line 431) | pub struct CancelClosure { method try_cancel_query (line 440) | pub(crate) async fn try_cancel_query( type Session (line 459) | pub(crate) struct Session { method key (line 466) | pub(crate) fn key(&self) -> &CancelKeyData { method maintain_cancel_key (line 474) | pub(crate) async fn maintain_cancel_key( FILE: proxy/src/compute/mod.rs constant COULD_NOT_CONNECT (line 33) | pub const COULD_NOT_CONNECT: &str = "Couldn't connect to compute node"; type PostgresError (line 36) | pub(crate) enum PostgresError { method to_string_client (line 44) | fn to_string_client(&self) -> String { method get_error_kind (line 69) | fn get_error_kind(&self) -> ErrorKind { type ConnectionError (line 81) | pub(crate) enum ConnectionError { method to_string_client (line 101) | fn to_string_client(&self) -> String { method get_error_kind (line 115) | fn get_error_kind(&self) -> ErrorKind { type ScramKeys (line 127) | pub(crate) type ScramKeys = postgres_client::config::ScramKeys<32>; type Auth (line 130) | pub enum Auth { type AuthInfo (line 138) | pub(crate) struct AuthInfo { method for_console_redirect (line 162) | pub(crate) fn for_console_redirect(db: &str, user: &str, pw: Option<&s... method with_auth_keys (line 175) | pub(crate) fn with_auth_keys(keys: ComputeCredentialKeys) -> Self { method enrich (line 202) | fn enrich(&self, mut config: postgres_client::Config) -> postgres_clie... method set_startup_params (line 216) | pub(crate) fn set_startup_params( method authenticate (line 248) | pub async fn authenticate( type ConnectInfo (line 153) | pub struct ConnectInfo { method to_postgres_client_config (line 191) | pub fn to_postgres_client_config(&self) -> postgres_client::Config { method connect_raw (line 271) | async fn connect_raw( method connect (line 343) | pub async fn connect( type RustlsStream (line 327) | pub type RustlsStream = Option { function test_filtered_options (line 401) | fn test_filtered_options() { FILE: proxy/src/compute/tls.rs type TlsError (line 14) | pub enum TlsError { method could_retry (line 24) | fn could_retry(&self) -> bool { function connect_tls (line 34) | pub async fn connect_tls( FILE: proxy/src/compute_ctl/mod.rs type ComputeCtlApi (line 11) | pub struct ComputeCtlApi { method install_extension (line 56) | pub async fn install_extension( method grant_role (line 66) | pub async fn grant_role( method generic_request (line 76) | async fn generic_request( type ExtensionInstallRequest (line 16) | pub struct ExtensionInstallRequest { type SetRoleGrantsRequest (line 23) | pub struct SetRoleGrantsRequest { type ExtensionInstallResponse (line 31) | pub struct ExtensionInstallResponse {} type SetRoleGrantsResponse (line 34) | pub struct SetRoleGrantsResponse {} type Privilege (line 38) | pub enum Privilege { type ComputeCtlError (line 43) | pub enum ComputeCtlError { FILE: proxy/src/config.rs type ProxyConfig (line 30) | pub struct ProxyConfig { type ComputeConfig (line 47) | pub struct ComputeConfig { type ProxyProtocolV2 (line 54) | pub enum ProxyProtocolV2 { type MetricCollectionConfig (line 62) | pub struct MetricCollectionConfig { type HttpConfig (line 68) | pub struct HttpConfig { type AuthenticationConfig (line 77) | pub struct AuthenticationConfig { type RestConfig (line 89) | pub struct RestConfig { type MetricBackupCollectionConfig (line 97) | pub struct MetricBackupCollectionConfig { function remote_storage_from_toml (line 102) | pub fn remote_storage_from_toml(s: &str) -> anyhow::Result anyhow::Result { method moka (line 148) | pub fn moka( type Err (line 166) | type Err = anyhow::Error; method from_str (line 168) | fn from_str(options: &str) -> Result { type ProjectInfoCacheOptions (line 176) | pub struct ProjectInfoCacheOptions { constant CACHE_DEFAULT_OPTIONS (line 189) | pub const CACHE_DEFAULT_OPTIONS: &'static str = method parse (line 194) | fn parse(options: &str) -> anyhow::Result { type Err (line 229) | type Err = anyhow::Error; method from_str (line 231) | fn from_str(options: &str) -> Result { type RetryConfig (line 239) | pub struct RetryConfig { constant CONNECT_TO_COMPUTE_DEFAULT_VALUES (line 252) | pub const CONNECT_TO_COMPUTE_DEFAULT_VALUES: &'static str = constant WAKE_COMPUTE_DEFAULT_VALUES (line 256) | pub const WAKE_COMPUTE_DEFAULT_VALUES: &'static str = method parse (line 261) | pub fn parse(options: &str) -> anyhow::Result { type ConcurrencyLockOptions (line 292) | pub struct ConcurrencyLockOptions { constant DEFAULT_OPTIONS_WAKE_COMPUTE_LOCK (line 308) | pub const DEFAULT_OPTIONS_WAKE_COMPUTE_LOCK: &'static str = "permits=0"; constant DEFAULT_OPTIONS_CONNECT_COMPUTE_LOCK (line 310) | pub const DEFAULT_OPTIONS_CONNECT_COMPUTE_LOCK: &'static str = method parse (line 317) | fn parse(options: &str) -> anyhow::Result { type Err (line 371) | type Err = anyhow::Error; method from_str (line 373) | fn from_str(options: &str) -> Result { type RefreshConfigError (line 380) | pub(crate) enum RefreshConfigError { function refresh_config_loop (line 391) | pub(crate) async fn refresh_config_loop(config: &ProxyConfig, path: Utf8... function refresh_config_inner (line 417) | pub(crate) async fn refresh_config_inner( function test_parse_cache_options (line 514) | fn test_parse_cache_options() -> anyhow::Result<()> { function test_parse_lock_options (line 551) | fn test_parse_lock_options() -> anyhow::Result<()> { function test_parse_json_lock_options (line 592) | fn test_parse_json_lock_options() -> anyhow::Result<()> { FILE: proxy/src/console_redirect_proxy.rs function task_main (line 24) | pub async fn task_main( function handle_client (line 153) | pub(crate) async fn handle_client Self { method console_application_name (line 170) | pub(crate) fn console_application_name(&self) -> String { method set_cold_start_info (line 179) | pub(crate) fn set_cold_start_info(&self, info: ColdStartInfo) { method set_db_options (line 186) | pub(crate) fn set_db_options(&self, options: StartupMessageParams) { method set_project (line 210) | pub(crate) fn set_project(&self, x: MetricsAuxInfo) { method set_project_id (line 220) | pub(crate) fn set_project_id(&self, project_id: ProjectIdInt) { method set_endpoint_id (line 225) | pub(crate) fn set_endpoint_id(&self, endpoint_id: EndpointId) { method set_dbname (line 232) | pub(crate) fn set_dbname(&self, dbname: DbName) { method set_user (line 239) | pub(crate) fn set_user(&self, user: RoleName) { method set_user_agent (line 246) | pub(crate) fn set_user_agent(&self, user_agent: Option) { method set_testodrome_id (line 253) | pub(crate) fn set_testodrome_id(&self, query_id: SmolStr) { method set_auth_method (line 260) | pub(crate) fn set_auth_method(&self, auth_method: AuthMethod) { method set_jwt_issuer (line 265) | pub(crate) fn set_jwt_issuer(&self, jwt_issuer: String) { method has_private_peer_addr (line 270) | pub fn has_private_peer_addr(&self) -> bool { method set_error_kind (line 277) | pub(crate) fn set_error_kind(&self, kind: ErrorKind) { method set_success (line 291) | pub fn set_success(&self) { method log_connect (line 296) | pub fn log_connect(self) -> DisconnectLogger { method protocol (line 306) | pub(crate) fn protocol(&self) -> Protocol { method span (line 310) | pub(crate) fn span(&self) -> Span { method session_id (line 314) | pub(crate) fn session_id(&self) -> Uuid { method peer_addr (line 318) | pub(crate) fn peer_addr(&self) -> IpAddr { method extra (line 327) | pub(crate) fn extra(&self) -> Option { method cold_start_info (line 336) | pub(crate) fn cold_start_info(&self) -> ColdStartInfo { method latency_timer_pause (line 343) | pub(crate) fn latency_timer_pause(&self, waiting_for: Waiting) -> Late... method latency_timer_pause_at (line 351) | pub(crate) fn latency_timer_pause_at( method get_proxy_latency (line 363) | pub(crate) fn get_proxy_latency(&self) -> LatencyAccumulated { method get_testodrome_id (line 371) | pub(crate) fn get_testodrome_id(&self) -> Option { method success (line 379) | pub(crate) fn success(&self) { type RequestContextInner (line 41) | struct RequestContextInner { method set_cold_start_info (line 406) | fn set_cold_start_info(&mut self, info: ColdStartInfo) { method set_endpoint_id (line 411) | fn set_endpoint_id(&mut self, endpoint_id: EndpointId) { method set_application (line 421) | fn set_application(&mut self, app: Option) { method set_user_agent (line 427) | fn set_user_agent(&mut self, user_agent: Option) { method set_dbname (line 431) | fn set_dbname(&mut self, dbname: DbName) { method set_user (line 435) | fn set_user(&mut self, user: RoleName) { method set_testodrome_id (line 440) | fn set_testodrome_id(&mut self, query_id: SmolStr) { method has_private_peer_addr (line 444) | fn has_private_peer_addr(&self) -> bool { method log_connect (line 451) | fn log_connect(&mut self) { method log_disconnect (line 461) | fn log_disconnect(&mut self) { type AuthMethod (line 74) | pub(crate) enum AuthMethod { method clone (line 84) | fn clone(&self) -> Self { type LatencyTimerPause (line 388) | pub(crate) struct LatencyTimerPause<'a> { method drop (line 395) | fn drop(&mut self) { method drop (line 476) | fn drop(&mut self) { type DisconnectLogger (line 483) | pub struct DisconnectLogger(RequestContextInner); method drop (line 486) | fn drop(&mut self) { FILE: proxy/src/context/parquet.rs type ParquetUploadArgs (line 29) | pub struct ParquetUploadArgs { constant FAILED_UPLOAD_WARN_THRESHOLD (line 65) | pub(crate) const FAILED_UPLOAD_WARN_THRESHOLD: u32 = 3; constant FAILED_UPLOAD_MAX_RETRIES (line 66) | pub(crate) const FAILED_UPLOAD_MAX_RETRIES: u32 = 10; type RequestData (line 76) | pub(crate) struct RequestData { method from (line 125) | fn from(value: &RequestContextInner) -> Self { type Options (line 107) | struct Options<'a> { function serialize (line 112) | fn serialize(&self, s: S) -> Result function worker (line 167) | pub async fn worker( type ParquetConfig (line 251) | struct ParquetConfig { function worker_inner (line 262) | async fn worker_inner( function flush_rows (line 317) | async fn flush_rows( function upload_parquet (line 350) | async fn upload_parquet( type ProxyCliArgs (line 453) | struct ProxyCliArgs { function default_parser (line 459) | fn default_parser() { function full_parser (line 476) | fn full_parser() { function generate_request_data (line 524) | fn generate_request_data(rng: &mut impl Rng) -> RequestData { function random_stream (line 553) | fn random_stream(len: usize) -> impl Stream + Unpin { function run_test (line 560) | async fn run_test( function verify_parquet_no_compression (line 608) | async fn verify_parquet_no_compression() { function verify_parquet_strong_compression (line 641) | async fn verify_parquet_strong_compression() { function verify_parquet_unreliable_upload (line 677) | async fn verify_parquet_unreliable_upload() { function verify_parquet_regular_upload (line 710) | async fn verify_parquet_regular_upload() { FILE: proxy/src/control_plane/client/cplane_proxy_v1.rs constant X_REQUEST_ID (line 37) | pub(crate) const X_REQUEST_ID: HeaderName = HeaderName::from_static("x-r... type NeonControlPlaneClient (line 40) | pub struct NeonControlPlaneClient { method new (line 51) | pub fn new( method url (line 67) | pub(crate) fn url(&self) -> &str { method get_and_cache_auth_info (line 71) | async fn get_and_cache_auth_info( method do_get_auth_req (line 130) | async fn do_get_auth_req( method do_get_endpoint_jwks (line 217) | async fn do_get_endpoint_jwks( method do_wake_compute (line 272) | async fn do_wake_compute( method get_role_access_control (line 341) | async fn get_role_access_control( method get_endpoint_access_control (line 370) | async fn get_endpoint_access_control( method get_endpoint_jwks (line 400) | async fn get_endpoint_jwks( method wake_compute (line 409) | async fn wake_compute( function parse_body (line 502) | fn parse_body serde::Deserialize<'a>>( function parse_host_port (line 531) | fn parse_host_port(input: &str) -> Option<(&str, u16)> { function test_parse_host_port_v4 (line 542) | fn test_parse_host_port_v4() { function test_parse_host_port_v6 (line 549) | fn test_parse_host_port_v6() { function test_parse_host_port_url (line 556) | fn test_parse_host_port_url() { FILE: proxy/src/control_plane/client/mock.rs type MockApiError (line 34) | enum MockApiError { method from (line 40) | fn from(e: MockApiError) -> Self { method from (line 46) | fn from(e: tokio_postgres::Error) -> Self { type MockControlPlane (line 52) | pub struct MockControlPlane { method new (line 58) | pub fn new(endpoint: ApiUrl, ip_allowlist_check_enabled: bool) -> Self { method url (line 65) | pub(crate) fn url(&self) -> &str { method do_get_auth_info (line 69) | async fn do_get_auth_info( method do_get_endpoint_jwks (line 137) | async fn do_get_endpoint_jwks( method do_wake_compute (line 173) | async fn do_wake_compute(&self) -> Result { method get_endpoint_access_control (line 226) | async fn get_endpoint_access_control( method get_role_access_control (line 241) | async fn get_role_access_control( method get_endpoint_jwks (line 253) | async fn get_endpoint_jwks( method wake_compute (line 262) | async fn wake_compute( function get_execute_postgres_query (line 205) | async fn get_execute_postgres_query( FILE: proxy/src/control_plane/client/mod.rs type ControlPlaneClient (line 28) | pub enum ControlPlaneClient { method get_role_access_control (line 41) | async fn get_role_access_control( method get_endpoint_access_control (line 58) | async fn get_endpoint_access_control( method get_endpoint_jwks (line 73) | async fn get_endpoint_jwks( method wake_compute (line 87) | async fn wake_compute( type TestControlPlaneClient (line 103) | pub(crate) trait TestControlPlaneClient: Send + Sync + 'static { method wake_compute (line 104) | fn wake_compute(&self) -> Result Result Box; method clone (line 113) | fn clone(&self) -> Self { type ApiCaches (line 119) | pub struct ApiCaches { method new (line 127) | pub fn new( type ApiLocks (line 139) | pub struct ApiLocks { type ApiLockError (line 149) | pub(crate) enum ApiLockError { method get_error_kind (line 155) | fn get_error_kind(&self) -> crate::error::ErrorKind { function new (line 163) | pub fn new( function get_permit (line 181) | pub(crate) async fn get_permit(&self, key: &K) -> Result bool { method release (line 254) | pub(crate) fn release(self, outcome: Outcome) { method release_result (line 257) | pub(crate) fn release_result(self, res: Result) -> Result<... method fetch_auth_rules (line 267) | async fn fetch_auth_rules( FILE: proxy/src/control_plane/errors.rs constant REQUEST_FAILED (line 11) | pub(crate) const REQUEST_FAILED: &str = "Control plane request failed"; type ControlPlaneError (line 15) | pub(crate) enum ControlPlaneError { method get_reason (line 27) | pub(crate) fn get_reason(&self) -> messages::Reason { method from (line 90) | fn from(e: reqwest::Error) -> Self { method from (line 96) | fn from(e: reqwest_middleware::Error) -> Self { method to_string_client (line 36) | fn to_string_client(&self) -> String { method get_error_kind (line 46) | fn get_error_kind(&self) -> ErrorKind { method could_retry (line 80) | fn could_retry(&self) -> bool { type GetAuthInfoError (line 102) | pub(crate) enum GetAuthInfoError { method from (line 113) | fn from(e: E) -> Self { method to_string_client (line 119) | fn to_string_client(&self) -> String { method get_error_kind (line 130) | fn get_error_kind(&self) -> ErrorKind { type WakeComputeError (line 139) | pub(crate) enum WakeComputeError { method from (line 155) | fn from(e: E) -> Self { method to_string_client (line 161) | fn to_string_client(&self) -> String { method get_error_kind (line 179) | fn get_error_kind(&self) -> crate::error::ErrorKind { method could_retry (line 190) | fn could_retry(&self) -> bool { type GetEndpointJwksError (line 201) | pub enum GetEndpointJwksError { FILE: proxy/src/control_plane/messages.rs type ControlPlaneErrorMessage (line 16) | pub(crate) struct ControlPlaneErrorMessage { method get_reason (line 24) | pub(crate) fn get_reason(&self) -> Reason { method get_user_facing_message (line 31) | pub(crate) fn get_user_facing_message(&self) -> String { method fmt (line 58) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method could_retry (line 69) | fn could_retry(&self) -> bool { type Status (line 93) | pub(crate) struct Status { type Details (line 100) | pub(crate) struct Details { type ErrorInfo (line 107) | pub(crate) struct ErrorInfo { type Reason (line 113) | pub(crate) enum Reason { method is_not_found (line 189) | pub(crate) fn is_not_found(self) -> bool { method can_retry (line 199) | pub(crate) fn can_retry(self) -> bool { type RetryInfo (line 235) | pub(crate) struct RetryInfo { function milliseconds_from_now (line 240) | fn milliseconds_from_now<'de, D: serde::Deserializer<'de>>(d: D) -> Resu... type UserFacingMessage (line 246) | pub(crate) struct UserFacingMessage { type GetEndpointAccessControl (line 253) | pub(crate) struct GetEndpointAccessControl { type EndpointRateLimitConfig (line 269) | pub struct EndpointRateLimitConfig { type ConnectionAttemptsLimit (line 274) | pub struct ConnectionAttemptsLimit { type LeakyBucketSetting (line 281) | pub struct LeakyBucketSetting { type WakeCompute (line 289) | pub(crate) struct WakeCompute { type KickSession (line 298) | pub(crate) struct KickSession<'a> { function parse_db_info (line 308) | fn parse_db_info<'de, D>(des: D) -> Result type DatabaseInfo (line 327) | pub(crate) struct DatabaseInfo { method fmt (line 346) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type MetricsAuxInfo (line 361) | pub(crate) struct MetricsAuxInfo { type ColdStartInfo (line 374) | pub enum ColdStartInfo { method as_str (line 396) | pub(crate) fn as_str(self) -> &'static str { type EndpointJwksResponse (line 409) | pub struct EndpointJwksResponse { type JwksSettings (line 414) | pub struct JwksSettings { function dummy_aux (line 429) | fn dummy_aux() -> serde_json::Value { function parse_kick_session (line 440) | fn parse_kick_session() -> anyhow::Result<()> { function parse_db_info (line 461) | fn parse_db_info() -> anyhow::Result<()> { function parse_wake_compute (line 512) | fn parse_wake_compute() -> anyhow::Result<()> { function parse_get_role_secret (line 522) | fn parse_get_role_secret() -> anyhow::Result<()> { FILE: proxy/src/control_plane/mgmt.rs function get_waiter (line 17) | pub(crate) fn get_waiter( function notify (line 23) | pub(crate) fn notify(psql_session_id: &str, msg: ComputeReady) -> Result... function task_main (line 29) | pub async fn task_main(listener: TcpListener) -> anyhow::Result Result<(), QueryError> { type ComputeReady (line 77) | pub(crate) type ComputeReady = DatabaseInfo; type MgmtHandler (line 80) | struct MgmtHandler; method process_query (line 83) | async fn process_query( function try_process_query (line 95) | fn try_process_query(pgb: &mut PostgresBackendTCP, query: &str) -> Resul... FILE: proxy/src/control_plane/mod.rs type AuthSecret (line 43) | pub(crate) enum AuthSecret { type AuthInfo (line 49) | pub(crate) struct AuthInfo { type NodeInfo (line 67) | pub(crate) struct NodeInfo { type AccessBlockerFlags (line 75) | pub(crate) struct AccessBlockerFlags { type RoleAccessControl (line 81) | pub struct RoleAccessControl { type EndpointAccessControl (line 86) | pub struct EndpointAccessControl { method check (line 95) | pub fn check( method connection_attempt_rate_limit (line 131) | pub fn connection_attempt_rate_limit( type ControlPlaneApi (line 164) | pub(crate) trait ControlPlaneApi { method get_role_access_control (line 165) | async fn get_role_access_control( method get_endpoint_access_control (line 172) | async fn get_endpoint_access_control( method get_endpoint_jwks (line 179) | async fn get_endpoint_jwks( method wake_compute (line 186) | async fn wake_compute( FILE: proxy/src/error.rs type UserFacingError (line 13) | pub(crate) trait UserFacingError: ReportableError { method to_string_client (line 20) | fn to_string_client(&self) -> String { type ErrorKind (line 27) | pub enum ErrorKind { method to_metric_label (line 62) | pub(crate) fn to_metric_label(self) -> &'static str { type ReportableError (line 77) | pub(crate) trait ReportableError: fmt::Display + Send + 'static { method get_error_kind (line 78) | fn get_error_kind(&self) -> ErrorKind; function flatten_err (line 82) | pub fn flatten_err(r: Result, JoinError>) -> anyhow... FILE: proxy/src/ext.rs type LockExt (line 6) | pub(crate) trait LockExt { method lock_propagate_poison (line 7) | fn lock_propagate_poison(&self) -> MutexGuard<'_, T>; function lock_propagate_poison (line 13) | fn lock_propagate_poison(&self) -> MutexGuard<'_, T> { type TaskExt (line 23) | pub(crate) trait TaskExt { method propagate_task_panic (line 24) | fn propagate_task_panic(self) -> T; function propagate_task_panic (line 31) | fn propagate_task_panic(self) -> T { FILE: proxy/src/http/health_server.rs function status_handler (line 20) | async fn status_handler(_: Request) -> Result, ApiE... function make_router (line 24) | fn make_router(metrics: AppMetrics) -> RouterBuilder ClientWithMiddleware { function new_client_with_timeout (line 37) | pub(crate) fn new_client_with_timeout( type Endpoint (line 64) | pub struct Endpoint { method new (line 74) | pub fn new(endpoint: ApiUrl, client: impl Into) ... method url (line 82) | pub(crate) fn url(&self) -> &ApiUrl { method get_path (line 88) | pub(crate) fn get_path(&self, path: &str) -> RequestBuilder { method get_with_url (line 96) | pub(crate) fn get_with_url(&self, f: impl for<'a> FnOnce(&'a mut ApiUr... method request_with_url (line 102) | pub(crate) fn request_with_url( method execute (line 113) | pub(crate) fn execute( type ReadBodyError (line 142) | pub(crate) enum ReadBodyError { function read_body_with_limit (line 150) | pub(crate) async fn read_body_with_limit( function optional_query_params (line 184) | fn optional_query_params() -> anyhow::Result<()> { function uuid_params (line 203) | fn uuid_params() -> anyhow::Result<()> { FILE: proxy/src/intern.rs type InternId (line 12) | pub trait InternId: Sized + 'static { method get_interner (line 13) | fn get_interner() -> &'static StringInterner; method get_interner (line 137) | fn get_interner() -> &'static StringInterner { method get_interner (line 152) | fn get_interner() -> &'static StringInterner { method get_interner (line 172) | fn get_interner() -> &'static StringInterner { method get_interner (line 192) | fn get_interner() -> &'static StringInterner { method get_interner (line 212) | fn get_interner() -> &'static StringInterner { method get_interner (line 238) | fn get_interner() -> &'static StringInterner { type StringInterner (line 16) | pub struct StringInterner { type InternedString (line 22) | pub struct InternedString { function fmt (line 28) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function as_str (line 34) | pub(crate) fn as_str(&self) -> &'static str { function get (line 37) | pub(crate) fn get(s: &str) -> Option { function as_ref (line 43) | fn as_ref(&self) -> &str { type Target (line 49) | type Target = str; function deref (line 50) | fn deref(&self) -> &str { function deserialize (line 56) | fn deserialize>(d: D) -> Result(&self, s: S) -> Result Self { function len (line 96) | fn len(&self) -> usize { function current_memory_usage (line 101) | fn current_memory_usage(&self) -> usize { function get_or_intern (line 105) | pub(crate) fn get_or_intern(&self, s: &str) -> InternedString { function get (line 112) | pub(crate) fn get(&self, s: &str) -> Option> { type Output (line 121) | type Output = str; function index (line 123) | fn index(&self, index: InternedString) -> &Self::Output { method default (line 129) | fn default() -> Self { type RoleNameTag (line 135) | pub struct RoleNameTag; type RoleNameInt (line 142) | pub type RoleNameInt = InternedString; method from (line 144) | fn from(value: &RoleName) -> Self { type EndpointIdTag (line 150) | pub struct EndpointIdTag; type EndpointIdInt (line 157) | pub type EndpointIdInt = InternedString; method from (line 159) | fn from(value: &EndpointId) -> Self { method from (line 164) | fn from(value: EndpointId) -> Self { type BranchIdTag (line 170) | pub struct BranchIdTag; type BranchIdInt (line 177) | pub type BranchIdInt = InternedString; method from (line 179) | fn from(value: &BranchId) -> Self { method from (line 184) | fn from(value: BranchId) -> Self { type ProjectIdTag (line 190) | pub struct ProjectIdTag; type ProjectIdInt (line 197) | pub type ProjectIdInt = InternedString; method from (line 199) | fn from(value: &ProjectId) -> Self { method from (line 204) | fn from(value: ProjectId) -> Self { type AccountIdTag (line 210) | pub struct AccountIdTag; type AccountIdInt (line 217) | pub type AccountIdInt = InternedString; method from (line 219) | fn from(value: &AccountId) -> Self { method from (line 224) | fn from(value: AccountId) -> Self { type MyId (line 236) | struct MyId; function push_many_strings (line 245) | fn push_many_strings() { FILE: proxy/src/jemalloc.rs type MetricRecorder (line 12) | pub struct MetricRecorder { method collect_group_into (line 31) | fn collect_group_into(&self, enc: &mut Enc) -> Result<(), Enc::Err> { method new (line 40) | pub fn new() -> Result { type Metrics (line 18) | struct Metrics { type JemallocGauge (line 61) | struct JemallocGauge(PhantomData); method default (line 64) | fn default() -> Self { type Metadata (line 69) | type Metadata = T; type JemallocGaugeFamily (line 72) | struct JemallocGaugeFamily(T); function collect_family_into (line 77) | fn collect_family_into(&self, name: impl MetricNameEncoder, enc: &mut T)... FILE: proxy/src/logging.rs function init (line 29) | pub fn init() -> anyhow::Result { function init_local_proxy (line 85) | pub fn init_local_proxy() -> anyhow::Result { type LocalProxyFormatter (line 103) | pub struct LocalProxyFormatter(Format); method format_event (line 110) | fn format_event( type LoggingGuard (line 121) | pub struct LoggingGuard(Option); method drop (line 124) | fn drop(&mut self) { type LogFormat (line 135) | enum LogFormat { method from_env (line 142) | fn from_env() -> anyhow::Result { type MakeWriter (line 153) | trait MakeWriter { method make_writer (line 154) | fn make_writer(&self) -> impl io::Write; method make_writer (line 163) | fn make_writer(&self) -> impl io::Write { method make_writer (line 906) | fn make_writer(&self) -> impl io::Write { type StderrWriter (line 157) | struct StderrWriter { type Clock (line 169) | trait Clock { method now (line 170) | fn now(&self) -> DateTime; method now (line 177) | fn now(&self) -> DateTime { method now (line 896) | fn now(&self) -> DateTime { type RealClock (line 173) | struct RealClock; constant MESSAGE_FIELD (line 183) | const MESSAGE_FIELD: &str = "message"; constant MAX_TRACING_FIELDS (line 189) | const MAX_TRACING_FIELDS: usize = 32; type CallsiteMap (line 204) | type CallsiteMap = type JsonLoggingLayer (line 208) | struct JsonLoggingLayer { function new (line 225) | fn new(clock: C, writer: W, extract_fields: &'static [&'static str]) -> ... function span_info (line 237) | fn span_info(&self, metadata: &'static Metadata<'static>) -> CallsiteSpa... function on_event (line 251) | fn on_event(&self, event: &Event<'_>, ctx: Context<'_, S>) { function on_new_span (line 284) | fn on_new_span(&self, attrs: &span::Attributes<'_>, id: &span::Id, ctx: ... function on_record (line 296) | fn on_record(&self, id: &span::Id, values: &span::Record<'_>, ctx: Conte... function register_callsite (line 310) | fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Int... type CallsiteSpanInfo (line 343) | struct CallsiteSpanInfo { method new (line 353) | fn new( type RawValue (line 391) | struct RawValue(Box<[u8]>); method new (line 394) | fn new(v: impl json::ValueEncoder) -> Self { function encode (line 400) | fn encode(self, v: json::ValueSer<'_>) { type SpanFields (line 406) | struct SpanFields { method new (line 414) | fn new(span_info: CallsiteSpanInfo) -> Self { method record_f64 (line 424) | fn record_f64(&mut self, field: &tracing::field::Field, value: f64) { method record_i64 (line 429) | fn record_i64(&mut self, field: &tracing::field::Field, value: i64) { method record_u64 (line 434) | fn record_u64(&mut self, field: &tracing::field::Field, value: u64) { method record_i128 (line 439) | fn record_i128(&mut self, field: &tracing::field::Field, value: i128) { method record_u128 (line 448) | fn record_u128(&mut self, field: &tracing::field::Field, value: u128) { method record_bool (line 457) | fn record_bool(&mut self, field: &tracing::field::Field, value: bool) { method record_bytes (line 462) | fn record_bytes(&mut self, field: &tracing::field::Field, value: &[u8]) { method record_str (line 467) | fn record_str(&mut self, field: &tracing::field::Field, value: &str) { method record_debug (line 472) | fn record_debug(&mut self, field: &tracing::field::Field, value: &dyn ... method record_error (line 477) | fn record_error( type SkippedFieldIndices (line 489) | struct SkippedFieldIndices { method is_empty (line 496) | fn is_empty(self) -> bool { method set (line 501) | fn set(&mut self, index: usize) { method contains (line 507) | fn contains(self, index: usize) -> bool { type EventFormatter (line 514) | struct EventFormatter { method new (line 520) | const fn new() -> Self { method buffer (line 527) | fn buffer(&self) -> &[u8] { method format (line 531) | fn format( type MessageFieldExtractor (line 676) | struct MessageFieldExtractor<'buf> { function new (line 683) | fn new(serializer: json::ValueSer<'buf>, skipped_field_indices: SkippedF... function finish (line 691) | fn finish(self) { function record_field (line 698) | fn record_field(&mut self, field: &tracing::field::Field, v: impl json::... function record_f64 (line 710) | fn record_f64(&mut self, field: &tracing::field::Field, value: f64) { function record_i64 (line 715) | fn record_i64(&mut self, field: &tracing::field::Field, value: i64) { function record_u64 (line 720) | fn record_u64(&mut self, field: &tracing::field::Field, value: u64) { function record_i128 (line 725) | fn record_i128(&mut self, field: &tracing::field::Field, value: i128) { function record_u128 (line 730) | fn record_u128(&mut self, field: &tracing::field::Field, value: u128) { function record_bool (line 735) | fn record_bool(&mut self, field: &tracing::field::Field, value: bool) { function record_bytes (line 740) | fn record_bytes(&mut self, field: &tracing::field::Field, value: &[u8]) { function record_str (line 745) | fn record_str(&mut self, field: &tracing::field::Field, value: &str) { function record_debug (line 750) | fn record_debug(&mut self, field: &tracing::field::Field, value: &dyn st... function record_error (line 755) | fn record_error( type MessageFieldSkipper (line 765) | struct MessageFieldSkipper<'buf> { function new (line 773) | fn new(serializer: json::ObjectSer<'buf>, skipped_field_indices: Skipped... function record_field (line 782) | fn record_field(&mut self, field: &tracing::field::Field, v: impl json::... function record_f64 (line 795) | fn record_f64(&mut self, field: &tracing::field::Field, value: f64) { function record_i64 (line 800) | fn record_i64(&mut self, field: &tracing::field::Field, value: i64) { function record_u64 (line 805) | fn record_u64(&mut self, field: &tracing::field::Field, value: u64) { function record_i128 (line 810) | fn record_i128(&mut self, field: &tracing::field::Field, value: i128) { function record_u128 (line 815) | fn record_u128(&mut self, field: &tracing::field::Field, value: u128) { function record_bool (line 820) | fn record_bool(&mut self, field: &tracing::field::Field, value: bool) { function record_bytes (line 825) | fn record_bytes(&mut self, field: &tracing::field::Field, value: &[u8]) { function record_str (line 830) | fn record_str(&mut self, field: &tracing::field::Field, value: &str) { function record_debug (line 835) | fn record_debug(&mut self, field: &tracing::field::Field, value: &dyn st... function record_error (line 840) | fn record_error( type ExtractedSpanFields (line 849) | struct ExtractedSpanFields { method new (line 855) | fn new(names: &'static [&'static str]) -> Self { method layer_span (line 862) | fn layer_span(&mut self, fields: &SpanFields) { method has_values (line 877) | fn has_values(&self) -> bool { type TestClock (line 891) | struct TestClock { type VecWriter (line 901) | struct VecWriter<'a> { function write (line 914) | fn write(&mut self, buf: &[u8]) -> io::Result { function flush (line 918) | fn flush(&mut self) -> io::Result<()> { function test_field_collection (line 924) | fn test_field_collection() { FILE: proxy/src/metrics.rs type Metrics (line 23) | pub struct Metrics { method get (line 40) | pub fn get() -> &'static Self { type ProxyMetrics (line 59) | pub struct ProxyMetrics { type OnceLockWrapper (line 155) | pub struct OnceLockWrapper(pub OnceLock); method default (line 158) | fn default() -> Self { function collect_group_into (line 164) | fn collect_group_into(&self, enc: &mut Enc) -> Result<(), Enc::Err> { type ApiLockMetrics (line 174) | pub struct ApiLockMetrics { method default (line 188) | fn default() -> Self { type HttpDirection (line 195) | pub enum HttpDirection { type Direction (line 202) | pub enum Direction { type Protocol (line 209) | pub enum Protocol { method as_str (line 217) | pub fn as_str(self) -> &'static str { method fmt (line 228) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type Bool (line 234) | pub enum Bool { method from (line 565) | fn from(value: bool) -> Self { type ConsoleRequest (line 241) | pub struct ConsoleRequest<'a> { type HttpEndpointPools (line 247) | pub struct HttpEndpointPools { method guard (line 265) | pub fn guard(&self) -> HttpEndpointPoolsGuard<'_> { type HttpEndpointPoolsGuard (line 254) | pub struct HttpEndpointPoolsGuard<'a> { method drop (line 259) | fn drop(&mut self) { type NumDbConnectionsGauge (line 272) | pub struct NumDbConnectionsGauge; constant INC_NAME (line 274) | const INC_NAME: &'static MetricName = MetricName::from_str("opened_db_co... constant DEC_NAME (line 275) | const DEC_NAME: &'static MetricName = MetricName::from_str("closed_db_co... constant INC_HELP (line 276) | const INC_HELP: &'static str = "Number of opened connections to a databa... constant DEC_HELP (line 277) | const DEC_HELP: &'static str = "Number of closed connections to a databa... type LabelGroupSet (line 278) | type LabelGroupSet = StaticLabelSet; type NumDbConnectionsGuard (line 280) | pub type NumDbConnectionsGuard<'a> = metrics::MeasuredCounterPairGuard<'... type NumClientConnectionsGauge (line 282) | pub struct NumClientConnectionsGauge; constant INC_NAME (line 284) | const INC_NAME: &'static MetricName = MetricName::from_str("opened_clien... constant DEC_NAME (line 285) | const DEC_NAME: &'static MetricName = MetricName::from_str("closed_clien... constant INC_HELP (line 286) | const INC_HELP: &'static str = "Number of opened connections from a clie... constant DEC_HELP (line 287) | const DEC_HELP: &'static str = "Number of closed connections from a clie... type LabelGroupSet (line 288) | type LabelGroupSet = StaticLabelSet; type NumClientConnectionsGuard (line 290) | pub type NumClientConnectionsGuard<'a> = type NumConnectionRequestsGauge (line 293) | pub struct NumConnectionRequestsGauge; constant INC_NAME (line 295) | const INC_NAME: &'static MetricName = MetricName::from_str("accepted_con... constant DEC_NAME (line 296) | const DEC_NAME: &'static MetricName = MetricName::from_str("closed_conne... constant INC_HELP (line 297) | const INC_HELP: &'static str = "Number of client connections accepted."; constant DEC_HELP (line 298) | const DEC_HELP: &'static str = "Number of client connections closed."; type LabelGroupSet (line 299) | type LabelGroupSet = StaticLabelSet; type NumConnectionRequestsGuard (line 301) | pub type NumConnectionRequestsGuard<'a> = type CancelChannelSizeGauge (line 304) | pub struct CancelChannelSizeGauge; constant INC_NAME (line 306) | const INC_NAME: &'static MetricName = MetricName::from_str("opened_msgs_... constant DEC_NAME (line 307) | const DEC_NAME: &'static MetricName = MetricName::from_str("closed_msgs_... constant INC_HELP (line 308) | const INC_HELP: &'static str = "Number of processing messages in the can... constant DEC_HELP (line 309) | const DEC_HELP: &'static str = "Number of closed messages in the cancell... type LabelGroupSet (line 310) | type LabelGroupSet = StaticLabelSet; type CancelChannelSizeGuard (line 312) | pub type CancelChannelSizeGuard<'a> = metrics::MeasuredCounterPairGuard<... type ComputeConnectionLatencyGroup (line 316) | pub struct ComputeConnectionLatencyGroup { type LatencyExclusions (line 324) | pub enum LatencyExclusions { type SniGroup (line 333) | pub struct SniGroup { type SniKind (line 339) | pub enum SniKind { type ConnectionFailureKind (line 350) | pub enum ConnectionFailureKind { type ConnectionFailuresBreakdownGroup (line 357) | pub struct ConnectionFailuresBreakdownGroup { type RedisErrors (line 364) | pub struct RedisErrors<'a> { type CancellationOutcome (line 370) | pub enum CancellationOutcome { type CancellationRequest (line 378) | pub struct CancellationRequest { type Waiting (line 383) | pub enum Waiting { type RedisMsgKind (line 393) | pub enum RedisMsgKind { type LatencyAccumulated (line 401) | pub struct LatencyAccumulated { method fmt (line 409) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type LatencyTimer (line 421) | pub struct LatencyTimer { method new (line 437) | pub fn new(protocol: Protocol) -> Self { method noop (line 450) | pub(crate) fn noop(protocol: Protocol) -> Self { method unpause (line 463) | pub fn unpause(&mut self, start: Instant, waiting_for: Waiting) { method cold_start_info (line 473) | pub fn cold_start_info(&mut self, cold_start_info: ColdStartInfo) { method success (line 477) | pub fn success(&mut self) { method accumulated (line 485) | pub fn accumulated(&self) -> LatencyAccumulated { type ConnectOutcome (line 491) | pub enum ConnectOutcome { method drop (line 497) | fn drop(&mut self) { type RetriesMetricGroup (line 572) | pub struct RetriesMetricGroup { type RetryType (line 578) | pub enum RetryType { type RedisEventsCount (line 585) | pub enum RedisEventsCount { type ThreadPoolWorkers (line 597) | pub struct ThreadPoolWorkers(usize); type ThreadPoolWorkerId (line 599) | pub struct ThreadPoolWorkerId(pub usize); method visit (line 602) | fn visit(&self, v: V) -> V::Output { method visit_values (line 608) | fn visit_values(&self, v: &mut impl measured::label::LabelGroupVisitor) { type Group (line 614) | type Group<'a> = ThreadPoolWorkerId; method cardinality (line 616) | fn cardinality(&self) -> Option { method encode_dense (line 620) | fn encode_dense(&self, value: Self::Unique) -> Option { method decode_dense (line 624) | fn decode_dense(&self, value: usize) -> Self::Group<'_> { type Unique (line 628) | type Unique = usize; method encode (line 630) | fn encode(&self, value: Self::Group<'_>) -> Option { method decode (line 634) | fn decode(&self, value: &Self::Unique) -> Self::Group<'_> { type Value (line 640) | type Value<'a> = ThreadPoolWorkerId; method dynamic_cardinality (line 642) | fn dynamic_cardinality(&self) -> Option { method encode (line 646) | fn encode(&self, value: Self::Value<'_>) -> Option { method decode (line 650) | fn decode(&self, value: usize) -> Self::Value<'_> { method cardinality (line 656) | fn cardinality(&self) -> usize { type ThreadPoolMetrics (line 663) | pub struct ThreadPoolMetrics { type ServiceMetrics (line 671) | pub struct ServiceMetrics { type ServiceInfo (line 676) | pub struct ServiceInfo { method running (line 681) | pub const fn running() -> Self { method terminating (line 687) | pub const fn terminating() -> Self { method visit_values (line 695) | fn visit_values(&self, v: &mut impl LabelGroupVisitor) { type ServiceState (line 703) | pub enum ServiceState { type CacheMetrics (line 712) | pub struct CacheMetrics { method default (line 724) | fn default() -> Self { type CacheKind (line 731) | pub enum CacheKind { type CacheRemovalCause (line 740) | pub enum CacheRemovalCause { type CacheEviction (line 749) | pub struct CacheEviction { type CacheOutcome (line 755) | pub enum CacheOutcome { type CacheOutcomeGroup (line 762) | pub struct CacheOutcomeGroup { FILE: proxy/src/parse.rs function split_cstr (line 5) | pub(crate) fn split_cstr(bytes: &[u8]) -> Option<(&CStr, &[u8])> { function test_split_cstr (line 16) | fn test_split_cstr() { FILE: proxy/src/pglb/copy_bidirectional.rs type TransferState (line 10) | enum TransferState { type ErrorDirection (line 17) | pub(crate) enum ErrorDirection { type ErrorSource (line 38) | pub enum ErrorSource { method from_client (line 23) | fn from_client(err: ErrorDirection) -> ErrorSource { method from_compute (line 29) | fn from_compute(err: ErrorDirection) -> ErrorSource { function transfer_one_direction (line 43) | fn transfer_one_direction( function copy_bidirectional_client_compute (line 71) | pub async fn copy_bidirectional_client_compute( type CopyBuffer (line 126) | pub(super) struct CopyBuffer { method new (line 137) | pub(super) fn new() -> Self { method poll_fill_buf (line 148) | fn poll_fill_buf( method poll_write_buf (line 169) | fn poll_write_buf( method poll_copy (line 193) | pub(super) fn poll_copy( constant DEFAULT_BUF_SIZE (line 134) | const DEFAULT_BUF_SIZE: usize = 1024; function test_client_to_compute (line 271) | async fn test_client_to_compute() { function test_compute_to_client (line 292) | async fn test_compute_to_client() { FILE: proxy/src/pglb/handshake.rs type HandshakeError (line 19) | pub(crate) enum HandshakeError { method get_error_kind (line 37) | fn get_error_kind(&self) -> crate::error::ErrorKind { type HandshakeData (line 51) | pub(crate) enum HandshakeData { function handshake (line 61) | pub(crate) async fn handshake( FILE: proxy/src/pglb/inprocess.rs constant STREAM_CHANNEL_SIZE (line 12) | const STREAM_CHANNEL_SIZE: usize = 16; constant MAX_STREAM_BUFFER_SIZE (line 13) | const MAX_STREAM_BUFFER_SIZE: usize = 4096; type Connection (line 16) | pub struct Connection { method new (line 23) | pub fn new() -> (Connection, Connection) { method next_stream_id (line 44) | fn next_stream_id(&self) -> StreamId { method open_stream (line 49) | pub async fn open_stream(&self) -> io::Result { method accept_stream (line 72) | pub async fn accept_stream(&mut self) -> io::Result> { type StreamId (line 80) | pub struct StreamId(usize); method fmt (line 84) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type Stream (line 92) | pub struct Stream { method id (line 99) | pub fn id(&self) -> StreamId { method poll_read (line 107) | fn poll_read( method poll_write (line 119) | fn poll_write( method poll_flush (line 129) | fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll bool { function test_simple_roundtrip (line 165) | async fn test_simple_roundtrip() { FILE: proxy/src/pglb/mod.rs constant ERR_INSECURE_CONNECTION (line 30) | pub const ERR_INSECURE_CONNECTION: &str = "connection is insecure (try u... type TlsRequired (line 34) | pub struct TlsRequired; method get_error_kind (line 37) | fn get_error_kind(&self) -> crate::error::ErrorKind { function task_main (line 44) | pub async fn task_main( type ClientMode (line 176) | pub(crate) enum ClientMode { method allow_cleartext (line 183) | pub fn allow_cleartext(&self) -> bool { method hostname (line 190) | pub fn hostname<'a, S>(&'a self, s: &'a Stream) -> Option<&'a str> { method handshake_tls (line 197) | pub fn handshake_tls<'a>(&self, tls: Option<&'a TlsConfig>) -> Option<... type ClientRequestError (line 212) | pub(crate) enum ClientRequestError { method get_error_kind (line 226) | fn get_error_kind(&self) -> crate::error::ErrorKind { function handle_connection (line 238) | pub(crate) async fn handle_connection { function proxy_pass (line 82) | pub(crate) async fn proxy_pass(self) -> Result<(), ErrorSource> { FILE: proxy/src/pqproto.rs type ErrorCode (line 14) | pub type ErrorCode = [u8; 5]; constant FE_PASSWORD_MESSAGE (line 16) | pub const FE_PASSWORD_MESSAGE: u8 = b'p'; constant SQLSTATE_INTERNAL_ERROR (line 18) | pub const SQLSTATE_INTERNAL_ERROR: [u8; 5] = *b"XX000"; type ProtocolVersion (line 27) | pub struct ProtocolVersion { method new (line 33) | pub const fn new(major: u16, minor: u16) -> Self { method minor (line 39) | pub const fn minor(self) -> u16 { method major (line 42) | pub const fn major(self) -> u16 { method fmt (line 48) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { constant MAX_STARTUP_PACKET_LENGTH (line 57) | const MAX_STARTUP_PACKET_LENGTH: usize = 10000; constant RESERVED_INVALID_MAJOR_VERSION (line 58) | const RESERVED_INVALID_MAJOR_VERSION: u16 = 1234; constant CANCEL_REQUEST_CODE (line 60) | const CANCEL_REQUEST_CODE: ProtocolVersion = ProtocolVersion::new(1234, ... constant NEGOTIATE_SSL_CODE (line 62) | const NEGOTIATE_SSL_CODE: ProtocolVersion = ProtocolVersion::new(1234, 5... constant NEGOTIATE_GSS_CODE (line 64) | const NEGOTIATE_GSS_CODE: ProtocolVersion = ProtocolVersion::new(1234, 5... type StartupHeader (line 73) | struct StartupHeader { function request_tls (line 94) | pub async fn request_tls(stream: &mut S) -> io::Result function read_startup (line 119) | pub async fn read_startup(stream: &mut S) -> io::Result function read_message (line 214) | pub async fn read_message<'a, S>( type WriteBuf (line 259) | pub struct WriteBuf(Cursor>); method new (line 279) | pub const fn new() -> Self { method should_shrink (line 285) | fn should_shrink(&self) -> bool { method shrink (line 295) | fn shrink(&mut self) { method reset (line 310) | pub fn reset(&mut self) { method occupied_len (line 317) | pub fn occupied_len(&mut self) -> usize { method write_raw (line 328) | pub fn write_raw(&mut self, size_hint: usize, tag: u8, f: impl FnOnce(... method encryption (line 348) | pub fn encryption(&mut self, m: u8) { method write_error (line 352) | pub fn write_error(&mut self, msg: &str, error_code: ErrorCode) { method remaining (line 263) | fn remaining(&self) -> usize { method chunk (line 268) | fn chunk(&self) -> &[u8] { method advance (line 273) | fn advance(&mut self, cnt: usize) { type FeStartupPacket (line 379) | pub enum FeStartupPacket { type StartupMessageParams (line 392) | pub struct StartupMessageParams { method get (line 398) | pub fn get(&self, name: &str) -> Option<&str> { method options_raw (line 405) | pub fn options_raw(&self) -> Option> { method parse_options_raw (line 411) | pub fn parse_options_raw(input: &str) -> impl Iterator { method iter (line 425) | pub fn iter(&self) -> impl Iterator { method new (line 431) | pub fn new<'a, const N: usize>(pairs: [(&'a str, &'a str); N]) -> Self { method insert (line 443) | pub fn insert(&mut self, name: &str, value: &str) { type CancelKeyData (line 455) | pub struct CancelKeyData(pub big_endian::U64); method fmt (line 462) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { function id_to_cancel_key (line 457) | pub fn id_to_cancel_key(id: u64) -> CancelKeyData { method sample (line 470) | fn sample(&self, rng: &mut R) -> CancelKeyData { type BeMessage (line 475) | pub enum BeMessage<'a> { type BeAuthenticationSaslMessage (line 493) | pub enum BeAuthenticationSaslMessage<'a> { function write_message (line 501) | pub fn write_message(self, buf: &mut WriteBuf) { function reject_large_startup (line 607) | async fn reject_large_startup() { function reject_large_password (line 627) | async fn reject_large_password() { function read_startup_message (line 646) | async fn read_startup_message() { function read_ssl_message (line 663) | async fn read_ssl_message() { function read_tls_message (line 675) | async fn read_tls_message() { function read_message_success (line 715) | async fn read_message_success() { FILE: proxy/src/protocol2.rs constant SIGNATURE (line 15) | const SIGNATURE: [u8; 12] = [ constant LOCAL_V2 (line 19) | const LOCAL_V2: u8 = 0x20; constant PROXY_V2 (line 20) | const PROXY_V2: u8 = 0x21; constant TCP_OVER_IPV4 (line 22) | const TCP_OVER_IPV4: u8 = 0x11; constant UDP_OVER_IPV4 (line 23) | const UDP_OVER_IPV4: u8 = 0x12; constant TCP_OVER_IPV6 (line 24) | const TCP_OVER_IPV6: u8 = 0x21; constant UDP_OVER_IPV6 (line 25) | const UDP_OVER_IPV6: u8 = 0x22; type ConnectionInfo (line 28) | pub struct ConnectionInfo { method fmt (line 40) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type ConnectHeader (line 34) | pub enum ConnectHeader { type ConnectionInfoExtra (line 54) | pub enum ConnectionInfoExtra { function read_proxy_protocol (line 59) | pub(crate) async fn read_proxy_protocol( function process_proxy_payload (line 76) | fn process_proxy_payload( type Pp2Kind (line 183) | enum Pp2Kind { type Pp2AwsType (line 203) | enum Pp2AwsType { type Pp2AzureType (line 209) | enum Pp2AzureType { type Tlv (line 214) | struct Tlv<'a> { function read_tlv (line 219) | fn read_tlv<'a>(b: &mut &'a [u8]) -> Option> { type BufExt (line 228) | trait BufExt: Sized { method try_get (line 229) | fn try_get(&mut self) -> Option; method try_get (line 232) | fn try_get(&mut self) -> Option { type ProxyProtocolV2Header (line 241) | struct ProxyProtocolV2Header { type ProxyProtocolV2HeaderV4 (line 250) | struct ProxyProtocolV2HeaderV4 { type ProxyProtocolV2HeaderV6 (line 259) | struct ProxyProtocolV2HeaderV6 { type TlvHeader (line 268) | struct TlvHeader { type NetworkEndianIpv4 (line 275) | struct NetworkEndianIpv4(network_endian::U32); method get (line 278) | fn get(self) -> Ipv4Addr { type NetworkEndianIpv6 (line 285) | struct NetworkEndianIpv6(network_endian::U128); method get (line 288) | fn get(self) -> Ipv6Addr { function test_ipv4 (line 302) | async fn test_ipv4() { function test_ipv6 (line 337) | async fn test_ipv6() { function test_invalid (line 376) | async fn test_invalid() { function test_short (line 384) | async fn test_short() { function test_large_tlv (line 391) | async fn test_large_tlv() { function test_local (line 432) | async fn test_local() { FILE: proxy/src/proxy/connect_auth.rs type AuthError (line 15) | pub enum AuthError { method to_string_client (line 23) | fn to_string_client(&self) -> String { method get_error_kind (line 32) | fn get_error_kind(&self) -> crate::error::ErrorKind { function connect_to_compute_and_auth (line 42) | pub(crate) async fn connect_to_compute_and_auth( FILE: proxy/src/proxy/connect_compute.rs function invalidate_cache (line 21) | pub(crate) fn invalidate_cache(node_info: CachedNodeInfo) -> NodeInfo { type ConnectMechanism (line 36) | pub(crate) trait ConnectMechanism { method connect_once (line 38) | async fn connect_once( type Connection (line 61) | type Connection = ComputeConnection; method connect_once (line 67) | async fn connect_once( type TcpMechanism (line 46) | struct TcpMechanism<'a> { type TlsNegotiation (line 53) | pub enum TlsNegotiation { function connect_to_compute (line 86) | pub(crate) async fn connect_to_compute( function connect_to_compute_inner (line 106) | pub(crate) async fn connect_to_compute_inner); constant PARAMS_COMPAT (line 256) | pub const PARAMS_COMPAT: &'static str = "proxy_params_compat"; constant LSN (line 261) | const LSN: &'static str = "lsn"; constant TIMESTAMP (line 264) | const TIMESTAMP: &'static str = "timestamp"; constant ENDPOINT_TYPE (line 267) | const ENDPOINT_TYPE: &'static str = "endpoint_type"; method parse_params (line 269) | pub(crate) fn parse_params(params: &StartupMessageParams) -> Self { method parse_options_raw (line 276) | pub(crate) fn parse_options_raw(options: &str) -> Self { method get (line 280) | pub(crate) fn get(&self, key: &str) -> Option { method is_ephemeral (line 287) | pub(crate) fn is_ephemeral(&self) -> bool { method parse_from_iter (line 300) | fn parse_from_iter<'a>(options: impl Iterator) -> Self { method get_cache_key (line 309) | pub(crate) fn get_cache_key(&self, prefix: &str) -> EndpointCacheKey { method to_deep_object (line 320) | pub(crate) fn to_deep_object(&self) -> Vec<(SmolStr, SmolStr)> { function neon_option (line 328) | pub(crate) fn neon_option(bytes: &str) -> Option<(&str, &str)> { FILE: proxy/src/proxy/retry.rs type CouldRetry (line 9) | pub(crate) trait CouldRetry { method could_retry (line 11) | fn could_retry(&self) -> bool; method could_retry (line 25) | fn could_retry(&self) -> bool { method could_retry (line 77) | fn could_retry(&self) -> bool { type ShouldRetryWakeCompute (line 14) | pub(crate) trait ShouldRetryWakeCompute { method should_retry_wake_compute (line 17) | fn should_retry_wake_compute(&self) -> bool; method should_retry_wake_compute (line 35) | fn should_retry_wake_compute(&self) -> bool { method should_retry_wake_compute (line 65) | fn should_retry_wake_compute(&self) -> bool { method should_retry_wake_compute (line 88) | fn should_retry_wake_compute(&self) -> bool { method should_retry_wake_compute (line 100) | fn should_retry_wake_compute(&self) -> bool { function should_retry (line 20) | pub(crate) fn should_retry(err: &impl CouldRetry, num_retries: u32, conf... function retry_after (line 107) | pub(crate) fn retry_after(num_retries: u32, config: RetryConfig) -> time... function should_retry_wake_compute_for_db_error (line 120) | fn should_retry_wake_compute_for_db_error() { FILE: proxy/src/proxy/tests/mitm.rs type Intercept (line 21) | enum Intercept { function proxy_mitm (line 27) | async fn proxy_mitm( function connect_tls (line 114) | pub(crate) async fn connect_tls(mut stream: S, tls: T) -> T::Stream type PgFrame (line 132) | struct PgFrame; type Error (line 151) | type Error = std::io::Error; method encode (line 153) | fn encode(&mut self, item: Bytes, dst: &mut BytesMut) -> Result<(), Se... type Item (line 134) | type Item = Bytes; type Error (line 135) | type Error = std::io::Error; method decode (line 137) | fn decode(&mut self, src: &mut BytesMut) -> Result, S... function scram_auth_disable_channel_binding (line 161) | async fn scram_auth_disable_channel_binding() -> anyhow::Result<()> { function scram_auth_prefer_channel_binding (line 183) | async fn scram_auth_prefer_channel_binding() -> anyhow::Result<()> { function scram_auth_prefer_channel_binding_intercept (line 193) | async fn scram_auth_prefer_channel_binding_intercept() -> anyhow::Result... function scram_auth_prefer_channel_binding_intercept_response (line 203) | async fn scram_auth_prefer_channel_binding_intercept_response() -> anyho... function scram_auth_require_channel_binding (line 213) | async fn scram_auth_require_channel_binding() -> anyhow::Result<()> { function scram_auth_require_channel_binding_intercept (line 223) | async fn scram_auth_require_channel_binding_intercept() -> anyhow::Resul... function scram_auth_require_channel_binding_intercept_response (line 233) | async fn scram_auth_require_channel_binding_intercept_response() -> anyh... function connect_failure (line 241) | async fn connect_failure( FILE: proxy/src/proxy/tests/mod.rs function generate_certs (line 43) | fn generate_certs( type ClientConfig (line 75) | struct ClientConfig<'a> { type TlsConnect (line 80) | type TlsConnect = >::TlsConnect; function make_tls_connect (line 83) | fn make_tls_connect(self) -> anyhow::Result> { function generate_tls_config (line 92) | fn generate_tls_config<'a>( type TestAuth (line 130) | trait TestAuth: Sized { method authenticate (line 131) | async fn authenticate( method authenticate (line 160) | async fn authenticate( type NoAuth (line 140) | struct NoAuth; type Scram (line 143) | struct Scram(scram::ServerSecret); method new (line 146) | async fn new(password: &str) -> anyhow::Result { method mock (line 153) | fn mock() -> Self { function dummy_proxy (line 177) | async fn dummy_proxy( function handshake_tls_is_enforced_by_proxy (line 200) | async fn handshake_tls_is_enforced_by_proxy() -> anyhow::Result<()> { function handshake_tls (line 228) | async fn handshake_tls() -> anyhow::Result<()> { function handshake_raw (line 246) | async fn handshake_raw() -> anyhow::Result<()> { function keepalive_is_inherited (line 263) | async fn keepalive_is_inherited() -> anyhow::Result<()> { function scram_auth_good (line 287) | async fn scram_auth_good(#[case] password: &str) -> anyhow::Result<()> { function scram_auth_disable_channel_binding (line 311) | async fn scram_auth_disable_channel_binding() -> anyhow::Result<()> { function scram_auth_mock (line 335) | async fn scram_auth_mock() -> anyhow::Result<()> { function connect_compute_total_wait (line 369) | fn connect_compute_total_wait() { type ConnectAction (line 383) | enum ConnectAction { type TestConnectMechanism (line 400) | struct TestConnectMechanism { method verify (line 407) | fn verify(&self) { method new (line 418) | fn new(sequence: Vec) -> Self { type TestConnection (line 432) | struct TestConnection; type Connection (line 435) | type Connection = TestConnection; method connect_once (line 437) | async fn connect_once( method wake_compute (line 474) | fn wake_compute(&self) -> Result Box { function helper_create_uncached_node_info (line 530) | fn helper_create_uncached_node_info() -> NodeInfo { function helper_create_cached_node_info (line 548) | fn helper_create_cached_node_info(cache: &'static NodeInfoCache) -> Cach... function helper_create_connect_info (line 557) | fn helper_create_connect_info( function config (line 570) | fn config() -> ComputeConfig { function connect_to_compute_success (line 585) | async fn connect_to_compute_success() { function connect_to_compute_retry (line 599) | async fn connect_to_compute_retry() { function connect_to_compute_non_retry_1 (line 614) | async fn connect_to_compute_non_retry_1() { function connect_to_compute_non_retry_2 (line 629) | async fn connect_to_compute_non_retry_2() { function connect_to_compute_non_retry_3 (line 644) | async fn connect_to_compute_non_retry_3() { function wake_retry (line 672) | async fn wake_retry() { function wake_non_retry (line 687) | async fn wake_non_retry() { function fail_but_wake_invalidates_cache (line 702) | async fn fail_but_wake_invalidates_cache() { function fail_no_wake_skips_cache_invalidation (line 724) | async fn fail_no_wake_skips_cache_invalidation() { function retry_but_wake_invalidates_cache (line 745) | async fn retry_but_wake_invalidates_cache() { function retry_no_wake_skips_invalidation (line 768) | async fn retry_no_wake_skips_invalidation() { function retry_no_wake_error_fast (line 791) | async fn retry_no_wake_error_fast() { function retry_cold_wake_skips_invalidation (line 814) | async fn retry_cold_wake_skips_invalidation() { FILE: proxy/src/proxy/wake_compute.rs type WakeComputeBackend (line 27) | pub(crate) trait WakeComputeBackend { method wake_compute (line 28) | async fn wake_compute(&self, ctx: &RequestContext) -> Result( function report_error (line 78) | fn report_error(e: &WakeComputeError, retry: bool) { FILE: proxy/src/rate_limiter/leaky_bucket.rs type EndpointRateLimiter (line 14) | pub type EndpointRateLimiter = LeakyBucketRateLimiter; type LeakyBucketRateLimiter (line 16) | pub struct LeakyBucketRateLimiter { constant DEFAULT (line 23) | pub const DEFAULT: LeakyBucketConfig = LeakyBucketConfig { function new_with_shards (line 28) | pub fn new_with_shards(config: LeakyBucketConfig, shards: usize) -> Self { function check (line 37) | pub(crate) fn check(&self, key: K, config: Option, n:... function do_gc (line 58) | fn do_gc(&self, now: Instant) { type LeakyBucketConfig (line 71) | pub struct LeakyBucketConfig { method new (line 77) | pub fn new(rps: f64, max: f64) -> Self { function from (line 85) | fn from(config: LeakyBucketConfig) -> Self { function check (line 101) | async fn check() { FILE: proxy/src/rate_limiter/limit_algorithm.rs type Outcome (line 19) | pub(crate) enum Outcome { type LimitAlgorithm (line 28) | pub(crate) trait LimitAlgorithm: Send + Sync + 'static { method update (line 30) | fn update(&self, old_limit: usize, sample: Sample) -> usize; method update (line 56) | fn update(&self, old_limit: usize, _sample: Sample) -> usize { type Sample (line 35) | pub(crate) struct Sample { type RateLimitAlgorithm (line 44) | pub(crate) enum RateLimitAlgorithm { type Fixed (line 53) | pub(crate) struct Fixed; type RateLimiterConfig (line 62) | pub struct RateLimiterConfig { method create_rate_limit_algorithm (line 69) | pub(crate) fn create_rate_limit_algorithm(self) -> Box) { method take (line 96) | fn take(&mut self, ready: &Notify) -> Option<()> { type DynamicLimiter (line 119) | pub(crate) struct DynamicLimiter { method new (line 145) | pub(crate) fn new(config: RateLimiterConfig) -> Arc { method acquire_timeout (line 162) | pub(crate) async fn acquire_timeout( method acquire (line 170) | async fn acquire(self: &Arc) -> Result { method release_inner (line 197) | fn release_inner(&self, start: Instant, outcome: Option) { method state (line 221) | fn state(&self) -> LimiterState { type Token (line 129) | pub(crate) struct Token { method new (line 228) | fn new(limiter: Arc) -> Self { method disabled (line 234) | pub(crate) fn disabled() -> Self { method is_disabled (line 241) | pub(crate) fn is_disabled(&self) -> bool { method release (line 245) | pub(crate) fn release(mut self, outcome: Outcome) { method release_mut (line 249) | pub(crate) fn release_mut(&mut self, outcome: Option) { type LimiterState (line 139) | struct LimiterState { method limit (line 265) | fn limit(self) -> usize { method drop (line 257) | fn drop(&mut self) { FILE: proxy/src/rate_limiter/limit_algorithm/aimd.rs type Aimd (line 13) | pub(crate) struct Aimd { method update (line 27) | fn update(&self, old_limit: usize, sample: Sample) -> usize { function increase_decrease (line 75) | async fn increase_decrease() { function should_decrease_limit_on_overload (line 122) | async fn should_decrease_limit_on_overload() { function acquire_timeout_times_out (line 148) | async fn acquire_timeout_times_out() { function should_increase_limit_on_success_when_using_gt_util_threshold (line 183) | async fn should_increase_limit_on_success_when_using_gt_util_threshold() { function should_not_change_limit_on_success_when_using_lt_util_threshold (line 217) | async fn should_not_change_limit_on_success_when_using_lt_util_threshold... function should_not_change_limit_when_no_outcome (line 247) | async fn should_not_change_limit_when_no_outcome() { FILE: proxy/src/rate_limiter/limiter.rs type WakeComputeRateLimiter (line 25) | pub type WakeComputeRateLimiter = BucketRateLimiter { type RateBucket (line 35) | struct RateBucket { method should_allow_request (line 41) | fn should_allow_request(&mut self, info: &RateBucketInfo, now: Instant... method inc (line 53) | fn inc(&mut self, n: u32) { type RateBucketInfo (line 59) | pub struct RateBucketInfo { method fmt (line 66) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 73) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type Err (line 79) | type Err = anyhow::Error; method from_str (line 81) | fn from_str(s: &str) -> Result { constant DEFAULT_SET (line 92) | pub const DEFAULT_SET: [Self; 3] = [ constant DEFAULT_ENDPOINT_SET (line 98) | pub const DEFAULT_ENDPOINT_SET: [Self; 3] = [ method rps (line 104) | pub fn rps(&self) -> f64 { method validate (line 108) | pub fn validate(info: &mut [Self]) -> anyhow::Result<()> { method new (line 125) | pub const fn new(max_rps: u32, interval: Duration) -> Self { method to_leaky_bucket (line 132) | pub fn to_leaky_bucket(this: &[Self]) -> Option { function new (line 149) | pub fn new(info: impl Into>) -> Self { function new_with_rand_and_hasher (line 155) | fn new_with_rand_and_hasher( function check (line 171) | pub(crate) fn check(&self, key: K, n: u32) -> bool { function do_gc (line 211) | pub(crate) fn do_gc(&self) { function rate_bucket_rpi (line 239) | fn rate_bucket_rpi() { function rate_bucket_parse (line 248) | fn rate_bucket_parse() { function default_rate_buckets (line 261) | fn default_rate_buckets() { function rate_buckets_validate (line 268) | fn rate_buckets_validate() { function test_rate_limits (line 277) | async fn test_rate_limits() { function test_rate_limits_gc (line 324) | async fn test_rate_limits_gc() { FILE: proxy/src/redis/connection_with_credentials_provider.rs type Credentials (line 14) | enum Credentials { method clone (line 20) | fn clone(&self) -> Self { type ConnectionProviderError (line 31) | pub enum ConnectionProviderError { type ConnectionWithCredentialsProvider (line 40) | pub struct ConnectionWithCredentialsProvider { method new_with_credentials_provider (line 62) | pub fn new_with_credentials_provider( method new_with_static_credentials (line 84) | pub fn new_with_static_credentials(params: T) -... method ping (line 98) | async fn ping(con: &mut MultiplexedConnection) -> Result<(), Connectio... method credentials_refreshed (line 105) | pub(crate) fn credentials_refreshed(&self) -> bool { method connect (line 109) | pub(crate) async fn connect(&mut self) -> Result<(), ConnectionProvide... method get_connection_info (line 156) | async fn get_connection_info(&self) -> Result Result anyhow::Result Self { method req_packed_command (line 255) | fn req_packed_command<'a>( method req_packed_commands (line 262) | fn req_packed_commands<'a>( method get_db (line 271) | fn get_db(&self) -> i64 { FILE: proxy/src/redis/elasticache.rs type AWSIRSAConfig (line 21) | pub struct AWSIRSAConfig { method new (line 31) | pub fn new(region: String, cluster_name: Option, user_id: Opti... type CredentialsProviderError (line 46) | pub enum CredentialsProviderError { type CredentialsProvider (line 64) | pub struct CredentialsProvider { method new (line 70) | pub async fn new( method provide_credentials (line 109) | pub(crate) async fn provide_credentials( FILE: proxy/src/redis/keys.rs constant CANCEL_PREFIX (line 4) | pub const CANCEL_PREFIX: &str = "cancel"; type KeyPrefix (line 8) | pub(crate) enum KeyPrefix { method build_redis_key (line 13) | pub(crate) fn build_redis_key(&self) -> String { function test_build_redis_key (line 30) | fn test_build_redis_key() { FILE: proxy/src/redis/kv_ops.rs type RedisKVClientError (line 11) | pub enum RedisKVClientError { type RedisKVClient (line 18) | pub struct RedisKVClient { method new (line 40) | pub fn new(client: ConnectionWithCredentialsProvider) -> Self { method try_connect (line 44) | pub async fn try_connect(&mut self) -> Result<(), RedisKVClientError> { method credentials_refreshed (line 53) | pub(crate) fn credentials_refreshed(&self) -> bool { method query (line 57) | pub(crate) async fn query( type Queryable (line 23) | pub trait Queryable { method query (line 24) | async fn query(&self, conn: &mut impl ConnectionLik... method query (line 28) | async fn query(&self, conn: &mut impl ConnectionLik... method query (line 34) | async fn query(&self, conn: &mut impl ConnectionLik... FILE: proxy/src/redis/notifications.rs constant CPLANE_CHANNEL_NAME (line 15) | const CPLANE_CHANNEL_NAME: &str = "neondb-proxy-ws-updates"; constant RECONNECT_TIMEOUT (line 16) | const RECONNECT_TIMEOUT: std::time::Duration = std::time::Duration::from... constant INVALIDATION_LAG (line 17) | const INVALIDATION_LAG: std::time::Duration = std::time::Duration::from_... function try_connect (line 19) | async fn try_connect(client: &ConnectionWithCredentialsProvider) -> anyh... type NotificationHeader (line 27) | struct NotificationHeader<'a> { type Notification (line 33) | enum Notification { type InvalidateEndpoint (line 73) | enum InvalidateEndpoint { type Target (line 78) | type Target = [EndpointIdInt]; method deref (line 79) | fn deref(&self) -> &Self::Target { type InvalidateProject (line 89) | enum InvalidateProject { type Target (line 94) | type Target = [ProjectIdInt]; method deref (line 95) | fn deref(&self) -> &Self::Target { type InvalidateAccount (line 105) | enum InvalidateAccount { type Target (line 110) | type Target = [AccountIdInt]; method deref (line 111) | fn deref(&self) -> &Self::Target { type InvalidateRole (line 120) | struct InvalidateRole { function deserialize_unknown_topic (line 126) | fn deserialize_unknown_topic<'de, D>(deserializer: D) -> Result<(), D::E... type MessageHandler (line 134) | struct MessageHandler { method clone (line 139) | fn clone(&self) -> Self { function new (line 147) | pub(crate) fn new(cache: Arc) -> Self { function handle_message (line 152) | async fn handle_message(&self, msg: redis::Msg) -> anyhow::Result<()> { function invalidate_cache (line 227) | fn invalidate_cache(cache: Arc, msg: Notification) { function handle_messages (line 250) | async fn handle_messages( function task_main (line 287) | pub async fn task_main( function parse_allowed_ips (line 319) | fn parse_allowed_ips() -> anyhow::Result<()> { function parse_multiple_projects (line 340) | fn parse_multiple_projects() -> anyhow::Result<()> { function parse_password_updated (line 365) | fn parse_password_updated() -> anyhow::Result<()> { function parse_unknown_topic (line 390) | fn parse_unknown_topic() -> anyhow::Result<()> { FILE: proxy/src/sasl/channel_binding.rs type ChannelBinding (line 8) | pub(crate) enum ChannelBinding { function and_then (line 18) | pub(crate) fn and_then( function parse (line 32) | pub(crate) fn parse(input: &'a str) -> Option { function encode (line 43) | pub(crate) fn encode<'a, E>( function channel_binding_encode (line 70) | fn channel_binding_encode() -> anyhow::Result<()> { FILE: proxy/src/sasl/messages.rs type FirstMessage (line 7) | pub(crate) struct FirstMessage<'a> { function parse (line 16) | pub(crate) fn parse(bytes: &'a [u8]) -> Option { function parse_sasl_first_message (line 36) | fn parse_sasl_first_message() { FILE: proxy/src/sasl/mod.rs type Error (line 24) | pub(crate) enum Error { method to_string_client (line 48) | fn to_string_client(&self) -> String { method get_error_kind (line 58) | fn get_error_kind(&self) -> crate::error::ErrorKind { type Result (line 72) | pub(crate) type Result = std::result::Result; type Step (line 76) | pub(crate) enum Step { type Mechanism (line 86) | pub(crate) trait Mechanism: Sized { method exchange (line 92) | fn exchange(self, input: &str) -> Result>; FILE: proxy/src/sasl/stream.rs type Outcome (line 16) | pub(crate) enum Outcome { function authenticate (line 23) | pub async fn authenticate( FILE: proxy/src/scram/cache.rs type Pbkdf2Cache (line 10) | pub(crate) struct Pbkdf2Cache(moka::sync::Cache<(EndpointIdInt, RoleName... method new (line 44) | pub fn new() -> Self { method insert (line 65) | pub fn insert(&self, endpoint: EndpointIdInt, role: RoleNameInt, value... method get (line 70) | fn get(&self, endpoint: EndpointIdInt, role: RoleNameInt) -> Option = Cached<&'a Pbkdf2Cache>; type Key (line 14) | type Key = (EndpointIdInt, RoleNameInt); type Value (line 15) | type Value = Pbkdf2CacheEntry; method invalidate (line 17) | fn invalidate(&self, info: &(EndpointIdInt, RoleNameInt)) { type Pbkdf2CacheEntry (line 31) | pub struct Pbkdf2CacheEntry { method drop (line 38) | fn drop(&mut self) { FILE: proxy/src/scram/countmin.rs type CountMinSketch (line 5) | pub(crate) struct CountMinSketch { method with_params (line 23) | pub(crate) fn with_params(epsilon: f64, delta: f64) -> Self { method new (line 30) | fn new(width: usize, depth: usize) -> Self { method inc_and_return (line 52) | pub(crate) fn inc_and_return(&mut self, t: &T, x: u32) -> u32 { method reset (line 64) | pub(crate) fn reset(&mut self) { function eval_precision (line 78) | fn eval_precision(n: usize, p: f64, q: f64) -> usize { function precision (line 133) | fn precision() { function eval_cost (line 148) | fn eval_cost(p: f64, q: f64) -> (usize, usize) { function memory_usage (line 161) | fn memory_usage() { FILE: proxy/src/scram/exchange.rs type TlsServerEndPoint (line 23) | struct TlsServerEndPoint; method fmt (line 26) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type Err (line 32) | type Err = sasl::Error; method from_str (line 34) | fn from_str(s: &str) -> Result { type SaslSentInner (line 42) | struct SaslSentInner { method transition (line 223) | fn transition( type SaslInitial (line 48) | struct SaslInitial { method transition (line 188) | fn transition( type ExchangeState (line 52) | enum ExchangeState { type Exchange (line 60) | pub(crate) struct Exchange<'a> { function new (line 67) | pub(crate) fn new( function derive_client_key (line 80) | async fn derive_client_key( function exchange (line 94) | pub(crate) async fn exchange( function exchange_with_cache (line 112) | async fn exchange_with_cache( function validate_pbkdf2 (line 176) | fn validate_pbkdf2(secret: &ServerSecret, hash: &pbkdf2::Block) -> sasl:... constant CACHED_ROUNDS (line 185) | const CACHED_ROUNDS: u32 = 16; type Output (line 277) | type Output = super::ScramKey; function exchange (line 279) | fn exchange(mut self, input: &str) -> sasl::Result Self { method as_bytes (line 49) | pub(crate) fn as_bytes(&self) -> [u8; SCRAM_KEY_LEN] { method client_key (line 53) | pub(crate) fn client_key(b: &[u8; 32]) -> Self { method from (line 67) | fn from(bytes: [u8; SCRAM_KEY_LEN]) -> Self { method as_ref (line 74) | fn as_ref(&self) -> &[u8] { method drop (line 24) | fn drop(&mut self) { method eq (line 30) | fn eq(&self, other: &Self) -> bool { method ct_eq (line 36) | fn ct_eq(&self, other: &Self) -> subtle::Choice { FILE: proxy/src/scram/messages.rs constant SCRAM_RAW_NONCE_LEN (line 15) | pub(crate) const SCRAM_RAW_NONCE_LEN: usize = 18; function validate_sasl_extensions (line 18) | fn validate_sasl_extensions<'a>(parts: impl Iterator) ->... type ClientFirstMessage (line 34) | pub(crate) struct ClientFirstMessage<'a> { function parse (line 45) | pub(crate) fn parse(input: &'a str) -> Option { function build_server_first_message (line 84) | pub(crate) fn build_server_first_message( type ClientFinalMessage (line 115) | pub(crate) struct ClientFinalMessage<'a> { function parse (line 128) | pub(crate) fn parse(input: &'a str) -> Option { function build_server_final_message (line 149) | pub(crate) fn build_server_final_message( type OwnedServerFirstMessage (line 163) | pub(crate) struct OwnedServerFirstMessage { method nonce (line 173) | pub(crate) fn nonce(&self) -> &str { method as_str (line 179) | pub(crate) fn as_str(&self) -> &str { method fmt (line 185) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { function parse_client_first_message (line 198) | fn parse_client_first_message() { function parse_client_first_message_with_invalid_gs2_authz (line 221) | fn parse_client_first_message_with_invalid_gs2_authz() { function parse_client_first_message_with_extra_params (line 226) | fn parse_client_first_message_with_extra_params() { function parse_client_first_message_with_extra_params_invalid (line 234) | fn parse_client_first_message_with_extra_params_invalid() { function parse_client_final_message (line 242) | fn parse_client_final_message() { FILE: proxy/src/scram/mod.rs constant SCRAM_SHA_256 (line 25) | const SCRAM_SHA_256: &str = "SCRAM-SHA-256"; constant SCRAM_SHA_256_PLUS (line 26) | const SCRAM_SHA_256_PLUS: &str = "SCRAM-SHA-256-PLUS"; constant METHODS (line 29) | pub(crate) const METHODS: &[&str] = &[SCRAM_SHA_256_PLUS, SCRAM_SHA_256]; constant METHODS_WITHOUT_PLUS (line 30) | pub(crate) const METHODS_WITHOUT_PLUS: &[&str] = &[SCRAM_SHA_256]; function base64_decode_array (line 33) | fn base64_decode_array(input: impl AsRef<[u8]>) -> Optio... function snapshot (line 53) | fn snapshot() { function check (line 100) | async fn check( function run_round_trip_test (line 120) | async fn run_round_trip_test(server_password: &str, client_password: &st... function round_trip (line 129) | async fn round_trip() { function failure (line 135) | async fn failure() { function password_cache (line 141) | async fn password_cache() { FILE: proxy/src/scram/pbkdf2.rs type Prf (line 12) | pub type Prf = hmac::Hmac; type Block (line 13) | pub(crate) type Block = GenericArray; type Pbkdf2 (line 15) | pub(crate) struct Pbkdf2 { method start (line 34) | pub(crate) fn start(pw: &[u8], salt: &[u8], iterations: u32) -> Self { method cost (line 57) | pub(crate) fn cost(&self) -> u32 { method turn (line 65) | pub(crate) fn turn(&mut self) -> std::task::Poll { method drop (line 26) | fn drop(&mut self) { function xor_assign (line 94) | pub fn xor_assign(x: &mut Block, y: &Block) { function single_round (line 101) | fn single_round(prf: &mut Prf, ui: &Block) -> Block { function works (line 115) | fn works() { FILE: proxy/src/scram/secret.rs type ServerSecret (line 14) | pub(crate) struct ServerSecret { method parse (line 32) | pub(crate) fn parse(input: &str) -> Option { method is_password_invalid (line 52) | pub(crate) fn is_password_invalid(&self, client_key: &ScramKey) -> Cho... method mock (line 60) | pub(crate) fn mock(nonce: [u8; 32]) -> Self { method build (line 77) | pub(crate) async fn build(password: &str) -> Option { function parse_scram_secret (line 87) | fn parse_scram_secret() { FILE: proxy/src/scram/signature.rs type SignatureBuilder (line 11) | pub(crate) struct SignatureBuilder<'a> { function build (line 18) | pub(crate) fn build(&self, key: &ScramKey) -> Signature { type Signature (line 38) | pub(crate) struct Signature { method derive_client_key (line 44) | pub(crate) fn derive_client_key(&self, proof: &[u8; SCRAM_KEY_LEN]) ->... method from (line 64) | fn from(bytes: [u8; SCRAM_KEY_LEN]) -> Self { method as_ref (line 70) | fn as_ref(&self) -> &[u8] { FILE: proxy/src/scram/threadpool.rs type ThreadPool (line 25) | pub struct ThreadPool { method new (line 42) | pub fn new(mut n_workers: u8) -> Arc { method spawn_job (line 82) | pub(crate) fn spawn_job(&self, endpoint: EndpointIdInt, pbkdf2: Pbkdf2... constant SKETCH_RESET_INTERVAL (line 35) | const SKETCH_RESET_INTERVAL: u64 = 1021; method drop (line 93) | fn drop(&mut self) { type ThreadRt (line 101) | struct ThreadRt { method should_run (line 110) | fn should_run(&mut self, job: &JobSpec) -> bool { type JobSpec (line 134) | struct JobSpec { type Output (line 140) | type Output = pbkdf2::Block; method poll (line 142) | fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll); type Output (line 179) | type Output = pbkdf2::Block; method poll (line 181) | fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll (SigningKey, jose_jwk::Key) { type HttpConnError (line 417) | pub(crate) enum HttpConnError { method from (line 442) | fn from(value: connect_auth::AuthError) -> Self { type LocalProxyConnError (line 453) | pub(crate) enum LocalProxyConnError { method get_error_kind (line 459) | fn get_error_kind(&self) -> ErrorKind { method to_string_client (line 483) | fn to_string_client(&self) -> String { method get_error_kind (line 502) | fn get_error_kind(&self) -> ErrorKind { method to_string_client (line 510) | fn to_string_client(&self) -> String { FILE: proxy/src/serverless/cancel_set.rs type Hasher (line 15) | type Hasher = BuildHasherDefault; type CancelSet (line 17) | pub struct CancelSet { method new (line 28) | pub fn new(shards: usize) -> Self { method take (line 41) | pub(crate) fn take(&self) -> Option { method take_raw (line 52) | fn take_raw(&self, rng: usize) -> Option { method insert (line 57) | pub(crate) fn insert(&self, id: uuid::Uuid, token: CancellationToken) ... type CancelShard (line 23) | pub(crate) struct CancelShard { method take (line 69) | fn take(&mut self, rng: usize) -> Option { method remove (line 81) | fn remove(&mut self, id: uuid::Uuid) { method insert (line 85) | fn insert(&mut self, id: uuid::Uuid, token: CancellationToken) { type CancelGuard (line 90) | pub(crate) struct CancelGuard<'a> { method drop (line 96) | fn drop(&mut self) { FILE: proxy/src/serverless/conn_pool.rs type TlsStream (line 30) | type TlsStream = >::Stream; type ConnInfoWithAuth (line 33) | pub(crate) struct ConnInfoWithAuth { type AuthData (line 39) | pub(crate) enum AuthData { method fmt (line 46) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { function poll_client (line 58) | pub(crate) fn poll_client( type ClientDataRemote (line 156) | pub(crate) struct ClientDataRemote { method session (line 162) | pub fn session(&mut self) -> &mut tokio::sync::watch::Sender); method new (line 182) | fn new(is_closed: bool) -> Self { method is_closed (line 187) | fn is_closed(&self) -> bool { method get_process_id (line 190) | fn get_process_id(&self) -> i32 { method reset (line 193) | fn reset(&mut self) -> Result<(), postgres_client::Error> { function create_inner (line 198) | fn create_inner() -> ClientInnerCommon { function create_inner_with (line 202) | fn create_inner_with(client: MockClient) -> ClientInnerCommon { function test_pool (line 221) | async fn test_pool() { FILE: proxy/src/serverless/conn_pool_lib.rs type ConnInfo (line 27) | pub(crate) struct ConnInfo { method db_and_user (line 34) | pub(crate) fn db_and_user(&self) -> (DbName, RoleName) { method endpoint_cache_key (line 38) | pub(crate) fn endpoint_cache_key(&self) -> Option { type ClientDataEnum (line 50) | pub(crate) enum ClientDataEnum { type ClientInnerCommon (line 57) | pub(crate) struct ClientInnerCommon { method drop (line 65) | fn drop(&mut self) { function get_conn_id (line 79) | pub(crate) fn get_conn_id(&self) -> uuid::Uuid { function get_data (line 83) | pub(crate) fn get_data(&mut self) -> &mut ClientDataEnum { type ConnPoolEntry (line 88) | pub(crate) struct ConnPoolEntry { type EndpointConnPool (line 95) | pub(crate) struct EndpointConnPool { function new (line 107) | pub(crate) fn new( function get_conn_entry (line 126) | pub(crate) fn get_conn_entry( function remove_client (line 143) | pub(crate) fn remove_client( function get_name (line 175) | pub(crate) fn get_name(&self) -> &str { function get_pool (line 179) | pub(crate) fn get_pool(&self, db_user: (DbName, RoleName)) -> Option<&Db... function get_pool_mut (line 183) | pub(crate) fn get_pool_mut( function put (line 190) | pub(crate) fn put(pool: &RwLock, conn_info: &ConnInfo, mut client:... method drop (line 256) | fn drop(&mut self) { type DbUserConnPool (line 269) | pub(crate) struct DbUserConnPool { method default (line 275) | fn default() -> Self { type DbUserConn (line 283) | pub(crate) trait DbUserConn: Default { method set_initialized (line 284) | fn set_initialized(&mut self); method is_initialized (line 285) | fn is_initialized(&self) -> bool; method clear_closed_clients (line 286) | fn clear_closed_clients(&mut self, conns: &mut usize) -> usize; method get_conn_entry (line 287) | fn get_conn_entry(&mut self, conns: &mut usize) -> (Option &mut Vec>; function set_initialized (line 292) | fn set_initialized(&mut self) { function is_initialized (line 296) | fn is_initialized(&self) -> bool { function clear_closed_clients (line 300) | fn clear_closed_clients(&mut self, conns: &mut usize) -> usize { function get_conn_entry (line 311) | fn get_conn_entry(&mut self, conns: &mut usize) -> (Option &mut Vec> { type EndpointConnPoolExt (line 333) | pub(crate) trait EndpointConnPoolExt { method clear_closed (line 334) | fn clear_closed(&mut self) -> usize; method total_conns (line 335) | fn total_conns(&self) -> usize; function clear_closed (line 339) | fn clear_closed(&mut self) -> usize { function total_conns (line 347) | fn total_conns(&self) -> usize { type GlobalConnPool (line 352) | pub(crate) struct GlobalConnPool type GlobalConnPoolOptions (line 379) | pub struct GlobalConnPoolOptions { function new (line 403) | pub(crate) fn new(config: &'static crate::config::HttpConfig) -> Arc usize { function get_idle_timeout (line 420) | pub(crate) fn get_idle_timeout(&self) -> Duration { function shutdown (line 424) | pub(crate) fn shutdown(&self) { function gc_worker (line 429) | pub(crate) async fn gc_worker(&self, mut rng: impl Rng) { function gc (line 440) | pub(crate) fn gc(&self, shard: usize) { function get (line 500) | pub(crate) fn get( function get_or_create_endpoint_pool (line 554) | pub(crate) fn get_or_create_endpoint_pool( type Client (line 599) | pub(crate) struct Client { type Discard (line 606) | pub(crate) struct Discard<'a, C: ClientInnerExt> { function new (line 612) | pub(crate) fn new( function client_inner (line 625) | pub(crate) fn client_inner(&mut self) -> (&mut ClientInnerCommon, Dis... function inner (line 636) | pub(crate) fn inner(&mut self) -> (&mut C, Discard<'_, C>) { function metrics (line 647) | pub(crate) fn metrics(&self, ctx: &RequestContext) -> Arc { method drop (line 669) | fn drop(&mut self) { type Target (line 684) | type Target = C; method deref (line 686) | fn deref(&self) -> &Self::Target { type ClientInnerExt (line 695) | pub(crate) trait ClientInnerExt: Sync + Send + 'static { method is_closed (line 696) | fn is_closed(&self) -> bool; method get_process_id (line 697) | fn get_process_id(&self) -> i32; method reset (line 698) | fn reset(&mut self) -> Result<(), postgres_client::Error>; method is_closed (line 702) | fn is_closed(&self) -> bool { method get_process_id (line 706) | fn get_process_id(&self) -> i32 { method reset (line 710) | fn reset(&mut self) -> Result<(), postgres_client::Error> { function discard (line 716) | pub(crate) fn discard(&mut self) { FILE: proxy/src/serverless/error.rs type HttpCodeError (line 8) | pub trait HttpCodeError { method get_http_status_code (line 9) | fn get_http_status_code(&self) -> StatusCode; method get_http_status_code (line 86) | fn get_http_status_code(&self) -> StatusCode { type ConnInfoError (line 13) | pub(crate) enum ConnInfoError { type Credentials (line 37) | pub(crate) enum Credentials { method get_error_kind (line 45) | fn get_error_kind(&self) -> ErrorKind { method to_string_client (line 51) | fn to_string_client(&self) -> String { type ReadPayloadError (line 57) | pub(crate) enum ReadPayloadError { method from (line 67) | fn from(value: ReadBodyError) -> Self { method get_error_kind (line 76) | fn get_error_kind(&self) -> ErrorKind { FILE: proxy/src/serverless/http_conn_pool.rs type LocalProxyClient (line 26) | pub(crate) type LocalProxyClient = http2::SendRequest { function get_conn_entry (line 51) | fn get_conn_entry(&mut self) -> Option> { function remove_conn (line 68) | fn remove_conn(&mut self, conn_id: uuid::Uuid) -> bool { function clear_closed (line 92) | fn clear_closed(&mut self) -> usize { function total_conns (line 101) | fn total_conns(&self) -> usize { method drop (line 107) | fn drop(&mut self) { function get (line 122) | pub(crate) fn get( function get_or_create_endpoint_pool (line 149) | fn get_or_create_endpoint_pool( function poll_http2_client (line 191) | pub(crate) fn poll_http2_client( type Client (line 262) | pub(crate) struct Client { function new (line 267) | pub(self) fn new(inner: ClientInnerCommon) -> Self { function metrics (line 271) | pub(crate) fn metrics(&self, ctx: &RequestContext) -> Arc { method is_closed (line 289) | fn is_closed(&self) -> bool { method get_process_id (line 293) | fn get_process_id(&self) -> i32 { method reset (line 298) | fn reset(&mut self) -> Result<(), postgres_client::Error> { FILE: proxy/src/serverless/http_util.rs function uuid_to_header_value (line 37) | pub(crate) fn uuid_to_header_value(id: Uuid) -> HeaderValue { function api_error_into_response (line 44) | pub(crate) fn api_error_into_response(this: ApiError) -> Response Response( function get_conn_info (line 142) | pub(crate) fn get_conn_info( FILE: proxy/src/serverless/json.rs function json_to_pg_text (line 10) | pub(crate) fn json_to_pg_text(json: Vec) -> Vec> { function json_value_to_pg_text (line 14) | fn json_value_to_pg_text(value: &Value) -> Option { function json_array_to_pg_array (line 38) | fn json_array_to_pg_array(value: &Value) -> Option { type JsonConversionError (line 63) | pub(crate) enum JsonConversionError { type OutputMode (line 78) | enum OutputMode<'a> { function key (line 84) | fn key(&mut self, key: &str) -> ValueSer<'_> { function finish (line 91) | fn finish(self) { function pg_text_row_to_json (line 102) | pub(crate) fn pg_text_row_to_json( function pg_text_to_json (line 133) | fn pg_text_to_json(output: ValueSer, val: &str, pg_type: &Type) -> Resul... function pg_array_parse (line 186) | fn pg_array_parse( function pg_array_parse_inner (line 215) | fn pg_array_parse_inner<'a>( function pg_array_parse_item (line 254) | fn pg_array_parse_item<'a>( function pg_array_parse_quoted (line 315) | fn pg_array_parse_quoted<'a>( function split_first_char (line 366) | fn split_first_char(s: &str) -> Option<(char, &str)> { function test_atomic_types_to_pg_params (line 379) | fn test_atomic_types_to_pg_params() { function test_json_array_to_pg_array (line 401) | fn test_json_array_to_pg_array() { function pg_text_to_json (line 433) | fn pg_text_to_json(val: &str, pg_type: &Type) -> Value { function pg_array_parse (line 438) | fn pg_array_parse(pg_array: &str, pg_type: &Type) -> Value { function test_atomic_types_parse (line 446) | fn test_atomic_types_parse() { function test_pg_array_parse_text (line 476) | fn test_pg_array_parse_text() { function test_pg_array_parse_bool (line 499) | fn test_pg_array_parse_bool() { function test_pg_array_parse_numbers (line 516) | fn test_pg_array_parse_numbers() { function test_pg_array_with_decoration (line 544) | fn test_pg_array_with_decoration() { function test_pg_array_parse_json (line 555) | fn test_pg_array_parse_json() { FILE: proxy/src/serverless/local_conn_pool.rs constant EXT_NAME (line 44) | pub(crate) const EXT_NAME: &str = "pg_session_jwt"; constant EXT_VERSION (line 45) | pub(crate) const EXT_VERSION: &str = "0.3.1"; constant EXT_SCHEMA (line 46) | pub(crate) const EXT_SCHEMA: &str = "auth"; type ClientDataLocal (line 49) | pub(crate) struct ClientDataLocal { method session (line 57) | pub fn session(&mut self) -> &mut tokio::sync::watch::Sender { function new (line 73) | pub(crate) fn new(config: &'static crate::config::HttpConfig) -> Arc Duration { function get (line 91) | pub(crate) fn get( function initialized (line 143) | pub(crate) fn initialized(self: &Arc, conn_info: &ConnInfo) -> bool { function set_initialized (line 150) | pub(crate) fn set_initialized(self: &Arc, conn_info: &ConnInfo) { function poll_client (line 162) | pub(crate) fn poll_client( function set_jwt_session (line 267) | pub(crate) async fn set_jwt_session(&mut self, payload: &[u8]) -> Result... function upsert_json_object (line 292) | fn upsert_json_object( function resign_jwt (line 302) | fn resign_jwt(sk: &SigningKey, payload: &[u8], jti: u64) -> Result String { function jwt_token_snapshot (line 361) | fn jwt_token_snapshot() { FILE: proxy/src/serverless/mod.rs constant SERVERLESS_DRIVER_SNI (line 60) | pub(crate) const SERVERLESS_DRIVER_SNI: &str = "api"; constant AUTH_BROKER_SNI (line 61) | pub(crate) const AUTH_BROKER_SNI: &str = "apiauth"; function task_main (line 63) | pub async fn task_main( type AsyncReadWrite (line 206) | pub(crate) trait AsyncReadWrite: AsyncRead + AsyncWrite + Send + 'static {} type AsyncRW (line 208) | pub(crate) type AsyncRW = Pin>; type MaybeTlsAcceptor (line 211) | trait MaybeTlsAcceptor: Send + Sync + 'static { method accept (line 212) | async fn accept(&self, conn: TcpStream) -> std::io::Result; method accept (line 217) | async fn accept(&self, conn: TcpStream) -> std::io::Result { function connection_startup (line 232) | async fn connection_startup( function connection_handler (line 304) | async fn connection_handler( function request_handler (line 398) | async fn request_handler( FILE: proxy/src/serverless/rest.rs constant INTROSPECTION_SQL (line 74) | const INTROSPECTION_SQL: &str = POSTGRESQL_INTROSPECTION_SQL; constant HEADER_VALUE_ALLOW_ALL_ORIGINS (line 75) | const HEADER_VALUE_ALLOW_ALL_ORIGINS: HeaderValue = HeaderValue::from_st... constant ACCESS_CONTROL_ALLOW_METHODS_VALUE (line 77) | const ACCESS_CONTROL_ALLOW_METHODS_VALUE: HeaderValue = constant ACCESS_CONTROL_MAX_AGE_VALUE (line 79) | const ACCESS_CONTROL_MAX_AGE_VALUE: HeaderValue = HeaderValue::from_stat... constant ACCESS_CONTROL_EXPOSE_HEADERS_VALUE (line 80) | const ACCESS_CONTROL_EXPOSE_HEADERS_VALUE: HeaderValue = HeaderValue::fr... constant ACCESS_CONTROL_ALLOW_HEADERS_VALUE (line 83) | const ACCESS_CONTROL_ALLOW_HEADERS_VALUE: HeaderValue = HeaderValue::fro... type DbSchemaOwned (line 87) | pub struct DbSchemaOwned { method deserialize (line 95) | fn deserialize(deserializer: D) -> Result function split_comma_separated (line 105) | fn split_comma_separated(s: &str) -> Vec { function deserialize_comma_separated (line 109) | fn deserialize_comma_separated<'de, D>(deserializer: D) -> Result( type ApiConfig (line 137) | pub struct ApiConfig { type DbSchemaCache (line 159) | pub(crate) struct DbSchemaCache(Cache Self { method maintain (line 176) | pub async fn maintain(&self) -> Result { method get_cached (line 184) | pub fn get_cached( method get_remote (line 190) | pub async fn get_remote( method internal_get_remote (line 234) | async fn internal_get_remote( type PostgresError (line 322) | pub(crate) struct PostgresError { method fmt (line 349) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method get_http_status_code (line 329) | fn get_http_status_code(&self) -> StatusCode { method get_error_kind (line 335) | fn get_error_kind(&self) -> ErrorKind { method to_string_client (line 340) | fn to_string_client(&self) -> String { type RestError (line 356) | pub(crate) enum RestError { method get_error_kind (line 373) | fn get_error_kind(&self) -> ErrorKind { method to_string_client (line 386) | fn to_string_client(&self) -> String { method get_http_status_code (line 409) | fn get_http_status_code(&self) -> StatusCode { function fmt_env_query (line 430) | fn fmt_env_query<'a>(env: &'a HashMap<&'a str, &'a str>) -> Snippet<'a> { function to_sql_param (line 444) | fn to_sql_param(p: &Param) -> JsonValue { type QueryData (line 467) | struct QueryData<'a> { type BatchQueryData (line 473) | struct BatchQueryData<'a> { function make_local_proxy_request (line 477) | async fn make_local_proxy_request( function make_raw_local_proxy_request (line 508) | async fn make_raw_local_proxy_request( function handle (line 542) | pub(crate) async fn handle( function handle_inner (line 663) | async fn handle_inner( function apply_common_cors_headers (line 739) | fn apply_common_cors_headers( function handle_rest_inner (line 771) | async fn handle_rest_inner( FILE: proxy/src/serverless/sql_over_http.rs type QueryData (line 46) | struct QueryData { method process (line 672) | async fn process( type BatchQueryData (line 56) | struct BatchQueryData { method process (line 747) | async fn process( type Payload (line 62) | enum Payload { constant HEADER_VALUE_TRUE (line 67) | pub(super) const HEADER_VALUE_TRUE: HeaderValue = HeaderValue::from_stat... function bytes_to_pg_text (line 69) | fn bytes_to_pg_text<'de, D>(deserializer: D) -> Result ErrorKind { method to_string_client (line 307) | fn to_string_client(&self) -> String { method get_http_status_code (line 323) | fn get_http_status_code(&self) -> StatusCode { type SqlOverHttpCancel (line 342) | pub(crate) enum SqlOverHttpCancel { method get_error_kind (line 350) | fn get_error_kind(&self) -> ErrorKind { type HttpHeaders (line 359) | struct HttpHeaders { method try_parse (line 368) | fn try_parse(headers: &hyper::http::HeaderMap) -> Result Option Option( type Client (line 963) | enum Client { method metrics (line 974) | fn metrics(&self, ctx: &RequestContext) -> Arc { method inner (line 981) | fn inner(&mut self) -> (&mut postgres_client::Client, Discard<'_>) { type Discard (line 968) | enum Discard<'a> { function discard (line 996) | fn discard(&mut self) { function test_payload (line 1009) | fn test_payload() { FILE: proxy/src/serverless/websocket.rs function new (line 36) | pub(crate) fn new(stream: WebSocketServer) -> Self { method poll_write (line 46) | fn poll_write( method poll_flush (line 63) | fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll, cx: &mut Context<'_>) -> Poll, cx: &mut Context<'_>) -> Poll, amount: usize) { function serve_websocket (line 128) | pub(crate) async fn serve_websocket( function websocket_stream_wrapper_happy_path (line 195) | async fn websocket_stream_wrapper_happy_path() { FILE: proxy/src/signals.rs function handle (line 10) | pub async fn handle( FILE: proxy/src/stream.rs type PqStream (line 23) | pub struct PqStream { function get_ref (line 30) | pub fn get_ref(&self) -> &S { function new_skip_handshake (line 36) | pub fn new_skip_handshake(stream: S) -> Self { function parse_startup (line 49) | pub async fn parse_startup(mut stream: S) -> io::Result<(Self, FeStartup... function reject_encryption (line 64) | pub async fn reject_encryption(&mut self) -> io::Result { function read_raw_expect (line 75) | async fn read_raw_expect(&mut self, tag: u8, max: u32) -> io::Result<&mu... function read_password_message (line 88) | pub async fn read_password_message(&mut self) -> io::Result<&mut [u8]> { type ReportedError (line 99) | pub struct ReportedError { method new (line 105) | pub fn new(e: impl UserFacingError + Into) -> Self { method fmt (line 115) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method source (line 121) | fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { method get_error_kind (line 127) | fn get_error_kind(&self) -> ErrorKind { function accept_tls (line 135) | pub async fn accept_tls(mut self) -> io::Result { function accept_direct_tls (line 143) | pub fn accept_direct_tls(self) -> S { function write_raw (line 148) | pub fn write_raw(&mut self, size_hint: usize, tag: u8, f: impl FnOnce(&m... function write_message (line 153) | pub fn write_message(&mut self, message: BeMessage<'_>) { function write_if_full (line 158) | pub async fn write_if_full(&mut self) -> io::Result<()> { function flush (line 169) | pub async fn flush(&mut self) -> io::Result<()> { function flush_and_into_inner (line 181) | pub async fn flush_and_into_inner(mut self) -> io::Result { function throw_error (line 190) | pub(crate) async fn throw_error( type Stream (line 246) | pub enum Stream { function from_raw (line 262) | pub fn from_raw(raw: S) -> Self { function sni_hostname (line 267) | pub fn sni_hostname(&self) -> Option<&str> { function tls_server_end_point (line 274) | pub(crate) fn tls_server_end_point(&self) -> TlsServerEndPoint { type StreamUpgradeError (line 287) | pub enum StreamUpgradeError { function upgrade (line 297) | pub async fn upgrade( method poll_read (line 317) | fn poll_read( method poll_write (line 330) | fn poll_write( method poll_flush (line 341) | fn poll_flush( method poll_shutdown (line 351) | fn poll_shutdown( FILE: proxy/src/tls/client_config.rs function load_internal_certs (line 10) | fn load_internal_certs(store: &mut rustls::RootCertStore) -> anyhow::Res... function load_native_certs (line 31) | fn load_native_certs(store: &mut rustls::RootCertStore) -> anyhow::Resul... function load_compute_certs (line 43) | fn load_compute_certs() -> anyhow::Result> { function compute_client_config_with_root_certs (line 52) | pub fn compute_client_config_with_root_certs() -> anyhow::Result) -> anyhow::Result { method supported (line 71) | pub fn supported(&self) -> bool { FILE: proxy/src/tls/postgres_rustls.rs type TlsConnectFuture (line 24) | pub struct TlsConnectFuture { type Output (line 32) | type Output = io::Result>; method poll (line 34) | fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll; type Error (line 53) | type Error = io::Error; type Future (line 54) | type Future = TlsConnectFuture; method connect (line 56) | fn connect(self, stream: S) -> Self::Future { type RustlsConnectData (line 43) | pub struct RustlsConnectData { type RustlsStream (line 63) | pub struct RustlsStream(Box>); function channel_binding (line 69) | fn channel_binding(&self) -> ChannelBinding { method poll_read (line 90) | fn poll_read( method poll_write (line 103) | fn poll_write( method poll_flush (line 111) | fn poll_flush( method poll_shutdown (line 118) | fn poll_shutdown( type Stream (line 131) | type Stream = private::RustlsStream; type TlsConnect (line 132) | type TlsConnect = private::RustlsConnect; type Error (line 133) | type Error = InvalidDnsNameError; method make_tls_connect (line 135) | fn make_tls_connect(&self, hostname: &str) -> Result anyhow::Result { method new (line 94) | pub fn new( method add_cert_path (line 106) | fn add_cert_path(&mut self, key_path: &Path, cert_path: &Path) -> anyh... method add_cert (line 111) | fn add_cert( method get_common_names (line 121) | pub fn get_common_names(&self) -> HashSet { method resolve (line 200) | fn resolve( method resolve (line 209) | pub fn resolve( function parse_key_cert (line 126) | fn parse_key_cert( function process_key_cert (line 157) | fn process_key_cert( FILE: proxy/src/types.rs constant POOLER_SUFFIX (line 66) | const POOLER_SUFFIX: &str = "-pooler"; constant LOCAL_PROXY_SUFFIX (line 67) | pub(crate) const LOCAL_PROXY_SUFFIX: &str = "-local-proxy"; method normalize_str (line 71) | fn normalize_str(&self) -> &str { method normalize (line 82) | pub fn normalize(&self) -> Self { method normalize_intern (line 87) | pub fn normalize_intern(&self) -> EndpointIdInt { FILE: proxy/src/url.rs type ApiUrl (line 6) | pub struct ApiUrl(url::Url); method into_inner (line 10) | pub(crate) fn into_inner(self) -> url::Url { method path_segments_mut (line 15) | pub(crate) fn path_segments_mut(&mut self) -> url::PathSegmentsMut<'_> { type Err (line 23) | type Err = anyhow::Error; method from_str (line 25) | fn from_str(s: &str) -> anyhow::Result { type Target (line 39) | type Target = url::Url; method deref (line 41) | fn deref(&self) -> &Self::Target { method deref_mut (line 47) | fn deref_mut(&mut self) -> &mut Self::Target { method fmt (line 53) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function bad_url (line 63) | fn bad_url() { function good_url (line 70) | fn good_url() { FILE: proxy/src/usage_metrics.rs constant PROXY_IO_BYTES_PER_CLIENT (line 31) | const PROXY_IO_BYTES_PER_CLIENT: &str = "proxy_io_bytes_per_client"; constant HTTP_REPORTING_REQUEST_TIMEOUT (line 33) | const HTTP_REPORTING_REQUEST_TIMEOUT: Duration = Duration::from_secs(10); constant HTTP_REPORTING_RETRY_DURATION (line 34) | const HTTP_REPORTING_RETRY_DURATION: Duration = Duration::from_secs(60); type Ids (line 44) | pub(crate) struct Ids { type Extra (line 52) | struct Extra { function serialize (line 63) | pub fn serialize(t: &Option, s: S) -> Res... function deserialize (line 67) | pub fn deserialize<'de, D: serde::Deserializer<'de>>( type TrafficDirection (line 77) | pub(crate) enum TrafficDirection { type MetricCounterRecorder (line 82) | pub(crate) trait MetricCounterRecorder { method record_egress (line 84) | fn record_egress(&self, bytes: u64); method record_ingress (line 87) | fn record_ingress(&self, bytes: u64); method record_connection (line 90) | fn record_connection(&self, count: usize); method record_egress (line 107) | fn record_egress(&self, bytes: u64) { method record_ingress (line 112) | fn record_ingress(&self, bytes: u64) { method record_connection (line 117) | fn record_connection(&self, count: usize) { type MetricCounterReporter (line 93) | trait MetricCounterReporter { method get_metrics (line 94) | fn get_metrics(&mut self) -> MetricsData; method move_metrics (line 95) | fn move_metrics(&self) -> MetricsData; method get_metrics (line 123) | fn get_metrics(&mut self) -> MetricsData { method move_metrics (line 131) | fn move_metrics(&self) -> MetricsData { type MetricCounter (line 99) | pub(crate) struct MetricCounter { type MetricsData (line 140) | struct MetricsData { type BytesSent (line 146) | struct BytesSent { type Clearable (line 151) | trait Clearable { method should_report (line 153) | fn should_report(self: &Arc) -> Option; method should_clear (line 155) | fn should_clear(self: &mut Arc) -> bool; method should_report (line 159) | fn should_report(self: &Arc) -> Option { method should_clear (line 189) | fn should_clear(self: &mut Arc) -> bool { type FastHasher (line 205) | type FastHasher = std::hash::BuildHasherDefault; type Metrics (line 208) | pub(crate) struct Metrics { method register (line 214) | pub(crate) fn register(&self, ids: Ids) -> Arc { function task_main (line 237) | pub async fn task_main(config: &MetricCollectionConfig) -> anyhow::Resul... function collect_and_clear_metrics (line 285) | fn collect_and_clear_metrics( function create_event_chunks (line 315) | fn create_event_chunks<'a>( function collect_metrics_iteration (line 363) | async fn collect_metrics_iteration( function create_remote_path_prefix (line 400) | fn create_remote_path_prefix(now: DateTime) -> String { function upload_main_events_chunked (line 412) | async fn upload_main_events_chunked( function upload_backup_events (line 447) | async fn upload_backup_events( function metrics (line 527) | async fn metrics() { FILE: proxy/src/util.rs function run_until_cancelled (line 6) | pub async fn run_until_cancelled( function run_until (line 14) | pub async fn run_until( function deserialize_json_string (line 24) | pub fn deserialize_json_string<'de, D, T>(deserializer: D) -> Result(pub(self) Mutex Self { function register (line 40) | pub(crate) fn register(&self, key: String) -> Result, Regi... function notify (line 57) | pub(crate) fn notify(&self, key: &str, value: T) -> Result<(), NotifyError> type DropKey (line 71) | struct DropKey<'a, T> { method drop (line 77) | fn drop(&mut self) { type Output (line 91) | type Output = Result; function poll (line 93) | fn poll(self: Pin<&mut Self>, cx: &mut task::Context<'_>) -> task::Poll<... function test_waiter (line 108) | async fn test_waiter() -> anyhow::Result<()> { FILE: safekeeper/benches/receive_wal.rs constant KB (line 21) | const KB: usize = 1024; constant MB (line 22) | const MB: usize = 1024 * KB; constant GB (line 23) | const GB: usize = 1024 * MB; function bench_process_msg (line 49) | fn bench_process_msg(c: &mut Criterion) { function bench_wal_acceptor (line 121) | fn bench_wal_acceptor(c: &mut Criterion) { function bench_wal_acceptor_throughput (line 205) | fn bench_wal_acceptor_throughput(c: &mut Criterion) { function bench_file_write (line 298) | fn bench_file_write(c: &mut Criterion) { function bench_bytes_reserve (line 356) | fn bench_bytes_reserve(c: &mut Criterion) { FILE: safekeeper/client/src/mgmt_api.rs type Client (line 18) | pub struct Client { method new (line 70) | pub fn new( method create_timeline (line 83) | pub async fn create_timeline(&self, req: &TimelineCreateRequest) -> Re... method pull_timeline (line 89) | pub async fn pull_timeline(&self, req: &PullTimelineRequest) -> Result... method exclude_timeline (line 95) | pub async fn exclude_timeline( method delete_timeline (line 109) | pub async fn delete_timeline( method switch_timeline_membership (line 124) | pub async fn switch_timeline_membership( method delete_tenant (line 138) | pub async fn delete_tenant(&self, tenant_id: TenantId) -> Result Result { method utilization (line 191) | pub async fn utilization(&self) -> Result { method post (line 197) | async fn post( method put (line 205) | async fn put( method get (line 213) | async fn get(&self, uri: U) -> Result { method request (line 218) | async fn request( method request_maybe_body (line 228) | async fn request_maybe_body( method request_noerror (line 240) | async fn request_noerror( type Error (line 25) | pub enum Error { type Result (line 45) | pub type Result = std::result::Result; type ResponseErrorMessageExt (line 47) | pub trait ResponseErrorMessageExt: Sized { method error_from_body (line 48) | fn error_from_body(self) -> impl std::future::Future Result { FILE: safekeeper/src/bin/safekeeper.rs constant PID_FILE_NAME (line 62) | const PID_FILE_NAME: &str = "safekeeper.pid"; constant ID_FILE_NAME (line 63) | const ID_FILE_NAME: &str = "safekeeper.id"; constant FEATURES (line 68) | const FEATURES: &[&str] = &[ function version (line 73) | fn version() -> String { constant ABOUT (line 81) | const ABOUT: &str = r#" type Args (line 89) | struct Args { function opt_pathbuf_parser (line 279) | fn opt_pathbuf_parser(s: &str) -> Result { function main (line 284) | async fn main() -> anyhow::Result<()> { type JoinTaskRes (line 478) | type JoinTaskRes = Result, JoinError>; function start_safekeeper (line 480) | async fn start_safekeeper(conf: Arc) -> Result<()> { function set_id (line 786) | fn set_id(workdir: &Utf8Path, given_id: Option) -> Result { function parse_remote_storage (line 831) | fn parse_remote_storage(storage_conf: &str) -> anyhow::Result storage_broker::ClientTlsCo... function push_loop (line 37) | async fn push_loop( function pull_loop (line 91) | async fn pull_loop( function discover_loop (line 147) | async fn discover_loop( function task_main (line 229) | pub async fn task_main( type BrokerStats (line 297) | struct BrokerStats { method new (line 303) | fn new() -> Self { method now_millis (line 309) | fn now_millis() -> u64 { method update_pulled (line 317) | fn update_pulled(&self) { function task_stats (line 324) | async fn task_stats(stats: Arc) {