| 63 | { |
| 64 | public: |
| 65 | RateLimiterProcess(int permits, const Duration& duration) |
| 66 | : ProcessBase(ID::generate("__limiter__")) |
| 67 | { |
| 68 | CHECK_GT(permits, 0); |
| 69 | CHECK_GT(duration.secs(), 0); |
| 70 | permitsPerSecond = permits / duration.secs(); |
| 71 | } |
| 72 | |
| 73 | explicit RateLimiterProcess(double _permitsPerSecond) |
| 74 | : ProcessBase(ID::generate("__limiter__")), |