pub struct RateLimitConfigBuilder { /* private fields */ }Expand description
限流配置构建器
链式 API 构建限流配置。
§示例
use sz_orm_limit::config_builder::{RateLimitConfigBuilder, LimitAlgorithm};
let config = RateLimitConfigBuilder::new()
.algorithm(LimitAlgorithm::TokenBucket)
.capacity(100)
.rate(10.0)
.max_keys(5000)
.build();Implementations§
Source§impl RateLimitConfigBuilder
impl RateLimitConfigBuilder
Sourcepub fn algorithm(self, algo: LimitAlgorithm) -> Self
pub fn algorithm(self, algo: LimitAlgorithm) -> Self
设置算法类型
Sourcepub fn window_secs(self, secs: u64) -> Self
pub fn window_secs(self, secs: u64) -> Self
设置窗口大小(秒)
Sourcepub fn build(self) -> RateLimitConfig
pub fn build(self) -> RateLimitConfig
构建配置(不校验)
Sourcepub fn build_checked(self) -> Result<RateLimitConfig, ConfigError>
pub fn build_checked(self) -> Result<RateLimitConfig, ConfigError>
构建配置并校验
Sourcepub fn build_token_bucket(&self) -> TokenBucketRateLimiter
pub fn build_token_bucket(&self) -> TokenBucketRateLimiter
从配置构建令牌桶限流器
Sourcepub fn build_sliding_window(&self) -> SlidingWindowRateLimiter
pub fn build_sliding_window(&self) -> SlidingWindowRateLimiter
从配置构建滑动窗口限流器
Sourcepub fn build_fixed_window(&self) -> FixedWindowRateLimiter
pub fn build_fixed_window(&self) -> FixedWindowRateLimiter
从配置构建固定窗口限流器
Sourcepub fn build_leaky_bucket(&self) -> LeakyBucketLimiter
pub fn build_leaky_bucket(&self) -> LeakyBucketLimiter
从配置构建漏桶限流器
Sourcepub fn build_sliding_window_log(&self) -> SlidingWindowLogLimiter
pub fn build_sliding_window_log(&self) -> SlidingWindowLogLimiter
从配置构建滑动窗口日志限流器
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RateLimitConfigBuilder
impl RefUnwindSafe for RateLimitConfigBuilder
impl Send for RateLimitConfigBuilder
impl Sync for RateLimitConfigBuilder
impl Unpin for RateLimitConfigBuilder
impl UnsafeUnpin for RateLimitConfigBuilder
impl UnwindSafe for RateLimitConfigBuilder
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