diff options
| author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2013-08-09 16:36:58 -0400 |
|---|---|---|
| committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2013-08-09 16:36:58 -0400 |
| commit | 6a24ac4f00cfb3fd260c8f29acbb7f5c7b61b3c8 (patch) | |
| tree | a79796050f5ce86aa06c0c5137243e234bb92013 /node/Network.hpp | |
| parent | 3af55f4423ab527a7366a56d552a4641560bc6f2 (diff) | |
| download | infinitytier-6a24ac4f00cfb3fd260c8f29acbb7f5c7b61b3c8.tar.gz infinitytier-6a24ac4f00cfb3fd260c8f29acbb7f5c7b61b3c8.zip | |
Add a concept of debt to RateLimiter, save a bit of RAM.
Diffstat (limited to 'node/Network.hpp')
| -rw-r--r-- | node/Network.hpp | 9 |
1 files changed, 6 insertions, 3 deletions
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<Address,RateLimiter>::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<MulticastGroup> _multicastGroups; |
