twilight_http_ratelimiting

Struct Bucket

source
pub struct Bucket { /* private fields */ }
Expand description

A bucket containing ratelimiting information for a Path.

Implementations§

source§

impl Bucket

source

pub const fn new( limit: u64, remaining: u64, reset_after: Duration, started_at: Option<Instant>, ) -> Self

Create a representation of a ratelimiter bucket.

Buckets are returned by ratelimiters via Ratelimiter::bucket method. Its primary use is for informational purposes, including information such as the number of remaining tickets or determining how much time remains until the bucket interval resets.

source

pub const fn limit(&self) -> u64

Total number of tickets allotted in a cycle.

source

pub const fn remaining(&self) -> u64

Number of tickets remaining.

source

pub const fn reset_after(&self) -> Duration

Duration after the Self::started_at time the bucket will refresh.

source

pub const fn started_at(&self) -> Option<Instant>

When the bucket’s ratelimit refresh countdown started.

source

pub fn time_remaining(&self) -> Option<Duration>

How long until the bucket will refresh.

May return None if the refresh timer has not been started yet or the bucket has already refreshed.

Auto Trait Implementations§

§

impl Freeze for Bucket

§

impl RefUnwindSafe for Bucket

§

impl Send for Bucket

§

impl Sync for Bucket

§

impl Unpin for Bucket

§

impl UnwindSafe for Bucket

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more