pub enum ShutdownOutcome {
Clean,
Parked,
TimedOut,
Forced,
}Expand description
Process exit selected by the shutdown coordinator.
Variants§
Clean
Drain completed before the configured timeout.
Parked
In-flight activities outlived the drain timeout and were parked for restart recovery (#207): nothing recorded, nothing delivered — the recoverable-by-design state, so a fully-parked drain is a SUCCESS. A long-running activity (an agent round runs hours) outliving any sane drain window is the expected case, and a non-zero exit on every routine deploy would train operators to ignore failures.
TimedOut
The drain timed out AND the park itself failed (lock poison, sink error): in-flight state could not be handed to restart recovery.
Forced
A second termination signal requested immediate process exit.
Implementations§
Trait Implementations§
Source§impl Clone for ShutdownOutcome
impl Clone for ShutdownOutcome
Source§fn clone(&self) -> ShutdownOutcome
fn clone(&self) -> ShutdownOutcome
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ShutdownOutcome
Source§impl Debug for ShutdownOutcome
impl Debug for ShutdownOutcome
impl Eq for ShutdownOutcome
Source§impl PartialEq for ShutdownOutcome
impl PartialEq for ShutdownOutcome
impl StructuralPartialEq for ShutdownOutcome
Auto Trait Implementations§
impl Freeze for ShutdownOutcome
impl RefUnwindSafe for ShutdownOutcome
impl Send for ShutdownOutcome
impl Sync for ShutdownOutcome
impl Unpin for ShutdownOutcome
impl UnsafeUnpin for ShutdownOutcome
impl UnwindSafe for ShutdownOutcome
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
Mutably borrows from an owned value. Read more
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
Compare self to
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>
Wrap the input message
T in a tonic::Request