pub trait DnsHandle: 'static + Clone + Send + Sync + Unpin {
    type Response: Future<Output = Result<DnsResponse, Self::Error>> + Send + Unpin + 'static;
    type Error: From<ProtoError> + Error + Clone + Send + Unpin + 'static;
    fn send<R: Into<DnsRequest> + Unpin + Send + 'static>(
        &mut self,
        request: R
    ) -> Self::Response; fn is_verifying_dnssec(&self) -> bool { ... }
fn lookup(
        &mut self,
        query: Query,
        options: DnsRequestOptions
    ) -> Self::Response { ... } }
Expand description

A trait for implementing high level functions of DNS.

Associated Types

The associated response from the response future, this should resolve to the Response message

Error of the response, generally this will be ProtoError

Required methods

Send a message via the channel in the client

Arguments
  • request - the fully constructed Message to send, note that most implementations of will most likely be required to rewrite the QueryId, do no rely on that as being stable.

Provided methods

Only returns true if and only if this DNS handle is validating DNSSec.

If the DnsHandle impl is wrapping other clients, then the correct option is to delegate the question to the wrapped client.

A classic DNS query

This is identical to query, but instead takes a Query object.

Arguments
  • query - the query to lookup

Implementors