diff options
| author | bnewbold <bnewbold@robocracy.org> | 2016-10-12 03:56:37 -0700 | 
|---|---|---|
| committer | bnewbold <bnewbold@robocracy.org> | 2016-10-12 03:56:37 -0700 | 
| commit | 8d2bf9d3ccc6688281370812ed7d718f32f43ccd (patch) | |
| tree | 21cc1e89d46d335ffdfc5905da68a5f7ef5acaad /src | |
| parent | e298819227f038b9524085d49fb1446bd0b65482 (diff) | |
| download | einhyrningsins-8d2bf9d3ccc6688281370812ed7d718f32f43ccd.tar.gz einhyrningsins-8d2bf9d3ccc6688281370812ed7d718f32f43ccd.zip | |
refactor code around a small amount
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.rs | 22 | 
1 files changed, 13 insertions, 9 deletions
| diff --git a/src/main.rs b/src/main.rs index 2765979..6f88878 100644 --- a/src/main.rs +++ b/src/main.rs @@ -474,15 +474,26 @@ fn main() {          ctrl_req_rx: ctrl_req_rx,      }; +    let path_str = matches.opt_str("socket-path").unwrap_or("/tmp/einhorn.sock".to_string()); +      if let Some(n) = matches.opt_str("number") {          cfg.count = u64::from_str(&n).expect("number arg should be an integer");      } +    let bind_slugs = matches.opt_strs("bind"); + +    let program_and_args = if !matches.free.is_empty() { +        matches.free +    } else { +        println!("Missing program to run (try --help)"); +        exit(-1); +    }; +      //// Bind Sockets      // Control socket first -    let ctrl_path = Path::new("/tmp/einhorn.sock");      // XXX: handle this more gracefully (per-process) +    let ctrl_path = Path::new(&path_str);      if ctrl_path.exists() {          fs::remove_file(&ctrl_path).unwrap();      } @@ -491,7 +502,7 @@ fn main() {      // XXX: set mode/permissions/owner?      // These will be tuples: (SocketAddr, SO_REUSEADDR, O_NONBLOCK) -    let sock_confs: Vec<(SocketAddr, bool, bool)> = matches.opt_strs("bind").iter().map(|b| { +    let sock_confs: Vec<(SocketAddr, bool, bool)> = bind_slugs.iter().map(|b| {          let mut r = false;          let mut n = false;          let mut addr_chunks = b.split(','); @@ -519,13 +530,6 @@ fn main() {          (sock, r, n)      }).collect(); -    let program_and_args = if !matches.free.is_empty() { -        matches.free -    } else { -        print_usage(opts); -        exit(-1); -    }; -      let mut builder = env_logger::LogBuilder::new();      builder.parse("INFO");      if env::var("RUST_LOG").is_ok() { | 
