[][src]Struct trust_dns_resolver::config::ResolverConfig

pub struct ResolverConfig { /* fields omitted */ }

Configuration for the upstream nameservers to use for resolution

Methods

impl ResolverConfig[src]

pub fn new() -> Self[src]

Creates a new empty configuration

pub fn google() -> Self[src]

Creates a default configuration, using 8.8.8.8, 8.8.4.4 and 2001:4860:4860::8888, 2001:4860:4860::8844 (thank you, Google).

Please see Google's privacy statement for important information about what they track, many ISP's track similar information in DNS. To use the system configuration see: Resolver::from_system_conf and AsyncResolver::from_system_conf

NameServerConfigGroups can be combined to use a set of different providers, see NameServerConfigGroup and ResolverConfig::from_parts

pub fn cloudflare() -> Self[src]

Creates a default configuration, using 1.1.1.1, 1.0.0.1 and 2606:4700:4700::1111, 2606:4700:4700::1001 (thank you, Cloudflare).

Please see: https://www.cloudflare.com/dns/

NameServerConfigGroups can be combined to use a set of different providers, see NameServerConfigGroup and ResolverConfig::from_parts

pub fn quad9() -> Self[src]

Creates a configuration, using 9.9.9.9 and 2620:fe::fe, the "secure" variants of the quad9 settings (thank you, Quad9).

Please see: https://www.quad9.net/faq/

NameServerConfigGroups can be combined to use a set of different providers, see NameServerConfigGroup and ResolverConfig::from_parts

pub fn from_parts<G: Into<NameServerConfigGroup>>(
    domain: Option<Name>,
    search: Vec<Name>,
    name_servers: G
) -> Self
[src]

Create a ResolverConfig with all parts specified

Arguments

  • domain - domain of the entity querying results. If the Name being looked up is not an FQDN, then this is the first part appended to attempt a lookup. ndots in the ResolverOption does take precedence over this.
  • search - additional search domains that are attempted if the Name is not found in domain, defaults to vec![]
  • name_servers - set of name servers to use for lookups, defaults are Google: 8.8.8.8, 8.8.4.4 and 2001:4860:4860::8888, 2001:4860:4860::8844

pub fn domain(&self) -> Option<&Name>[src]

Returns the local domain

By default any names will be appended to all non-fully-qualified-domain names, and searched for after any ndots rules

pub fn set_domain(&mut self, domain: Name)[src]

Set the domain of the entity querying results.

pub fn search(&self) -> &[Name][src]

Returns the search domains

These will be queried after any local domain and then in the order of the set of search domains

Add a search domain

pub fn add_name_server(&mut self, name_server: NameServerConfig)[src]

Add the configuration for a name server

pub fn name_servers(&self) -> &[NameServerConfig][src]

Returns a reference to the name servers

Trait Implementations

impl Clone for ResolverConfig[src]

impl Default for ResolverConfig[src]

fn default() -> Self[src]

Creates a default configuration, using 8.8.8.8, 8.8.4.4 and 2001:4860:4860::8888, 2001:4860:4860::8844 (thank you, Google).

Please see Google's privacy statement for important information about what they track, many ISP's track similar information in DNS. To use the system configuration see: Resolver::from_system_conf and AsyncResolver::from_system_conf

impl Eq for ResolverConfig[src]

impl PartialEq<ResolverConfig> for ResolverConfig[src]

impl Debug for ResolverConfig[src]

impl StructuralPartialEq for ResolverConfig[src]

impl StructuralEq for ResolverConfig[src]

Auto Trait Implementations

Blanket Implementations

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 = !

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<T> Borrow<T> for T where
    T: ?Sized
[src]

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

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

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