diff --git a/src/framed.rs b/src/framed.rs index 6f0877a9..a9551a0a 100644 --- a/src/framed.rs +++ b/src/framed.rs @@ -159,10 +159,16 @@ where } /// Framed transport errors -pub enum FramedTransportError { - Service(E1), - Encoder(E2), - Decoder(E3), +pub enum FramedTransportError { + Service(E), + Encoder(::Error), + Decoder(::Error), +} + +impl From for FramedTransportError { + fn from(err: E) -> Self { + FramedTransportError::Service(err) + } } /// FramedTransport - is a future that reads frames from Framed object @@ -185,8 +191,8 @@ where enum TransportState { Processing, - Error(FramedTransportError::Error, ::Error>), - EncoderError(FramedTransportError::Error, ::Error>), + Error(FramedTransportError), + EncoderError(FramedTransportError), Stopping, } @@ -345,7 +351,7 @@ where ::Error: 'static, { type Item = (); - type Error = FramedTransportError::Error, ::Error>; + type Error = FramedTransportError; fn poll(&mut self) -> Poll { match mem::replace(&mut self.state, TransportState::Processing) {