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;
// Required method
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§
sourcetype Conn: DnsHandle<Error = ResolveError> + Clone + Send + Sync + 'static
type Conn: DnsHandle<Error = ResolveError> + Clone + Send + Sync + 'static
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