diff --git a/src/config.rs b/src/config.rs index 7e8f690..7ca91f4 100644 --- a/src/config.rs +++ b/src/config.rs @@ -22,7 +22,7 @@ pub struct Config { pub chunk_size: usize, pub database_url: String, pub coordinator_bind: SocketAddr, - pub coordinator_addr: SocketAddr, + pub coordinator_addr: String, pub worker_name: String, } @@ -59,12 +59,7 @@ impl Config { .unwrap_or_else(|| "0.0.0.0:666".parse().expect("valid default bind address")), coordinator_addr: cli .coordinator_addr - .or_else(|| parse_socket_addr("COORDINATOR_ADDR", "127.0.0.1:666").ok()) - .unwrap_or_else(|| { - "127.0.0.1:666" - .parse() - .expect("valid default coordinator address") - }), + .unwrap_or_else(|| read_env("COORDINATOR_ADDR", "127.0.0.1:666")), worker_name: cli.worker_name.unwrap_or_else(default_worker_name), }) } @@ -76,7 +71,7 @@ struct CliArgs { cidr_file: Option, database_url: Option, coordinator_bind: Option, - coordinator_addr: Option, + coordinator_addr: Option, worker_name: Option, port: Option, timeout_ms: Option, @@ -108,11 +103,7 @@ impl CliArgs { )?)?); } "--connect" => { - cli.coordinator_addr = Some(parse_socket_addr_literal(&next_value( - args, - &mut index, - "--connect", - )?)?); + cli.coordinator_addr = Some(next_value(args, &mut index, "--connect")?); } "--name" => { cli.worker_name = Some(next_value(args, &mut index, "--name")?); diff --git a/src/worker.rs b/src/worker.rs index 8a4d968..1909f8b 100644 --- a/src/worker.rs +++ b/src/worker.rs @@ -17,7 +17,7 @@ pub async fn run_worker(config: Config, ui: Arc) -> Result<()> { ui.print_banner(); } - let stream = connect_with_retry(config.coordinator_addr).await?; + let stream = connect_with_retry(&config.coordinator_addr).await?; let (read_half, mut write_half) = stream.into_split(); let mut lines = BufReader::new(read_half).lines(); write_half @@ -70,7 +70,7 @@ pub async fn run_worker(config: Config, ui: Arc) -> Result<()> { Ok(()) } -async fn connect_with_retry(addr: std::net::SocketAddr) -> Result { +async fn connect_with_retry(addr: &str) -> Result { let mut attempts = 0usize; loop {