Struct file_system::rate_limiter::IORateLimiter[][src]

pub struct IORateLimiter {
    refill_bytes: usize,
    stats: Option<Arc<IORateLimiterStatistics>>,
}

No-op limiter An instance of IORateLimiter should be safely shared between threads.

Fields

refill_bytes: usizestats: Option<Arc<IORateLimiterStatistics>>

Implementations

impl IORateLimiter[src]

pub fn new(refill_bytes: usize, enable_statistics: bool) -> IORateLimiter[src]

pub fn statistics(&self) -> Option<Arc<IORateLimiterStatistics>>[src]

pub fn request(&self, io_type: IOType, io_op: IOOp, bytes: usize) -> usize[src]

Request for token for bytes and potentially update statistics. If this request can not be satisfied, the call is blocked. Granted token can be less than the requested bytes, but must be greater than zero.

pub fn async_request(
    &self,
    io_type: IOType,
    io_op: IOOp,
    bytes: usize
) -> impl Future<Output = usize>
[src]

Trait Implementations

impl Debug for IORateLimiter[src]

Auto Trait Implementations

impl RefUnwindSafe for IORateLimiter

impl Send for IORateLimiter

impl Sync for IORateLimiter

impl Unpin for IORateLimiter

impl UnwindSafe for IORateLimiter

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> Instrument for T[src]

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

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.