diff --git a/kcp.go b/kcp.go index 0e0a0a6..aa976bb 100644 --- a/kcp.go +++ b/kcp.go @@ -635,7 +635,10 @@ func (kcp *KCP) Input(data []byte, regular, ackNoDelay bool) int { } kcp.incr += (mss*mss)/kcp.incr + (mss / 16) if (kcp.cwnd+1)*mss <= kcp.incr { - kcp.cwnd++ + if mss == 0 { + mss = 1 + } + kcp.cwnd = (kcp.incr + mss - 1) / mss } } if kcp.cwnd > kcp.rmt_wnd {