Trait Upstreams

Source
pub trait Upstreams:
    Send
    + Sync
    + 'static {
    type Error: StdError + Send + Sync + 'static;

    // Required method
    fn elect(&self) -> impl Future<Output = Result<&str, Self::Error>> + Send;
}
Expand description

Upstreams trait.

Required Associated Types§

Source

type Error: StdError + Send + Sync + 'static

Error type.

Required Methods§

Source

fn elect(&self) -> impl Future<Output = Result<&str, Self::Error>> + Send

Elect a upstream to process current request.

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.

Implementations on Foreign Types§

Source§

impl Upstreams for &'static str

Source§

type Error = Infallible

Source§

async fn elect(&self) -> Result<&str, Self::Error>

Source§

impl Upstreams for String

Source§

type Error = Infallible

Source§

async fn elect(&self) -> Result<&str, Self::Error>

Source§

impl<T> Upstreams for Vec<T>
where T: AsRef<str> + Send + Sync + 'static,

Source§

type Error = Error

Source§

async fn elect(&self) -> Result<&str, Self::Error>

Source§

impl<const N: usize> Upstreams for [&'static str; N]

Source§

type Error = Error

Source§

async fn elect(&self) -> Result<&str, Self::Error>

Implementors§