Trait MessageWithHeaderTrait

Source
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§

Source

fn serialize_header( &mut self, payload_size: usize, biseri: &mut Biseri, ) -> Option<u64>

Source

fn serialize_payload(&self, biseri: &mut Biseri) -> Option<u64>

Source

fn deserialize_header( &mut self, data: &mut Bides, ) -> Result<Option<(usize, usize)>, MessageManagerError>

Source

fn deserialize_payload(&mut self, data: &mut Bides) -> Option<usize>

Provided Methods§

Source

fn post_serialization_callback( &mut self, header_size: usize, serialize_data: Vec<u8>, ) -> Vec<u8>

Source

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.

Implementors§