diff --git a/crates/lib/src/socket.rs b/crates/lib/src/socket.rs index 8ae6bef..223c94c 100644 --- a/crates/lib/src/socket.rs +++ b/crates/lib/src/socket.rs @@ -34,11 +34,10 @@ pub struct TcpSocket { impl Socket for TcpSocket { fn new(address: &SocketAddr, timeout_settings: &Option) -> GDResult { - let socket = if let Some(timeout) = TimeoutSettings::get_connect_or_default(timeout_settings) { - net::TcpStream::connect_timeout(address, timeout) - } else { - net::TcpStream::connect(address) - }; + let socket = TimeoutSettings::get_connect_or_default(timeout_settings).map_or_else( + || net::TcpStream::connect(address), + |timeout| net::TcpStream::connect_timeout(address, timeout), + ); let socket = Self { socket: socket.map_err(|e| SocketConnect.context(e))?,