Struct libp2p_dns::ResolverOpts
source · #[non_exhaustive]pub struct ResolverOpts {Show 20 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,
pub server_ordering_strategy: ServerOrderingStrategy,
pub recursion_desired: bool,
pub authentic_data: 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: usizeSets the number of dots that must appear (unless it’s a final dot representing the root)
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: DurationSpecify the timeout for a request. Defaults to 5 seconds
attempts: usizeNumber of retries after lookup failure before giving up. Defaults to 2
rotate: boolRotate through the resource records in the response (if there is more than one for a given name)
check_names: boolValidate the names in the response, not implemented don’t really see the point unless you need to support badly configured DNS
edns0: boolEnable edns, for larger records
validate: boolUse DNSSec to validate the request
ip_strategy: LookupIpStrategyThe ip_strategy for the Resolver to use when lookup Ipv4 or Ipv6 addresses
cache_size: usizeCache size is in number of records (some records can be large)
use_hosts_file: boolCheck /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: usizeNumber 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: boolPreserve all intermediate records in the lookup response, suchas CNAME records
try_tcp_on_error: boolTry queries over TCP if they fail over UDP.
server_ordering_strategy: ServerOrderingStrategyThe server ordering strategy that the resolver should use.
recursion_desired: boolRequest upstream recursive resolvers to not perform any recursion.
This is true by default, disabling this is useful for requesting single records, but may prevent successful resolution.
authentic_data: boolThis is true by default, disabling this is useful for requesting single records, but may prevent successful resolution.
Trait Implementations§
source§impl Clone for ResolverOpts
impl Clone for ResolverOpts
source§fn clone(&self) -> ResolverOpts
fn clone(&self) -> ResolverOpts
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for ResolverOpts
impl Debug for ResolverOpts
source§impl Default for ResolverOpts
impl Default for ResolverOpts
source§fn default() -> ResolverOpts
fn default() -> ResolverOpts
Default values for the Resolver configuration.
This follows the resolv.conf defaults as defined in the Linux man pages