Skip to main content

Decode

Trait Decode 

Source
pub trait Decode<V>: Sized {
    // Required method
    fn decode<B: Buf>(buf: &mut B, version: V) -> Result<Self, DecodeError>;
}
Expand description

Read the from the buffer using the given version.

If DecodeError::Short is returned, the caller should try again with more data.

Required Methods§

Source

fn decode<B: Buf>(buf: &mut B, version: V) -> Result<Self, DecodeError>

Decode the value from the given buffer.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<V> Decode<V> for bool

Source§

fn decode<R: Buf>(r: &mut R, version: V) -> Result<Self, DecodeError>

Source§

impl<V> Decode<V> for i8

Source§

fn decode<R: Buf>(r: &mut R, _: V) -> Result<Self, DecodeError>

Source§

impl<V> Decode<V> for u8

Source§

fn decode<R: Buf>(r: &mut R, _: V) -> Result<Self, DecodeError>

Source§

impl<V> Decode<V> for u16

Source§

fn decode<R: Buf>(r: &mut R, _: V) -> Result<Self, DecodeError>

Source§

impl<V: Copy> Decode<V> for Cow<'_, str>
where usize: Decode<V>,

Source§

fn decode<R: Buf>(r: &mut R, version: V) -> Result<Self, DecodeError>

Source§

impl<V: Copy> Decode<V> for Option<u64>
where u64: Decode<V>,

Source§

fn decode<R: Buf>(r: &mut R, version: V) -> Result<Self, DecodeError>

Source§

impl<V: Copy> Decode<V> for u32
where VarInt: Decode<V>,

Source§

fn decode<R: Buf>(r: &mut R, version: V) -> Result<Self, DecodeError>

Source§

impl<V: Copy> Decode<V> for u64
where VarInt: Decode<V>,

Source§

fn decode<R: Buf>(r: &mut R, version: V) -> Result<Self, DecodeError>

Source§

impl<V: Copy> Decode<V> for usize
where VarInt: Decode<V>,

Source§

fn decode<R: Buf>(r: &mut R, version: V) -> Result<Self, DecodeError>

Source§

impl<V: Copy> Decode<V> for String
where usize: Decode<V>,

Source§

fn decode<R: Buf>(r: &mut R, version: V) -> Result<Self, DecodeError>

Decode a string with a varint length prefix.

Source§

impl<V: Copy> Decode<V> for Vec<u8>
where usize: Decode<V>,

Source§

fn decode<B: Buf>(buf: &mut B, version: V) -> Result<Self, DecodeError>

Source§

impl<V: Copy> Decode<V> for Duration
where u64: Decode<V>,

Source§

fn decode<R: Buf>(r: &mut R, version: V) -> Result<Self, DecodeError>

Source§

impl<V: Copy> Decode<V> for Bytes
where usize: Decode<V>,

Source§

fn decode<R: Buf>(r: &mut R, version: V) -> Result<Self, DecodeError>

Implementors§

Source§

impl Decode<Version> for moq_lite::Version

Source§

impl Decode<Version> for VarInt

Source§

impl<V: Copy> Decode<V> for Path<'_>
where String: Decode<V>,

Source§

impl<V: Copy> Decode<V> for moq_lite::coding::Version
where u64: Decode<V>,

Source§

impl<V: Copy> Decode<V> for Versions
where u64: Decode<V>,

Source§

impl<const SCALE: u64> Decode<Version> for Timescale<SCALE>