Provided by: freebsd-manpages_12.2-1_all 

NAME
ratecheck, ppsratecheck — event rate limiting
SYNOPSIS
#include <sys/time.h>
int
ratecheck(struct timeval *lasttime, struct timeval *mininterval);
int
ppsratecheck(struct timeval *lasttime, int *curpps, int maxpps);
DESCRIPTION
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.
SEE ALSO
counter(9)
HISTORY
The ratecheck and ppsratecheck functions first appeared in FreeBSD 5.1.
Debian September 25, 2017 RATECHECK(9)