pub enum ManagedExecutionOperation {
Start,
Pause {
keep_memory: bool,
operation_id: Option<OperationId>,
},
Resume {
operation_id: Option<OperationId>,
},
UpdateResources {
operation_id: OperationId,
update: ExecutionResourceUpdate,
},
Snapshot {
snapshot_id: ExecutionSnapshotId,
source_state: ManagedExecutionState,
operation_id: Option<OperationId>,
freezer_applied: bool,
},
Kill {
signal: Option<i32>,
timeout_secs: Option<u64>,
},
Remove,
Restart {
operation_id: OperationId,
source_generation: ExecutionGeneration,
source_state: ManagedExecutionState,
stop_timeout_secs: Option<u64>,
},
}Expand description
Recoverable backend operation associated with a transitional state.
Variants§
Start
Pause
Fields
operation_id: Option<OperationId>Stable backend mutation identity for this exact pause claim.
Resume
Fields
operation_id: Option<OperationId>Stable backend mutation identity for this exact resume claim.
UpdateResources
Snapshot
Fields
snapshot_id: ExecutionSnapshotIdsource_state: ManagedExecutionStateoperation_id: Option<OperationId>Stable backend mutation identity for this exact snapshot attempt.
One snapshot claim can drive both a pause and a resume. The backend operation name keeps those mutations distinct while this seed makes crash recovery replay each mutation exactly once. Older records did not persist the seed, so the field remains optional for recovery.
freezer_applied: boolThe runtime freeze was confirmed before snapshot capture began.
This phase fence distinguishes an initial running claim from a container that was already thawed after capture. Without it, crash recovery could replay a completed pause journal entry while the actual container remained running.
Kill
Remove
Restart
Fields
operation_id: OperationIdsource_generation: ExecutionGenerationsource_state: ManagedExecutionStateTrait Implementations§
Source§impl Clone for ManagedExecutionOperation
impl Clone for ManagedExecutionOperation
Source§fn clone(&self) -> ManagedExecutionOperation
fn clone(&self) -> ManagedExecutionOperation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ManagedExecutionOperation
impl Debug for ManagedExecutionOperation
Source§impl<'de> Deserialize<'de> for ManagedExecutionOperation
impl<'de> Deserialize<'de> for ManagedExecutionOperation
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 ManagedExecutionOperation
impl StructuralPartialEq for ManagedExecutionOperation
Auto Trait Implementations§
impl Freeze for ManagedExecutionOperation
impl RefUnwindSafe for ManagedExecutionOperation
impl Send for ManagedExecutionOperation
impl Sync for ManagedExecutionOperation
impl Unpin for ManagedExecutionOperation
impl UnsafeUnpin for ManagedExecutionOperation
impl UnwindSafe for ManagedExecutionOperation
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
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<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
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> FromBase64 for Twhere
T: for<'de> Deserialize<'de>,
impl<T> FromBase64 for Twhere
T: for<'de> Deserialize<'de>,
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> ⓘ
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> ⓘ
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