Command Section

RATECHECK(9)           FreeBSD Kernel Developer's Manual          RATECHECK(9)

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.

FreeBSD 13.1-RELEASE-p6       September 25, 2017       FreeBSD 13.1-RELEASE-p6

Command Section

man2web Home...