pub enum CallResult {
Success {
duration_ms: u64,
},
Failure {
duration_ms: u64,
reason: String,
},
Timeout {
duration_ms: u64,
},
}Expand description
Outcome of a single call attempt that the caller feeds back to the circuit
breaker via PeerCircuitBreaker::record_result.
Variants§
Success
The call completed successfully.
Failure
The call returned an application-level error.
Fields
Timeout
The call was cancelled or timed out before a response was received.
Implementations§
Source§impl CallResult
impl CallResult
Sourcepub fn is_failure(&self, slow_call_threshold_ms: u64) -> bool
pub fn is_failure(&self, slow_call_threshold_ms: u64) -> bool
Returns true if this result should be treated as a failure by the
circuit breaker.
A Success is treated as a failure when its duration_ms meets or
exceeds slow_call_threshold_ms.
Trait Implementations§
Source§impl Clone for CallResult
impl Clone for CallResult
Source§fn clone(&self) -> CallResult
fn clone(&self) -> CallResult
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for CallResult
impl RefUnwindSafe for CallResult
impl Send for CallResult
impl Sync for CallResult
impl Unpin for CallResult
impl UnsafeUnpin for CallResult
impl UnwindSafe for CallResult
Blanket Implementations§
impl<T> Allocation for T
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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