From: Ian Jackson Date: Sun, 8 Aug 2021 18:00:01 +0000 (+0100) Subject: server: change type of config::startup X-Git-Tag: hippotat/1.0.0~204 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=a437b25426ae2d6de2f35abf653decb171eefec8;p=hippotat.git server: change type of config::startup Signed-off-by: Ian Jackson --- diff --git a/src/bin/client.rs b/src/bin/client.rs index 201ca8e..322482a 100644 --- a/src/bin/client.rs +++ b/src/bin/client.rs @@ -310,8 +310,8 @@ async fn run_client( #[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() diff --git a/src/bin/server.rs b/src/bin/server.rs index cb24b2a..f56db02 100644 --- a/src/bin/server.rs +++ b/src/bin/server.rs @@ -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; diff --git a/src/config.rs b/src/config.rs index 905d461..7d0f911 100644 --- a/src/config.rs +++ b/src/config.rs @@ -912,9 +912,8 @@ pub fn read(opts: &Opts, end: LinkEnd) -> Vec { pub fn startup(progname: &str, end: LinkEnd, opts: &Opts, logopts: &LogOpts, - f: F) - -> (Vec,T) - where F: FnOnce(&[InstanceConfig]) -> Result + f: F) -> T + where F: FnOnce(Vec) -> Result { (||{ dedup_eyre_setup()?; @@ -922,9 +921,9 @@ pub fn startup(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);