pub struct U8;
Expand description

Codec for an u8.

§Examples

§Decoding

let mut decoder = U8::default();

let res = decoder.decode(&mut BytesMut::from("\x2A")).unwrap();

assert_eq!(res, Some(42))

§Encoding

let mut encoder = U8::default();

let mut dst = BytesMut::default();
encoder.encode(0x2A, &mut dst).unwrap();

assert_eq!(dst, BytesMut::from("\x2A"))

Trait Implementations§

Source§

impl Debug for U8

Source§

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

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

impl Decoder for U8

Source§

type Item = u8

The type of decoded frames.
Source§

type Error = Error

The type of unrecoverable frame decoding errors. Read more
Source§

fn decode( &mut self, src: &mut BytesMut, ) -> Result<Option<Self::Item>, Self::Error>

Attempts to decode a frame from the provided buffer of bytes. Read more
Source§

fn decode_eof( &mut self, buf: &mut BytesMut, ) -> Result<Option<Self::Item>, Self::Error>

A default method available to be called when there are no more bytes available to be read from the underlying I/O. Read more
Source§

fn framed<T>(self, io: T) -> Framed<T, Self>
where T: AsyncRead + AsyncWrite, Self: Sized,

Provides a Stream and Sink interface for reading and writing to this Io object, using Decode and Encode to read and write the raw data. Read more
Source§

impl Default for U8

Source§

fn default() -> U8

Returns the “default value” for a type. Read more
Source§

impl Encoder<u8> for U8

Source§

type Error = Error

The type of encoding errors. Read more
Source§

fn encode(&mut self, item: u8, dst: &mut BytesMut) -> Result<(), Self::Error>

Encodes a frame into the buffer provided. Read more

Auto Trait Implementations§

§

impl Freeze for U8

§

impl RefUnwindSafe for U8

§

impl Send for U8

§

impl Sync for U8

§

impl Unpin for U8

§

impl UnwindSafe for U8

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<D, A, E> DecoderExt<A, E> for D
where D: Decoder<Item = A, Error = E>,

Source§

fn map<F, B>(self, f: F) -> DecoderMap<Self, F>
where F: Fn(A) -> B, Self: Sized,

Applies a function f of type A -> B over the decoded value when that is Ok(Some(a)). Read more
Source§

fn map_into<B>(self) -> DecoderMapInto<Self, B>
where B: From<A>, Self: Sized,

Applies an B::from A conversion over the decoded value when that is Ok(Some(a)). Read more
Source§

fn try_map<F, B, EE>(self, f: F) -> DecoderTryMap<Self, F, EE>
where F: Fn(A) -> Result<B, EE>, Self: Sized,

Applies a fallible function f of type A -> Result<B, EE> over the decoded value when that is Ok(Some(a)). Read more
Source§

fn try_map_into<B>(self) -> DecoderTryMapInto<Self, B, B::Error>
where B: TryFrom<A>, Self: Sized,

Applies an B::try_from A conversion over the decoded value when that is Ok(Some(a)). Read more
Source§

fn map_err<F, EE>(self, f: F) -> DecoderMapErr<Self, F>
where F: Fn(E) -> EE, Self: Sized,

Applies a function f of type E -> EE over the decoding error when that is Err(e). Read more
Source§

fn then<DNext, B, EE>(self, next: DNext) -> DecoderThen<Self, DNext, A, EE>
where DNext: Decoder<Item = B, Error = EE>, EE: From<E>, Self: Sized,

Chains a decoder of B on the remaining bytes after applying this decoder, then returns a pair of the individual values (a, b). Read more
Source§

fn and_then<F, DNext, B, EE>( self, f: F, ) -> DecoderAndThen<Self, F, DNext, A, EE>
where F: Fn(&A) -> DNext, DNext: Decoder<Item = B, Error = EE>, EE: From<E>, Self: Sized,

Chains a function f of type &A -> Box<Decoder<Item = B, Error = E>> over the decoded value when that is Ok(Some(a)). Read more
Source§

fn boxed(self) -> DecoderBoxed<A, E>
where Self: Sized + 'static,

Shorthand for boxing this decoder while also widening its type to ease inference and spelling. Read more
Source§

impl<C, A, E> EncoderExt<A, E> for C
where C: Encoder<A, Error = E>,

Source§

fn contra_map<F, B>(self, f: F) -> EncoderContraMap<Self, F>
where F: Fn(B) -> A, Self: Sized,

Applies a function f of type B -> A over the input before encoding. 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

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

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

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.