pub enum FinishError<E> {
Capacity {
source: CapacityError,
},
InvalidOutputIndex {
index: usize,
len: usize,
},
InsufficientOutput {
output_index: usize,
required: usize,
available: usize,
},
Source {
source: E,
},
}Expand description
Error reported by one-shot buffered finalization.
finish methods require enough output capacity to write all final output in
one call. This type separates caller capacity mistakes from semantic errors
reported by the concrete codec or hook policy.
Variants§
Capacity
Finish-output bound arithmetic overflowed.
Fields
source: CapacityErrorCapacity planning error.
InvalidOutputIndex
The caller supplied an output index outside the output slice.
Fields
InsufficientOutput
The output slice cannot hold all final output.
Fields
Source
The underlying codec or hook policy rejected finalization.
Fields
source: EError returned by the concrete codec or hook policy.
Implementations§
Source§impl<E> FinishError<E>
impl<E> FinishError<E>
Sourcepub const fn capacity(source: CapacityError) -> Self
pub const fn capacity(source: CapacityError) -> Self
Sourcepub const fn invalid_output_index(index: usize, len: usize) -> Self
pub const fn invalid_output_index(index: usize, len: usize) -> Self
Sourcepub const fn insufficient_output(
output_index: usize,
required: usize,
available: usize,
) -> Self
pub const fn insufficient_output( output_index: usize, required: usize, available: usize, ) -> Self
Sourcepub fn map_source<T, F>(self, map: F) -> FinishError<T>where
F: FnOnce(E) -> T,
pub fn map_source<T, F>(self, map: F) -> FinishError<T>where
F: FnOnce(E) -> T,
Sourcepub fn ensure_output_capacity(
output_len: usize,
output_index: usize,
required: usize,
) -> Result<(), Self>
pub fn ensure_output_capacity( output_len: usize, output_index: usize, required: usize, ) -> Result<(), Self>
Validates that an output slice can hold one-shot final output.
§Parameters
output_len: Length of the output slice.output_index: Output index supplied by the caller.required: Output units required to finish in one call.
§Returns
Returns Ok(()) when output capacity is sufficient.
§Errors
Returns FinishError::InvalidOutputIndex when output_index is beyond
the slice, or FinishError::InsufficientOutput when fewer than
required units are writable from output_index.
Trait Implementations§
Source§impl<E: Clone> Clone for FinishError<E>
impl<E: Clone> Clone for FinishError<E>
Source§fn clone(&self) -> FinishError<E>
fn clone(&self) -> FinishError<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 FinishError<E>
Source§impl<E: Debug> Debug for FinishError<E>
impl<E: Debug> Debug for FinishError<E>
Source§impl<E> Display for FinishError<E>where
E: Display,
impl<E> Display for FinishError<E>where
E: Display,
impl<E: Eq> Eq for FinishError<E>
Source§impl<E> Error for FinishError<E>
impl<E> Error for FinishError<E>
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<E: Hash> Hash for FinishError<E>
impl<E: Hash> Hash for FinishError<E>
Source§impl<E: PartialEq> PartialEq for FinishError<E>
impl<E: PartialEq> PartialEq for FinishError<E>
Source§fn eq(&self, other: &FinishError<E>) -> bool
fn eq(&self, other: &FinishError<E>) -> bool
self and other values to be equal, and is used by ==.