RateLimiter

Trait RateLimiter 

Source
pub trait RateLimiter: Send + Sync {
    // Required methods
    fn acquire<'a, 'async_trait>(
        &'a self,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'a + 'async_trait,
             'a: 'async_trait;
    fn current_rate(&self) -> f64;
    fn set_rate(&mut self, requests_per_second: f64);
    fn try_acquire(&self) -> bool;
}
Expand description

流控策略 trait

Required Methods§

Source

fn acquire<'a, 'async_trait>( &'a self, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'a + 'async_trait, 'a: 'async_trait,

Source

fn current_rate(&self) -> f64

Source

fn set_rate(&mut self, requests_per_second: f64)

Source

fn try_acquire(&self) -> bool

Implementors§