pub struct InMemoryRatelimiter { /* private fields */ }
Expand description
Default ratelimiter implementation used in twilight that stores ratelimit information in an in-memory mapping.
This will meet most users’ needs for simple ratelimiting,
but for multi-processed bots, consider either implementing
your own Ratelimiter
that uses a shared storage backend
or use the HTTP proxy.
Implementations§
Trait Implementations§
source§impl Clone for InMemoryRatelimiter
impl Clone for InMemoryRatelimiter
source§fn clone(&self) -> InMemoryRatelimiter
fn clone(&self) -> InMemoryRatelimiter
Returns a copy 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 InMemoryRatelimiter
impl Debug for InMemoryRatelimiter
source§impl Default for InMemoryRatelimiter
impl Default for InMemoryRatelimiter
source§fn default() -> InMemoryRatelimiter
fn default() -> InMemoryRatelimiter
Returns the “default value” for a type. Read more
source§impl Ratelimiter for InMemoryRatelimiter
impl Ratelimiter for InMemoryRatelimiter
source§fn bucket(&self, path: &Path) -> GetBucketFuture
fn bucket(&self, path: &Path) -> GetBucketFuture
Retrieve the basic information of the bucket for a given path.
source§fn is_globally_locked(&self) -> IsGloballyLockedFuture
fn is_globally_locked(&self) -> IsGloballyLockedFuture
Whether the ratelimiter is currently globally locked.
source§fn has(&self, path: &Path) -> HasBucketFuture
fn has(&self, path: &Path) -> HasBucketFuture
Determine if the ratelimiter has a bucket for the given path.
source§fn ticket(&self, path: Path) -> GetTicketFuture
fn ticket(&self, path: Path) -> GetTicketFuture
Retrieve a ticket to know when to send a request.
The provided future will be ready when a ticket in the bucket is
available. Tickets are ready in order of retrieval.
source§fn wait_for_ticket(&self, path: Path) -> WaitForTicketFuture
fn wait_for_ticket(&self, path: Path) -> WaitForTicketFuture
Retrieve a ticket to send a request.
Other than
Self::ticket
, this method will return
a TicketSender
. Read moreAuto Trait Implementations§
impl Freeze for InMemoryRatelimiter
impl !RefUnwindSafe for InMemoryRatelimiter
impl Send for InMemoryRatelimiter
impl Sync for InMemoryRatelimiter
impl Unpin for InMemoryRatelimiter
impl !UnwindSafe for InMemoryRatelimiter
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)