Skip to main content

DataFormat

Trait DataFormat 

Source
pub trait DataFormat {
    type PackError: Display;
    type UnpackError: Display;

    // Required methods
    fn pack<D: Serialize>(data: &D) -> Result<Vec<u8>, Self::PackError>;
    fn unpack<'de, T: Deserialize<'de>>(
        payload: &'de [u8],
    ) -> Result<T, Self::UnpackError>;
}
Expand description

A trait for data formats that can be packed and unpacked.

Required Associated Types§

Source

type PackError: Display

The error type for packing.

Source

type UnpackError: Display

The error type for unpacking.

Required Methods§

Source

fn pack<D: Serialize>(data: &D) -> Result<Vec<u8>, Self::PackError>

Pack data into a byte vector.

Source

fn unpack<'de, T: Deserialize<'de>>( payload: &'de [u8], ) -> Result<T, Self::UnpackError>

Unpack data from a byte slice.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl DataFormat for roboplc_rpc::dataformat::Json

Source§

impl DataFormat for roboplc_rpc::dataformat::Msgpack