/*
- * $Id$
+ * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
*/
-#ifndef SQUID_FADING_COUNTER_H
-#define SQUID_FADING_COUNTER_H
+#ifndef SQUID_SRC_FADINGCOUNTER_H
+#define SQUID_SRC_FADINGCOUNTER_H
-#include "Array.h"
+#include <vector>
-/// Counts events, forgetting old ones. Usefull for "3 errors/minute" limits.
+/// Counts events, forgetting old ones. Useful for "3 errors/minute" limits.
class FadingCounter
{
public:
double horizon;
private:
- const int precision; ///< #counting slots, controls measur. occuracy
+ const int precision; ///< #counting slots, controls measur. accuracy
double delta; ///< sub-interval duration = horizon/precision
double lastTime; ///< time of the last update
- Vector<int> counters; ///< events per delta (possibly stale)
+ std::vector<int> counters; ///< events per delta (possibly stale)
int total; ///< number of remembered events (possibly stale)
};
-#endif /* SQUID_FADING_COUNTER_H */
+#endif /* SQUID_SRC_FADINGCOUNTER_H */
+