pub trait MessageWithHeaderTrait: Default {
// Required methods
fn serialize_header(
&mut self,
payload_size: usize,
biseri: &mut Biseri,
) -> Option<u64>;
fn serialize_payload(&self, biseri: &mut Biseri) -> Option<u64>;
fn deserialize_header(
&mut self,
data: &mut Bides,
) -> Result<Option<(usize, usize)>, MessageManagerError>;
fn deserialize_payload(&mut self, data: &mut Bides) -> Option<usize>;
// Provided methods
fn post_serialization_callback(
&mut self,
header_size: usize,
serialize_data: Vec<u8>,
) -> Vec<u8> ⓘ { ... }
fn pre_deserialization_callback(&mut self) { ... }
}
Required Methods§
fn serialize_header( &mut self, payload_size: usize, biseri: &mut Biseri, ) -> Option<u64>
fn serialize_payload(&self, biseri: &mut Biseri) -> Option<u64>
fn deserialize_header( &mut self, data: &mut Bides, ) -> Result<Option<(usize, usize)>, MessageManagerError>
fn deserialize_payload(&mut self, data: &mut Bides) -> Option<usize>
Provided Methods§
fn post_serialization_callback( &mut self, header_size: usize, serialize_data: Vec<u8>, ) -> Vec<u8> ⓘ
fn pre_deserialization_callback(&mut self)
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.