Struct ConcurrentCounter
pub struct ConcurrentCounter { /* private fields */ }Expand description
The default ConcurrentTracker that uses a counter to track the concurrent requests.
Implementations§
§impl ConcurrentCounter
impl ConcurrentCounter
pub fn new(max: usize) -> ConcurrentCounter
pub fn new(max: usize) -> ConcurrentCounter
Create a new concurrent counter with the given maximum limit.
Trait Implementations§
§impl Clone for ConcurrentCounter
impl Clone for ConcurrentCounter
§fn clone(&self) -> ConcurrentCounter
fn clone(&self) -> ConcurrentCounter
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl ConcurrentTracker for ConcurrentCounter
impl ConcurrentTracker for ConcurrentCounter
§type Guard = ConcurrentCounterGuard
type Guard = ConcurrentCounterGuard
The guard that is used to consume a resource and that is expected
to release the resource when dropped.
§type Error = LimitReached
type Error = LimitReached
The error that is returned when the concurrent request limit is reached,
which is also returned in case a used backoff failed.
§fn try_access(
&self,
) -> Result<<ConcurrentCounter as ConcurrentTracker>::Guard, <ConcurrentCounter as ConcurrentTracker>::Error>
fn try_access( &self, ) -> Result<<ConcurrentCounter as ConcurrentTracker>::Guard, <ConcurrentCounter as ConcurrentTracker>::Error>
Try to access the resource, returning a guard if successful,
or an error if the limit is reached. Read more
Auto Trait Implementations§
impl Freeze for ConcurrentCounter
impl !RefUnwindSafe for ConcurrentCounter
impl Send for ConcurrentCounter
impl Sync for ConcurrentCounter
impl Unpin for ConcurrentCounter
impl !UnwindSafe for ConcurrentCounter
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§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§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Create a new
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more