pub enum MxResolveFailure {
NxDomain,
Indeterminate,
NeverQueried,
PolicyRejected,
}Expand description
How resolving a domain’s MX failed, classified by what the DNS exchange
established. A caller that needs to act on a specific case (such as
NXDOMAIN) can match on this after recovering the MxResolveError with
downcast_ref, rather than matching on the message text.
Variants§
NxDomain
Authoritative negative response: the resolver reported that the name does not exist (NXDOMAIN). A resolver can return NXDOMAIN spuriously, while its own upstream is still propagating a new registration, and will stop doing so once that passes. A caller should re-check after a bounded negative-cache lifetime rather than treat this as final.
Indeterminate
Indeterminate negative response: a query was issued but did not produce an authoritative answer – a timeout after the query was sent, a SERVFAIL or other failure RCODE, or a resolver I/O error. The true state of the name is unknown and a later query may resolve it.
NeverQueried
No query was ever issued: the timeout elapsed while waiting for an MX concurrency permit. Indicates local concurrency pressure, nothing about the destination.
PolicyRejected
The MX set resolved, but the domain’s MTA-STS enforce policy permits none of its own MX hosts. Mail to the domain cannot be delivered until its operator corrects the policy.
Trait Implementations§
Source§impl Clone for MxResolveFailure
impl Clone for MxResolveFailure
Source§fn clone(&self) -> MxResolveFailure
fn clone(&self) -> MxResolveFailure
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MxResolveFailure
impl Debug for MxResolveFailure
Source§impl PartialEq for MxResolveFailure
impl PartialEq for MxResolveFailure
impl Copy for MxResolveFailure
impl Eq for MxResolveFailure
impl StructuralPartialEq for MxResolveFailure
Auto Trait Implementations§
impl Freeze for MxResolveFailure
impl RefUnwindSafe for MxResolveFailure
impl Send for MxResolveFailure
impl Sync for MxResolveFailure
impl Unpin for MxResolveFailure
impl UnwindSafe for MxResolveFailure
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more