Struct file_system::rate_limiter::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
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,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[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>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,