pub enum DeadlineAction {
Ignore,
Warn,
Skip,
Fault,
}Expand description
RFC-0052 / phase-296 W3b.5 — what the executor DOES when a dispatched
callback runs past its bound SC’s deadline_us. Distinct from
DeadlinePolicy (which says where the deadline COMES from); this is
the miss REACTION, lowered from the tier table’s deadline_policy
string (ignore | warn | skip | fault).
Variants§
Ignore
Measure nothing, report nothing (uncontracted default).
Warn
Push a deadline-miss-runtime violation onto the monitor drain.
Skip
Warn AND skip the offending SC’s remaining callbacks for the rest of this spin cycle (damage containment: a runaway callback does not get to also starve unrelated groups with its siblings).
Fault
Warn AND invoke the executor’s fault hook (panic when none is registered — on embedded targets that is a watchdog-visible stop).
Implementations§
Source§impl DeadlineAction
impl DeadlineAction
Sourcepub fn from_tier_str(s: &str) -> DeadlineAction
pub fn from_tier_str(s: &str) -> DeadlineAction
Lower the tier-table string ([tiers.<t>].deadline_policy).
Unknown strings map to Ignore — the bake already validated the
vocabulary; runtime tolerance here avoids a boot-time panic path.
phase-462 W2 – that string is no longer authored per tier and nothing
else. The launch contract’s on_violation is now its SOURCE
(nros-orchestration-ir::violation_agreement, applied in
plan_from_model), and a tier table that states a different word is a
resolve-time refusal naming both. So these four variants are what the
contract’s safety vocabulary reaches the target AS: the word in the
YAML file becomes something the executor does.
Sourcepub const fn as_tier_str(self) -> &'static str
pub const fn as_tier_str(self) -> &'static str
The tier-table spelling of this action – the inverse of
from_tier_str.
The bake and the runtime share no type (this crate is no_std and
knows nothing of the model), so the STRING is the interface between
ViolationAction::as_tier_str on the bake side and this. Spelling it
here rather than only on the bake side is what lets both sides pin the
same four words in a test.
Trait Implementations§
Source§impl Clone for DeadlineAction
impl Clone for DeadlineAction
Source§fn clone(&self) -> DeadlineAction
fn clone(&self) -> DeadlineAction
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more