Skip to main content

Encoder

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".

Implementations on Foreign Types§

Source§

impl Encoder for &str

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 Duration

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 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 f32

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 f64

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 u64

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 &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§

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,

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,

Implementors§