pub struct WeightBasedRateLimiter { /* private fields */ }Expand description
A weight-based rate limiter for more complex exchange rate limiting rules
Implementations§
Source§impl WeightBasedRateLimiter
impl WeightBasedRateLimiter
Sourcepub fn new(max_weight: usize, window_milliseconds: u64) -> Self
pub fn new(max_weight: usize, window_milliseconds: u64) -> Self
Creates a new weight-based rate limiter
§Parameters
max_weight- Maximum weight allowed per time windowwindow_milliseconds- Time window in milliseconds
Sourcepub fn try_acquire(&self, weight: usize) -> bool
pub fn try_acquire(&self, weight: usize) -> bool
Sourcepub fn mark_request(&self, weight: usize)
pub fn mark_request(&self, weight: usize)
Marks a request with a specific weight as completed
Sourcepub fn remaining_weight(&self) -> usize
pub fn remaining_weight(&self) -> usize
Returns the remaining weight available for immediate use
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for WeightBasedRateLimiter
impl RefUnwindSafe for WeightBasedRateLimiter
impl Send for WeightBasedRateLimiter
impl Sync for WeightBasedRateLimiter
impl Unpin for WeightBasedRateLimiter
impl UnwindSafe for WeightBasedRateLimiter
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