pub trait Decoder { type Item; type Error; // Required method fn decode( &mut self, bytes: &mut BytesMut, ) -> Result<Option<Self::Item>, Self::Error>; }