diff --git a/src/proto/irc.rs b/src/proto/irc.rs index c9286f0..ccef4f2 100644 --- a/src/proto/irc.rs +++ b/src/proto/irc.rs @@ -6,25 +6,18 @@ use proto::message::Message; use tokio_core::io::{Codec, EasyBuf}; /// An IRC codec built around an inner codec. -pub struct IrcCodec { - inner: C, +pub struct IrcCodec { + inner: LineCodec, } -impl IrcCodec { +impl IrcCodec { /// Creates a new instance of IrcCodec wrapping a LineCodec with the specifiec encoding. - pub fn new(label: &str) -> io::Result> { - LineCodec::new(label).map(|codec| IrcCodec::from_codec(codec)) + pub fn new(label: &str) -> io::Result { + LineCodec::new(label).map(|codec| IrcCodec { inner: codec }) } } -impl IrcCodec where C: Codec { - /// Creates a new instance of IrcCodec from the specified inner codec. - pub fn from_codec(codec: C) -> IrcCodec { - IrcCodec { inner: codec } - } -} - -impl Codec for IrcCodec where C: Codec { +impl Codec for IrcCodec { type In = Message; type Out = Message;