From 0f072244ab5779bcd6304eb045ef8ad7917eefc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20Frosteg=C3=A5rd?= Date: Sat, 1 Aug 2020 03:44:29 +0200 Subject: [PATCH] WIP: aquatic_ws: use microseconds for poll timeout, remove unwrap --- aquatic_ws/src/lib/config.rs | 4 ++-- aquatic_ws/src/lib/network/connection.rs | 6 ++++-- aquatic_ws/src/lib/network/mod.rs | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/aquatic_ws/src/lib/config.rs b/aquatic_ws/src/lib/config.rs index 505de45..38c4c23 100644 --- a/aquatic_ws/src/lib/config.rs +++ b/aquatic_ws/src/lib/config.rs @@ -48,7 +48,7 @@ pub struct NetworkConfig { pub tls_pkcs12_path: String, pub tls_pkcs12_password: String, pub poll_event_capacity: usize, - pub poll_timeout_milliseconds: u64, + pub poll_timeout_microseconds: u64, pub websocket_max_message_size: usize, pub websocket_max_frame_size: usize, } @@ -124,7 +124,7 @@ impl Default for NetworkConfig { tls_pkcs12_path: "".into(), tls_pkcs12_password: "".into(), poll_event_capacity: 4096, - poll_timeout_milliseconds: 50, + poll_timeout_microseconds: 1000, websocket_max_message_size: 64 * 1024, websocket_max_frame_size: 16 * 1024, } diff --git a/aquatic_ws/src/lib/network/connection.rs b/aquatic_ws/src/lib/network/connection.rs index a79c8ef..71a7b99 100644 --- a/aquatic_ws/src/lib/network/connection.rs +++ b/aquatic_ws/src/lib/network/connection.rs @@ -260,11 +260,13 @@ impl Connection { pub fn close(&mut self){ if let Either::Left(ref mut ews) = self.inner { if ews.ws.can_read(){ - ews.ws.close(None).unwrap(); + if let Err(err) = ews.ws.close(None){ + ::log::error!("error closing ws: {}", err); + } // Required after ws.close() if let Err(err) = ews.ws.write_pending(){ - info!( + ::log::info!( "error writing pending messages after closing ws: {}", err ) diff --git a/aquatic_ws/src/lib/network/mod.rs b/aquatic_ws/src/lib/network/mod.rs index 32562b9..824871d 100644 --- a/aquatic_ws/src/lib/network/mod.rs +++ b/aquatic_ws/src/lib/network/mod.rs @@ -60,8 +60,8 @@ pub fn run_poll_loop( listener: ::std::net::TcpListener, opt_tls_acceptor: Option, ){ - let poll_timeout = Duration::from_millis( - config.network.poll_timeout_milliseconds + let poll_timeout = Duration::from_micros( + config.network.poll_timeout_microseconds ); let ws_config = WebSocketConfig { max_message_size: Some(config.network.websocket_max_message_size),