#[non_exhaustive]pub enum FaultKind {
ReadyDepTimeout {
dep: &'static TaskNode,
},
ResourceMissing,
ExecutorSlotEmpty,
Spawn(SpawnError),
ShutdownTimeout,
}Expand description
What went wrong in a NodeFault.
#[non_exhaustive]: new failure modes may be added without a breaking
change.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ReadyDepTimeout
A ready-marked dep did not assert readiness within the dependent’s
slot_timeout. Either the dep is failing to reach its serving state, or
the budget is too tight for this build. Only plain ready edges fault
here: a bound edge parks the dependent instead.
ResourceMissing
A resources: slot was still empty at the deadline — nothing called
provide() before the supervisor started, or a previous instance never
restored it.
ExecutorSlotEmpty
The node names an executor: slot that was never filled with a spawner.
Spawn(SpawnError)
The spawn itself was rejected: the task’s pool is exhausted, or (with
heap-state) its state: allocation was refused. These are the only
cases embassy’s own SpawnError describes.
ShutdownTimeout
The node did not acknowledge a requested shutdown within its ack window.
It is still marked running; the sane escalations are app-level. Its
divisible shares, if any, have been released on its behalf.