#[non_exhaustive]pub enum TransactionStoreError {
Show 13 variants
Duplicate {
id: TransactionId,
},
NotFound {
id: TransactionId,
},
StateConflict {
id: TransactionId,
expected: TransactionState,
actual: TransactionState,
},
Transition(TransitionError),
ApprovalBindingMismatch {
requested: TransactionId,
bound: TransactionId,
},
MissingApproval {
id: TransactionId,
},
ApprovalExpired {
id: TransactionId,
expired_at_unix_ms: u64,
observed_at_unix_ms: u64,
},
NotReservable {
id: TransactionId,
actual: TransactionState,
},
PersistentIo {
operation: &'static str,
kind: ErrorKind,
},
PersistentCorrupt {
offset: u64,
reason: &'static str,
},
PersistentLogLimit {
observed: u64,
maximum: u64,
},
PersistentRecordLimit {
observed: usize,
maximum: usize,
},
Poisoned,
}Expand description
Atomic transaction-store failure.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Duplicate
The transaction ID already exists.
Fields
id: TransactionIdDuplicate ID.
NotFound
No record has this ID.
Fields
id: TransactionIdMissing ID.
StateConflict
Compare-and-transition observed another state.
Fields
id: TransactionIdTransaction ID.
expected: TransactionStateRequired current state.
actual: TransactionStateState actually observed.
Transition(TransitionError)
The requested state edge is invalid.
ApprovalBindingMismatch
A grant for another exact artifact was presented.
Fields
requested: TransactionIdTransaction the caller attempted to approve.
bound: TransactionIdTransaction actually covered by the grant.
MissingApproval
An approved state lacked its grant and therefore failed closed.
Fields
id: TransactionIdAffected transaction.
ApprovalExpired
Approval expired and the record was moved to Expired.
Fields
id: TransactionIdAffected transaction.
NotReservable
Current state can never win a new reservation.
PersistentIo
Durable state-file or cross-process lock I/O failed.
Fields
PersistentCorrupt
Durable state bytes failed structural, checksum, or lifecycle validation.
Fields
PersistentLogLimit
The append-only durable log exceeded its configured byte bound.
Fields
PersistentRecordLimit
Unique durable transaction count exceeded its configured bound.
Fields
Poisoned
Another thread panicked while mutating the in-memory reference backend.
Trait Implementations§
Source§impl Clone for TransactionStoreError
impl Clone for TransactionStoreError
Source§fn clone(&self) -> TransactionStoreError
fn clone(&self) -> TransactionStoreError
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 TransactionStoreError
Source§impl Debug for TransactionStoreError
impl Debug for TransactionStoreError
Source§impl Display for TransactionStoreError
impl Display for TransactionStoreError
impl Eq for TransactionStoreError
Source§impl Error for TransactionStoreError
impl Error for TransactionStoreError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()