Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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.  Oth-
     erwise, 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	Ports 11.2	      September	25, 2017	    FreeBSD Ports 11.2

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=ratecheck&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help