From 013c6113958018e284ba87a14252e616bbad689e Mon Sep 17 00:00:00 2001 From: zhangqingyang Date: Wed, 24 Sep 2025 17:55:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BF=AB=E9=80=9F=E9=87=8D=E4=BC=A0=E7=9A=84?= =?UTF-8?q?=E6=AC=A1=E6=95=B0=E5=8D=95=E7=8B=AC=E8=AE=A1=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ikcp.c | 4 +++- ikcp.h | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ikcp.c b/ikcp.c index d030dbda..0a643597 100644 --- a/ikcp.c +++ b/ikcp.c @@ -1046,6 +1046,7 @@ void ikcp_flush(ikcpcb *kcp) newseg->rto = kcp->rx_rto; newseg->fastack = 0; newseg->xmit = 0; + newseg->fast_xmit = 0; } // calculate resent @@ -1077,10 +1078,11 @@ void ikcp_flush(ikcpcb *kcp) lost = 1; } else if (segment->fastack >= resent) { - if ((int)segment->xmit <= kcp->fastlimit || + if ((int)segment->fast_xmit < kcp->fastlimit || kcp->fastlimit <= 0) { needsend = 1; segment->xmit++; + segment->fast_xmit++; segment->fastack = 0; segment->resendts = current + segment->rto; change++; diff --git a/ikcp.h b/ikcp.h index e525105c..be3dac8a 100644 --- a/ikcp.h +++ b/ikcp.h @@ -279,6 +279,7 @@ struct IKCPSEG IUINT32 rto; IUINT32 fastack; IUINT32 xmit; + IUINT32 fast_xmit; char data[1]; };