Struct stream_throttle::ThrottlePool[][src]

pub struct ThrottlePool { /* fields omitted */ }

A clonable object which is used to throttle one or more streams, according to a shared rate.

Implementations

impl ThrottlePool[src]

pub fn new(rate: ThrottleRate) -> Self[src]

pub fn queue(&self) -> impl Future<Output = ()>[src]

Produces a future which will resolve once the pool has an available slot.

Each Throttled stream will call this method during polling, once for each item the underlying stream produces. These futures are driven to completion by polling the Throttled stream. In the process, these futures will drive the ThrottlePool, freeing up slots.

Trait Implementations

impl Clone for ThrottlePool[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.