pub struct ColdConfig {
pub backend: ColdBackend,
pub root: Option<String>,
pub s3: Option<S3Config>,
pub cache: Option<ColdCacheConfig>,
pub flush_interval: HumanDuration,
pub flush_size: HumanSize,
pub flush_min_hot_size: Option<HumanSize>,
pub flush_max_size: Option<HumanSize>,
pub flush_max_concurrency: usize,
pub max_hot_size_per_group: Option<HumanSize>,
pub gc_interval: HumanDuration,
pub gc_max_entries: usize,
}Expand description
Cold-tier flush, GC, and cache configuration.
Fields§
§backend: ColdBackendCold-storage backend.
root: Option<String>Root prefix for cold-storage objects (e.g. S3 prefix or local dir).
s3: Option<S3Config>S3-specific connection and credential settings.
Required when backend is S3.
cache: Option<ColdCacheConfig>Optional cold-read cache.
flush_interval: HumanDurationInterval between periodic cold-flush passes. Must be non-zero.
flush_size: HumanSizeTarget number of hot bytes to flush per group per pass.
flush_min_hot_size: Option<HumanSize>Minimum hot bytes a group must have before it is eligible for flush.
Falls back to flush_size when unset.
flush_max_size: Option<HumanSize>Upper bound on bytes flushed per group per pass.
Falls back to flush_size when unset.
flush_max_concurrency: usizeMax groups flushed concurrently.
max_hot_size_per_group: Option<HumanSize>Per-group hot-size cap. When a group’s hot bytes exceed this, new
writes are rejected with HTTP 503. None or 0 disables the admission.
gc_interval: HumanDurationInterval between periodic cold-gc passes. Must be non-zero.
gc_max_entries: usizeMax GC entries to process per group per pass.
Implementations§
Source§impl ColdConfig
impl ColdConfig
Sourcepub fn flush_min_hot_size(&self) -> HumanSize
pub fn flush_min_hot_size(&self) -> HumanSize
Minimum hot bytes a group must have before it is eligible for flush.
Falls back to flush_size when the user does not
supply an explicit value.
Sourcepub fn flush_max_size(&self) -> HumanSize
pub fn flush_max_size(&self) -> HumanSize
Upper bound on bytes flushed per group per pass.
Falls back to flush_size when the user does not
supply an explicit value.
Trait Implementations§
Source§impl Clone for ColdConfig
impl Clone for ColdConfig
Source§fn clone(&self) -> ColdConfig
fn clone(&self) -> ColdConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more