pub enum WorkloadState {
Provisioning {
since: u64,
},
Live {
since: u64,
},
Suspect {
since: u64,
},
Evicted {
at: u64,
},
Respawning {
since: u64,
attempts_used: u8,
last_error: Option<String>,
},
Failed {
reason: String,
},
}Expand description
Lifecycle state for a workload tracked by a single provider.
Mermaid diagram is in the 12-month plan. Roughly:
Provisioning -> Live -> Suspect -> {Live, Evicted}
Evicted -> {Respawning, Failed} depending on replication +
restart policy.
Variants§
Provisioning
Live
Suspect
Observed silent on too many relays; debounce window before eviction.
Evicted
Heartbeats absent past T2; lease is forfeit on this provider.
Respawning
Restart in progress (only when RestartPolicy::OnFailure
and replication is None).
Failed
Terminal: lease is dead and not coming back here.
Trait Implementations§
Source§impl Clone for WorkloadState
impl Clone for WorkloadState
Source§fn clone(&self) -> WorkloadState
fn clone(&self) -> WorkloadState
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 moreSource§impl Debug for WorkloadState
impl Debug for WorkloadState
Source§impl PartialEq for WorkloadState
impl PartialEq for WorkloadState
Source§fn eq(&self, other: &WorkloadState) -> bool
fn eq(&self, other: &WorkloadState) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for WorkloadState
impl StructuralPartialEq for WorkloadState
Auto Trait Implementations§
impl Freeze for WorkloadState
impl RefUnwindSafe for WorkloadState
impl Send for WorkloadState
impl Sync for WorkloadState
impl Unpin for WorkloadState
impl UnsafeUnpin for WorkloadState
impl UnwindSafe for WorkloadState
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
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> 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>
Converts
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>
Converts
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