pub enum IncarnationState {
Booting,
Serving,
Draining,
}Expand description
Where a recorded incarnation is in its own life.
The three states are observable facts about a process, not policy: it is
working through its boot (Booting), it has both doors
open (Serving), or it has seen a termination signal and
is draining (Draining). Every one of them is a state a
control verb must be able to address — that is the whole point of writing
the record at birth.
Variants§
Booting
The process has claimed the home and is working through its boot: the
store is opening, WAL recovery is replaying, the engine is recovering
resident workflows. No listener is bound yet, so the addresses are
None and the doors are shut.
Serving
Both transport listeners are bound and the server is serving. This is
the #[serde(default)] value on read (module-header ruling): a record
written by a build that predates this field only ever existed AFTER
the bind, so Serving is what it always meant.
Draining
A termination signal has been observed and the drain is running (or
about to). The record stays in place — a draining server is exactly
the server aion server status must still describe — and a successor
boot SUCCEEDS it rather than being refused.
Implementations§
Trait Implementations§
Source§impl Clone for IncarnationState
impl Clone for IncarnationState
Source§fn clone(&self) -> IncarnationState
fn clone(&self) -> IncarnationState
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 IncarnationState
Source§impl Debug for IncarnationState
impl Debug for IncarnationState
Source§impl Default for IncarnationState
impl Default for IncarnationState
Source§fn default() -> IncarnationState
fn default() -> IncarnationState
Source§impl<'de> Deserialize<'de> for IncarnationState
impl<'de> Deserialize<'de> for IncarnationState
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 IncarnationState
Source§impl PartialEq for IncarnationState
impl PartialEq for IncarnationState
Source§impl Serialize for IncarnationState
impl Serialize for IncarnationState
impl StructuralPartialEq for IncarnationState
Auto Trait Implementations§
impl Freeze for IncarnationState
impl RefUnwindSafe for IncarnationState
impl Send for IncarnationState
impl Sync for IncarnationState
impl Unpin for IncarnationState
impl UnsafeUnpin for IncarnationState
impl UnwindSafe for IncarnationState
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