message_encoding

Trait MessageEncoding

Source
pub trait MessageEncoding: Sized {
    const STATIC_SIZE: Option<usize> = None;
    const MAX_SIZE: Option<usize> = Self::STATIC_SIZE;
    const _ASSERT: usize = _;

    // Required methods
    fn write_to<T: Write>(&self, out: &mut T) -> Result<usize>;
    fn read_from<T: Read>(read: &mut T) -> Result<Self>;

    // Provided method
    fn static_size() -> Option<usize> { ... }
}

Provided Associated Constants§

Source

const STATIC_SIZE: Option<usize> = None

Source

const MAX_SIZE: Option<usize> = Self::STATIC_SIZE

Source

const _ASSERT: usize = _

Required Methods§

Source

fn write_to<T: Write>(&self, out: &mut T) -> Result<usize>

Source

fn read_from<T: Read>(read: &mut T) -> Result<Self>

Provided Methods§

Source

fn static_size() -> Option<usize>

👎Deprecated

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 MessageEncoding for IpAddr

Source§

impl MessageEncoding for SocketAddr

Source§

impl MessageEncoding for bool

Source§

impl MessageEncoding for i32

Source§

impl MessageEncoding for u8

Source§

impl MessageEncoding for u16

Source§

impl MessageEncoding for u32

Source§

impl MessageEncoding for u64

Source§

impl MessageEncoding for ()

Source§

impl MessageEncoding for Vec<u8>

Source§

fn write_to<T: Write>(&self, out: &mut T) -> Result<usize>

Source§

fn read_from<T: Read>(read: &mut T) -> Result<Self>

Source§

impl MessageEncoding for Ipv4Addr

Source§

impl MessageEncoding for Ipv6Addr

Source§

const STATIC_SIZE: Option<usize>

Source§

fn write_to<T: Write>(&self, out: &mut T) -> Result<usize>

Source§

fn read_from<T: Read>(read: &mut T) -> Result<Self>

Source§

fn static_size() -> Option<usize>

👎Deprecated
Source§

impl MessageEncoding for SocketAddrV4

Source§

impl<'a> MessageEncoding for &'a [u8]

Source§

fn write_to<T: Write>(&self, out: &mut T) -> Result<usize>

Source§

fn read_from<T: Read>(_: &mut T) -> Result<Self>

Source§

impl<'a, T: MessageEncoding + Clone> MessageEncoding for Cow<'a, T>

Source§

const STATIC_SIZE: Option<usize> = T::STATIC_SIZE

Source§

const MAX_SIZE: Option<usize> = T::MAX_SIZE

Source§

fn write_to<I: Write>(&self, out: &mut I) -> Result<usize>

Source§

fn read_from<I: Read>(read: &mut I) -> Result<Self>

Source§

impl<'a, T: MessageEncoding> MessageEncoding for &'a T

Source§

const STATIC_SIZE: Option<usize> = T::STATIC_SIZE

Source§

const MAX_SIZE: Option<usize> = T::MAX_SIZE

Source§

fn write_to<W: Write>(&self, out: &mut W) -> Result<usize>

Source§

fn read_from<R: Read>(_: &mut R) -> Result<Self>

Source§

impl<A: MessageEncoding, B: MessageEncoding> MessageEncoding for (A, B)

Source§

impl<T: MessageEncoding> MessageEncoding for Option<T>

Source§

impl<T: MessageEncoding> MessageEncoding for Arc<T>

Source§

const STATIC_SIZE: Option<usize> = T::STATIC_SIZE

Source§

const MAX_SIZE: Option<usize> = T::MAX_SIZE

Source§

fn write_to<I: Write>(&self, out: &mut I) -> Result<usize>

Source§

fn read_from<I: Read>(read: &mut I) -> Result<Self>

Source§

impl<T: MessageEncoding, const C: usize> MessageEncoding for [T; C]
where [T; C]: Sized,

Implementors§