pub enum ShutdownOutcome {
Clean,
Parked,
TimedOut,
Forced,
}Expand description
Process exit selected by the shutdown coordinator.
Serialized by name into the shutdown outcome record
(crate::control::outcome), so the face an operator reads from
aion server stop is this exact enum, not a re-derivation.
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
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 ShutdownOutcome
Source§impl Debug for ShutdownOutcome
impl Debug for ShutdownOutcome
Source§impl<'de> Deserialize<'de> for ShutdownOutcome
impl<'de> Deserialize<'de> for ShutdownOutcome
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 ShutdownOutcome
Source§impl PartialEq for ShutdownOutcome
impl PartialEq for ShutdownOutcome
Source§impl Serialize for ShutdownOutcome
impl Serialize 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
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<M> EmbeddedConversationMessage for Mwhere
M: Serialize,
impl<M> EmbeddedConversationMessage for Mwhere
M: Serialize,
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> IntoMaybeUndefined<T> for T
impl<T> IntoMaybeUndefined<T> for T
Source§fn into_maybe_undefined(self) -> MaybeUndefined<T>
fn into_maybe_undefined(self) -> MaybeUndefined<T>
Source§impl<T> IntoOption<T> for T
impl<T> IntoOption<T> for T
Source§fn into_option(self) -> Option<T>
fn into_option(self) -> Option<T>
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