From b34049b1bbef3bd9e9ecddbf1be204feea4f7eff Mon Sep 17 00:00:00 2001 From: open-trade Date: Sun, 27 Sep 2020 13:53:29 +0800 Subject: [PATCH] fix --- src/rendezvous_server.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/rendezvous_server.rs b/src/rendezvous_server.rs index 6741f7a..ad387c1 100644 --- a/src/rendezvous_server.rs +++ b/src/rendezvous_server.rs @@ -176,18 +176,16 @@ impl RendezvousServer { if let Ok(msg_in) = RendezvousMessage::parse_from_bytes(&bytes) { match msg_in.union { Some(rendezvous_message::Union::punch_hole_request(ph)) => { + // there maybe several attempt, so sender can be none if let Some(sender) = sender.take() { tcp_punch.lock().unwrap().insert(addr, sender); - } else { - break; } allow_err!(rs.handle_tcp_punch_hole_request(addr, ph).await); } Some(rendezvous_message::Union::request_relay(mut rf)) => { + // there maybe several attempt, so sender can be none if let Some(sender) = sender.take() { tcp_punch.lock().unwrap().insert(addr, sender); - } else { - break; } if let Some(peer) = rs.pm.map.read().unwrap().get(&rf.id).map(|x| x.clone()) { let mut msg_out = RendezvousMessage::new();