Trait Encoder

Source
pub trait Encoder {
    // Required methods
    fn write_size(&self, version: Version) -> usize;
    fn encode<T>(&self, dest: &mut T, version: Version) -> Result<(), Error>
       where T: BufMut;

    // Provided method
    fn as_bytes(&self, version: Version) -> Result<Bytes, Error> { ... }
}

Required Methods§

Source

fn write_size(&self, version: Version) -> usize

size of this object in bytes

Source

fn encode<T>(&self, dest: &mut T, version: Version) -> Result<(), Error>
where T: BufMut,

encoding contents for buffer

Provided Methods§

Source

fn as_bytes(&self, version: Version) -> Result<Bytes, Error>

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 Encoder for Option<u16>

Source§

fn write_size(&self, _version: Version) -> usize

Source§

fn encode<T>(&self, dest: &mut T, _version: Version) -> Result<(), Error>
where T: BufMut,

Source§

impl Encoder for Option<String>

Source§

fn write_size(&self, _version: Version) -> usize

Source§

fn encode<T>(&self, dest: &mut T, version: Version) -> Result<(), Error>
where T: BufMut,

Source§

impl Encoder for bool

Source§

fn write_size(&self, _version: Version) -> usize

Source§

fn encode<T>(&self, dest: &mut T, _version: Version) -> Result<(), Error>
where T: BufMut,

Source§

impl Encoder for i8

Source§

fn write_size(&self, _version: Version) -> usize

Source§

fn encode<T>(&self, dest: &mut T, _version: Version) -> Result<(), Error>
where T: BufMut,

Source§

impl Encoder for i16

Source§

fn write_size(&self, _version: Version) -> usize

Source§

fn encode<T>(&self, dest: &mut T, _version: Version) -> Result<(), Error>
where T: BufMut,

Source§

impl Encoder for i32

Source§

fn write_size(&self, _version: Version) -> usize

Source§

fn encode<T>(&self, dest: &mut T, _version: Version) -> Result<(), Error>
where T: BufMut,

Source§

impl Encoder for i64

Source§

fn write_size(&self, _version: Version) -> usize

Source§

fn encode<T>(&self, dest: &mut T, _version: Version) -> Result<(), Error>
where T: BufMut,

Source§

impl Encoder for u8

Source§

fn write_size(&self, _version: Version) -> usize

Source§

fn encode<T>(&self, dest: &mut T, _version: Version) -> Result<(), Error>
where T: BufMut,

Source§

impl Encoder for u16

Source§

fn write_size(&self, _version: Version) -> usize

Source§

fn encode<T>(&self, dest: &mut T, _version: Version) -> Result<(), Error>
where T: BufMut,

Source§

impl Encoder for u32

Source§

fn write_size(&self, _version: Version) -> usize

Source§

fn encode<T>(&self, dest: &mut T, _version: Version) -> Result<(), Error>
where T: BufMut,

Source§

impl Encoder for String

Source§

fn write_size(&self, _version: Version) -> usize

Source§

fn encode<T>(&self, dest: &mut T, _version: Version) -> Result<(), Error>
where T: BufMut,

Source§

impl<K, V> Encoder for BTreeMap<K, V>
where K: Encoder, V: Encoder,

Source§

fn write_size(&self, version: Version) -> usize

Source§

fn encode<T>(&self, dest: &mut T, version: Version) -> Result<(), Error>
where T: BufMut,

Source§

impl<M> Encoder for Option<Vec<M>>
where M: Encoder,

Source§

fn write_size(&self, version: Version) -> usize

Source§

fn encode<T>(&self, dest: &mut T, version: Version) -> Result<(), Error>
where T: BufMut,

Source§

impl<M> Encoder for Option<M>
where M: Encoder,

Source§

default fn write_size(&self, version: Version) -> usize

Source§

default fn encode<T>(&self, dest: &mut T, version: Version) -> Result<(), Error>
where T: BufMut,

Source§

impl<M> Encoder for Vec<M>
where M: Encoder,

Source§

fn write_size(&self, version: Version) -> usize

Source§

fn encode<T>(&self, dest: &mut T, version: Version) -> Result<(), Error>
where T: BufMut,

Source§

impl<M> Encoder for PhantomData<M>
where M: Encoder,

Source§

fn write_size(&self, _version: Version) -> usize

Source§

fn encode<T>(&self, _dest: &mut T, _version: Version) -> Result<(), Error>
where T: BufMut,

Implementors§