Skip to main content

Crate sz_orm_limit

Crate sz_orm_limit 

Source
Expand description

§SZ-ORM Limit — Rate Limiter

Provides token bucket and sliding window rate limiting, with built-in OOM protection (default max_keys=10000).

§Main types

  • RateLimiter trait — rate limiter interface
  • TokenBucketLimiter — token bucket implementation
  • SlidingWindowLimiter — sliding window implementation

v0.2.1 fixes Critical S-3: introduces DEFAULT_MAX_KEYS to prevent unbounded keys from causing OOM.

Re-exports§

pub use composite::CompositeLimiter;
pub use composite::CompositeStrategy;
pub use composite::FallbackLimiter;
pub use composite::LimitKeyBuilder;
pub use composite::RateLimitRule;
pub use composite::RuleSet;
pub use concurrency::ConcurrencyGuard;
pub use concurrency::ConcurrencyLimiter;
pub use concurrency::ConcurrencyStats;
pub use concurrency::TimedConcurrencyLimiter;
pub use config_builder::ConfigError;
pub use config_builder::LimitAlgorithm;
pub use config_builder::RateLimitConfig;
pub use config_builder::RateLimitConfigBuilder;
pub use config_builder::TieredConfigBuilder;
pub use config_builder::TieredRateLimitConfig;
pub use leaky_bucket::LeakyBucketLimiter;
pub use leaky_bucket::LeakyBucketStats;
pub use leaky_bucket::SlidingWindowLogLimiter;
pub use metrics::Alert;
pub use metrics::MetricsSnapshot;
pub use metrics::RateLimitMetrics;
pub use metrics::RateLimitMonitor;

Modules§

composite
限流策略组合器(Composite Limiter)
concurrency
并发限流器(Concurrency Limiter)
config_builder
限流配置构建器(Rate Limit Config Builder)
leaky_bucket
漏桶限流器(Leaky Bucket Limiter)
metrics
限流统计与监控(Rate Limit Metrics)

Structs§

DistributedRateLimiter
Distributed rate limiter
FixedWindowRateLimiter
Fixed window rate limiter
InMemoryBackend
In-memory backend (simulates Redis)
MultiRateLimiter
Multi-dimensional rate limiting strategy
RateLimitHeaders
Rate limit response headers
RateLimitResponse
Rate limit response
RateLimitResult
SlidingWindowRateLimiter
TokenBucketRateLimiter

Enums§

RateLimitError
RateLimitResponseStrategy
Rate limit response strategy

Constants§

DEFAULT_MAX_KEYS
Default maximum number of keys (added in v0.2.1, fixes Critical S-3 OOM DoS)

Traits§

DistributedBackend
Distributed backend trait
RateLimiter