use std::io;
use super::{Configurable, Decoder, Encoder};
use crate::encoding::message::Message;
pub struct PlainEncoder {}
impl Configurable for PlainEncoder {
type TConf = ();
fn default_configuration() -> Self::TConf {}
fn configure(_: &Self::TConf) -> Self {
PlainEncoder {}
}
}
impl Encoder for PlainEncoder {
fn encode<'msg>(&self, msg: Message) -> io::Result<Vec<Message>> {
Ok(vec![msg])
}
}
impl Decoder for PlainEncoder {
fn decode(&mut self, chunk: Message) -> io::Result<Option<Message>> {
Ok(Some(chunk))
}
}