pub enum RecoveryDisposition {
Rerunnable,
OwnerBound,
ExternallyOwned,
}Expand description
Producer-declared contract stating what recovery may do with a process row after owner loss. Required at registration and applied mechanically by the sweep; never inferred at runtime. See ADR 0019.
There is deliberately no Default and no serde default: a producer that
forgets to declare a disposition must fail to compile rather than silently
inherit re-execution.
Variants§
Rerunnable
Another owner may re-execute the work — the contract for journaled, idempotent inputs (engine rows, session-turn rows).
OwnerBound
The contract binds at first start: before any owner has begun execution any worker may claim the row; once execution has started, no other owner may ever re-execute it — abandonment is the only recovery.
ExternallyOwned
Lash never executes the row at all. Closure comes from an external actor
calling complete_process, or from a reconciled Abandon Request.
Trait Implementations§
Source§impl Clone for RecoveryDisposition
impl Clone for RecoveryDisposition
Source§fn clone(&self) -> RecoveryDisposition
fn clone(&self) -> RecoveryDisposition
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 RecoveryDisposition
Source§impl Debug for RecoveryDisposition
impl Debug for RecoveryDisposition
Source§impl<'de> Deserialize<'de> for RecoveryDisposition
impl<'de> Deserialize<'de> for RecoveryDisposition
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 RecoveryDisposition
Source§impl PartialEq for RecoveryDisposition
impl PartialEq for RecoveryDisposition
Source§impl Serialize for RecoveryDisposition
impl Serialize for RecoveryDisposition
impl StructuralPartialEq for RecoveryDisposition
Auto Trait Implementations§
impl Freeze for RecoveryDisposition
impl RefUnwindSafe for RecoveryDisposition
impl Send for RecoveryDisposition
impl Sync for RecoveryDisposition
impl Unpin for RecoveryDisposition
impl UnsafeUnpin for RecoveryDisposition
impl UnwindSafe for RecoveryDisposition
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
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.