#[repr(C)]pub struct PersistedBucketOptions {
pub cache_capacity: usize,
pub cache_evict_pct: usize,
pub pool_capacity: usize,
pub checkpoint_size: usize,
pub inline_size: usize,
pub split_elems: u16,
pub consolidate_threshold: u16,
pub enable_compression: bool,
pub enable_backpressure: bool,
pub _padding: [u8; 2],
}Fields§
§cache_capacity: usizePer-bucket target resident bytes for mapped B+Tree pages.
cache_evict_pct: usizePercentage of items evicted per round. Range is [10, 80], default is 20%
pool_capacity: usizePer-bucket pool target bytes. Default is BucketOptions::POOL_CAP
Dirty memory (hot + sealed) gate: admission may add a bounded
drain burst (<= pool/8, <= checkpoint_size) while a checkpoint is
in flight, so projected dirty is capped at pool_capacity + burst
(actual dirty can overshoot between snapshots via per-op estimate
gaps and unadmitted eviction growth)
checkpoint_size: usizeMaximum bytes a single checkpoint round should emit. Default is BucketOptions::CHECKPOINT_SIZE
inline_size: usizeFor branch nodes, keys and indexes are always inlined. For leaf nodes, only values smaller
than inline_size are inlined; values whose size is equal to or greater than inline_size
are stored as blobs. For existing buckets, update_bucket_opt only permits lowering this
threshold. Default is BucketOptions::INLINE_SIZE
split_elems: u16Maximum number of elements in an SST (B+Tree node). Default is BucketOptions::MAX_SPLIT_ELEMS
consolidate_threshold: u16Threshold for consolidating delta chains. Range is [16, Self::split_elems / 2]
enable_compression: boolEnable zstd compression for persisted data/blob records generated by this bucket
enable_backpressure: boolEnable foreground write backpressure. Default is true
_padding: [u8; 2]