@@ -249,7 +249,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
249249 let args = Args :: parse ( ) ;
250250 let mut results: Vec < StageResult > = Vec :: new ( ) ;
251251
252- if args. server_address . is_some ( ) {
252+ if let Some ( server_address ) = args. server_address {
253253 let ( resp_tx, resp_rx) = channel ( ) ;
254254
255255 let _resp_handler = thread:: spawn ( move || loop {
@@ -306,17 +306,21 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
306306 }
307307 } ) ;
308308
309- let ip = IpAddr :: from_str ( & args . server_address . unwrap ( ) ) . expect ( "Invalid IP address" ) ;
309+ let ip = IpAddr :: from_str ( & server_address) . expect ( "Invalid IP address" ) ;
310310 let server_addr = SocketAddr :: from ( ( ip, args. port ) ) ;
311311
312- let ip = IpAddr :: from_str ( & args. bind_address . unwrap ( ) ) . expect ( "Invalid IP address" ) ;
313- let client_addr = SocketAddr :: from ( ( ip, 0 ) ) ;
312+ let client_addr = args
313+ . bind_address
314+ . as_deref ( )
315+ . map ( IpAddr :: from_str)
316+ . transpose ( ) ?
317+ . map ( |ip| SocketAddr :: from ( ( ip, 0 ) ) ) ;
314318
315319 start_time ! ( Step :: ResolveAddr ) ;
316320 for node in & nodes {
317321 start_perf ! ( node, Step :: ResolveAddr ) ;
318322 if let Some ( ref id) = node. lock ( ) . unwrap ( ) . id {
319- id. resolve_addr ( Some ( client_addr) , server_addr, Duration :: new ( 2 , 0 ) ) ?;
323+ id. resolve_addr ( client_addr, server_addr, Duration :: new ( 2 , 0 ) ) ?;
320324 STARTED [ Step :: ResolveAddr as usize ] . fetch_add ( 1 , Ordering :: Relaxed ) ;
321325 }
322326 }
0 commit comments