Skip to main content

Codec

Trait Codec 

Source
pub trait Codec: Sized {
    // Required methods
    fn encode(&self, out: &mut Vec<u8>);
    fn decode(input: &[u8]) -> Result<(Self, usize), CodecError>;
}

Required Methods§

Source

fn encode(&self, out: &mut Vec<u8>)

Source

fn decode(input: &[u8]) -> Result<(Self, usize), CodecError>

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 Codec for bool

Source§

fn encode(&self, out: &mut Vec<u8>)

Source§

fn decode(input: &[u8]) -> Result<(Self, usize), CodecError>

Source§

impl Codec for u16

Source§

fn encode(&self, out: &mut Vec<u8>)

Source§

fn decode(input: &[u8]) -> Result<(Self, usize), CodecError>

Source§

impl Codec for u32

Source§

fn encode(&self, out: &mut Vec<u8>)

Source§

fn decode(input: &[u8]) -> Result<(Self, usize), CodecError>

Source§

impl Codec for u64

Source§

fn encode(&self, out: &mut Vec<u8>)

Source§

fn decode(input: &[u8]) -> Result<(Self, usize), CodecError>

Source§

impl Codec for String

Source§

fn encode(&self, out: &mut Vec<u8>)

Source§

fn decode(input: &[u8]) -> Result<(Self, usize), CodecError>

Source§

impl<T: Codec> Codec for Option<T>

Source§

fn encode(&self, out: &mut Vec<u8>)

Source§

fn decode(input: &[u8]) -> Result<(Self, usize), CodecError>

Source§

impl<T: Codec> Codec for Vec<T>

Source§

fn encode(&self, out: &mut Vec<u8>)

Source§

fn decode(input: &[u8]) -> Result<(Self, usize), CodecError>

Implementors§