Skip to main content

DecodeError

Enum DecodeError 

Source
#[non_exhaustive]
pub enum DecodeError {
Show 16 variants Io { offset: Option<u64>, source: Arc<Error>, }, InvalidGzip { offset: u64, reason: GzipErrorKind, }, UnrecognizedFormat, InvalidZlib { offset: u64, reason: ZlibErrorKind, }, InvalidDeflate { bit_offset: u64, reason: DeflateErrorKind, }, Analysis { reason: AnalysisErrorKind, }, ChecksumMismatch { member: u64, expected: u32, actual: u32, }, SizeMismatch { member: u64, expected: u32, actual_mod32: u32, }, OutputLimitExceeded { limit: u64, }, UnexpectedOutputSize { expected: u64, actual: u64, }, IndexBoundaryMismatch { expected_bit_offset: u64, actual_bit_offset: u64, }, IndexOutputMismatch { checkpoint_bit_offset: u64, expected_bytes: u64, actual_bytes: u64, }, IndexLineMismatch { checkpoint_byte_offset: u64, expected_lines: u64, actual_lines: u64, }, IndexTotalLineMismatch { expected_lines: u64, actual_lines: u64, }, WorkerPanicked, Cancelled,
}
Expand description

A terminal decoding error.

This type is cloneable so a std::io::Read adapter can return the same logical failure on every read after the pipeline has failed.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Io

A positional input read or output write failed.

Fields

§offset: Option<u64>

Compressed offset, when the operation was tied to an input offset.

§source: Arc<Error>

Shared original I/O error.

§

InvalidGzip

The gzip framing was invalid.

Fields

§offset: u64

Compressed byte offset.

§reason: GzipErrorKind

Detailed reason.

§

UnrecognizedFormat

Automatic detection found neither gzip nor zlib framing.

§

InvalidZlib

The zlib framing was invalid.

Fields

§offset: u64

Compressed byte offset.

§reason: ZlibErrorKind

Detailed reason.

§

InvalidDeflate

The raw DEFLATE payload was invalid.

Fields

§bit_offset: u64

Best-known compressed bit offset.

§reason: DeflateErrorKind

Detailed reason.

§

Analysis

Structural analysis exhausted a configured budget or exact counter.

Fields

§reason: AnalysisErrorKind

Typed resource or counter failure.

§

ChecksumMismatch

A member’s CRC32 did not match its footer.

Fields

§member: u64

Zero-based member number.

§expected: u32

Footer value.

§actual: u32

Computed value.

§

SizeMismatch

A member’s modulo-2^32 output size did not match its footer.

Fields

§member: u64

Zero-based member number.

§expected: u32

Footer value.

§actual_mod32: u32

Computed value.

§

OutputLimitExceeded

Decoded output would exceed the configured limit.

Fields

§limit: u64

Configured maximum decoded byte count.

§

UnexpectedOutputSize

Decoded output did not equal the caller’s exact expectation.

Fields

§expected: u64

Required total output size.

§actual: u64

Observed total, or the total that the next handoff would produce.

§

IndexBoundaryMismatch

Inflation did not reach an index checkpoint at its declared bit offset.

Fields

§expected_bit_offset: u64

Compressed bit offset declared by the index.

§actual_bit_offset: u64

Compressed bit offset reached by the inflater.

§

IndexOutputMismatch

A checkpoint’s decompressed offset disagreed with decoded output.

Fields

§checkpoint_bit_offset: u64

Compressed checkpoint whose output offset was checked.

§expected_bytes: u64

Decompressed bytes declared between the surrounding checkpoints.

§actual_bytes: u64

Decompressed bytes actually produced for that span.

§

IndexLineMismatch

A checkpoint’s imported line counter disagreed with decoded output.

Fields

§checkpoint_byte_offset: u64

Decompressed checkpoint whose line counter was checked.

§expected_lines: u64

Newline count declared by the index.

§actual_lines: u64

Newline count observed in ordered decoded output.

§

IndexTotalLineMismatch

An imported index’s total line counter disagreed with decoded output.

Fields

§expected_lines: u64

Newline count declared by the index.

§actual_lines: u64

Newline count observed in the complete decoded output.

§

WorkerPanicked

A decoder worker panicked.

§

Cancelled

Decoding was cancelled because the consumer stopped.

Trait Implementations§

Source§

impl Clone for DecodeError

Source§

fn clone(&self) -> DecodeError

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DecodeError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for DecodeError

Source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for DecodeError

Source§

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

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<DecodeError> for IndexDecodeError

Source§

fn from(error: DecodeError) -> Self

Converts to this type from the input type.
Source§

impl From<DecodeError> for IndexingError

Source§

fn from(error: DecodeError) -> Self

Converts to this type from the input type.
Source§

impl From<DecodeError> for IndexedReaderError

Source§

fn from(error: DecodeError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.