Trait ClassifyEos
pub trait ClassifyEos {
type FailureClass;
// Required methods
fn classify_eos(
self,
trailers: Option<&HeaderMap>,
) -> Result<(), Self::FailureClass>;
fn classify_error<E>(self, error: &E) -> Self::FailureClass
where E: Display;
// Provided method
fn map_failure_class<F, NewClass>(self, f: F) -> MapFailureClass<Self, F>
where Self: Sized,
F: FnOnce(Self::FailureClass) -> NewClass { ... }
}Available on crate feature
http only.Expand description
Trait for classifying end of streams (EOS) as either success or failure.
Required Associated Types§
type FailureClass
type FailureClass
The type of failure classifications.
Required Methods§
fn classify_eos(
self,
trailers: Option<&HeaderMap>,
) -> Result<(), Self::FailureClass>
fn classify_eos( self, trailers: Option<&HeaderMap>, ) -> Result<(), Self::FailureClass>
Perform the classification from response trailers.
fn classify_error<E>(self, error: &E) -> Self::FailureClasswhere
E: Display,
fn classify_error<E>(self, error: &E) -> Self::FailureClasswhere
E: Display,
Classify an error.
Errors are always errors (doh) but sometimes it might be useful to have multiple classes of errors. A retry policy might allow retrying some errors and not others.
Provided Methods§
fn map_failure_class<F, NewClass>(self, f: F) -> MapFailureClass<Self, F>
fn map_failure_class<F, NewClass>(self, f: F) -> MapFailureClass<Self, F>
Transform the failure classification using a function.
See ClassifyResponse::map_failure_class for more details.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.