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.
Required Associated Types
The handle to the connect for sending DNS requests.
sourcetype 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
sourcefn new_connection(
&self,
config: &NameServerConfig,
options: &ResolverOpts
) -> Self::FutureConn
fn new_connection(
&self,
config: &NameServerConfig,
options: &ResolverOpts
) -> Self::FutureConn
The returned handle should