pub struct RateLimitConfig {
pub rate: f64,
pub burst: Option<u32>,
pub sliding_window: bool,
pub window_size: u64,
}Expand description
Configuration for rate limiting
Fields§
§rate: f64Maximum tasks per second
burst: Option<u32>Burst capacity (max tokens in bucket) If None, defaults to rate
sliding_window: boolWhether to use sliding window algorithm instead of token bucket
window_size: u64Window size for sliding window algorithm (in seconds)
Implementations§
Source§impl RateLimitConfig
impl RateLimitConfig
Sourcepub fn with_burst(self, burst: u32) -> Self
pub fn with_burst(self, burst: u32) -> Self
Set the burst capacity (max tokens in bucket)
Sourcepub fn with_sliding_window(self, window_size: u64) -> Self
pub fn with_sliding_window(self, window_size: u64) -> Self
Use sliding window algorithm instead of token bucket
Sourcepub fn effective_burst(&self) -> u32
pub fn effective_burst(&self) -> u32
Get the effective burst capacity
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 · 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 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