Skip to main content

DnsCnameResolver

Trait DnsCnameResolver 

pub trait DnsCnameResolver:
    Sized
    + Send
    + Sync
    + 'static {
    type Error: Into<Box<dyn Error + Send + Sync>> + Send + 'static;

    // Required method
    fn lookup_cname(
        &self,
        domain: Domain,
    ) -> impl Stream<Item = Result<Name, Self::Error>> + Send;

    // Provided method
    fn into_box_dns_cname_resolver(self) -> BoxDnsCnameResolver { ... }
}
Available on crate features dns and std only.
Expand description

A resolver of domains into CNAME records.

Required Associated Types§

type Error: Into<Box<dyn Error + Send + Sync>> + Send + 'static

Error returned by this resolver.

Required Methods§

fn lookup_cname( &self, domain: Domain, ) -> impl Stream<Item = Result<Name, Self::Error>> + Send

Resolve CNAME targets for the given domain.

Each successful stream item is one CNAME target. A recursive resolver may return more than one item when it exposes an alias chain. This is an explicit CNAME query; other record lookups may follow aliases internally without exposing them through this method.

Provided Methods§

fn into_box_dns_cname_resolver(self) -> BoxDnsCnameResolver

Box this resolver to allow dynamic dispatch.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

§

impl<R, const N: usize> DnsCnameResolver for [R; N]

§

type Error = OpaqueError

§

fn lookup_cname( &self, domain: Domain, ) -> impl Stream<Item = Result<Name, <[R; N] as DnsCnameResolver>::Error>> + Send

§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> DnsCnameResolver for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)

§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> DnsCnameResolver for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> DnsCnameResolver for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9> DnsCnameResolver for (T1, T2, T3, T4, T5, T6, T7, T8, T9)

§

impl<T1, T2, T3, T4, T5, T6, T7, T8> DnsCnameResolver for (T1, T2, T3, T4, T5, T6, T7, T8)

§

impl<T1, T2, T3, T4, T5, T6, T7> DnsCnameResolver for (T1, T2, T3, T4, T5, T6, T7)

§

impl<T1, T2, T3, T4, T5, T6> DnsCnameResolver for (T1, T2, T3, T4, T5, T6)

§

impl<T1, T2, T3, T4, T5> DnsCnameResolver for (T1, T2, T3, T4, T5)

§

impl<T1, T2, T3, T4> DnsCnameResolver for (T1, T2, T3, T4)

§

type Error = OpaqueError

§

fn lookup_cname( &self, domain: Domain, ) -> impl Stream<Item = Result<Name, <(T1, T2, T3, T4) as DnsCnameResolver>::Error>> + Send

§

impl<T1, T2, T3> DnsCnameResolver for (T1, T2, T3)

§

type Error = OpaqueError

§

fn lookup_cname( &self, domain: Domain, ) -> impl Stream<Item = Result<Name, <(T1, T2, T3) as DnsCnameResolver>::Error>> + Send

§

impl<T1, T2> DnsCnameResolver for (T1, T2)

§

type Error = OpaqueError

§

fn lookup_cname( &self, domain: Domain, ) -> impl Stream<Item = Result<Name, <(T1, T2) as DnsCnameResolver>::Error>> + Send

§

impl<T1> DnsCnameResolver for (T1,)
where T1: DnsCnameResolver,

§

type Error = OpaqueError

§

fn lookup_cname( &self, domain: Domain, ) -> impl Stream<Item = Result<Name, <(T1,) as DnsCnameResolver>::Error>> + Send

Implementors§

§

impl DnsCnameResolver for BoxDnsCnameResolver

§

impl DnsCnameResolver for BoxDnsResolver

§

impl DnsCnameResolver for DenyAllDnsResolver

§

impl DnsCnameResolver for EmptyDnsResolver

§

type Error = !

§

impl DnsCnameResolver for GlobalDnsResolver

§

impl DnsCnameResolver for HickoryDnsResolver

§

type Error = Box<dyn Error + Send + Sync>

§

impl DnsCnameResolver for LinuxDnsResolver

§

type Error = Box<dyn Error + Send + Sync>

§

impl DnsCnameResolver for Name

§

type Error = !

§

impl DnsCnameResolver for TokioDnsResolver

§

impl<A, B, C, D, E, F, G, H, I> DnsCnameResolver for Either9<A, B, C, D, E, F, G, H, I>

§

impl<A, B, C, D, E, F, G, H> DnsCnameResolver for Either8<A, B, C, D, E, F, G, H>

§

impl<A, B, C, D, E, F, G> DnsCnameResolver for Either7<A, B, C, D, E, F, G>

§

impl<A, B, C, D, E, F> DnsCnameResolver for Either6<A, B, C, D, E, F>

§

impl<A, B, C, D, E> DnsCnameResolver for Either5<A, B, C, D, E>

§

impl<A, B, C, D> DnsCnameResolver for Either4<A, B, C, D>

§

impl<A, B, C> DnsCnameResolver for Either3<A, B, C>

§

impl<A, B> DnsCnameResolver for Either<A, B>

§

impl<R> DnsCnameResolver for Arc<R>

§

impl<R> DnsCnameResolver for DomainTrie<R>

§

impl<R> DnsCnameResolver for NonEmptyVec<R>

§

impl<R> DnsCnameResolver for Option<R>

§

impl<R> DnsCnameResolver for Vec<R>