LengthDelimitedEncoder

Trait LengthDelimitedEncoder 

Source
pub trait LengthDelimitedEncoder {
    type Error;

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

A type can be encode to a buffer.

Required Associated Types§

Source

type Error

The encode error type that can be returned when encoding the type.

Required Methods§

Source

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.

Source

fn encoded_length_delimited_len(&self) -> usize

Returns the encoded length of the message with a length delimiter.

Source

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

Encodes the message with a length-delimiter to a buffer.

An error will be returned if the buffer does not have sufficient capacity.

Source

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

Encodes the message to a buffer.

An error will be returned if the buffer does not have sufficient capacity.

Implementations on Foreign Types§

Source§

impl LengthDelimitedEncoder for &str

Source§

impl LengthDelimitedEncoder for &BStr

Source§

impl LengthDelimitedEncoder for &[u8]

Source§

impl LengthDelimitedEncoder for bool

Source§

impl LengthDelimitedEncoder for char

Source§

impl LengthDelimitedEncoder for f32

Source§

impl LengthDelimitedEncoder for f64

Source§

impl LengthDelimitedEncoder for i8

Source§

impl LengthDelimitedEncoder for i16

Source§

impl LengthDelimitedEncoder for i32

Source§

impl LengthDelimitedEncoder for i64

Source§

impl LengthDelimitedEncoder for i128

Source§

impl LengthDelimitedEncoder for u8

Source§

impl LengthDelimitedEncoder for u16

Source§

impl LengthDelimitedEncoder for u32

Source§

impl LengthDelimitedEncoder for u64

Source§

impl LengthDelimitedEncoder for u128

Source§

impl LengthDelimitedEncoder for Box<str>

Source§

impl LengthDelimitedEncoder for Box<[u8]>

Source§

impl LengthDelimitedEncoder for Rc<str>

Source§

impl LengthDelimitedEncoder for Rc<[u8]>

Source§

impl LengthDelimitedEncoder for String

Source§

impl LengthDelimitedEncoder for Arc<str>

Source§

impl LengthDelimitedEncoder for Arc<[u8]>

Source§

impl LengthDelimitedEncoder for Vec<u8>

Source§

impl LengthDelimitedEncoder for Ipv4Addr

Source§

impl LengthDelimitedEncoder for Ipv6Addr

Source§

impl LengthDelimitedEncoder for SocketAddrV4

Source§

impl LengthDelimitedEncoder for SocketAddrV6

Source§

impl LengthDelimitedEncoder for BString

Source§

impl LengthDelimitedEncoder for Bytes

Source§

impl LengthDelimitedEncoder for FastStr

Source§

impl LengthDelimitedEncoder for SmolStr

Source§

impl LengthDelimitedEncoder for Arc<str>

Source§

impl LengthDelimitedEncoder for Arc<[u8]>

Source§

impl<const N: usize> LengthDelimitedEncoder for [u8; N]

Implementors§