Provided by: freebsd-manpages_12.2-1_all bug

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.