Skip to main content

WallClock

Type Alias WallClock 

Source
pub type WallClock = Arc<dyn Fn() -> u64 + Send + Sync>;
Expand description

An injectable wall-clock reading (milliseconds since the Unix epoch).

Library logic never reads the system time directly — the clock is a value the caller hands in (the run_cascade/EffectModel injection idiom), so tests stay fully deterministic. Production callers pass system_clock; DeviceLog::new defaults to logical_clock (always 0), under which the HLC degenerates to exactly B1’s pure Lamport order (the wall component never advances, so every event is a counter tick).

Aliased Type§

pub struct WallClock { /* private fields */ }