pub enum LogError {
Show 19 variants
Io(Error),
BadMagic {
offset: u64,
},
UnsupportedVersion {
offset: u64,
found: u16,
supported: u16,
},
UnknownFrameKind {
offset: u64,
kind: u8,
},
UnsupportedFlags {
offset: u64,
flags: u8,
},
PayloadTooLarge {
length: usize,
maximum: usize,
},
InvalidSequence {
offset: u64,
expected: u64,
found: u64,
},
PreviousDigestMismatch {
sequence: u64,
},
ChecksumMismatch {
sequence: u64,
},
DigestMismatch {
sequence: u64,
},
MalformedTransaction {
sequence: u64,
},
TransactionBoundary {
kind: &'static str,
sequence: u64,
},
TransactionContentMismatch {
sequence: u64,
},
IdempotencyConflict {
transaction_id: Uuid,
},
EmptyTransaction,
TooManyOperations,
SequenceExhausted,
InvalidAnchor,
Poisoned,
}Expand description
Failure while opening, validating, or appending to a durable log.
Variants§
Io(Error)
A filesystem operation failed.
BadMagic
A frame does not start with the Hyphae magic bytes.
UnsupportedVersion
A frame uses a disk version this binary cannot decode.
Fields
UnknownFrameKind
A frame kind is not part of this format version.
UnsupportedFlags
Reserved frame flags are nonzero.
PayloadTooLarge
A payload exceeds the per-frame allocation limit.
InvalidSequence
A frame sequence is not exactly the previous sequence plus one.
PreviousDigestMismatch
The digest chain does not connect to the prior frame.
ChecksumMismatch
The CRC32C integrity check failed.
DigestMismatch
The BLAKE3 frame digest failed.
MalformedTransaction
A transaction descriptor has the wrong length or contents.
TransactionBoundary
An operation or commit appeared without its matching begin frame.
TransactionContentMismatch
The committed operation count or digest differs from its descriptor.
IdempotencyConflict
A transaction identifier was reused for different contents.
EmptyTransaction
A transaction cannot be committed without at least one operation.
TooManyOperations
The operation count cannot be represented by the disk format.
SequenceExhausted
The sequence space has been exhausted.
InvalidAnchor
A segment base sequence and digest do not form a canonical anchor.
Poisoned
The writer observed an uncertain I/O result and must be reopened.
Trait Implementations§
Source§impl Error for LogError
impl Error for LogError
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()