pub struct FoundHosts<R: Resolver> { /* private fields */ }
Expand description

The value returned by a successful host lookup.

You can use the iter() method to get an iterator over the IP addresses or port_iter() to get an iterator over socket addresses with the given port.

The canonical_name() method returns the canonical name of the host for which the addresses were found.

Implementations§

source§

impl<R: Resolver> FoundHosts<R>

source

pub fn new( aaaa: Result<R::Answer, Error>, a: Result<R::Answer, Error> ) -> Result<Self, Error>

source

pub fn is_empty(&self) -> bool

source§

impl<R: Resolver> FoundHosts<R>where R::Octets: Octets,

source

pub fn qname(&self) -> ParsedDname<<R::Octets as Octets>::Range<'_>>

source

pub fn canonical_name(&self) -> ParsedDname<<R::Octets as Octets>::Range<'_>>

Returns a reference to the canonical name for the host.

Notes

This method expects the canonical name to be same in both A/AAAA responses, if it isn’t, it’s going to return a canonical name for one of them.

source

pub fn iter(&self) -> FoundHostsIter<'_>

Returns an iterator over the IP addresses returned by the lookup.

source

pub fn port_iter(&self, port: u16) -> FoundHostsSocketIter<'_>

Returns an iterator over socket addresses gained from the lookup.

The socket addresses are gained by combining the IP addresses with port. The returned iterator implements ToSocketAddrs and thus can be used where std::net wants addresses right away.

Trait Implementations§

source§

impl<R: Debug + Resolver> Debug for FoundHosts<R>where R::Answer: Debug,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<R> !RefUnwindSafe for FoundHosts<R>

§

impl<R> Send for FoundHosts<R>where <R as Resolver>::Answer: Send,

§

impl<R> Sync for FoundHosts<R>where <R as Resolver>::Answer: Sync,

§

impl<R> Unpin for FoundHosts<R>where <R as Resolver>::Answer: Unpin,

§

impl<R> !UnwindSafe for FoundHosts<R>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<Source, Target> OctetsInto<Target> for Sourcewhere Target: OctetsFrom<Source>,

§

type Error = <Target as OctetsFrom<Source>>::Error

source§

fn try_octets_into( self ) -> Result<Target, <Source as OctetsInto<Target>>::Error>

Performs the conversion.
source§

fn octets_into(self) -> Targetwhere Self::Error: Into<Infallible>,

Performs an infallible conversion.
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

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

source§

fn vzip(self) -> V