pub trait Resolver {
type Octets: AsRef<[u8]>;
type Answer: AsRef<Message<Self::Octets>>;
type Query: Future<Output = Result<Self::Answer, Error>> + Send;
// Required method
fn query<N, Q>(&self, question: Q) -> Self::Query
where N: ToDname,
Q: Into<Question<N>>;
}
Expand description
A type that acts as a DNS resolver.
A resolver is anything that tries to answer questions using the DNS. The
query
method takes a single question and returns a future that will
eventually resolve into either an answer or an IO error.
Required Associated Types§
type Octets: AsRef<[u8]>
Sourcetype Answer: AsRef<Message<Self::Octets>>
type Answer: AsRef<Message<Self::Octets>>
The answer returned by a query.
This isn’t Message
directly as it may be useful for the resolver
to provide additional information. For instance, a validating
resolver (a resolver that checks whether DNSSEC signatures are
correct) can supply more information as to why validation failed.
Required Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.