pub trait Codec: Debug + Sized {
// Required methods
fn encode(&self, bytes: &mut Vec<u8>);
fn read(_: &mut Reader<'_>) -> Option<Self>;
// Provided methods
fn get_encoding(&self) -> Vec<u8> ⓘ { ... }
fn read_bytes(bytes: &[u8]) -> Option<Self> { ... }
}
Expand description
Trait for implementing encoding and decoding functionality on something.
Required Methods§
Provided Methods§
Sourcefn get_encoding(&self) -> Vec<u8> ⓘ
fn get_encoding(&self) -> Vec<u8> ⓘ
Convenience function for encoding the implementation into a vec and returning it
Sourcefn read_bytes(bytes: &[u8]) -> Option<Self>
fn read_bytes(bytes: &[u8]) -> Option<Self>
Function for wrapping a call to the read function in a Reader for the slice of bytes provided
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.