pub enum ChainError {
IdMismatch {
op_id: String,
},
DeviceMismatch {
op_id: String,
},
DuplicateSeq {
device_id: String,
seq: u64,
},
SeqGap {
device_id: String,
expected: u64,
found: u64,
},
PrevMismatch {
op_id: String,
},
NonMonotonicHlc {
op_id: String,
},
TruncatedChain {
device_id: String,
first_seq: u64,
},
}Expand description
A chain-verification failure from verify_log.
Variants§
IdMismatch
A record’s stored op_id doesn’t match its content.
DeviceMismatch
hlc.device_id disagrees with the record’s device_id.
DuplicateSeq
Two ops from one device claim the same seq.
SeqGap
A device’s seqs aren’t contiguous from its first present op.
PrevMismatch
prev doesn’t link to the device’s preceding op (or seq 0 has one).
NonMonotonicHlc
A device’s HLC stamps aren’t strictly increasing along its chain.
TruncatedChain
DeviceLog::resume was handed a log in which the resuming
device’s own chain doesn’t start at seq 0 — a truncated tail.
Resuming from it would re-mint truncated seqs (a permanent chain
fork); go through checkpoint::resume_anchored instead.
Trait Implementations§
Source§impl Clone for ChainError
impl Clone for ChainError
Source§fn clone(&self) -> ChainError
fn clone(&self) -> ChainError
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 moreSource§impl Debug for ChainError
impl Debug for ChainError
Source§impl Display for ChainError
impl Display for ChainError
impl Eq for ChainError
Source§impl Error for ChainError
impl Error for ChainError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl From<ChainError> for SessionError
impl From<ChainError> for SessionError
Source§fn from(e: ChainError) -> Self
fn from(e: ChainError) -> Self
Converts to this type from the input type.
Source§impl PartialEq for ChainError
impl PartialEq for ChainError
Source§fn eq(&self, other: &ChainError) -> bool
fn eq(&self, other: &ChainError) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ChainError
Auto Trait Implementations§
impl Freeze for ChainError
impl RefUnwindSafe for ChainError
impl Send for ChainError
impl Sync for ChainError
impl Unpin for ChainError
impl UnsafeUnpin for ChainError
impl UnwindSafe for ChainError
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