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§

source

type Conn: DnsHandle<Error = ResolveError> + Clone + Send + Sync + 'static

The handle to the connect for sending DNS requests.

source

type FutureConn: Future<Output = Result<Self::Conn, ResolveError>> + Send + 'static

Ths future is responsible for spawning any background tasks as necessary

source

type Time: Time

The type used to set up timeout futures

Required Methods§

source

fn new_connection( &self, config: &NameServerConfig, options: &ResolverOpts ) -> Self::FutureConn

The returned handle should

Implementors§