pub enum TranscodeStatus {
Complete,
NeedInput {
required: NonZeroUsize,
},
NeedOutput {
required: NonZeroUsize,
},
}Expand description
Reports why a crate::Transcoder stopped converting input.
§Examples
use core::num::NonZeroUsize;
use qubit_codec::TranscodeStatus;
let status = TranscodeStatus::need_output(NonZeroUsize::new(2).unwrap());
assert!(matches!(status, TranscodeStatus::NeedOutput { required } if required.get() == 2));Variants§
Complete
All currently supplied input was consumed.
A Complete status means the current crate::Transcoder::transcode
call consumed every input unit visible from the supplied input_index.
Implementations must report NeedInput for an
incomplete input tail and NeedOutput when output
capacity prevents further input consumption.
NeedInput
More input is needed to complete the next output value.
The transcoder does not consume incomplete input tails. If the call
started at start and returned progress, preserve
input[start + progress.read()..] before refilling the input buffer.
If the caller has already advanced its input cursor by
progress.read(), it can slice from that updated cursor directly.
Apply the EOF policy when the upstream source is closed. Calling
crate::Transcoder::finish does not pass this tail back to the
transcoder.
required: Current minimum total input units required before retrying from the current input position. A later retry may raise this lower bound.
Fields
required: NonZeroUsizeCurrent minimum total input units required before retrying from the current input position. A later retry may raise this lower bound.
NeedOutput
More output capacity is needed before conversion can continue.
required: Total output units required from the current output position.
Fields
required: NonZeroUsizeTotal output units required from the current output position.
Implementations§
Source§impl TranscodeStatus
impl TranscodeStatus
Sourcepub const fn need_input(required: NonZeroUsize) -> Self
pub const fn need_input(required: NonZeroUsize) -> Self
Creates a status that requests more input.
§Parameters
required: Current minimum total input units required before retrying from the current input position. A later retry may raise this lower bound.
§Returns
Returns a TranscodeStatus::NeedInput value.
Sourcepub const fn need_output(required: NonZeroUsize) -> Self
pub const fn need_output(required: NonZeroUsize) -> Self
Creates a status that requests more output capacity.
§Parameters
required: Total output units required from the current output position.
§Returns
Returns a TranscodeStatus::NeedOutput value.