RATECHECK(9) | Kernel Developer's Manual | RATECHECK(9) |
ratecheck
,
ppsratecheck
— event rate
limiting
#include
<sys/time.h>
int
ratecheck
(struct
timeval *lasttime, struct
timeval *mininterval);
int
ppsratecheck
(struct
timeval *lasttime, int
*curpps, int
maxpps);
The ratecheck
and
ppsratecheck
functions facilitate rate-limiting of
arbitrary events. The former enforces a minimum interval between events
while the latter enforces a maximum number of events per second.
The ratecheck
function compares the
current time to the value pointed to by lasttime. If
the difference is equal to or greater than
mininterval, it returns a non-zero value and updates
lasttime to the current time. Otherwise, it returns
zero.
The ppsratecheck
function first compares
the current time to lasttime. If at least a full
second has passed, the value pointed to by the curpps
argument is reset to 1 and lasttime is updated to the
current time. Otherwise, curpps is incremented and
lasttime is left untouched. In either case,
ppsratecheck
returns a non-zero value if and only if
the updated curpps is less than or equal to
maxpps or maxpps is
negative.
The ratecheck
and
ppsratecheck
functions first appeared in
FreeBSD 5.1.
September 25, 2017 | Debian |