use std::io::Error;
use bytes::BytesMut;
use super::fuse::Fuse;
pub trait Encoder<Item> {
type Error: From<Error>;
fn encode(&mut self, item: Item, dst: &mut BytesMut) -> Result<(), Self::Error>;
}
impl<T, Item, U: Encoder<Item>> Encoder<Item> for Fuse<T, U> {
type Error = U::Error;
fn encode(&mut self, item: Item, dst: &mut BytesMut) -> Result<(), Self::Error> {
self.codec.encode(item, dst)
}
}