From 583619a727829ba10001b666ddeeb008d09ee173 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Mon, 17 May 2021 14:55:31 +0100 Subject: [PATCH] mgmtchannel: Change contained type to a TimedFdReader This is in preparation for timeouts. Signed-off-by: Ian Jackson --- src/mgmtchannel.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/mgmtchannel.rs b/src/mgmtchannel.rs index f334412e..e245408a 100644 --- a/src/mgmtchannel.rs +++ b/src/mgmtchannel.rs @@ -35,8 +35,8 @@ impl From for MgmtChannelWriteError { } pub struct MgmtChannel { - pub read: FrameReader>, - pub write: FrameWriter>, + pub read: FrameReader, + pub write: FrameWriter, } impl Debug for MgmtChannel{ @@ -57,11 +57,13 @@ impl MgmtChannel { } #[throws(AE)] - pub fn new(conn: U) -> MgmtChannel { + pub fn new(conn: U) -> MgmtChannel + where U: IoTryClone + Read + Write + IntoRawFd + 'static, + { let read = conn.try_clone().context("dup the command stream")?; - let read = Box::new(read) as Box; + let read = TimedFdReader::new(read).context("set up timed reader")?; let read = FrameReader::new(read); - let write = Box::new(conn) as Box; + let write = TimedFdWriter::new(conn).context("set up timed writerr")?; let write = FrameWriter::new(write); MgmtChannel { read, write } } -- 2.30.2