From d003f99119b887117e46ea19e464c25dad2bf6f6 Mon Sep 17 00:00:00 2001 From: skywind3000 Date: Sat, 22 Feb 2020 23:59:10 +0800 Subject: [PATCH] fixed: window recovery is unefficient (by @dearplain) --- ikcp.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ikcp.c b/ikcp.c index 246b08c..aac14bf 100644 --- a/ikcp.c +++ b/ikcp.c @@ -882,7 +882,13 @@ int ikcp_input(ikcpcb *kcp, const char *data, long size) if (kcp->incr < mss) kcp->incr = mss; kcp->incr += (mss * mss) / kcp->incr + (mss / 16); if ((kcp->cwnd + 1) * mss <= kcp->incr) { + #if 1 + kcp->cwnd = (kcp->incr + mss - 1) / ((mss > 0)? mss : 1); + #else kcp->cwnd++; + #endif + } else { + } } } if (kcp->cwnd > kcp->rmt_wnd) {