Trait fluvio_protocol::core::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>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

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

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§