pub trait Resolve: Send + Sync {
// Required method
fn resolve(
&self,
name: Name,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn Iterator<Item = SocketAddr> + Send>, Box<dyn Error + Send + Sync>>> + Send>>;
}
Expand description
Trait for customizing DNS resolution in reqwest.
Required Methods§
Sourcefn resolve(
&self,
name: Name,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn Iterator<Item = SocketAddr> + Send>, Box<dyn Error + Send + Sync>>> + Send>>
fn resolve( &self, name: Name, ) -> Pin<Box<dyn Future<Output = Result<Box<dyn Iterator<Item = SocketAddr> + Send>, Box<dyn Error + Send + Sync>>> + Send>>
Performs DNS resolution on a Name
.
The return type is a future containing an iterator of SocketAddr
.
It differs from tower_service::Service<Name>
in several ways:
- It is assumed that
resolve
will always be ready to poll. - It does not need a mutable reference to
self
. - Since trait objects cannot make use of associated types, it requires
wrapping the returned
Future
and its containedIterator
withBox
.