function to help implement rate-limited
timeval *lasttime, int
function provides an easy way to perform packet-per-sec, or event-per-sec,
rate limitation. The motivation for implementing
ppsratecheck() was to provide a mechanism that could
be used to add rate limitation to network packet output. For certain network
packets, we may want to impose rate limitation, to avoid denial-of-service
maxpps specifies maximum
permitted packets, or events, per second. If
is called more than maxpps times in a given one second
period, the function will return 0, indicating that we exceeded the limit.
If we are below the limit, the function will return 1. If
maxpps is set to 0, the function will always return 0
(no packets/events are permitted). Negative maxpps
indicates that rate limitation is disabled, and
ppsratecheck() will always return 1.
lasttime are used to maintain the number of recent
calls. curpps will be incremented every time
is called, and will be reset whenever necessary.
log(9), microtime(9), printf(9), ratecheck(9)
ppsratecheck() function appeared in