Skip to main content

ClassifyEos

Trait ClassifyEos 

Source
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 + 'static;

    // Provided method
    fn map_failure_class<F, NewClass>(self, f: F) -> MapFailureClass<Self, F>
       where Self: Sized,
             F: FnOnce(Self::FailureClass) -> NewClass { ... }
}
Expand description

Trait for classifying end of streams (EOS) as either success or failure.

Required Associated Types§

Source

type FailureClass

The type of failure classifications.

Required Methods§

Source

fn classify_eos( self, trailers: Option<&HeaderMap>, ) -> Result<(), Self::FailureClass>

Perform the classification from response trailers.

Source

fn classify_error<E>(self, error: &E) -> Self::FailureClass
where E: Display + 'static,

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§

Source

fn map_failure_class<F, NewClass>(self, f: F) -> MapFailureClass<Self, F>
where Self: Sized, F: FnOnce(Self::FailureClass) -> NewClass,

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".

Implementors§