pub struct CodecBufferedDecoder<C> { /* private fields */ }Expand description
Decodes encoded units into caller-provided value buffers by using a Codec.
CodecBufferedDecoder is a policy-free bridge from the low-level unchecked
Codec contract to BufferedTranscoder and BufferedDecoder. It leaves
incomplete input tails in the caller-provided input slice; callers own
input-buffer refill and EOF incomplete-tail policy.
§Type Parameters
C: Low-level codec used to decode values.
Implementations§
Trait Implementations§
impl<C> BufferedDecoder<<C as Codec>::Unit, <C as Codec>::Value> for CodecBufferedDecoder<C>where
C: Codec,
Source§impl<C> BufferedTranscoder<<C as Codec>::Unit, <C as Codec>::Value> for CodecBufferedDecoder<C>where
C: Codec,
impl<C> BufferedTranscoder<<C as Codec>::Unit, <C as Codec>::Value> for CodecBufferedDecoder<C>where
C: Codec,
Source§fn max_output_len(&self, input_len: usize) -> Result<usize, CapacityError>
fn max_output_len(&self, input_len: usize) -> Result<usize, CapacityError>
Source§fn max_finish_output_len(&self) -> Result<usize, CapacityError>
fn max_finish_output_len(&self) -> Result<usize, CapacityError>
Returns the maximum values emitted by finishing internal state.
§Returns
Returns the number of values that may still be emitted by finishing state.
Source§fn transcode(
&mut self,
input: &[C::Unit],
input_index: usize,
output: &mut [C::Value],
output_index: usize,
) -> Result<TranscodeProgress, Self::Error>
fn transcode( &mut self, input: &[C::Unit], input_index: usize, output: &mut [C::Value], output_index: usize, ) -> Result<TranscodeProgress, Self::Error>
Decodes source units into logical values.
§Parameters
input: Source unit slice.input_index: Absolute source index where decoding starts.output: Destination value slice.output_index: Absolute output value index where writing starts.
§Returns
Returns conversion progress for consumed and written counters.
§Errors
Returns a decode error when indices are invalid or when conversion fails under hook policy.
Source§fn finish(
&mut self,
output: &mut [C::Value],
output_index: usize,
) -> Result<usize, FinishError<Self::Error>>
fn finish( &mut self, output: &mut [C::Value], output_index: usize, ) -> Result<usize, FinishError<Self::Error>>
Finishes internally retained output after EOF.
§Parameters
output: Destination value slice for final retained values.output_index: Absolute output value index where writing starts.
§Returns
Returns the number of values written by finalization.
§Errors
Returns a finish error if finalization cannot complete.
Source§type Error = CodecDecodeError<<C as Codec>::DecodeError>
type Error = CodecDecodeError<<C as Codec>::DecodeError>
Source§impl<C: Clone> Clone for CodecBufferedDecoder<C>
impl<C: Clone> Clone for CodecBufferedDecoder<C>
Source§fn clone(&self) -> CodecBufferedDecoder<C>
fn clone(&self) -> CodecBufferedDecoder<C>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<C: Debug> Debug for CodecBufferedDecoder<C>
impl<C: Debug> Debug for CodecBufferedDecoder<C>
Source§impl<C: Default> Default for CodecBufferedDecoder<C>
impl<C: Default> Default for CodecBufferedDecoder<C>
Source§fn default() -> CodecBufferedDecoder<C>
fn default() -> CodecBufferedDecoder<C>
impl<C: Eq> Eq for CodecBufferedDecoder<C>
Source§impl<C: Hash> Hash for CodecBufferedDecoder<C>
impl<C: Hash> Hash for CodecBufferedDecoder<C>
Source§impl<C: PartialEq> PartialEq for CodecBufferedDecoder<C>
impl<C: PartialEq> PartialEq for CodecBufferedDecoder<C>
Source§fn eq(&self, other: &CodecBufferedDecoder<C>) -> bool
fn eq(&self, other: &CodecBufferedDecoder<C>) -> bool
self and other values to be equal, and is used by ==.