pub enum DryIceError {
Show 23 variants
Io(Error),
InvalidWriterConfiguration(&'static str),
InvalidReaderConfiguration(&'static str),
MismatchedSequenceAndQualityLengths {
sequence_len: usize,
quality_len: usize,
},
MissingRequiredField {
field: &'static str,
},
InvalidSequenceInput {
message: &'static str,
},
InvalidQualityInput {
message: &'static str,
},
UnsupportedFormatVersion {
version: u32,
},
InvalidMagic,
CorruptBlockHeader {
message: &'static str,
},
CorruptBlockLayout {
message: &'static str,
},
CorruptRecordIndex {
entry: usize,
message: &'static str,
},
MissingRequiredSection {
section: &'static str,
},
UnexpectedSection {
section: &'static str,
},
ChecksumMismatch,
RecordDecode {
record_index: usize,
message: &'static str,
},
RecordKeyTypeMismatch,
MissingRecordKeySection,
InvalidRecordKeyEncoding {
message: &'static str,
},
SequenceCodecMismatch {
expected: [u8; 16],
found: [u8; 16],
},
QualityCodecMismatch {
expected: [u8; 16],
found: [u8; 16],
},
NameCodecMismatch {
expected: [u8; 16],
found: [u8; 16],
},
SectionOverflow {
field: &'static str,
},
}Expand description
Top-level error type for all dryice operations.
This enum is organized into broad categories: transport/IO errors, configuration errors, input-record validity errors, format identity and version errors, structural corruption errors, unsupported feature errors, and integrity/decode failures.
Variants§
Io(Error)
An underlying I/O error occurred.
InvalidWriterConfiguration(&'static str)
The writer configuration is invalid.
InvalidReaderConfiguration(&'static str)
The reader configuration is invalid.
MismatchedSequenceAndQualityLengths
Sequence and quality lengths do not match.
Fields
MissingRequiredField
A required record field is missing or empty.
InvalidSequenceInput
Sequence data is not valid for the selected encoding.
InvalidQualityInput
Quality data is not valid for the selected encoding.
UnsupportedFormatVersion
The file uses a format version this build does not support.
InvalidMagic
The file does not begin with valid dryice magic bytes.
CorruptBlockHeader
A block header could not be parsed.
CorruptBlockLayout
Block layout metadata is inconsistent or unreadable.
CorruptRecordIndex
A record index entry is corrupt or out of range.
Fields
MissingRequiredSection
A section that should be present in this block is missing.
UnexpectedSection
A section is present but should not be for this block configuration.
ChecksumMismatch
A block checksum did not match the computed value.
RecordDecode
A record could not be decoded from block data.
Fields
RecordKeyTypeMismatch
Record-key metadata in the block does not match the configured key type.
MissingRecordKeySection
A record-key section is required but missing.
InvalidRecordKeyEncoding
A record-key encoding or decoding operation failed.
SequenceCodecMismatch
The block’s sequence codec tag does not match the reader’s configured codec.
Fields
QualityCodecMismatch
The block’s quality codec tag does not match the reader’s configured codec.
Fields
NameCodecMismatch
The block’s name codec tag does not match the reader’s configured codec.
Fields
SectionOverflow
A value exceeds the maximum representable size for the format.
Trait Implementations§
Source§impl Debug for DryIceError
impl Debug for DryIceError
Source§impl Display for DryIceError
impl Display for DryIceError
Source§impl Error for DryIceError
impl Error for DryIceError
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()
Auto Trait Implementations§
impl Freeze for DryIceError
impl !RefUnwindSafe for DryIceError
impl Send for DryIceError
impl Sync for DryIceError
impl Unpin for DryIceError
impl UnsafeUnpin for DryIceError
impl !UnwindSafe for DryIceError
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
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>
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>
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