pub enum CondState {
Ok,
Firing,
Unobservable,
}Expand description
One condition’s evaluation state — the watchdog’s serde-stable wire
projection of the Judgement core (RFC 13, v1.24; RFC 09 §5.1
pre-v1.24). Three states, not two: unobservable is “I could not tell”,
which is neither “fine” nor “fire”.
The mapping (see From<Judgement>),
with the polarity note spelled out: a Condition names what
firing means, so CondState::Ok means the condition does not hold
— it is Established(no) / Judgement::NotEstablished, not a bare
“fine”. Firing is Established(yes); both NotAsked and
Unobservable project to unobservable, because this wire vocabulary
predates the NotAsked pole and the watchdog evaluates every declared rule
every tick — it never leaves one unasked.
Variants§
Ok
The condition conclusively does not hold (Judgement::NotEstablished
— note the polarity: ok is the established-clean pole).
Firing
The condition conclusively holds (Judgement::Established).
Unobservable
The observation cannot carry the claim: a drop under a completeness
claim, a window shorter than the claim’s span, or an ask that failed
(Judgement::Unobservable; a hypothetical Judgement::NotAsked
also lands here — the wire cannot say more).
Trait Implementations§
impl Copy for CondState
impl Eq for CondState
Source§impl From<&Judgement> for CondState
The documented wire projection (RFC 13, v1.24): Established → firing,
NotEstablished → ok (the polarity note on CondState), both
unestablished poles → unobservable.
impl From<&Judgement> for CondState
The documented wire projection (RFC 13, v1.24): Established → firing,
NotEstablished → ok (the polarity note on CondState), both
unestablished poles → unobservable.
impl StructuralPartialEq for CondState
Auto Trait Implementations§
impl Freeze for CondState
impl RefUnwindSafe for CondState
impl Send for CondState
impl Sync for CondState
impl Unpin for CondState
impl UnsafeUnpin for CondState
impl UnwindSafe for CondState
Blanket Implementations§
Source§impl<Source> AccessAs for Source
impl<Source> AccessAs for Source
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more