From 1d44e4373bbb35693559386daed080448a9a6e58 Mon Sep 17 00:00:00 2001 From: hkalbasi Date: Sun, 14 Jul 2024 22:39:18 +0330 Subject: [PATCH] Reset retransmit timer on ack regardless of the current timer state --- src/socket/tcp.rs | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/socket/tcp.rs b/src/socket/tcp.rs index 946d6de88..1fcaf247b 100644 --- a/src/socket/tcp.rs +++ b/src/socket/tcp.rs @@ -337,19 +337,12 @@ impl Timer { fn set_for_retransmit(&mut self, timestamp: Instant, delay: Duration) { match *self { - Timer::Idle { .. } | Timer::FastRetransmit { .. } => { + Timer::Idle { .. } | Timer::FastRetransmit { .. } | Timer::Retransmit { .. } => { *self = Timer::Retransmit { expires_at: timestamp + delay, delay, } } - Timer::Retransmit { expires_at, delay } if timestamp >= expires_at => { - *self = Timer::Retransmit { - expires_at: timestamp + delay, - delay: delay * 2, - } - } - Timer::Retransmit { .. } => (), Timer::Close { .. } => (), } }