Skip to main content

Module daemon

Module daemon 

Source
Expand description

Daemon mode for steamroom.

Modulesยง

client
Client side of --use-daemon: connect, submit, attach to the event stream, render events to stdout via the same formatting the direct CLI uses.
framing
Async length-prefixed rkyv framing for daemon IPC.
ipc
Socket name resolution and bind. interprocess handles the platform-specific bits; this module just adds the stale-socket probe.
lifecycle
Daemon lifecycle: PID file, launch (Unix double-fork+exec), stop.
proto
Wire types for the daemon RPC. Owned, rkyv-archivable; never contain PathBuf, Regex, or other types that rkyv cannot archive directly.
server
Daemon-side state, worker loop, and connection task. Decoupled from socket I/O so the queue and dispatch logic can be unit-tested with plain method calls.
tracing_layer
tracing_subscriber::Layer that intercepts events emitted inside a job_id-tagged span and republishes them as Event::Log for that job. Off-span events have job_id: None and only land in the daemon log file (handled by the wrapping fmt layer).