[][src]Struct trust_dns_resolver::config::ResolverOpts

pub struct ResolverOpts {
    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,
}

Configuration for the Resolver

Fields

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

Trait Implementations

impl Clone for ResolverOpts[src]

impl Copy for ResolverOpts[src]

impl Debug for ResolverOpts[src]

impl Default for ResolverOpts[src]

pub fn default() -> Self[src]

Default values for the Resolver configuration.

This follows the resolv.conf defaults as defined in the Linux man pages

impl Eq for ResolverOpts[src]

impl PartialEq<ResolverOpts> for ResolverOpts[src]

impl StructuralEq for ResolverOpts[src]

impl StructuralPartialEq for ResolverOpts[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,