9#ifndef SQUID_SRC_FADINGCOUNTER_H
10#define SQUID_SRC_FADINGCOUNTER_H
25 int count(
int howMany);
Counts events, forgetting old ones. Useful for "3 errors/minute" limits.
std::vector< int > counters
events per delta (possibly stale)
int total
number of remembered events (possibly stale)
int count(int howMany)
count fresh, return #events remembered
double horizon
read-only memory horizon in seconds; older events are forgotten
void clear()
forgets all events
double delta
sub-interval duration = horizon/precision
void configure(double horizonSeconds)
0=remember nothing; -1=forget nothing; new value triggers clear()
double lastTime
time of the last update
int remembered() const
possibly stale #events
const int precision
#counting slots, controls measur. accuracy