| /* SPDX-License-Identifier: LGPL-2.1+ */ | |
| #pragma once | |
| #include <stdbool.h> | |
| #include "time-util.h" | |
| #include "util.h" | |
| typedef struct RateLimit { | |
| usec_t interval; /* Keep those two fields first so they can be initialized easily: */ | |
| unsigned burst; /* RateLimit rl = { INTERVAL, BURST }; */ | |
| unsigned num; | |
| usec_t begin; | |
| } RateLimit; | |
| static inline void ratelimit_reset(RateLimit *rl) { | |
| rl->num = rl->begin = 0; | |
| } | |
| bool ratelimit_below(RateLimit *r); |