Enum e_utils::system::encode::DecoderResult
source · pub enum DecoderResult {
InputEmpty,
OutputFull,
Malformed(u8, u8),
}Expand description
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.
Trait Implementations§
source§impl Debug for DecoderResult
impl Debug for DecoderResult
source§impl PartialEq for DecoderResult
impl PartialEq for DecoderResult
impl Eq for DecoderResult
impl StructuralPartialEq for DecoderResult
Auto Trait Implementations§
impl Freeze for DecoderResult
impl RefUnwindSafe for DecoderResult
impl Send for DecoderResult
impl Sync for DecoderResult
impl Unpin for DecoderResult
impl UnwindSafe for DecoderResult
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more