fix(client): log socket option errors instead of returning error (#2361)

Closes #2359
This commit is contained in:
Abdullah Eryuzlu
2020-12-23 18:41:04 +03:00
committed by GitHub
parent 3b3077da1f
commit dad5c8792f

View File

@@ -338,8 +338,9 @@ where
let sock = c.connect().await?; let sock = c.connect().await?;
sock.set_nodelay(config.nodelay) if let Err(e) = sock.set_nodelay(config.nodelay) {
.map_err(ConnectError::m("tcp set_nodelay error"))?; warn!("tcp set_nodelay error: {}", e);
}
Ok(sock) Ok(sock)
} }
@@ -591,9 +592,9 @@ fn connect(
.map_err(ConnectError::m("tcp set_nonblocking error"))?; .map_err(ConnectError::m("tcp set_nonblocking error"))?;
if let Some(dur) = config.keep_alive_timeout { if let Some(dur) = config.keep_alive_timeout {
socket if let Err(e) = socket.set_keepalive(Some(dur)) {
.set_keepalive(Some(dur)) warn!("tcp set_keepalive error: {}", e);
.map_err(ConnectError::m("tcp set_keepalive error"))?; }
} }
bind_local_address( bind_local_address(
@@ -624,21 +625,21 @@ fn connect(
}; };
if config.reuse_address { if config.reuse_address {
socket if let Err(e) = socket.set_reuseaddr(true) {
.set_reuseaddr(true) warn!("tcp set_reuse_address error: {}", e);
.map_err(ConnectError::m("tcp set_reuse_address error"))?; }
} }
if let Some(size) = config.send_buffer_size { if let Some(size) = config.send_buffer_size {
socket if let Err(e) = socket.set_send_buffer_size(size.try_into().unwrap_or(std::u32::MAX)) {
.set_send_buffer_size(size.try_into().unwrap_or(std::u32::MAX)) warn!("tcp set_buffer_size error: {}", e);
.map_err(ConnectError::m("tcp set_send_buffer_size error"))?; }
} }
if let Some(size) = config.recv_buffer_size { if let Some(size) = config.recv_buffer_size {
socket if let Err(e) = socket.set_recv_buffer_size(size.try_into().unwrap_or(std::u32::MAX)) {
.set_recv_buffer_size(size.try_into().unwrap_or(std::u32::MAX)) warn!("tcp set_recv_buffer_size error: {}", e);
.map_err(ConnectError::m("tcp set_recv_buffer_size error"))?; }
} }
let connect = socket.connect(*addr); let connect = socket.connect(*addr);