pub trait Resolve {
    type Addrs: Iterator<Item = SocketAddr>;
    type Error: Into<Box<dyn Error + Send + Sync>>;
    type Future: Future<Output = Result<Self::Addrs, Self::Error>>;

    // Required methods
    fn poll_ready(
        &mut self,
        cx: &mut Context<'_>
    ) -> Poll<Result<(), Self::Error>>;
    fn resolve(&mut self, name: Name) -> Self::Future;
}

Required Associated Types§

source

type Addrs: Iterator<Item = SocketAddr>

source

type Error: Into<Box<dyn Error + Send + Sync>>

source

type Future: Future<Output = Result<Self::Addrs, Self::Error>>

Required Methods§

source

fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>>

source

fn resolve(&mut self, name: Name) -> Self::Future

Implementors§

source§

impl<S> Resolve for Swhere S: Service<Name>, S::Response: Iterator<Item = SocketAddr>, S::Error: Into<Box<dyn Error + Send + Sync>>,

§

type Addrs = <S as Service<Name>>::Response

§

type Error = <S as Service<Name>>::Error

§

type Future = <S as Service<Name>>::Future