#[non_exhaustive]pub enum CompensationOutcome {
Compensated,
Failed(ErrorRecord),
InProgress {
id: EffectId,
},
NotCommitted {
id: EffectId,
status: EffectStatus,
},
}Expand description
How a compensation ended, or where it stands.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Compensated
The effect is undone. Calling again changes nothing.
Failed(ErrorRecord)
Undoing failed for good (CompensationFailed). An operator must
finish it by hand (Resolution::Compensated)
or order a retry (Resolution::Retry).
InProgress
Another caller or worker holds the effect right now.
NotCommitted
The effect has not committed, so there is nothing to undo, or it is
not known whether there is (Unknown, NeedsIntervention): resolve
it first.
Trait Implementations§
Source§impl Clone for CompensationOutcome
impl Clone for CompensationOutcome
Source§impl Debug for CompensationOutcome
impl Debug for CompensationOutcome
impl Eq for CompensationOutcome
Source§impl PartialEq for CompensationOutcome
impl PartialEq for CompensationOutcome
impl StructuralPartialEq for CompensationOutcome
Auto Trait Implementations§
impl Freeze for CompensationOutcome
impl RefUnwindSafe for CompensationOutcome
impl Send for CompensationOutcome
impl Sync for CompensationOutcome
impl Unpin for CompensationOutcome
impl UnsafeUnpin for CompensationOutcome
impl UnwindSafe for CompensationOutcome
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