#[non_exhaustive]pub enum DaemonLifecycleEvent {
Registered {
id: u64,
name: String,
at: Instant,
},
Unregistered {
id: u64,
name: String,
at: Instant,
},
Crashed {
id: u64,
name: String,
at: Instant,
reason: String,
},
HealthChanged {
id: u64,
name: String,
at: Instant,
health: DaemonHealth,
},
SaturationChanged {
id: u64,
name: String,
at: Instant,
saturation: f32,
},
}Expand description
Lifecycle event a DaemonLifecycleObserver receives when
a daemon’s state on this node changes. Plain-data (no
references) so observers can buffer / async-forward without
lifetime issues.
The integration with MeshOS lives in behavior::meshos::sources —
a MeshOsDaemonLifecycleSink impls this trait and translates
each event to the matching MeshOsEvent::DaemonLifecycle.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Registered
Daemon registered on this node.
Fields
Unregistered
Daemon unregistered (either via cleanup or migration source-side teardown).
Fields
Crashed
Daemon crashed during process().
Fields
HealthChanged
Daemon’s self-reported health changed (poller observed a transition from the previous sample).
Fields
health: DaemonHealthNew health value.
SaturationChanged
Daemon’s self-reported saturation changed (poller
observed a transition exceeding the configured noise
floor — see behavior::meshos for the threshold).
Trait Implementations§
Source§impl Clone for DaemonLifecycleEvent
impl Clone for DaemonLifecycleEvent
Source§fn clone(&self) -> DaemonLifecycleEvent
fn clone(&self) -> DaemonLifecycleEvent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more