chiark / gitweb /
server: change type of config::startup
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 8 Aug 2021 18:00:01 +0000 (19:00 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 8 Aug 2021 18:49:47 +0000 (19:49 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/bin/client.rs
src/bin/server.rs
src/config.rs

index 201ca8e760350c059cfa07476c210da3db2e0e9a..322482a5c04de56604f5ed6105fce8d50eb9f9d7 100644 (file)
@@ -310,8 +310,8 @@ async fn run_client<C:HCC>(
 #[tokio::main]
 async fn main() {
   let opts = Opts::from_args();
-  let (ics,()) = config::startup("hippotat", LinkEnd::Client,
-                                 &opts.config, &opts.log, |_|Ok(()));
+  let (ics,) = config::startup("hippotat", LinkEnd::Client,
+                               &opts.config, &opts.log, |ics|Ok((ics,)));
 
   let https = HttpsConnector::new();
   let hclient = hyper::Client::builder()
index cb24b2a739937ca071bcd298772e28b3a7e16732..f56db02d0c2271b8c16c8714d99b66a8a7a7dd46 100644 (file)
@@ -107,7 +107,7 @@ async fn handle(
 async fn main() {
   let opts = Opts::from_args();
   let mut hservers = vec![];
-  let (ics,(global,ipif)) = config::startup(
+  let (ics, global,ipif) = config::startup(
     "hippotatd", LinkEnd::Server,
     &opts.config, &opts.log, |ics|
   {
@@ -129,7 +129,7 @@ async fn main() {
       hservers.push(task);
     }
 
-    Ok((global, ipif))
+    Ok((ics, global, ipif))
   });
 
   let x = future::select_all(&mut hservers).await;
index 905d4613c83fac2dbb117300cd455f7c878454a0..7d0f91112a1927536776d389c1efaca3bccc0504 100644 (file)
@@ -912,9 +912,8 @@ pub fn read(opts: &Opts, end: LinkEnd) -> Vec<InstanceConfig> {
 
 pub fn startup<F,T>(progname: &str, end: LinkEnd,
                     opts: &Opts, logopts: &LogOpts,
-                    f: F)
-                    -> (Vec<InstanceConfig>,T)
-  where F: FnOnce(&[InstanceConfig]) -> Result<T,AE>
+                    f: F) -> T
+  where F: FnOnce(Vec<InstanceConfig>) -> Result<T,AE>
 {
   (||{
     dedup_eyre_setup()?;
@@ -922,9 +921,9 @@ pub fn startup<F,T>(progname: &str, end: LinkEnd,
     if ics.is_empty() { throw!(anyhow!("no associations, quitting")); }
 
     logopts.log_init()?;
-    let t = f(&ics)?;
+    let t = f(ics)?;
 
-    Ok::<_,AE>((ics,t))
+    Ok::<_,AE>(t)
   })().unwrap_or_else(|e| {
     eprintln!("{}: startup error: {}", progname, &e);
     process::exit(8);