Struct file_system::IORateLimiter [−][src]
No-op limiter
An instance of IORateLimiter
should be safely shared between threads.
Fields
refill_bytes: usize
stats: 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]
&self,
io_type: IOType,
io_op: IOOp,
bytes: usize
) -> impl Future<Output = usize>
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][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
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][+]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,