pub struct AstraConfig {Show 97 fields
pub node_id: u64,
pub client_addr: String,
pub raft_addr: String,
pub raft_advertise_addr: String,
pub peers: Vec<String>,
pub data_dir: PathBuf,
pub max_memory_mb: usize,
pub hot_revision_window: i64,
pub watch_ring_capacity: usize,
pub watch_broadcast_capacity: usize,
pub watch_backlog_mode: WatchBacklogMode,
pub tiering_interval_secs: u64,
pub sst_target_bytes: usize,
pub wal_max_batch_requests: usize,
pub wal_max_batch_bytes: usize,
pub wal_max_linger_us: u64,
pub wal_low_concurrency_threshold: usize,
pub wal_low_linger_us: u64,
pub wal_pending_limit: usize,
pub wal_segment_bytes: u64,
pub wal_io_engine: WalIoEngine,
pub bg_io_throttle_enabled: bool,
pub bg_io_tokens_per_sec: u64,
pub bg_io_burst_tokens: u64,
pub bg_io_sqe_throttle_enabled: bool,
pub bg_io_sqe_tokens_per_sec: u64,
pub bg_io_sqe_burst_tokens: u64,
pub bg_io_min_chunk_bytes: usize,
pub bg_io_max_chunk_bytes: usize,
pub lsm_max_l0_files: usize,
pub lsm_stall_at_files: usize,
pub lsm_stall_max_delay_ms: u64,
pub lsm_reject_after_ms: u64,
pub lsm_reject_extra_files: usize,
pub lsm_synth_file_bytes: usize,
pub lsm_delay_band_l0_5_ms: u64,
pub lsm_delay_band_l0_6_ms: u64,
pub lsm_delay_band_l0_7_ms: u64,
pub list_prefix_filter_enabled: bool,
pub list_revision_filter_enabled: bool,
pub list_prefetch_enabled: bool,
pub list_prefetch_pages: usize,
pub list_prefetch_cache_entries: usize,
pub read_isolation_enabled: bool,
pub gateway_read_ticket_enabled: bool,
pub gateway_read_ticket_ttl_ms: u64,
pub gateway_singleflight_enabled: bool,
pub gateway_singleflight_max_waiters: usize,
pub put_batch_max_requests: usize,
pub put_batch_min_requests: usize,
pub put_batch_max_linger_us: u64,
pub put_batch_min_linger_us: u64,
pub put_batch_max_bytes: usize,
pub put_batch_pending_limit: usize,
pub put_adaptive_enabled: bool,
pub put_adaptive_mode: PutAdaptiveMode,
pub put_adaptive_min_request_floor: usize,
pub put_dispatch_concurrency: usize,
pub put_target_queue_depth: usize,
pub put_p99_budget_ms: u64,
pub put_target_queue_wait_p99_ms: u64,
pub put_target_quorum_ack_p99_ms: u64,
pub put_token_lane_enabled: bool,
pub put_token_dict_max_entries: usize,
pub put_token_min_reuse: usize,
pub profile: AstraProfile,
pub profile_sample_secs: u64,
pub profile_min_dwell_secs: u64,
pub qos_tier0_prefixes: Vec<Vec<u8>>,
pub qos_tier0_suffixes: Vec<Vec<u8>>,
pub qos_tier0_max_batch_requests: usize,
pub qos_tier0_max_linger_us: u64,
pub raft_timeline_enabled: bool,
pub raft_timeline_sample_rate: u64,
pub raft_election_timeout_min_ms: u64,
pub raft_election_timeout_max_ms: u64,
pub raft_heartbeat_interval_ms: u64,
pub raft_max_payload_entries: u64,
pub raft_replication_lag_threshold: u64,
pub grpc_max_concurrent_streams: u32,
pub grpc_http2_keepalive_interval_ms: u64,
pub grpc_http2_keepalive_timeout_ms: u64,
pub grpc_tcp_keepalive_ms: u64,
pub chaos_append_ack_delay_enabled: bool,
pub chaos_append_ack_delay_min_ms: u64,
pub chaos_append_ack_delay_max_ms: u64,
pub chaos_append_ack_delay_node_id: u64,
pub metrics_enabled: bool,
pub metrics_addr: String,
pub auth_enabled: bool,
pub auth_issuer: Option<String>,
pub auth_audience: Option<String>,
pub auth_jwks_url: Option<String>,
pub auth_jwt_hs256_secret: Option<String>,
pub auth_tenant_claim: String,
pub tenant_virtualization_enabled: bool,
pub s3: Option<S3Config>,
}Fields§
§node_id: u64§client_addr: String§raft_addr: String§raft_advertise_addr: String§peers: Vec<String>§data_dir: PathBuf§max_memory_mb: usize§hot_revision_window: i64§watch_ring_capacity: usize§watch_broadcast_capacity: usize§watch_backlog_mode: WatchBacklogMode§tiering_interval_secs: u64§sst_target_bytes: usize§wal_max_batch_requests: usize§wal_max_batch_bytes: usize§wal_max_linger_us: u64§wal_low_concurrency_threshold: usize§wal_low_linger_us: u64§wal_pending_limit: usize§wal_segment_bytes: u64§wal_io_engine: WalIoEngine§bg_io_throttle_enabled: bool§bg_io_tokens_per_sec: u64§bg_io_burst_tokens: u64§bg_io_sqe_throttle_enabled: bool§bg_io_sqe_tokens_per_sec: u64§bg_io_sqe_burst_tokens: u64§bg_io_min_chunk_bytes: usize§bg_io_max_chunk_bytes: usize§lsm_max_l0_files: usize§lsm_stall_at_files: usize§lsm_stall_max_delay_ms: u64§lsm_reject_after_ms: u64§lsm_reject_extra_files: usize§lsm_synth_file_bytes: usize§lsm_delay_band_l0_5_ms: u64§lsm_delay_band_l0_6_ms: u64§lsm_delay_band_l0_7_ms: u64§list_prefix_filter_enabled: bool§list_revision_filter_enabled: bool§list_prefetch_enabled: bool§list_prefetch_pages: usize§list_prefetch_cache_entries: usize§read_isolation_enabled: bool§gateway_read_ticket_enabled: bool§gateway_read_ticket_ttl_ms: u64§gateway_singleflight_enabled: bool§gateway_singleflight_max_waiters: usize§put_batch_max_requests: usize§put_batch_min_requests: usize§put_batch_max_linger_us: u64§put_batch_min_linger_us: u64§put_batch_max_bytes: usize§put_batch_pending_limit: usize§put_adaptive_enabled: bool§put_adaptive_mode: PutAdaptiveMode§put_adaptive_min_request_floor: usize§put_dispatch_concurrency: usize§put_target_queue_depth: usize§put_p99_budget_ms: u64§put_target_queue_wait_p99_ms: u64§put_target_quorum_ack_p99_ms: u64§put_token_lane_enabled: bool§put_token_dict_max_entries: usize§put_token_min_reuse: usize§profile: AstraProfile§profile_sample_secs: u64§profile_min_dwell_secs: u64§qos_tier0_prefixes: Vec<Vec<u8>>§qos_tier0_suffixes: Vec<Vec<u8>>§qos_tier0_max_batch_requests: usize§qos_tier0_max_linger_us: u64§raft_timeline_enabled: bool§raft_timeline_sample_rate: u64§raft_election_timeout_min_ms: u64§raft_election_timeout_max_ms: u64§raft_heartbeat_interval_ms: u64§raft_max_payload_entries: u64§raft_replication_lag_threshold: u64§grpc_max_concurrent_streams: u32§grpc_http2_keepalive_interval_ms: u64§grpc_http2_keepalive_timeout_ms: u64§grpc_tcp_keepalive_ms: u64§chaos_append_ack_delay_enabled: bool§chaos_append_ack_delay_min_ms: u64§chaos_append_ack_delay_max_ms: u64§chaos_append_ack_delay_node_id: u64§metrics_enabled: bool§metrics_addr: String§auth_enabled: bool§auth_issuer: Option<String>§auth_audience: Option<String>§auth_jwks_url: Option<String>§auth_jwt_hs256_secret: Option<String>§auth_tenant_claim: String§tenant_virtualization_enabled: bool§s3: Option<S3Config>Implementations§
Source§impl AstraConfig
impl AstraConfig
pub fn from_env() -> Self
pub fn max_memory_bytes(&self) -> usize
Trait Implementations§
Source§impl Clone for AstraConfig
impl Clone for AstraConfig
Source§fn clone(&self) -> AstraConfig
fn clone(&self) -> AstraConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for AstraConfig
impl RefUnwindSafe for AstraConfig
impl Send for AstraConfig
impl Sync for AstraConfig
impl Unpin for AstraConfig
impl UnsafeUnpin for AstraConfig
impl UnwindSafe for AstraConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestCreates a shared type from an unshared type.