pub trait Codec:
Send
+ Sync
+ Debug {
// Required methods
fn encode<T: Serialize>(&self, data: &T) -> Result<Vec<u8>>;
fn decode<T: for<'de> Deserialize<'de>>(&self, data: &[u8]) -> Result<T>;
}Expand description
Trait for encoding and decoding message payloads
Required Methods§
Sourcefn encode<T: Serialize>(&self, data: &T) -> Result<Vec<u8>>
fn encode<T: Serialize>(&self, data: &T) -> Result<Vec<u8>>
Encode a serializable value into bytes
Sourcefn decode<T: for<'de> Deserialize<'de>>(&self, data: &[u8]) -> Result<T>
fn decode<T: for<'de> Deserialize<'de>>(&self, data: &[u8]) -> Result<T>
Decode bytes into a deserializable value
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.