Skip to main content

TranscodeStatus

Enum TranscodeStatus 

Source
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: NonZeroUsize

Current 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: NonZeroUsize

Total output units required from the current output position.

Implementations§

Source§

impl TranscodeStatus

Source

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.

Source

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.

Trait Implementations§

Source§

impl Clone for TranscodeStatus

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for TranscodeStatus

Source§

impl Debug for TranscodeStatus

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for TranscodeStatus

Source§

impl PartialEq for TranscodeStatus

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for TranscodeStatus

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.