Trait ledger_proto::Encode

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§

type Error: From<Error> + Debug

Error type returned on parse error

Required Methods§

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

Calculate expected encoded length for an object

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

Encode method writes object data to the provided writer

Implementations on Foreign Types§

§

impl Encode for i32

§

type Error = Error

§

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

§

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

§

impl<T> Encode for &Twhere T: Encode,

Blanket encode for references to encodable types

§

type Error = <T as Encode>::Error

§

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

§

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

§

impl Encode for f64

§

type Error = Error

§

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

§

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

§

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

§

type Error = <T as Encode>::Error

§

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

§

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

§

impl Encode for i64

§

type Error = Error

§

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

§

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

§

impl Encode for f32

§

type Error = Error

§

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

§

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

§

impl Encode for i8

§

type Error = Error

§

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

§

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

§

impl Encode for u16

§

type Error = Error

§

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

§

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

§

impl Encode for u8

§

type Error = Error

§

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

§

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

§

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

Blanket Encode impl for slices of encodable types

§

type Error = <T as Encode>::Error

§

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

§

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

§

impl Encode for i16

§

type Error = Error

§

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

§

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

§

impl Encode for &str

Encode implementation for str

§

type Error = Error

§

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

§

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

§

impl Encode for u64

§

type Error = Error

§

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

§

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

§

impl Encode for u32

§

type Error = Error

§

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

§

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

Implementors§