1#![forbid(unsafe_code)]
8
9pub mod bootstrap;
10pub(crate) mod capability_requirements;
11mod child_roster;
12mod clock;
13pub mod control;
14pub mod daemon_config;
15#[cfg(test)]
16pub(crate) mod dispatch_spike;
17pub mod fleet_lint;
18pub mod forwarding;
19pub mod identity;
20mod live_children;
21pub mod machine_id;
22pub mod observability;
23#[allow(dead_code)]
24mod provenance;
25pub mod registry;
26pub mod router;
27pub mod server;
28pub mod stderr_tail;
29pub mod supervise;
30mod systemd_kill_mode;
31mod terminal_journal;
32pub mod terminal_ring;
33#[cfg(any(test, feature = "test-support"))]
34pub mod test_support;
35pub mod watchdog;
36
37#[cfg(feature = "bench-harness")]
38pub mod bench_harness;
39
40pub use control::{ControlHandler, MIN_SUPPORTED_VERSION};
41pub use forwarding::{ForwardingError, ForwardingTable, ModuleEndpointId};
42pub use control::{
47 DEFAULT_ROUTE_BIND_BREAKER_COOLDOWN, DEFAULT_ROUTE_BIND_BREAKER_THRESHOLD,
48 DEFAULT_ROUTE_BIND_RELAY_TIMEOUT,
49};
50pub use identity::{IdentityError, ProjectRootId, RequestIdentity, SessionId};
51pub use observability::{ConnectedClients, DaemonCounters};
52pub use registry::{ChannelState, ConnectionId, ModuleRegistration, Registry, RegistryError};
53pub use router::{
54 Backend, EchoBackend, ForwardBackend, FrameSink, RouteCtx, Router, RouterConnection,
55 RouterError,
56};
57pub use server::{
58 handle_connection, serve_listener, serve_listeners, ConnectionError, ServerAuth, ServerError,
59 DEFAULT_AUTH_DEADLINE, DEFAULT_MAX_UNAUTHENTICATED_CONNECTIONS,
60};
61pub use subc_protocol::{Frame, FrameBuildError};
62pub use subc_transport::{read_frame, write_frame, FrameIoError, ReadStage};
63pub use supervise::{
64 ExitKind, ExitReport, HealthAction, HealthConfig, ModuleHealthStatus, ModuleOverlap,
65 ModuleProcessLiveness, ModuleSpec, ModuleState, ModuleStatus, RestartPolicy, SuperviseError,
66 SupervisedModule, Supervisor, SupervisorHandle, SupervisorProcessLiveness, SwapFailureArm,
67 SwapRefusal, DEFAULT_DRAIN_TIMEOUT, DEFAULT_SWAP_READY_TIMEOUT, SPAWN_ROLE_SWAP_CANDIDATE,
68 SUBC_ARG, SUBC_SPAWN_ROLE_ENV,
69};
70pub use watchdog::{
71 DaemonSelfWatchdog, DaemonSelfWatchdogConfig, WatchdogStage, WatchdogTickError,
72 DEFAULT_SELF_WATCHDOG_DEADLINE, DEFAULT_SELF_WATCHDOG_INTERVAL,
73};