From: Ian Jackson Date: Sun, 30 May 2021 20:19:36 +0000 (+0100) Subject: packetframe: Provide methods for (partial) disassembly X-Git-Tag: otter-0.7.0~187 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=74185596bb1c7bd04f9b26c8c9fff2419bc12073;p=otter.git packetframe: Provide methods for (partial) disassembly Signed-off-by: Ian Jackson --- diff --git a/src/packetframe.rs b/src/packetframe.rs index 654f7d4b..28fc5400 100644 --- a/src/packetframe.rs +++ b/src/packetframe.rs @@ -202,6 +202,12 @@ impl FrameReader { Some(ReadFrame { fr: self }) } + #[throws(io::Error)] + pub fn into_stream(mut self) -> BufReader> { + self.finish_reading_frame()?; + self.inner + } + #[throws(io::Error)] fn finish_reading_frame(&mut self) { while matches_doesnot!( @@ -357,6 +363,12 @@ impl FrameWriter { FrameWriter { inner: Fuse::new(w), in_frame: None } } + #[throws(io::Error)] + pub fn into_stream(mut self) -> Fuse { + self.tidy()?; + self.inner + } + #[throws(io::Error)] pub fn new_frame<'w>(&'w mut self) -> WriteFrame<'w,W> { self.tidy()?;