From ccaac70a04df082f1f6f0f0a5f346d90ac131701 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20Gallou=C3=ABt?= Date: Mon, 5 Nov 2018 11:14:43 +0000 Subject: [PATCH] Simplify rate as MUD_STAT_TIMEOUT is const MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Adrien Gallouët --- mud.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mud.c b/mud.c index f0d8ef9..aaac3e6 100644 --- a/mud.c +++ b/mud.c @@ -1347,7 +1347,6 @@ mud_recv(struct mud *mud, void *data, size_t size) return 0; path->recv.total++; - path->recv.bytes += packet_size; path->recv.time = now; mud->last_recv_time = now; @@ -1364,7 +1363,7 @@ mud_recv(struct mud *mud, void *data, size_t size) mud_packet_recv(mud, path, now, send_time, data, ret); if (mud_timeout(now, path->stat_time, MUD_STAT_TIMEOUT)) { - const uint64_t rate = MUD_ONE_SEC * path->recv.bytes / MUD_TIME_MASK(now - path->stat_time); + const uint64_t rate = path->recv.bytes; const uint64_t lat = MUD_TIME_MASK(now - send_time + mud->time_tolerance); if (path->recv.ratemax < rate) @@ -1388,10 +1387,12 @@ mud_recv(struct mud *mud, void *data, size_t size) } path->recv.rate = rate; - path->recv.bytes = 0; + path->recv.bytes = packet_size; mud_packet_send(mud, path, now, send_time, 0); path->stat_time = now; + } else { + path->recv.bytes += packet_size; } return MUD_PACKET(send_time) ? 0 : ret;