From 74185596bb1c7bd04f9b26c8c9fff2419bc12073 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 30 May 2021 21:19:36 +0100 Subject: [PATCH] packetframe: Provide methods for (partial) disassembly Signed-off-by: Ian Jackson --- src/packetframe.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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()?; -- 2.30.2