From 5122ef3fe8e2e57c24114626de3b838c6065fb1d Mon Sep 17 00:00:00 2001 From: Bastian Gruber Date: Wed, 3 May 2023 07:35:44 +0200 Subject: [PATCH] expand match --- problem_05/bin/server.rs | 46 ++++++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/problem_05/bin/server.rs b/problem_05/bin/server.rs index a686227..931d78d 100644 --- a/problem_05/bin/server.rs +++ b/problem_05/bin/server.rs @@ -52,28 +52,38 @@ pub async fn handle_request(socket: TcpStream, upstream: TcpStream) -> Result<() loop { tokio::select! { - Some(response) = framed_client_read.next() => { - match response { - Ok(message) => { - info!("Send upstream: {message}"); - let _ = framed_server_write.send(replace_address(message)).await; - } - Err(err) => { - error!("Error reading from client: {err}"); - return Err(err.into()); + res = framed_client_read.next() => { + match res { + Some(response) => { + match response { + Ok(message) => { + info!("Send upstream: {message}"); + let _ = framed_server_write.send(replace_address(message)).await; + } + Err(err) => { + error!("Error reading from client: {err}"); + return Err(err.into()); + } + } } + None => return Ok(()) } } - Some(response) = farmed_server_read.next() => { - match response { - Ok(message) => { - info!("Send to client: {message}"); - let _ = framed_client_write.send(replace_address(message)).await; - } - Err(err) => { - error!("Error reading from server: {err}"); - return Err(err.into()); + res = farmed_server_read.next() => { + match res { + Some(response) => { + match response { + Ok(message) => { + info!("Send to client: {message}"); + let _ = framed_client_write.send(replace_address(message)).await; + } + Err(err) => { + error!("Error reading from server: {err}"); + return Err(err.into()); + } + } } + None => return Ok(()) } } }