Trait ReadOnlySerializer

Source
pub trait ReadOnlySerializer<ReceivingPacket, SendingPacket>:
    Send
    + Sync
    + 'static {
    type Error: Error + Send + Sync;

    // Required methods
    fn serialize(&self, packet: SendingPacket) -> Result<Vec<u8>, Self::Error>;
    fn deserialize(&self, buffer: &[u8]) -> Result<ReceivingPacket, Self::Error>;
}
Expand description

ReadOnlySerializer is designed for scenarios where the data structure does not change, ensuring efficient and thread-safe operations without the overhead of locking mechanisms.

Required Associated Types§

Required Methods§

Source

fn serialize(&self, packet: SendingPacket) -> Result<Vec<u8>, Self::Error>

Source

fn deserialize(&self, buffer: &[u8]) -> Result<ReceivingPacket, Self::Error>

Implementors§

Source§

impl<ReceivingPacket, SendingPacket, O> ReadOnlySerializer<ReceivingPacket, SendingPacket> for BincodeSerializer<O>
where ReceivingPacket: for<'de> Deserialize<'de>, SendingPacket: Serialize, O: Options + Clone + Send + Sync + 'static,