Suppressed
Choose suppressed strategy when gradual shedding is preferable to binary rejection.

Decisions
Suppression factor stays within 0.0..=1.0:
0.0: no suppression pressure.- Values approaching
1.0: increasing denial probability. 1.0: full suppression.
Calls return Allowed below pressure threshold or
Suppressed { is_allowed, suppression_factor, .. }. Always use is_allowed as admission result.
Read state
get(key) returns SuppressedRateLimitSnapshot:
total: accepted plus declined live usage.total_declined: declined live usage; never greater thantotal.suppression_factor: current pressure.
Unknown keys return zero-valued snapshots without creating state.
get_suppression_factor(key) likewise returns 0.0 for unknown keys.
Conditional updates
Suppressed limiters share set_if(...) and set_if_preserve_history(...) with absolute limiters.
A comparator miss changes no state or cache. A matched update redefines hard window capacity.
Replacement history starts with no declines; preserved partial buckets retain proportional
declines using integer truncation. Additions represent accepted usage and add no declines.
The soft target comes from RateLimit × WindowSize; HardLimitFactor expands that target into
the point where suppression reaches 1.0. See How Suppression Works
for the pressure curve and tuning guidance.
Use absolute strategy when probabilistic outcomes are unsuitable.

