pub struct RateLimiterBuilder { /* private fields */ }Expand description
Builder for creating rate limiters.
Implementations§
Source§impl RateLimiterBuilder
impl RateLimiterBuilder
Sourcepub fn with_requests_per_second(self, rps: u64) -> Self
pub fn with_requests_per_second(self, rps: u64) -> Self
Set the requests per second limit.
Sourcepub fn with_burst_size(self, size: u64) -> Self
pub fn with_burst_size(self, size: u64) -> Self
Set the burst size.
Sourcepub fn with_algorithm(self, algorithm: RateLimitAlgorithm) -> Self
pub fn with_algorithm(self, algorithm: RateLimitAlgorithm) -> Self
Set the algorithm.
Sourcepub fn with_window_size(self, size: Duration) -> Self
pub fn with_window_size(self, size: Duration) -> Self
Set the window size.
Sourcepub fn with_enabled(self, enabled: bool) -> Self
pub fn with_enabled(self, enabled: bool) -> Self
Enable or disable rate limiting.
Sourcepub fn with_per_tenant(self, per_tenant: bool) -> Self
pub fn with_per_tenant(self, per_tenant: bool) -> Self
Enable or disable per-tenant limiting.
Sourcepub fn with_tenant(self, tenant_id: impl Into<String>, quota: u64) -> Self
pub fn with_tenant(self, tenant_id: impl Into<String>, quota: u64) -> Self
Add a tenant with a specific quota.
Sourcepub fn build(self) -> RateLimiter
pub fn build(self) -> RateLimiter
Build the rate limiter.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RateLimiterBuilder
impl RefUnwindSafe for RateLimiterBuilder
impl Send for RateLimiterBuilder
impl Sync for RateLimiterBuilder
impl Unpin for RateLimiterBuilder
impl UnwindSafe for RateLimiterBuilder
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.