Class RateLimiter

Class Documentation

class RateLimiter

A class used to track limits in the rate at which an event may occur. A counter will increment each time reached_limit() is called within a time period.

If the counter reaches its limit then reached_limit() will return true.

If the counter has not reached its limit then reached_limit() will return false.

If reached_limit() is called again after the period limit has passed, then the time period will be reset and the function will return false.

Public Functions

RateLimiter(std::chrono::steady_clock::duration period_limit_, std::size_t count_limit_)

Constructor

Parameters:
  • period_limit_[in] How long between events before the counter is reset to zero

  • count_limit_[in] How high the counter can reach before check() returns false

bool reached_limit() const
std::chrono::steady_clock::duration period_limit() const
RateLimiter &period_limit(std::chrono::steady_clock::duration new_limit)
std::size_t count_limit() const
RateLimiter &count_limit(std::size_t new_limit)