28 RateLimiter(
size_t quota,
const duration& period = std::chrono::seconds(1))
29 : quota_(quota), period_(period) {}
33 auto limit = now - period_;
34 while (not records.empty() and records.front() <
limit)
36 return records.size();
39 bool limit(
const time_point& now) {
40 if (quota_ == std::numeric_limits<size_t>::max())
48 return records.empty();
52 const duration period_;
53 std::queue<time_point> records {};