From 1d4b06abda92514a200c5a21f33c69158b16e828 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20Gallou=C3=ABt?= Date: Sat, 1 Dec 2018 14:58:00 +0000 Subject: [PATCH] Boost boost --- mud.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/mud.c b/mud.c index 1387c4e..25643d1 100644 --- a/mud.c +++ b/mud.c @@ -528,7 +528,7 @@ mud_reset_path(struct mud *mud, struct mud_path *path) path->mtu.max = MUD_MTU_MAX; path->mtu.count = 0; path->send.ratemax = 0; - path->send_factor = 8; + path->send_factor = 1; path->window = 0; path->ok = 0; path->stat_count = 0; @@ -1238,18 +1238,24 @@ mud_packet_recv(struct mud *mud, struct mud_path *path, const uint64_t b = (path->send.ratemax ?: 5000) * target; if (dt < target) { - uint64_t delta = ((target - dt) * a * path->send_factor) / b; - path->send.ratemax += delta; + if (path->send_factor) { + path->send.ratemax = path->r_ratemax; + } else { + path->send.ratemax += ((target - dt) * a) / b; + } } else if (dt > target) { uint64_t delta = ((dt - target) * a) / b; + if (path->send.ratemax > delta) { path->send.ratemax -= delta; } else { path->send.ratemax = 5000; } + if (path->send.ratemax < 5000) path->send.ratemax = 5000; - path->send_factor = 1; + + path->send_factor = 0; } return !!peer_sent;