optimize pingpong conn close condition (#549)

if received some packets from peer, only close conn after enough
rounds of pingpong
This commit is contained in:
Sijie.Sun
2025-01-07 22:42:57 +08:00
committed by GitHub
parent a4419a31fd
commit e016aeddeb
2 changed files with 23 additions and 29 deletions
+2 -8
View File
@@ -484,13 +484,6 @@ mod tests {
let c_recorder = Arc::new(DropSendTunnelFilter::new(drop_start, drop_end));
let c = TunnelWithFilter::new(c, c_recorder.clone());
let s = if drop_both {
let s_recorder = Arc::new(DropSendTunnelFilter::new(drop_start, drop_end));
Box::new(TunnelWithFilter::new(s, s_recorder.clone()))
} else {
s
};
let c_peer_id = new_peer_id();
let s_peer_id = new_peer_id();
@@ -506,6 +499,7 @@ mod tests {
s_peer
.start_recv_loop(tokio::sync::mpsc::channel(200).0)
.await;
// do not start ping for s, s only reponde to ping from c
assert!(c_ret.is_ok());
assert!(s_ret.is_ok());
@@ -547,7 +541,7 @@ mod tests {
#[tokio::test]
async fn peer_conn_pingpong_bothside_timeout() {
peer_conn_pingpong_test_common(4, 12, true, true).await;
peer_conn_pingpong_test_common(3, 14, true, true).await;
}
#[tokio::test]