pub trait Encoder { type EnMessage; type EnError: From<Error>; // Required method fn encode( &self, src: &Self::EnMessage, dst: &mut [u8], ) -> Result<usize, Self::EnError>; }