From 5484140688a80e48a8ca8291b16ecb606cd4c3a5 Mon Sep 17 00:00:00 2001 From: soruh Date: Tue, 21 Nov 2023 13:10:18 +0100 Subject: [PATCH] cleanup --- src/client.rs | 32 ++++++++++++++++++-------------- src/http.rs | 4 ++-- src/main.rs | 2 +- src/ports.rs | 8 +++++--- 4 files changed, 26 insertions(+), 20 deletions(-) diff --git a/src/client.rs b/src/client.rs index 573f7b4..24378ff 100644 --- a/src/client.rs +++ b/src/client.rs @@ -161,12 +161,12 @@ async fn idle( break Ok(Some(IdleResult::Disconnect { packet })) } }, - _ = sleep(send_next_ping_in) => { + () = sleep(send_next_ping_in) => { trace!("sending ping"); writer.write_all(bytemuck::bytes_of(& Header { kind: PacketKind::Ping.raw(), length: 0 })).await?; last_ping_sent_at = Instant::now(); } - _ = sleep(next_ping_expected_in) => { + () = sleep(next_ping_expected_in) => { writer.write_all(REJECT_TIMEOUT).await?; break Ok(None); @@ -332,7 +332,8 @@ pub async fn handler( let mut packet = Packet::default(); - let Ok(res) = timeout(AUTH_TIMEOUT, packet.recv_into_cancelation_safe(&mut reader)).await else { + let Ok(res) = timeout(AUTH_TIMEOUT, packet.recv_into_cancelation_safe(&mut reader)).await + else { writer.write_all(REJECT_TIMEOUT).await?; return Ok(()); }; @@ -373,18 +374,21 @@ pub async fn handler( packet.data.clear(); packet.send(&mut writer).await?; - let Some(idle_result) = idle( - listener, - packet, - &mut reader, - &mut writer, - ).await? else { + let Some(idle_result) = idle(listener, packet, &mut reader, &mut writer).await? else { return Ok(()); }; - let Some((mut caller, mut packet)) = notify_or_disconnect(idle_result, handler_metadata, port_handler, port, &mut writer).await? else { + let Some((mut caller, mut packet)) = notify_or_disconnect( + idle_result, + handler_metadata, + port_handler, + port, + &mut writer, + ) + .await? + else { return Ok(()); - }; + }; let notify_at = Instant::now(); @@ -395,9 +399,9 @@ pub async fn handler( ); let Ok(res) = recv.await else { - writer.write_all(REJECT_TIMEOUT).await?; - return Ok(()); - }; + writer.write_all(REJECT_TIMEOUT).await?; + return Ok(()); + }; res?; match packet.kind() { diff --git a/src/http.rs b/src/http.rs index f5d4399..9c54076 100644 --- a/src/http.rs +++ b/src/http.rs @@ -34,7 +34,7 @@ impl + Send + 'static> Executor const COMPRESSED_HTML: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/minified.html.gz")); -async fn index(req: &Request) -> Result, hyper::http::Error> { +fn index(req: &Request) -> Result, hyper::http::Error> { let response = Response::builder(); let accepts_gzip = req @@ -160,7 +160,7 @@ pub async fn debug_server( async move { match (req.method(), req.uri().path()) { - (&Method::GET, "/") => index(&req).await, + (&Method::GET, "/") => index(&req), (&Method::GET, "/data") => data(&req, port_handler).await, (&Method::GET, "/events") => events(&req, change_receiver), _ => Response::builder() diff --git a/src/main.rs b/src/main.rs index 8d0c1a2..b246420 100644 --- a/src/main.rs +++ b/src/main.rs @@ -337,7 +337,7 @@ async fn tokio_main(config: Arc) -> eyre::Result<()> { let (change_sender, change_receiver) = tokio::sync::watch::channel(std::time::Instant::now()); let mut port_handler = PortHandler::load_or_default(&cache_path, change_sender); - port_handler.update_allowed_ports(&config.allowed_ports); + port_handler.update_allowed_ports(config.allowed_ports.clone()); let port_handler = Arc::new(Mutex::new(port_handler)); diff --git a/src/ports.rs b/src/ports.rs index d785c7e..23411a3 100644 --- a/src/ports.rs +++ b/src/ports.rs @@ -173,6 +173,8 @@ impl AllowedList { } impl PortHandler { + /// # Panics + /// If the the `change_sender` could not be notified pub fn register_update(&mut self) { let now = std::time::Instant::now(); self.last_update = Some(now); @@ -242,10 +244,10 @@ impl PortHandler { this } - pub fn update_allowed_ports(&mut self, allowed_ports: &AllowedList) { + pub fn update_allowed_ports(&mut self, allowed_ports: AllowedList) { self.register_update(); - self.allowed_ports = allowed_ports.clone(); + self.allowed_ports = allowed_ports; self.free_ports.clear(); // remove all ports self.free_ports @@ -338,7 +340,7 @@ impl Debug for Rejector { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { f.debug_struct("Rejector") .field("message", &self.state.1) - .finish() + .finish_non_exhaustive() } }