pub struct OperationLifecycle<B: JournalBackend> { /* private fields */ }Expand description
Journal-backed M5 coordinator for fenced dispatch and independent reconciliation.
Implementations§
Source§impl<B: JournalBackend> OperationLifecycle<B>
impl<B: JournalBackend> OperationLifecycle<B>
Creates a lifecycle over a shared backend for crash/reopen recovery.
Sourcepub fn record(
&self,
operation: &OperationId,
) -> Result<Option<OperationLifecycleRecord>, OperationError>
pub fn record( &self, operation: &OperationId, ) -> Result<Option<OperationLifecycleRecord>, OperationError>
Reconstructs one complete lifecycle solely from the verified journal.
Sourcepub fn run(
&mut self,
intent: &OperationIntent,
grant: &OperationGrant,
window: LeaseWindow,
performer: &mut dyn LifecyclePerformer,
observer: &mut dyn PostconditionObserver,
) -> Result<OperationOutcome, OperationError>
pub fn run( &mut self, intent: &OperationIntent, grant: &OperationGrant, window: LeaseWindow, performer: &mut dyn LifecyclePerformer, observer: &mut dyn PostconditionObserver, ) -> Result<OperationOutcome, OperationError>
Advances one operation, observing before any new or repeated performance.
Auto Trait Implementations§
impl<B> Freeze for OperationLifecycle<B>
impl<B> RefUnwindSafe for OperationLifecycle<B>
impl<B> Send for OperationLifecycle<B>
impl<B> Sync for OperationLifecycle<B>
impl<B> Unpin for OperationLifecycle<B>
impl<B> UnsafeUnpin for OperationLifecycle<B>
impl<B> UnwindSafe for OperationLifecycle<B>
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