diff options
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; |