pub struct Config {
pub capacity: usize,
pub t1_slots: usize,
pub t2_slots: usize,
pub duration: u32,
pub threads: usize,
pub poll_us: u64,
pub flush_tick_threshold: u64,
}Fields§
§capacity: usize§t1_slots: usize§t2_slots: usize§duration: u32TTL duration in epoch ticks (one tick ≈ 100 ms in std mode).
threads: usize§poll_us: u64Daemon poll interval in microseconds (1 000–10 000 µs = 1–10 ms). Controls the latency vs. idle-CPU trade-off. Lower = faster hit-signal delivery, higher CPU when idle. Higher = more efficient idle, but hotter TLS buffers may stall longer.
flush_tick_threshold: u64TLS flush threshold in daemon ticks. A Worker forces a TLS buffer flush when it detects that the Daemon tick counter has advanced by at least this many ticks since the last flush, regardless of buffer fill level.
Rule of thumb: flush_tick_threshold ≈ 1ms / poll_us.
For poll_us = 1 000 µs (1 ms): threshold = 1.
For poll_us = 5 000 µs (5 ms): threshold = 1 (flush every 5 ms).
Implementations§
Source§impl Config
impl Config
Sourcepub fn with_memory_budget(ram_mb: usize, duration: u32) -> Self
pub fn with_memory_budget(ram_mb: usize, duration: u32) -> Self
Budget-based constructor: specify RAM and TTL, the engine picks sizes.
Sourcepub fn new_expert(
capacity: usize,
t1_slots: usize,
t2_slots: usize,
duration: u32,
threads: usize,
) -> Self
pub fn new_expert( capacity: usize, t1_slots: usize, t2_slots: usize, duration: u32, threads: usize, ) -> Self
Expert constructor with explicit physical-law assertions.
Sourcepub fn with_poll_us(self, poll_us: u64) -> Self
pub fn with_poll_us(self, poll_us: u64) -> Self
Builder: set Daemon poll interval (1 000–10 000 µs).
Sourcepub fn with_flush_tick_threshold(self, ticks: u64) -> Self
pub fn with_flush_tick_threshold(self, ticks: u64) -> Self
Builder: set TLS flush threshold in daemon ticks.