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