update rto calculation

This commit is contained in:
skywind3000
2020-03-26 19:28:17 +08:00
parent cf683713cb
commit 9158f84781
2 changed files with 6 additions and 4 deletions

6
ikcp.c
View File

@@ -1056,9 +1056,11 @@ void ikcp_flush(ikcpcb *kcp)
segment->xmit++;
kcp->xmit++;
if (kcp->nodelay == 0) {
segment->rto += kcp->rx_rto;
segment->rto += _imax_(segment->rto, (IUINT32)kcp->rx_rto);
} else {
segment->rto += kcp->rx_rto / 2;
IINT32 step = (kcp->nodelay < 2)?
((IINT32)(segment->rto)) : kcp->rx_rto;
segment->rto += step / 2;
}
segment->resendts = current + segment->rto;
lost = 1;