From 6a24ac4f00cfb3fd260c8f29acbb7f5c7b61b3c8 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Fri, 9 Aug 2013 16:36:58 -0400 Subject: Add a concept of debt to RateLimiter, save a bit of RAM. --- node/Network.hpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'node/Network.hpp') diff --git a/node/Network.hpp b/node/Network.hpp index 7945569c..312912db 100644 --- a/node/Network.hpp +++ b/node/Network.hpp @@ -440,10 +440,10 @@ public: std::map::iterator rl(_multicastRateLimiters.find(addr)); if (rl == _multicastRateLimiters.end()) { RateLimiter &newrl = _multicastRateLimiters[addr]; - newrl.init(ZT_MULTICAST_DEFAULT_BYTES_PER_SECOND,ZT_MULTICAST_DEFAULT_RATE_PRELOAD,ZT_MULTICAST_DEFAULT_RATE_MAX); - return newrl.gate((double)bytes); + newrl.init(ZT_MULTICAST_DEFAULT_RATE_PRELOAD); + return newrl.gate(_rlLimit,(double)bytes); } - return rl->second.gate((double)bytes); + return rl->second.gate(_rlLimit,(double)bytes); } private: @@ -452,6 +452,9 @@ private: const RuntimeEnvironment *_r; + // Rate limits for this network + RateLimiter::Limit _rlLimit; + // Tap and tap multicast memberships EthernetTap *_tap; std::set _multicastGroups; -- cgit v1.2.3