svn commit: r337980 - head/share/man/man9
Dag-Erling Smørgrav
des at FreeBSD.org
Fri Aug 17 17:16:39 UTC 2018
Author: des
Date: Fri Aug 17 17:16:38 2018
New Revision: 337980
URL: https://svnweb.freebsd.org/changeset/base/337980
Log:
Add a man page for ratecheck(9) and ppsratecheck(9).
Added:
head/share/man/man9/ratecheck.9 (contents, props changed)
Modified:
head/share/man/man9/Makefile
head/share/man/man9/counter.9
Modified: head/share/man/man9/Makefile
==============================================================================
--- head/share/man/man9/Makefile Fri Aug 17 16:25:59 2018 (r337979)
+++ head/share/man/man9/Makefile Fri Aug 17 17:16:38 2018 (r337980)
@@ -270,6 +270,7 @@ MAN= accept_filter.9 \
psignal.9 \
random.9 \
random_harvest.9 \
+ ratecheck.9 \
redzone.9 \
refcount.9 \
resettodr.9 \
@@ -1674,6 +1675,7 @@ MLINKS+=random.9 arc4rand.9 \
MLINKS+=random_harvest.9 random_harvest_direct.9 \
random_harvest.9 random_harvest_fast.9 \
random_harvest.9 random_harvest_queue.9
+MLINKS+=ratecheck.9 ppsratecheck.9
MLINKS+=refcount.9 refcount_acquire.9 \
refcount.9 refcount_init.9 \
refcount.9 refcount_release.9
Modified: head/share/man/man9/counter.9
==============================================================================
--- head/share/man/man9/counter.9 Fri Aug 17 16:25:59 2018 (r337979)
+++ head/share/man/man9/counter.9 Fri Aug 17 17:16:38 2018 (r337980)
@@ -132,7 +132,7 @@ Clear the counter
and set it to zero.
.It Fn counter_ratecheck cr limit
The function is a multiprocessor-friendly version of
-.Fn ppsratecheck ,
+.Fn ppsratecheck
which uses
.Nm
internally.
@@ -243,6 +243,7 @@ SYSCTL_COUNTER_U64_ARRAY(_debug, OID_AUTO, counter_arr
.Xr critical 9 ,
.Xr locking 9 ,
.Xr malloc 9 ,
+.Xr ratecheck 9 ,
.Xr sysctl 9 ,
.Xr uma 9
.Sh HISTORY
Added: head/share/man/man9/ratecheck.9
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/share/man/man9/ratecheck.9 Fri Aug 17 17:16:38 2018 (r337980)
@@ -0,0 +1,93 @@
+.\"-
+.\" Copyright (c) 2017 Dag-Erling Smørgrav
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd September 25, 2017
+.Dt RATECHECK 9
+.Os
+.Sh NAME
+.Nm ratecheck ,
+.Nm ppsratecheck
+.Nd "event rate limiting"
+.Sh SYNOPSIS
+.In sys/time.h
+.Ft int
+.Fn ratecheck "struct timeval *lasttime" "struct timeval *mininterval"
+.Ft int
+.Fn ppsratecheck "struct timeval *lasttime" "int *curpps" "int maxpps"
+.Sh DESCRIPTION
+The
+.Nm ratecheck
+and
+.Nm 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.
+.Pp
+The
+.Nm ratecheck
+function compares the current time to the value pointed to by
+.Fa lasttime .
+If the difference is equal to or greater than
+.Fa mininterval ,
+it returns a non-zero value and updates
+.Fa lasttime
+to the current time.
+Otherwise, it returns zero.
+.Pp
+The
+.Nm ppsratecheck
+function first compares the current time
+to
+.Fa lasttime .
+If at least a full second has passed, the value pointed to by the
+.Fa curpps
+argument is reset to 1 and
+.Fa lasttime
+is updated to the current time.
+Otherwise,
+.Fa curpps
+is incremented and
+.Fa lasttime
+is left untouched.
+In either case,
+.Nm ppsratecheck
+returns a non-zero value if and only if the updated
+.Fa curpps
+is less than or equal to
+.Fa maxpps
+or
+.Fa maxpps
+is negative.
+.Sh SEE ALSO
+.Xr counter 9
+.Sh HISTORY
+The
+.Nm ratecheck
+and
+.Nm ppsratecheck
+functions first appeared in
+.Fx 5.1 .
More information about the svn-src-all
mailing list