Enum hickory_proto::rr::domain::usage::CacheUsage
source · pub enum CacheUsage {
NonRecursive,
NxDomain,
Loopback,
Normal,
}
Expand description
Caching DNS Servers:
Are developers of caching domain name servers expected to make their implementations recognize these names as special and treat them differently? If so, how?
Variants§
NonRecursive
Caching DNS servers SHOULD recognize these names as special and SHOULD NOT, by default, attempt to look up NS records for them, or otherwise query authoritative DNS servers in an attempt to resolve these names. Instead, caching DNS servers SHOULD, by default, generate immediate (positive or negative) responses for all such queries. This is to avoid unnecessary load on the root name servers and other name servers. Caching DNS servers SHOULD offer a configuration option (disabled by default) to enable upstream resolution of such names, for use in private networks where private-address reverse-mapping names are known to be handled by an authoritative DNS server in said private network.
NxDomain
Caching DNS servers SHOULD recognize “invalid” names as special and SHOULD NOT attempt to look up NS records for them, or otherwise query authoritative DNS servers in an attempt to resolve “invalid” names. Instead, caching DNS servers SHOULD generate immediate NXDOMAIN responses for all such queries. This is to avoid unnecessary load on the root name servers and other name servers.
Loopback
Caching DNS servers SHOULD recognize localhost names as special and SHOULD NOT attempt to look up NS records for them, or otherwise query authoritative DNS servers in an attempt to resolve localhost names. Instead, caching DNS servers SHOULD, for all such address queries, generate an immediate positive response giving the IP loopback address, and for all other query types, generate an immediate negative response. This is to avoid unnecessary load on the root name servers and other name servers.
Normal
Caching DNS servers SHOULD NOT recognize example names as special and SHOULD resolve them normally.
Trait Implementations§
source§impl Clone for CacheUsage
impl Clone for CacheUsage
source§fn clone(&self) -> CacheUsage
fn clone(&self) -> CacheUsage
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl PartialEq for CacheUsage
impl PartialEq for CacheUsage
source§fn eq(&self, other: &CacheUsage) -> bool
fn eq(&self, other: &CacheUsage) -> bool
self
and other
values to be equal, and is used
by ==
.impl Copy for CacheUsage
impl Eq for CacheUsage
impl StructuralPartialEq for CacheUsage
Auto Trait Implementations§
impl Freeze for CacheUsage
impl RefUnwindSafe for CacheUsage
impl Send for CacheUsage
impl Sync for CacheUsage
impl Unpin for CacheUsage
impl UnwindSafe for CacheUsage
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.