From 0c1ea7566ed03910e29cc45f4bc4a6aadd3e005d Mon Sep 17 00:00:00 2001 From: xtaci Date: Mon, 23 Sep 2019 13:15:20 +0000 Subject: [PATCH] fastack adjust --- kcp.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kcp.go b/kcp.go index c0aa9ec..144978d 100644 --- a/kcp.go +++ b/kcp.go @@ -798,14 +798,14 @@ func (kcp *KCP) flush(ackOnly bool) uint32 { segment.resendts = current + segment.rto lost++ lostSegs++ - } else if segment.fastack >= resent { // fast retransmit + } else if segment.fastack >= resent && _itimediff(current, segment.ts) >= int32(kcp.rx_rto) { // fast retransmit needsend = true segment.fastack = 0 segment.rto = kcp.rx_rto segment.resendts = current + segment.rto change++ fastRetransSegs++ - } else if segment.fastack > 0 && newSegsCount == 0 { // early retransmit + } else if segment.fastack > 0 && _itimediff(current, segment.ts) >= int32(kcp.rx_rto) && newSegsCount == 0 { // early retransmit needsend = true segment.fastack = 0 segment.rto = kcp.rx_rto