pub trait AirbenderCodec {
const VERSION: u32;
// Required methods
fn encode<T: Serialize>(value: &T) -> Result<Vec<u8>, CodecError>;
fn decode<T: DeserializeOwned>(bytes: &[u8]) -> Result<T, CodecError>;
}Expand description
A stable, versioned serializer used by Airbender host and guest programs.
Required Associated Constants§
Required Methods§
Sourcefn encode<T: Serialize>(value: &T) -> Result<Vec<u8>, CodecError>
fn encode<T: Serialize>(value: &T) -> Result<Vec<u8>, CodecError>
Serialize a value into a byte payload.
Sourcefn decode<T: DeserializeOwned>(bytes: &[u8]) -> Result<T, CodecError>
fn decode<T: DeserializeOwned>(bytes: &[u8]) -> Result<T, CodecError>
Deserialize a value from a byte payload.
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.