Trait puffin::codec::Codec

source ·
pub trait Codec: Debug + Sized {
    // Required methods
    fn encode(&self, bytes: &mut Vec<u8>);
    fn read(_: &mut Reader<'_>) -> Option<Self>;

    // Provided methods
    fn get_encoding(&self) -> Vec<u8>  { ... }
    fn read_bytes(bytes: &[u8]) -> Option<Self> { ... }
}
Expand description

Things we can encode and read from a Reader.

Required Methods§

source

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

Encode yourself by appending onto bytes.

source

fn read(_: &mut Reader<'_>) -> Option<Self>

Decode yourself by fiddling with the Reader. Return Some if it worked, None if not.

Provided Methods§

source

fn get_encoding(&self) -> Vec<u8>

Convenience function to get the results of encode().

source

fn read_bytes(bytes: &[u8]) -> Option<Self>

Read one of these from the front of bytes and return it.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Codec for u8

source§

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

source§

fn read(r: &mut Reader<'_>) -> Option<Self>

source§

impl Codec for u16

source§

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

source§

fn read(r: &mut Reader<'_>) -> Option<Self>

source§

impl Codec for u32

source§

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

source§

fn read(r: &mut Reader<'_>) -> Option<Self>

source§

impl Codec for u64

source§

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

source§

fn read(r: &mut Reader<'_>) -> Option<Self>

Implementors§