chiark / gitweb /
move MgmtChannel::connect to mgmtchannel.rs
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 28 Dec 2020 17:52:42 +0000 (17:52 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 28 Dec 2020 17:52:42 +0000 (17:52 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/bin/otter.rs
src/mgmtchannel.rs

index 9e0e41e77240c1fca3724c10bcc3827fb56a6563..3a5f1c76d34bdfca7753f7f4b137d516da8541a3 100644 (file)
@@ -618,9 +618,7 @@ impl ConnForGame {
 
 #[throws(E)]
 fn connect(ma: &MainOpts) -> Conn {
-  let unix = UnixStream::connect(&ma.socket_path)
-    .with_context(||ma.socket_path.clone()).context("connect to server")?; 
-  let chan = MgmtChannel::new(unix)?;
+  let chan = MgmtChannel::connect(&ma.socket_path)?;
   let mut chan = Conn { chan };
   if ma.superuser {
     chan.cmd(&MC::SetSuperuser(true))?;
index fd107727084bdd5b616e4722f6a20ff1ed8fa7a7..245510fee2a13b67ec2356336b25e5ba3bc4461a 100644 (file)
@@ -18,6 +18,15 @@ pub struct MgmtChannel {
 }
 
 impl MgmtChannel {
+  #[throws(AE)]
+  pub fn connect(socket_path: &str) -> MgmtChannel {
+    let unix = UnixStream::connect(socket_path)
+      .with_context(||socket_path.to_owned())
+      .context("connect to server")?; 
+    let chan = MgmtChannel::new(unix)?;
+    chan
+  }
+
   #[throws(AE)]
   pub fn new<U: IoTryClone + Read + Write + 'static>(conn: U) -> MgmtChannel {
     let read = conn.try_clone().context("dup the command stream")?;