Skip to content

Commit 0f0a055

Browse files
committed
all incoming packet should update pong time
1 parent d4c7af9 commit 0f0a055

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

src/endpoint.rs

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -465,11 +465,9 @@ impl KcpEndpoint {
465465
packet: &KcpPacket,
466466
output_sender: &KcpPakcetSender,
467467
) -> bool {
468-
if !packet.header().is_ping() {
469-
return false;
470-
}
468+
let hdr = packet.header();
471469

472-
if !packet.header().is_pong() {
470+
if hdr.is_ping() && !hdr.is_pong() {
473471
let conn_id = ConnId::from(packet);
474472
let need_send_pong = data
475473
.state_map
@@ -490,14 +488,15 @@ impl KcpEndpoint {
490488
if let Err(e) = ret {
491489
tracing::error!(?e, "send pong packet failed");
492490
}
493-
} else {
494-
let conv = ConnId::from(packet);
495-
if let Some(mut state) = data.state_map.get_mut(&conv) {
496-
state.notify_pong();
497-
}
498491
}
499492

500-
true
493+
// all incoming packet should update pong time
494+
let conv = ConnId::from(packet);
495+
if let Some(mut state) = data.state_map.get_mut(&conv) {
496+
state.notify_pong();
497+
}
498+
499+
packet.header().is_ping()
501500
}
502501

503502
pub async fn run(&mut self) {

0 commit comments

Comments
 (0)