pub enum DecodeFailure<E> {
Incomplete {
required_total: NonZeroUsize,
},
Invalid {
source: E,
consumed: Option<NonZeroUsize>,
},
}Expand description
Failure reported by crate::Codec::decode.
This type separates stream-control failures from codec-domain failures.
Incomplete tells buffered adapters to preserve the
current input tail and request more units. Invalid
carries the codec-specific malformed, non-canonical, or otherwise invalid
input error.
§Type Parameters
E: Codec-specific invalid-input error type.
Variants§
Incomplete
The visible input is a valid prefix but not enough to decode a value.
Fields
required_total: NonZeroUsizeNon-zero total units required from the current value start.
Invalid
The input is invalid for the codec.
Fields
source: ECodec-specific invalid-input error.
consumed: Option<NonZeroUsize>Invalid units that may be consumed by a non-strict policy.
Implementations§
Source§impl<E> DecodeFailure<E>
impl<E> DecodeFailure<E>
Sourcepub const fn incomplete(required_total: NonZeroUsize) -> Self
pub const fn incomplete(required_total: NonZeroUsize) -> Self
Sourcepub const fn invalid(source: E, consumed: NonZeroUsize) -> Self
pub const fn invalid(source: E, consumed: NonZeroUsize) -> Self
Sourcepub const fn invalid_without_consumed(source: E) -> Self
pub const fn invalid_without_consumed(source: E) -> Self
Sourcepub const fn required_total(&self) -> Option<NonZeroUsize>
pub const fn required_total(&self) -> Option<NonZeroUsize>
Returns the total input units required for an incomplete prefix.
§Returns
Returns Some(required_total) for incomplete failures, or None for
invalid-input failures.
Sourcepub const fn invalid_source(&self) -> Option<&E>
pub const fn invalid_source(&self) -> Option<&E>
Borrows the codec-specific invalid-input error.
§Returns
Returns Some(source) for invalid-input failures, or None for
incomplete failures.
Sourcepub const fn consumed_units(&self) -> Option<NonZeroUsize>
pub const fn consumed_units(&self) -> Option<NonZeroUsize>
Returns invalid units that may be consumed by a non-strict policy.
§Returns
Returns Some(consumed) when the invalid failure carries a consumption
hint, or None otherwise.
Trait Implementations§
Source§impl<E: Clone> Clone for DecodeFailure<E>
impl<E: Clone> Clone for DecodeFailure<E>
Source§fn clone(&self) -> DecodeFailure<E>
fn clone(&self) -> DecodeFailure<E>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl<E: Copy> Copy for DecodeFailure<E>
Source§impl<E: Debug> Debug for DecodeFailure<E>
impl<E: Debug> Debug for DecodeFailure<E>
impl<E: Eq> Eq for DecodeFailure<E>
Source§impl<E: Hash> Hash for DecodeFailure<E>
impl<E: Hash> Hash for DecodeFailure<E>
Source§impl<E: PartialEq> PartialEq for DecodeFailure<E>
impl<E: PartialEq> PartialEq for DecodeFailure<E>
Source§fn eq(&self, other: &DecodeFailure<E>) -> bool
fn eq(&self, other: &DecodeFailure<E>) -> bool
self and other values to be equal, and is used by ==.