Rename to rate_limiter

This commit is contained in:
Piotr Wójcik 2024-09-09 20:38:43 +02:00
commit 07637c8953
4 changed files with 12 additions and 12 deletions

View file

@ -2,20 +2,20 @@
#include <nano/node/bandwidth_limiter.hpp> #include <nano/node/bandwidth_limiter.hpp>
/* /*
* bandwidth_limiter * rate_limiter
*/ */
nano::bandwidth_limiter::bandwidth_limiter (std::size_t limit_a, double burst_ratio_a) : nano::rate_limiter::rate_limiter (std::size_t limit_a, double burst_ratio_a) :
bucket (static_cast<std::size_t> (limit_a * burst_ratio_a), limit_a) bucket (static_cast<std::size_t> (limit_a * burst_ratio_a), limit_a)
{ {
} }
bool nano::bandwidth_limiter::should_pass (std::size_t message_size_a) bool nano::rate_limiter::should_pass (std::size_t message_size_a)
{ {
return bucket.try_consume (nano::narrow_cast<unsigned int> (message_size_a)); return bucket.try_consume (nano::narrow_cast<unsigned int> (message_size_a));
} }
void nano::bandwidth_limiter::reset (std::size_t limit_a, double burst_ratio_a) void nano::rate_limiter::reset (std::size_t limit_a, double burst_ratio_a)
{ {
bucket.reset (static_cast<std::size_t> (limit_a * burst_ratio_a), limit_a); bucket.reset (static_cast<std::size_t> (limit_a * burst_ratio_a), limit_a);
} }
@ -31,7 +31,7 @@ nano::outbound_bandwidth_limiter::outbound_bandwidth_limiter (nano::outbound_ban
{ {
} }
nano::bandwidth_limiter & nano::outbound_bandwidth_limiter::select_limiter (nano::bandwidth_limit_type type) nano::rate_limiter & nano::outbound_bandwidth_limiter::select_limiter (nano::bandwidth_limit_type type)
{ {
switch (type) switch (type)
{ {

View file

@ -21,11 +21,11 @@ nano::bandwidth_limit_type to_bandwidth_limit_type (nano::transport::traffic_typ
/** /**
* Class that tracks and manages bandwidth limits for IO operations * Class that tracks and manages bandwidth limits for IO operations
*/ */
class bandwidth_limiter final class rate_limiter final
{ {
public: public:
// initialize with limit 0 = unbounded // initialize with limit 0 = unbounded
bandwidth_limiter (std::size_t limit, double burst_ratio); rate_limiter (std::size_t limit, double burst_ratio);
bool should_pass (std::size_t buffer_size); bool should_pass (std::size_t buffer_size);
void reset (std::size_t limit, double burst_ratio); void reset (std::size_t limit, double burst_ratio);
@ -64,13 +64,13 @@ private:
/** /**
* Returns reference to limiter corresponding to the limit type * Returns reference to limiter corresponding to the limit type
*/ */
bandwidth_limiter & select_limiter (bandwidth_limit_type); nano::rate_limiter & select_limiter (bandwidth_limit_type);
private: private:
const config config_m; const config config_m;
private: private:
bandwidth_limiter limiter_standard; nano::rate_limiter limiter_standard;
bandwidth_limiter limiter_bootstrap; nano::rate_limiter limiter_bootstrap;
}; };
} }

View file

@ -181,7 +181,7 @@ namespace bootstrap_ascending
// Requests for accounts from database have much lower hitrate and could introduce strain on the network // Requests for accounts from database have much lower hitrate and could introduce strain on the network
// A separate (lower) limiter ensures that we always reserve resources for querying accounts from priority queue // A separate (lower) limiter ensures that we always reserve resources for querying accounts from priority queue
nano::bandwidth_limiter database_limiter; nano::rate_limiter database_limiter;
nano::interval sync_dependencies_interval; nano::interval sync_dependencies_interval;

View file

@ -112,7 +112,7 @@ private:
private: private:
bool enabled{ false }; bool enabled{ false };
nano::bandwidth_limiter limiter; nano::rate_limiter limiter;
nano::interval cleanup_interval; nano::interval cleanup_interval;
std::atomic<bool> stopped{ false }; std::atomic<bool> stopped{ false };