pub enum AlarmCause {
SampleRed,
WindowMissed,
LoopDead,
UnconfirmedUnknown,
}Expand description
Cause carried on the ONE alarm path (design brief R4.2).
From the invariant’s view a missed window and a failed sample are the same event — the invariant is not confirmed held — so cause is a FIELD on the alarm, never a separate alarm channel. The set is closed and additive: trigger selectors (Leg 3) arm on named causes as ALLOWLISTS (R5.2a), so an unforeseen cause fails safe by not firing anything.
Variants§
SampleRed
The loop ran and produced unconfirmed/red samples past tolerance.
WindowMissed
The loop missed its declared cadence window(s) past tolerance — the engine-side dead-man switch (R4.3), which also covers the hung iteration (R3.3a): an iteration that produces no terminal by its next window is a missed window, never waited on.
LoopDead
The engine positively knows the loop cannot run: its run is terminal without a declared retirement, or its history is gone. Triggers must never arm remediation on this cause (R5.3) — it means watching stopped.
UnconfirmedUnknown
Duration-form tolerance expired with no evidence either way: no sample arrived and no window exists to miss (a signal-armed loop gone silent — the R2.4a silent-death family). Named per the brief’s own read-time vocabulary (“unconfirmed-unknown”, R2.5a).
Trait Implementations§
Source§impl Clone for AlarmCause
impl Clone for AlarmCause
Source§fn clone(&self) -> AlarmCause
fn clone(&self) -> AlarmCause
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for AlarmCause
Source§impl Debug for AlarmCause
impl Debug for AlarmCause
Source§impl<'de> Deserialize<'de> for AlarmCause
impl<'de> Deserialize<'de> for AlarmCause
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for AlarmCause
Source§impl Hash for AlarmCause
impl Hash for AlarmCause
Source§impl PartialEq for AlarmCause
impl PartialEq for AlarmCause
Source§impl Serialize for AlarmCause
impl Serialize for AlarmCause
impl StructuralPartialEq for AlarmCause
Source§impl TS for AlarmCause
impl TS for AlarmCause
Source§type WithoutGenerics = AlarmCause
type WithoutGenerics = AlarmCause
WithoutGenerics should just be Self.
If the type does have generic parameters, then all generic parameters must be replaced with
a dummy type, e.g ts_rs::Dummy or (). The only requirement for these dummy types is that
EXPORT_TO must be None. Read moreSource§type OptionInnerType = AlarmCause
type OptionInnerType = AlarmCause
std::option::Option<T>, then this associated type is set to T.
All other implementations of TS should set this type to Self instead.Source§fn docs() -> Option<String>
fn docs() -> Option<String>
TS is derived, docs are
automatically read from your doc comments or #[doc = ".."] attributesSource§fn decl_concrete(cfg: &Config) -> String
fn decl_concrete(cfg: &Config) -> String
TS::decl().
If this type is not generic, then this function is equivalent to TS::decl().Source§fn decl(cfg: &Config) -> String
fn decl(cfg: &Config) -> String
type User = { user_id: number, ... }.
This function will panic if the type has no declaration. Read moreSource§fn inline(cfg: &Config) -> String
fn inline(cfg: &Config) -> String
{ user_id: number }.
This function will panic if the type cannot be inlined.Source§fn inline_flattened(cfg: &Config) -> String
fn inline_flattened(cfg: &Config) -> String
Source§fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
Source§fn output_path() -> Option<PathBuf>
fn output_path() -> Option<PathBuf>
T should be exported, relative to the output directory.
The returned path does not include any base directory. Read moreSource§fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
Source§fn dependencies(cfg: &Config) -> Vec<Dependency>where
Self: 'static,
fn dependencies(cfg: &Config) -> Vec<Dependency>where
Self: 'static,
Source§fn export(cfg: &Config) -> Result<(), ExportError>where
Self: 'static,
fn export(cfg: &Config) -> Result<(), ExportError>where
Self: 'static,
TS::export_all. Read moreSource§fn export_all(cfg: &Config) -> Result<(), ExportError>where
Self: 'static,
fn export_all(cfg: &Config) -> Result<(), ExportError>where
Self: 'static,
TS::export. Read more