pub enum TransactionState {
Active,
Preparing,
CommitCritical,
Committed(CommitReceipt),
Aborted(AbortReason),
}Expand description
Formal transaction state (spec §10.2, S1B-001).
Once a commit is CommitCritical its outcome may be durable; from there
the only honest transition is Committed(receipt). A post-fence failure
(unknown outcome) leaves the state CommitCritical rather than reporting
an abort that may be false (spec §4.7).
Variants§
Active
Staging writes; no commit attempted.
Preparing
Commit entered: preparation and validation are underway, nothing can be durable yet.
CommitCritical
Commit timestamp assigned and the commit proposal in flight; the outcome may already be durable.
Committed(CommitReceipt)
Durable and published; carries the commit log’s irrevocable receipt.
Aborted(AbortReason)
Ended before the commit fence with nothing durable.
Trait Implementations§
Source§impl Clone for TransactionState
impl Clone for TransactionState
Source§fn clone(&self) -> TransactionState
fn clone(&self) -> TransactionState
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 moreAuto Trait Implementations§
impl Freeze for TransactionState
impl RefUnwindSafe for TransactionState
impl Send for TransactionState
impl Sync for TransactionState
impl Unpin for TransactionState
impl UnsafeUnpin for TransactionState
impl UnwindSafe for TransactionState
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<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