pub enum NoteFate {
NoNote,
NoBracketForPid,
ArmedNotDisarmed {
outcome: Option<OutcomeRecord>,
outcome_unreadable: Option<String>,
},
Disarmed {
outcome: Option<OutcomeRecord>,
outcome_unreadable: Option<String>,
reason: String,
},
}Expand description
What the death note says about the server incarnation that wore pid.
Variants§
NoNote
No death note exists under this home — nothing was ever armed here (or the home predates the death-note era).
NoBracketForPid
A note exists but holds no ARMED bracket for this pid.
ArmedNotDisarmed
The pid’s last bracket is ARMED with no DISARMED: the process was
destroyed without the run loop seeing it (SIGKILL class) — or is
still running. The caller knows which, from its own liveness probe.
Fields
outcome: Option<OutcomeRecord>The outcome record, if the drain got far enough to write one before the process was destroyed.
outcome_unreadable: Option<String>An OUTCOME line that is PRESENT in the bracket but that this
binary could not parse — a torn line, or a record written by a
build whose schema this one cannot read. Distinct from outcome: None because “the drain never wrote a record” and “the drain
wrote a record I cannot read” are different facts, and reporting
the second as the first sends the operator down the wrong path.
Disarmed
The bracket closed by ordinary control flow.
Fields
outcome: Option<OutcomeRecord>The drain’s recorded outcome; None when the exit wrote no
record (an error return before serving, or a pre-record binary),
reported as exactly that absence.
outcome_unreadable: Option<String>An unparseable OUTCOME line in the bracket — the unreadable
presence, kept distinct from the honest absence exactly as on
NoteFate::ArmedNotDisarmed.
Trait Implementations§
impl Eq for NoteFate
impl StructuralPartialEq for NoteFate
Auto Trait Implementations§
impl Freeze for NoteFate
impl RefUnwindSafe for NoteFate
impl Send for NoteFate
impl Sync for NoteFate
impl Unpin for NoteFate
impl UnsafeUnpin for NoteFate
impl UnwindSafe for NoteFate
Blanket Implementations§
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§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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request