From 82e468de35f71ec98d370d5c79220e2e195996e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20Frosteg=C3=A5rd?= Date: Thu, 14 Apr 2022 17:49:17 +0200 Subject: [PATCH] udp: socket worker: send responses: use previous design It seems to perform better --- aquatic_udp/src/workers/socket.rs | 43 +++++++------------------------ 1 file changed, 10 insertions(+), 33 deletions(-) diff --git a/aquatic_udp/src/workers/socket.rs b/aquatic_udp/src/workers/socket.rs index 8c42927..d3eda3c 100644 --- a/aquatic_udp/src/workers/socket.rs +++ b/aquatic_udp/src/workers/socket.rs @@ -399,40 +399,17 @@ fn send_responses( } for (response, addr) in response_receiver.try_iter() { - match response { - ConnectedResponse::Scrape(r) => { - if let Some(response) = pending_scrape_responses.add_and_get_finished(r) { - send_response( - state, - config, - socket, - buffer, - Response::Scrape(response), - addr, - ); - } - } - ConnectedResponse::AnnounceIpv4(r) => { - send_response( - state, - config, - socket, - buffer, - Response::AnnounceIpv4(r), - addr, - ); - } - ConnectedResponse::AnnounceIpv6(r) => { - send_response( - state, - config, - socket, - buffer, - Response::AnnounceIpv6(r), - addr, - ); - } + let opt_response = match response { + ConnectedResponse::Scrape(r) => pending_scrape_responses + .add_and_get_finished(r) + .map(Response::Scrape), + ConnectedResponse::AnnounceIpv4(r) => Some(Response::AnnounceIpv4(r)), + ConnectedResponse::AnnounceIpv6(r) => Some(Response::AnnounceIpv6(r)), }; + + if let Some(response) = opt_response { + send_response(state, config, socket, buffer, response, addr); + } } }