Struct trust_dns_resolver::config::ResolverOpts
source · [−]#[non_exhaustive]pub struct ResolverOpts {Show 17 fields
pub ndots: usize,
pub timeout: Duration,
pub attempts: usize,
pub rotate: bool,
pub check_names: bool,
pub edns0: bool,
pub validate: bool,
pub ip_strategy: LookupIpStrategy,
pub cache_size: usize,
pub use_hosts_file: bool,
pub positive_min_ttl: Option<Duration>,
pub negative_min_ttl: Option<Duration>,
pub positive_max_ttl: Option<Duration>,
pub negative_max_ttl: Option<Duration>,
pub num_concurrent_reqs: usize,
pub preserve_intermediates: bool,
pub try_tcp_on_error: bool,
}
Expand description
Configuration for the Resolver
Fields (Non-exhaustive)
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.ndots: usize
Sets the number of dots that must appear (unless it’s a final dot representing the root)
that must appear before a query is assumed to include the TLD. The default is one, which
means that www
would never be assumed to be a TLD, and would always be appended to either
the search
timeout: Duration
Specify the timeout for a request. Defaults to 5 seconds
attempts: usize
Number of retries after lookup failure before giving up. Defaults to 2
rotate: bool
Rotate through the resource records in the response (if there is more than one for a given name)
check_names: bool
Validate the names in the response, not implemented don’t really see the point unless you need to support badly configured DNS
edns0: bool
Enable edns, for larger records
validate: bool
Use DNSSec to validate the request
ip_strategy: LookupIpStrategy
The ip_strategy for the Resolver to use when lookup Ipv4 or Ipv6 addresses
cache_size: usize
Cache size is in number of records (some records can be large)
use_hosts_file: bool
Check /ect/hosts file before dns requery (only works for unix like OS)
positive_min_ttl: Option<Duration>
Optional minimum TTL for positive responses.
If this is set, any positive responses with a TTL lower than this value will have a TTL of
positive_min_ttl
instead. Otherwise, this will default to 0 seconds.
negative_min_ttl: Option<Duration>
Optional minimum TTL for negative (NXDOMAIN
) responses.
If this is set, any negative responses with a TTL lower than this value will have a TTL of
negative_min_ttl
instead. Otherwise, this will default to 0 seconds.
positive_max_ttl: Option<Duration>
Optional maximum TTL for positive responses.
If this is set, any positive responses with a TTL higher than this value will have a TTL of
positive_max_ttl
instead. Otherwise, this will default to MAX_TTL
seconds.
negative_max_ttl: Option<Duration>
Optional maximum TTL for negative (NXDOMAIN
) responses.
If this is set, any negative responses with a TTL higher than this value will have a TTL of
negative_max_ttl
instead. Otherwise, this will default to MAX_TTL
seconds.
num_concurrent_reqs: usize
Number of concurrent requests per query
Where more than one nameserver is configured, this configures the resolver to send queries to a number of servers in parallel. Defaults to 2; 0 or 1 will execute requests serially.
preserve_intermediates: bool
Preserve all intermediate records in the lookup response, suchas CNAME records
try_tcp_on_error: bool
Try queries over TCP if they fail over UDP.
Trait Implementations
sourceimpl Clone for ResolverOpts
impl Clone for ResolverOpts
sourcefn clone(&self) -> ResolverOpts
fn clone(&self) -> ResolverOpts
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for ResolverOpts
impl Debug for ResolverOpts
sourceimpl Default for ResolverOpts
impl Default for ResolverOpts
sourcefn default() -> Self
fn default() -> Self
Default values for the Resolver configuration.
This follows the resolv.conf defaults as defined in the Linux man pages
sourceimpl PartialEq<ResolverOpts> for ResolverOpts
impl PartialEq<ResolverOpts> for ResolverOpts
sourcefn eq(&self, other: &ResolverOpts) -> bool
fn eq(&self, other: &ResolverOpts) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &ResolverOpts) -> bool
fn ne(&self, other: &ResolverOpts) -> bool
This method tests for !=
.
impl Copy for ResolverOpts
impl Eq for ResolverOpts
impl StructuralEq for ResolverOpts
impl StructuralPartialEq for ResolverOpts
Auto Trait Implementations
impl RefUnwindSafe for ResolverOpts
impl Send for ResolverOpts
impl Sync for ResolverOpts
impl Unpin for ResolverOpts
impl UnwindSafe for ResolverOpts
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more