Skip to main content

Module daemon_manager

Module daemon_manager 

Source
Expand description

Background daemon lifecycle management.

§DST M1.1 note: no injectable Clock is threaded here (deliberate)

The daemon wakeup interval is a config-supplied Duration (evictor_wakeup_ms / cleaner_wakeup_ms / checkpointer_wakeup_ms), passed straight to [WakeHandle::wait_timeout]; there is no hardcoded std::time control-flow site to virtualise. The shutdown path’s liveness is notify-driven (shutdown() sets the flag and calls WakeHandle::notify), not timeout-driven — which is exactly why the Milestone-2 shuttle gate (tests/shuttle_daemon_shutdown.rs) proves it deadlock-free without any clock injection. A SimClock would add nothing the config Duration + the notify seam do not already give, so the Clock is intentionally NOT threaded through the daemon loops (matches the M1 deferral rationale).

Structs§

DaemonManager
Manages the lifecycle of background daemon threads.