From 731432d56abd451384005373e85c83d94dc07365 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sun, 16 May 2021 14:15:38 -0500 Subject: [PATCH] fix SRTT calculations when RTT < 8 ms and SRTT >= 8 ms --- protocol.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/protocol.c b/protocol.c index 8b3c3db..229816d 100644 --- a/protocol.c +++ b/protocol.c @@ -860,19 +860,19 @@ enet_protocol_handle_acknowledge (ENetHost * host, ENetEvent * event, ENetPeer * { enet_peer_throttle (peer, roundTripTime); - peer -> roundTripTimeVariance -= peer -> roundTripTimeVariance / 4; + peer -> roundTripTimeVariance -= (peer -> roundTripTimeVariance + 3) / 4; if (roundTripTime >= peer -> roundTripTime) { enet_uint32 diff = roundTripTime - peer -> roundTripTime; - peer -> roundTripTimeVariance += diff / 4; - peer -> roundTripTime += diff / 8; + peer -> roundTripTimeVariance += (diff + 3) / 4; + peer -> roundTripTime += (diff + 7) / 8; } else { enet_uint32 diff = peer -> roundTripTime - roundTripTime; - peer -> roundTripTimeVariance += diff / 4; - peer -> roundTripTime -= diff / 8; + peer -> roundTripTimeVariance += (diff + 3) / 4; + peer -> roundTripTime -= (diff + 7) / 8; } } else