Skip to main content

Module rate_limiting

Module rate_limiting 

Source
Expand description

Rate limiting for enterprise workloads.

This module provides rate limiting capabilities for controlling request rates to GPU kernels and system resources, supporting both global and per-tenant limits.

§Features

  • Token bucket and sliding window algorithms
  • Per-tenant rate limiting
  • Global rate limiting
  • Configurable burst capacity
  • Real-time statistics

§Example

use ringkernel_core::rate_limiting::{RateLimiter, RateLimitConfig};

let config = RateLimitConfig::default()
    .with_requests_per_second(100)
    .with_burst_size(50);

let limiter = RateLimiter::new(config);

if limiter.check("tenant_1").is_ok() {
    // Request allowed
}

Structs§

RateLimitConfig
Configuration for rate limiting.
RateLimitGuard
RAII guard for rate-limited operations.
RateLimiter
Global rate limiter.
RateLimiterBuilder
Builder for creating rate limiters.
RateLimiterStatsSnapshot
Snapshot of rate limiter statistics.

Enums§

RateLimitAlgorithm
Rate limiting algorithm to use.
RateLimitError
Errors that can occur during rate limiting.

Traits§

RateLimiterExt
Extension trait for acquiring guards.

Functions§

shared_rate_limiter
Create a shared rate limiter.

Type Aliases§

RateLimitResult
Result type for rate limiting operations.
SharedRateLimiter
Thread-safe, shareable rate limiter.