pub trait ConnectionProvider: 'static + Clone + Send + Sync + Unpin {
type Conn: DnsHandle<Error = ResolveError> + Clone + Send + Sync + 'static;
type FutureConn: Future<Output = Result<Self::Conn, ResolveError>> + Send + 'static;
type Time: Time;
fn new_connection(
&self,
config: &NameServerConfig,
options: &ResolverOpts
) -> Self::FutureConn;
}
Expand description
A type to allow for custom ConnectionProviders. Needed mainly for mocking purposes.
ConnectionProvider is responsible for spawning any background tasks as necessary.
Associated Types
The handle to the connect for sending DNS requests.
type FutureConn: Future<Output = Result<Self::Conn, ResolveError>> + Send + 'static
type FutureConn: Future<Output = Result<Self::Conn, ResolveError>> + Send + 'static
Ths future is responsible for spawning any background tasks as necessary
Required methods
fn new_connection(
&self,
config: &NameServerConfig,
options: &ResolverOpts
) -> Self::FutureConn
fn new_connection(
&self,
config: &NameServerConfig,
options: &ResolverOpts
) -> Self::FutureConn
The returned handle should