pub trait Protocol: Sized {
// Required methods
fn read(
read: &mut dyn BitRead,
byte_order: ByteOrder,
ctx: &mut dyn Any
) -> Result<Self, Error>;
fn write(
&self,
write: &mut dyn BitWrite,
byte_order: ByteOrder,
ctx: &mut dyn Any
) -> Result<(), Error>;
// Provided methods
fn from_bytes(bytes: &[u8], byte_order: ByteOrder) -> Result<Self, Error> { ... }
fn from_bytes_ctx(
bytes: &[u8],
byte_order: ByteOrder,
ctx: &mut dyn Any
) -> Result<Self, Error> { ... }
fn bytes(&self, byte_order: ByteOrder) -> Result<Vec<u8>, Error> { ... }
fn bytes_ctx(
&self,
byte_order: ByteOrder,
ctx: &mut dyn Any
) -> Result<Vec<u8>, Error> { ... }
}Expand description
A trait for bit-level co/dec.
Required Methods§
Provided Methods§
sourcefn from_bytes(bytes: &[u8], byte_order: ByteOrder) -> Result<Self, Error>
fn from_bytes(bytes: &[u8], byte_order: ByteOrder) -> Result<Self, Error>
Parses a new value from its raw byte representation without context.
sourcefn from_bytes_ctx(
bytes: &[u8],
byte_order: ByteOrder,
ctx: &mut dyn Any
) -> Result<Self, Error>
fn from_bytes_ctx( bytes: &[u8], byte_order: ByteOrder, ctx: &mut dyn Any ) -> Result<Self, Error>
Parses a new value from its raw byte representation with additional context.
Object Safety§
This trait is not object safe.