pub struct RateLimitConfig {
pub enabled: bool,
pub key: RateLimitKey,
pub requests: u32,
pub window_seconds: u64,
pub burst: Option<u32>,
pub action: RateLimitAction,
pub score: u32,
pub max_tracked_keys: usize,
}Fields§
§enabled: boolOff when the [rate_limit] section is absent (fail-safe default).
key: RateLimitKey§requests: u32Token refill budget per window (tokens added per window_seconds).
window_seconds: u64§burst: Option<u32>Bucket capacity (max burst). Defaults to requests when omitted.
action: RateLimitAction§score: u32Points added when action = "score" and the budget is exceeded.
max_tracked_keys: usizeMemory cap: when the tracked-key map reaches this size, idle (fully refilled) buckets are swept before inserting a new key.
Trait Implementations§
Source§impl Clone for RateLimitConfig
impl Clone for RateLimitConfig
Source§fn clone(&self) -> RateLimitConfig
fn clone(&self) -> RateLimitConfig
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RateLimitConfig
impl Debug for RateLimitConfig
Source§impl Default for RateLimitConfig
impl Default for RateLimitConfig
Source§impl<'de> Deserialize<'de> for RateLimitConfig
impl<'de> Deserialize<'de> for RateLimitConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for RateLimitConfig
impl RefUnwindSafe for RateLimitConfig
impl Send for RateLimitConfig
impl Sync for RateLimitConfig
impl Unpin for RateLimitConfig
impl UnsafeUnpin for RateLimitConfig
impl UnwindSafe for RateLimitConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more