pub struct RollingBudget { /* private fields */ }Expand description
Thread-safe rolling budget tracker for streaming
Implementations§
Source§impl RollingBudget
impl RollingBudget
Sourcepub fn try_consume(&self, tokens: usize) -> usize
pub fn try_consume(&self, tokens: usize) -> usize
Try to consume tokens, returns actual consumed amount Returns 0 if budget is exhausted
Sourcepub fn is_exhausted(&self) -> bool
pub fn is_exhausted(&self) -> bool
Check if budget is exhausted
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for RollingBudget
impl RefUnwindSafe for RollingBudget
impl Send for RollingBudget
impl Sync for RollingBudget
impl Unpin for RollingBudget
impl UnwindSafe for RollingBudget
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more