Trait Encoder

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

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

Required Methods§

Source

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

size of this object in bytes

Source

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

encoding contents for buffer

Provided Methods§

Source

fn as_bytes(&self, version: i16) -> 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 &str

Source§

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

Source§

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

Source§

impl Encoder for bool

Source§

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

Source§

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

Source§

impl Encoder for f32

Source§

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

Source§

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

Source§

impl Encoder for f64

Source§

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

Source§

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

Source§

impl Encoder for i8

Source§

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

Source§

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

Source§

impl Encoder for i16

Source§

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

Source§

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

Source§

impl Encoder for i32

Source§

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

Source§

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

Source§

impl Encoder for i64

Source§

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

Source§

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

Source§

impl Encoder for u8

Source§

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

Source§

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

Source§

impl Encoder for u16

Source§

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

Source§

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

Source§

impl Encoder for u32

Source§

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

Source§

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

Source§

impl Encoder for u64

Source§

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

Source§

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

Source§

impl Encoder for String

Source§

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

Source§

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

Source§

impl Encoder for Duration

Source§

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

Source§

fn encode<T>(&self, dest: &mut T, _version: i16) -> 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: i16) -> usize

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Implementors§

Source§

impl Encoder for LegacySmartModuleError

Source§

impl Encoder for SmartModuleInitErrorStatus

Source§

impl Encoder for SmartModuleKind

Source§

impl Encoder for SmartModuleLookbackErrorStatus

Source§

impl Encoder for SmartModuleTransformErrorStatus

Source§

impl Encoder for RequestKind

Source§

impl Encoder for ErrorCode

Source§

impl Encoder for RecordData

Source§

impl Encoder for BatchHeader

Source§

impl Encoder for RawRecords

Source§

impl Encoder for RecordHeader

Source§

impl Encoder for ReplicaKey

Source§

impl Encoder for SchemaId

Source§

impl Encoder for Lookback

Source§

impl Encoder for SmartModuleAggregateInput

Source§

impl Encoder for SmartModuleAggregateOutput

Source§

impl Encoder for SmartModuleExtraParams

Source§

impl Encoder for SmartModuleInitInput

Source§

impl Encoder for SmartModuleInitOutput

Source§

impl Encoder for SmartModuleInitRuntimeError

Source§

impl Encoder for SmartModuleInput

Source§

impl Encoder for SmartModuleLookbackOutput

Source§

impl Encoder for SmartModuleLookbackRuntimeError

Source§

impl Encoder for SmartModuleOutput

Source§

impl Encoder for SmartModuleTransformRuntimeError

Source§

impl Encoder for RequestHeader

Source§

impl Encoder for ApiVersionKey

Source§

impl Encoder for ApiVersionsRequest

Source§

impl Encoder for ApiVersionsResponse

Source§

impl Encoder for PlatformVersion

Source§

impl Encoder for ByteBuf

Source§

impl<B> Encoder for Record<B>
where B: Encoder + Default,

Source§

impl<P> Encoder for ResponseMessage<P>
where P: Encoder + Default,

Source§

impl<R> Encoder for Batch<R>
where R: BatchRecords,

Source§

impl<R> Encoder for RecordSet<R>
where R: BatchRecords,

Source§

impl<R> Encoder for RequestMessage<R>
where R: Request,