diff --git a/nym-client/src/client/cover_traffic_stream.rs b/nym-client/src/client/cover_traffic_stream.rs index f1caedc740..e03fc0abeb 100644 --- a/nym-client/src/client/cover_traffic_stream.rs +++ b/nym-client/src/client/cover_traffic_stream.rs @@ -20,13 +20,13 @@ pub(crate) async fn start_loop_cover_traffic_stream( tokio::time::delay_for(delay_duration).await; let read_lock = topology_ctrl_ref.read().await; - let topology = read_lock.topology.as_ref(); - if topology.is_none() { - warn!("No valid topology detected - won't send any loop cover message this time"); - continue; - } - - let topology = topology.unwrap(); + let topology = match read_lock.topology.as_ref() { + None => { + warn!("No valid topology detected - won't send any loop cover message this time"); + continue; + } + Some(topology) => topology, + }; let cover_message = mix_client::packet::loop_cover_message(our_info.address, our_info.identifier, topology); diff --git a/nym-client/src/client/real_traffic_stream.rs b/nym-client/src/client/real_traffic_stream.rs index 9d1ee055ab..68fb7f0098 100644 --- a/nym-client/src/client/real_traffic_stream.rs +++ b/nym-client/src/client/real_traffic_stream.rs @@ -85,14 +85,15 @@ impl OutQueueControl { while let Some(next_message) = self.next().await { trace!("created new message"); let read_lock = self.topology_ctrl_ref.read().await; - let topology = read_lock.topology.as_ref(); - - if topology.is_none() { - warn!("No valid topology detected - won't send any loop cover or real message this time"); - continue; - } - - let topology = topology.unwrap(); + let topology = match read_lock.topology.as_ref() { + None => { + warn!( + "No valid topology detected - won't send any loop cover message this time" + ); + continue; + } + Some(topology) => topology, + }; let next_packet = match next_message { StreamMessage::Cover => mix_client::packet::loop_cover_message( diff --git a/nym-client/src/sockets/tcp.rs b/nym-client/src/sockets/tcp.rs index 8f49707c60..69440809d3 100644 --- a/nym-client/src/sockets/tcp.rs +++ b/nym-client/src/sockets/tcp.rs @@ -120,15 +120,16 @@ impl ClientRequest { return ServerResponse::Error { message: e }; } - let messages = res_rx.map(|msg| msg).await; + let messages = match res_rx.map(|msg| msg).await { + Ok(messages) => messages, + Err(e) => { + warn!("Failed to fetch client messages - {:?}", e); + return ServerResponse::Error { + message: format!("Server failed to receive messages").to_string(), + }; + } + }; - if messages.is_err() { - return ServerResponse::Error { - message: "Server failed to receive messages".to_string(), - }; - } - - let messages = messages.unwrap(); trace!("fetched {} messages", messages.len()); ServerResponse::Fetch { messages } } diff --git a/nym-client/src/sockets/ws.rs b/nym-client/src/sockets/ws.rs index 598a146b7c..c50cbb6037 100644 --- a/nym-client/src/sockets/ws.rs +++ b/nym-client/src/sockets/ws.rs @@ -234,16 +234,17 @@ impl ClientRequest { }; } - let messages = res_rx.map(|msg| msg).await; - if messages.is_err() { - warn!("Failed to handle_fetch. messages is an error"); - return ServerResponse::Error { - message: "Server failed to receive messages".to_string(), - }; - } + let messages = match res_rx.map(|msg| msg).await { + Ok(messages) => messages, + Err(e) => { + warn!("Failed to fetch client messages - {:?}", e); + return ServerResponse::Error { + message: format!("Server failed to receive messages").to_string(), + }; + } + }; let messages = messages - .unwrap() .into_iter() .map(|message| { match std::str::from_utf8(&message) {