Runtime state for one limiter key (reused by multiple strategies).
More...
#include <sttnet_English.h>
Runtime state for one limiter key (reused by multiple strategies).
Stores the live state for one limiting dimension (IP / fd / path, etc.). Different algorithms reuse different fields:
- Cooldown / FixedWindow:
- SlidingWindow:
- history (timestamp deque)
- TokenBucket:
- Note
violations counts how many times requests were rejected. This is useful for defense escalation (DROP / CLOSE / temporary ban).
- RateState does NOT make decisions. It only stores state.
| int stt::security::RateState::counter = 0 |
| std::deque<std::chrono::steady_clock::time_point> stt::security::RateState::history |
| std::chrono::steady_clock::time_point stt::security::RateState::lastRefill {} |
| std::chrono::steady_clock::time_point stt::security::RateState::lastTime {} |
| double stt::security::RateState::tokens = 0.0 |
| int stt::security::RateState::violations = 0 |
The documentation for this struct was generated from the following file: