#[non_exhaustive]pub struct SpoolConfig {
pub spool_path: PathBuf,
pub max_bytes: Option<u64>,
pub max_age_ms: Option<i64>,
}Expand description
Configuration for a SpooledClient.
#[non_exhaustive] so future knobs can be added without breaking callers;
construct via SpoolConfig::new plus the with_* builders rather than a
struct literal.
§Retention
By default the spool is unbounded (max_bytes and max_age_ms are
None) — existing behaviour, no surprise eviction on upgrade. Opt into a
rolling cap with with_max_bytes /
with_max_age_ms; see SpooledClient::flush for
the trim semantics. The cap values are the caller’s policy (e.g. a
downstream replacing a 7-day / 64 MiB sidecar wires those numbers here);
kindling only provides the mechanism.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.spool_path: PathBufPath to the append-only NDJSON spool file. Created on first spool.
max_bytes: Option<u64>Rolling byte cap; None = unbounded. When set, SpooledClient::flush
trims the oldest entries until the retained spool fits (a lone entry
larger than the cap is kept — the cap is a high-water target).
max_age_ms: Option<i64>Rolling age cap in milliseconds; None = unbounded. Entries whose
spooled_at is older than now - max_age_ms are trimmed from the front.
Implementations§
Source§impl SpoolConfig
impl SpoolConfig
Sourcepub fn new(spool_path: impl Into<PathBuf>) -> Self
pub fn new(spool_path: impl Into<PathBuf>) -> Self
Build an unbounded config from a spool path.
Sourcepub fn with_max_bytes(self, max_bytes: u64) -> Self
pub fn with_max_bytes(self, max_bytes: u64) -> Self
Set the rolling byte cap (high-water target; oldest entries trimmed first).
Sourcepub fn with_max_age_ms(self, max_age_ms: i64) -> Self
pub fn with_max_age_ms(self, max_age_ms: i64) -> Self
Set the rolling age cap in milliseconds (oldest entries trimmed first).
Trait Implementations§
Source§impl Clone for SpoolConfig
impl Clone for SpoolConfig
Source§fn clone(&self) -> SpoolConfig
fn clone(&self) -> SpoolConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more