From b89150c4642b066a0155b6f5c9251e8be64b5059 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Tue, 22 Nov 2016 15:22:30 -0800 Subject: [PATCH] Fixup Result-returning encode method --- src/io/frame.rs | 4 ++-- tests/line-frames.rs | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/io/frame.rs b/src/io/frame.rs index 229585322..72b7b29ce 100644 --- a/src/io/frame.rs +++ b/src/io/frame.rs @@ -242,7 +242,7 @@ pub trait Codec { /// This method will encode `msg` into the byte buffer provided by `buf`. /// The `buf` provided is an internal buffer of the `Framed` instance and /// will be written out when possible. - fn encode(&mut self, msg: Self::Out) -> Result, io::Error>; + fn encode(&mut self, msg: Self::Out, buf: &mut Vec) -> io::Result<()>; } /// A unified `Stream` and `Sink` interface to an underlying `Io` object, using @@ -319,7 +319,7 @@ impl Sink for Framed { } } - self.wr = self.codec.encode(item).unwrap(); + try!(self.codec.encode(item, &mut self.wr)); Ok(AsyncSink::Ready) } diff --git a/tests/line-frames.rs b/tests/line-frames.rs index 100f1e13c..d5c9a898b 100644 --- a/tests/line-frames.rs +++ b/tests/line-frames.rs @@ -28,8 +28,9 @@ impl Codec for LineCodec { Ok(buf.drain_to(amt)) } - fn encode(&mut self, item: EasyBuf, into: &mut Vec) { + fn encode(&mut self, item: EasyBuf, into: &mut Vec) -> io::Result<()> { into.extend_from_slice(item.as_slice()); + Ok(()) } }