pub enum StorageError {
BackendNoListSupport {
tier: String,
},
CodecMismatch {
expected: String,
found: String,
},
Codec(CodecError),
BackendError {
message: String,
source: Option<Box<dyn Error + Send + Sync + 'static>>,
},
}Expand description
Tier-level preconditions surfaced by BaseStorageTier operations.
Variants§
BackendNoListSupport
Caller invoked list_by_prefix on a backend that has no enumeration
support. Lazy-thrown on first stream-yield, not at attach.
CodecMismatch
Mixed codecs detected within a single WAL — replay refuses to proceed because frame deserialization would silently corrupt downstream state.
Codec(CodecError)
Codec encode / decode failed (typed values that don’t round-trip
through serde_json, version-mismatch decode, etc.).
BackendError
Wraps an underlying backend I/O failure (file system, redb transaction,
network round-trip). The source chain preserves the original error.
Trait Implementations§
Source§impl Debug for StorageError
impl Debug for StorageError
Source§impl Display for StorageError
impl Display for StorageError
Source§impl Error for StorageError
impl Error for StorageError
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()
Source§impl From<ChecksumError> for StorageError
Convenience: wal_frame_checksum / verify_wal_frame_checksum failures
bubble through ? at the tier-flush boundary without explicit mapping.
ChecksumError::CanonicalJsonFailed was a serde_json::Error at root,
which is a codec-encode failure — funnel through the Codec variant.
impl From<ChecksumError> for StorageError
Convenience: wal_frame_checksum / verify_wal_frame_checksum failures
bubble through ? at the tier-flush boundary without explicit mapping.
ChecksumError::CanonicalJsonFailed was a serde_json::Error at root,
which is a codec-encode failure — funnel through the Codec variant.