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", so this trait is not object safe.

Implementors§

Source§

impl DataFormat for roboplc_rpc::dataformat::Json

Source§

impl DataFormat for roboplc_rpc::dataformat::Msgpack