Trait Encode

Source
pub trait Encode: Debug {
    type Error: From<Error> + Debug;

    // Required methods
    fn encode_len(&self) -> Result<usize, Self::Error>;
    fn encode(&self, buff: &mut [u8]) -> Result<usize, Self::Error>;
}
Expand description

Encode trait implemented for binary encodable objects

Required Associated Types§

Source

type Error: From<Error> + Debug

Error type returned on parse error

Required Methods§

Source

fn encode_len(&self) -> Result<usize, Self::Error>

Calculate expected encoded length for an object

Source

fn encode(&self, buff: &mut [u8]) -> Result<usize, Self::Error>

Encode method writes object data to the provided writer

Implementations on Foreign Types§

Source§

impl Encode for &str

Encode implementation for str

Source§

type Error = Error

Source§

fn encode_len(&self) -> Result<usize, <&str as Encode>::Error>

Source§

fn encode(&self, buff: &mut [u8]) -> Result<usize, <&str as Encode>::Error>

Source§

impl Encode for f32

Source§

type Error = Error

Source§

fn encode_len(&self) -> Result<usize, <f32 as Encode>::Error>

Source§

fn encode(&self, buff: &mut [u8]) -> Result<usize, <f32 as Encode>::Error>

Source§

impl Encode for f64

Source§

type Error = Error

Source§

fn encode_len(&self) -> Result<usize, <f64 as Encode>::Error>

Source§

fn encode(&self, buff: &mut [u8]) -> Result<usize, <f64 as Encode>::Error>

Source§

impl Encode for i8

Source§

type Error = Error

Source§

fn encode_len(&self) -> Result<usize, <i8 as Encode>::Error>

Source§

fn encode(&self, buff: &mut [u8]) -> Result<usize, <i8 as Encode>::Error>

Source§

impl Encode for i16

Source§

type Error = Error

Source§

fn encode_len(&self) -> Result<usize, <i16 as Encode>::Error>

Source§

fn encode(&self, buff: &mut [u8]) -> Result<usize, <i16 as Encode>::Error>

Source§

impl Encode for i32

Source§

type Error = Error

Source§

fn encode_len(&self) -> Result<usize, <i32 as Encode>::Error>

Source§

fn encode(&self, buff: &mut [u8]) -> Result<usize, <i32 as Encode>::Error>

Source§

impl Encode for i64

Source§

type Error = Error

Source§

fn encode_len(&self) -> Result<usize, <i64 as Encode>::Error>

Source§

fn encode(&self, buff: &mut [u8]) -> Result<usize, <i64 as Encode>::Error>

Source§

impl Encode for u8

Source§

type Error = Error

Source§

fn encode_len(&self) -> Result<usize, <u8 as Encode>::Error>

Source§

fn encode(&self, buff: &mut [u8]) -> Result<usize, <u8 as Encode>::Error>

Source§

impl Encode for u16

Source§

type Error = Error

Source§

fn encode_len(&self) -> Result<usize, <u16 as Encode>::Error>

Source§

fn encode(&self, buff: &mut [u8]) -> Result<usize, <u16 as Encode>::Error>

Source§

impl Encode for u32

Source§

type Error = Error

Source§

fn encode_len(&self) -> Result<usize, <u32 as Encode>::Error>

Source§

fn encode(&self, buff: &mut [u8]) -> Result<usize, <u32 as Encode>::Error>

Source§

impl Encode for u64

Source§

type Error = Error

Source§

fn encode_len(&self) -> Result<usize, <u64 as Encode>::Error>

Source§

fn encode(&self, buff: &mut [u8]) -> Result<usize, <u64 as Encode>::Error>

Source§

impl<T> Encode for &[T]
where T: Encode, <T as Encode>::Error: From<Error> + Debug,

Blanket Encode impl for slices of encodable types

Source§

type Error = <T as Encode>::Error

Source§

fn encode_len(&self) -> Result<usize, <&[T] as Encode>::Error>

Source§

fn encode(&self, buff: &mut [u8]) -> Result<usize, <&[T] as Encode>::Error>

Source§

impl<T> Encode for Vec<T>
where T: Encode, <T as Encode>::Error: From<Error> + Debug,

Encode implementation for std/alloc alloc::vec::Vec containing encodable types

Source§

type Error = <T as Encode>::Error

Source§

fn encode_len(&self) -> Result<usize, <Vec<T> as Encode>::Error>

Source§

fn encode(&self, buff: &mut [u8]) -> Result<usize, <Vec<T> as Encode>::Error>

Source§

impl<T, const N: usize> Encode for [T; N]
where T: Encode, <T as Encode>::Error: From<Error> + Debug,

Blanket Encode impl for arrays of encodable types

Source§

type Error = <T as Encode>::Error

Source§

fn encode_len(&self) -> Result<usize, <[T; N] as Encode>::Error>

Source§

fn encode(&self, buff: &mut [u8]) -> Result<usize, <[T; N] as Encode>::Error>

Source§

impl<T, const N: usize> Encode for Vec<T, N>
where T: Encode, <T as Encode>::Error: From<Error> + Debug,

Encode implementation for heapless heapless::Vec containing encodable types

Source§

type Error = <T as Encode>::Error

Source§

fn encode_len(&self) -> Result<usize, <Vec<T, N> as Encode>::Error>

Source§

fn encode(&self, buff: &mut [u8]) -> Result<usize, <Vec<T, N> as Encode>::Error>

Implementors§