[][src]Trait trust_dns_proto::xfer::dns_handle::DnsHandle

pub trait DnsHandle: 'static + Clone + Send + Unpin {
    type Response: Future<Output = Result<DnsResponse, ProtoError>> + 'static + Send + Unpin;
    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 { ... } }

A trait for implementing high level functions of DNS.

Associated Types

type Response: Future<Output = Result<DnsResponse, ProtoError>> + 'static + Send + Unpin

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

Loading content...

Required methods

fn send<R: Into<DnsRequest> + Unpin + Send + 'static>(
    &mut self,
    request: R
) -> Self::Response

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.
Loading content...

Provided methods

fn is_verifying_dnssec(&self) -> bool

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.

fn lookup(&mut self, query: Query, options: DnsRequestOptions) -> Self::Response

A classic DNS query

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

Arguments

  • query - the query to lookup
Loading content...

Implementors

impl DnsHandle for BasicDnsHandle[src]

type Response = Pin<Box<dyn Future<Output = Result<DnsResponse, ProtoError>> + Send + Unpin>>

impl<F> DnsHandle for BufDnsRequestStreamHandle<F> where
    F: Future<Output = Result<DnsResponse, ProtoError>> + Send + Unpin + 'static, 
[src]

type Response = OneshotDnsResponseReceiver<F>

impl<H> DnsHandle for RetryDnsHandle<H> where
    H: DnsHandle + Send + Unpin + 'static, 
[src]

type Response = Pin<Box<dyn Future<Output = Result<DnsResponse, ProtoError>> + Send + Unpin>>

Loading content...