chiark / gitweb /
Make connection to server
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 28 Dec 2020 18:12:51 +0000 (18:12 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 28 Dec 2020 18:12:51 +0000 (18:12 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
wdriver.rs

index 203f3f42024eaff98ea1b97dae6dc4cd2f34d2d7..75dbb049f979067a97b8b6739d978393465365d1 100644 (file)
@@ -37,6 +37,8 @@ pub use std::process::{Command, Stdio};
 pub use std::thread::sleep;
 pub use std::time;
 
+pub use otter::mgmtchannel::MgmtChannel;
+
 use otter::config::DAEMON_STARTUP_REPORT;
 
 pub type T4d = t4::WebDriver;
@@ -482,13 +484,17 @@ fn prepare_xserver(cln: &cleanup_notify::Handle, ds: &DirSubst) {
 }
 
 #[throws(AE)]
-fn prepare_gameserver(cln: &cleanup_notify::Handle, ds: &DirSubst) {
-  let config = ds.subst(&r##"
+fn prepare_gameserver(cln: &cleanup_notify::Handle, ds: &DirSubst)
+                      -> MgmtChannel {
+  let subst = ds.also(&[
+    ("command_socket", "command.socket"),
+  ]);
+  let config = subst.subst(&r##"
 base_dir = "@build@"
 public_url = "@url@"
 
 save_dir = "."
-command_socket = "command.socket"
+command_socket = "@command_socket@"
 template_dir = "@src@/templates"
 nwtemplate_dir = "@src@/nwtemplates"
 bundled_sources = "@target@/bundled-sources"
@@ -526,6 +532,12 @@ _ = "error" # rocket
     Ok::<_,AE>(())
   })()
     .context(server_exe).context("game server")?;
+
+  let server_conn = MgmtChannel::connect(
+    &subst.subst(&"@command_socket@")?
+  )?;
+
+  server_conn
 }
 
 impl DirSubst {