#[non_exhaustive]pub struct AuditConfig {
pub channel_capacity: u32,
pub block_ms_max: u32,
pub spool_after_ms: u32,
pub spool_dir: PathBuf,
pub spool_max_bytes: u64,
pub on_failure: AuditFailureMode,
pub fsync_mode: AuditFsyncMode,
}Expand description
AUDIT-tier delivery policy. Phase-1 ships only the type shape so
obs.yaml files already validate; the runtime implementation
(bounded blocking + binary spool + recovery) lands in Phase 3
task 3.12. Spec 11 § 6.4 + spec 15 § 2.
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.channel_capacity: u32Channel capacity for the AUDIT tier worker. Default 1024.
block_ms_max: u32Bounded blocking on emit when AUDIT channel is full (ms).
spool_after_ms: u32After this duration of channel-full, switch to disk spool (ms).
spool_dir: PathBufSpool directory; created if absent.
spool_max_bytes: u64Cap total spool size on disk (bytes).
on_failure: AuditFailureModeOn-failure behaviour when spool is unwritable.
fsync_mode: AuditFsyncModefsync policy for the on-disk spool. Spec 11 § 6.4 + decision
D6-5: default per_batch trades a tiny durability window for
~64x throughput vs per_record. Operators who need strict
durability flip to per_record; soak / dev profiles can use
none.
Trait Implementations§
Source§impl Clone for AuditConfig
impl Clone for AuditConfig
Source§fn clone(&self) -> AuditConfig
fn clone(&self) -> AuditConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more