pub trait CuLogCodec<P>: 'staticwhere
P: CuMsgPayload,{
type Config: DeserializeOwned + Default;
// Required methods
fn new(config: Self::Config) -> Result<Self, CuError>
where Self: Sized;
fn encode_payload<E>(
&mut self,
payload: &P,
encoder: &mut E,
) -> Result<(), EncodeError>
where E: Encoder;
fn decode_payload<D>(&mut self, decoder: &mut D) -> Result<P, DecodeError>
where D: Decoder<Context = ()>;
}Required Associated Types§
type Config: DeserializeOwned + Default
Required Methods§
fn new(config: Self::Config) -> Result<Self, CuError>where
Self: Sized,
fn encode_payload<E>(
&mut self,
payload: &P,
encoder: &mut E,
) -> Result<(), EncodeError>where
E: Encoder,
fn decode_payload<D>(&mut self, decoder: &mut D) -> Result<P, DecodeError>
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.