chiark / gitweb /
mgmtchannel: Drop BufReader and BufWriter
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 16 May 2021 12:44:20 +0000 (13:44 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 16 May 2021 17:32:01 +0000 (18:32 +0100)
FrameReader and FrameWriter have internal buffers

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/mgmtchannel.rs

index 147265682cd43660c0d47126109ecd6a4b3dc937..f334412e96b474b3cb1ed7403cb5c38da69be46e 100644 (file)
@@ -35,8 +35,8 @@ impl From<rmp_serde::encode::Error> for MgmtChannelWriteError {
 }
 
 pub struct MgmtChannel {
-  pub read:  FrameReader<BufReader<Box<dyn Read >>>,
-  pub write: FrameWriter<BufWriter<Box<dyn Write>>>,
+  pub read:  FrameReader<Box<dyn Read >>,
+  pub write: FrameWriter<Box<dyn Write>>,
 }
 
 impl Debug for MgmtChannel{ 
@@ -60,10 +60,8 @@ impl MgmtChannel {
   pub fn new<U: IoTryClone + Read + Write + 'static>(conn: U) -> MgmtChannel {
     let read = conn.try_clone().context("dup the command stream")?;
     let read = Box::new(read) as Box<dyn Read>;
-    let read = BufReader::new(read);
     let read = FrameReader::new(read);
     let write = Box::new(conn) as Box<dyn Write>;
-    let write = BufWriter::new(write);
     let write = FrameWriter::new(write);
     MgmtChannel { read, write }
   }