Skip to main content

Config

Struct Config 

Source
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: u32

TTL duration in epoch ticks (one tick ≈ 100 ms in std mode).

§threads: usize§poll_us: u64

Daemon 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: u64

TLS 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

Source

pub fn with_memory_budget(ram_mb: usize, duration: u32) -> Self

Budget-based constructor: specify RAM and TTL, the engine picks sizes.

Source

pub fn new_expert( capacity: usize, t1_slots: usize, t2_slots: usize, duration: u32, threads: usize, ) -> Self

Expert constructor with explicit physical-law assertions.

Source

pub fn with_poll_us(self, poll_us: u64) -> Self

Builder: set Daemon poll interval (1 000–10 000 µs).

Source

pub fn with_flush_tick_threshold(self, ticks: u64) -> Self

Builder: set TLS flush threshold in daemon ticks.

Trait Implementations§

Source§

impl Clone for Config

Source§

fn clone(&self) -> Config

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Config

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Copy for Config

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.