pub struct CodecTranscodeEncoder<C> { /* private fields */ }Expand description
Encodes values into caller-provided output units by using a Codec.
CodecTranscodeEncoder is the default bridge from the low-level unchecked
Codec contract to the buffered Transcoder and
TranscodeEncoder contracts. It encodes complete values only; when the
remaining output capacity is smaller than codec.encode_len(value), it
stops before consuming that input value and reports
crate::TranscodeStatus::NeedOutput.
§Type Parameters
C: Low-level codec used to encode values.
Implementations§
Trait Implementations§
Source§impl<C: Debug> Debug for CodecTranscodeEncoder<C>
impl<C: Debug> Debug for CodecTranscodeEncoder<C>
Source§impl<C> Default for CodecTranscodeEncoder<C>
impl<C> Default for CodecTranscodeEncoder<C>
impl<C> TranscodeEncoder<<C as Codec>::Value, <C as Codec>::Unit> for CodecTranscodeEncoder<C>where
C: Codec,
Source§impl<C> Transcoder<<C as Codec>::Value, <C as Codec>::Unit> for CodecTranscodeEncoder<C>where
C: Codec,
impl<C> Transcoder<<C as Codec>::Value, <C as Codec>::Unit> for CodecTranscodeEncoder<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_reset_output_len(&self) -> Result<usize, CapacityError>
fn max_reset_output_len(&self) -> Result<usize, CapacityError>
Gets the maximum units emitted when resetting internal state.
§Returns
the maximum units emitted when resetting internal state.
Source§fn max_finish_output_len(&self) -> Result<usize, CapacityError>
fn max_finish_output_len(&self) -> Result<usize, CapacityError>
Gets the maximum units emitted by finishing internal state.
§Returns
the number of units that may be emitted by finishing state.
Source§fn reset(
&mut self,
output: &mut [C::Unit],
output_index: usize,
) -> Result<usize, TranscodeError<Self::Error>>
fn reset( &mut self, output: &mut [C::Unit], output_index: usize, ) -> Result<usize, TranscodeError<Self::Error>>
Runs before-reset cleanup and emits stream-start output.
Source§fn transcode(
&mut self,
input: &[C::Value],
input_index: usize,
output: &mut [C::Unit],
output_index: usize,
) -> Result<TranscodeProgress, TranscodeError<Self::Error>>
fn transcode( &mut self, input: &[C::Value], input_index: usize, output: &mut [C::Unit], output_index: usize, ) -> Result<TranscodeProgress, TranscodeError<Self::Error>>
Encodes values into the supplied output buffer.
§Parameters
input: Input value slice.input_index: Absolute input index where encoding starts.output: Destination unit slice.output_index: Absolute output index where writing starts.
§Returns
Returns conversion progress for consumed input and produced output units.
§Errors
Returns an encode error when indices are invalid or when encoding cannot continue under current policy.
Source§fn finish(
&mut self,
output: &mut [C::Unit],
output_index: usize,
) -> Result<usize, TranscodeError<Self::Error>>
fn finish( &mut self, output: &mut [C::Unit], output_index: usize, ) -> Result<usize, TranscodeError<Self::Error>>
Finishes internally retained output after EOF.
§Parameters
output: Destination unit slice for finalization output.output_index: Absolute output index where writing starts.
§Returns
Returns the number of units written by finalization.
§Errors
Returns a finish error if retained output cannot be fully emitted.