Enum DecoderResult

enum DecoderResult

Result of a (potentially partial) decode operation without replacement.

Variants

InputEmpty

The input was exhausted.

If this result was returned from a call where last was true, the decoding process has completed. Otherwise, the caller should call a decode method again with more input.

OutputFull

The decoder cannot produce another unit of output, because the output buffer does not have enough space left.

The caller must provide more output space upon the next call and re-push the remaining input to the decoder.

Malformed(u8, u8)

The decoder encountered a malformed byte sequence.

The caller must either treat this as a fatal error or must append one REPLACEMENT CHARACTER (U+FFFD) to the output and then re-push the the remaining input to the decoder.

The first wrapped integer indicates the length of the malformed byte sequence. The second wrapped integer indicates the number of bytes that were consumed after the malformed sequence. If the second integer is zero, the last byte that was consumed is the last byte of the malformed sequence. Note that the malformed bytes may have been part of an earlier input buffer.

The first wrapped integer can have values 1, 2, 3 or 4. The second wrapped integer can have values 0, 1, 2 or 3. The worst-case sum of the two is 6, which happens with ISO-2022-JP.

Implementations

impl Debug for DecoderResult

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

impl Eq for DecoderResult

impl Freeze for DecoderResult

impl PartialEq for DecoderResult

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

impl RefUnwindSafe for DecoderResult

impl Send for DecoderResult

impl StructuralPartialEq for DecoderResult

impl Sync for DecoderResult

impl Unpin for DecoderResult

impl UnsafeUnpin for DecoderResult

impl UnwindSafe for DecoderResult

impl<T> Any for DecoderResult

fn type_id(self: &Self) -> TypeId

impl<T> Borrow for DecoderResult

fn borrow(self: &Self) -> &T

impl<T> BorrowMut for DecoderResult

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

impl<T> From for DecoderResult

fn from(t: T) -> T

Returns the argument unchanged.

impl<T, U> Into for DecoderResult

fn into(self: Self) -> U

Calls U::from(self).

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

impl<T, U> TryFrom for DecoderResult

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

impl<T, U> TryInto for DecoderResult

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