chiark / gitweb /
mgmtchannels: Break out new()
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 31 May 2021 20:29:40 +0000 (21:29 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 31 May 2021 20:29:40 +0000 (21:29 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/mgmtchannel.rs

index 0d93704487d757f7d771f9120981de3499774011..6a8c8634a9e8e84d15c8d27d3db8e6bfd46c8deb 100644 (file)
@@ -64,14 +64,18 @@ impl MgmtChannel<TimedFdReader,TimedFdWriter> {
   {
     let read = conn.try_clone().context("dup the command stream")?;
     let read = TimedFdReader::new(read).context("set up timed reader")?;
-    let read = FrameReader::new(read);
     let write = TimedFdWriter::new(conn).context("set up timed writerr")?;
-    let write = FrameWriter::new(write);
-    MgmtChannel { read, write }
+    MgmtChannel::new(read, write)
   }
 }
 
 impl<R,W> MgmtChannel<R,W> where R: Read, W: Write + Send {
+  pub fn new(read: R, write: W) -> Self  {
+    let read = FrameReader::new(read);
+    let write = FrameWriter::new(write);
+    MgmtChannel { read, write }
+  }
+
   pub fn read_inner_mut(&mut self) -> &mut R {
     self.read.inner_mut()
   }