[−][src]Trait public_ip::Resolver
Trait implemented by IP address resolvers
Associated Types
type Error: ResolutionError
Error produced while attempting to resolve
type Resolution: Resolution
A successfully produced resolution
type Stream: Stream<Item = Result<Self::Resolution, Self::Error>> + Send + 'static
The resolution stream produced by the resolver
Required methods
fn resolve(&mut self, cx: C) -> Self::Stream
Resolves a stream of IP addresses given a context
Note, can only be called once per resolver
Implementors
impl<C> Resolver<C> for DnsResolver where
C: DnsResolverContext,
[src]
C: DnsResolverContext,
type Error = DnsResolutionError
type Stream = BoxStream<'static, Result<Self::Resolution, Self::Error>>
type Resolution = DnsResolution
fn resolve(&mut self, cx: C) -> Self::Stream
[src]
impl<C> Resolver<C> for HttpResolver where
C: HttpResolverContext,
[src]
C: HttpResolverContext,
type Error = HttpResolutionError
type Resolution = HttpResolution
type Stream = BoxStream<'static, Result<Self::Resolution, Self::Error>>
fn resolve(&mut self, cx: C) -> Self::Stream
[src]
impl<C> Resolver<C> for BoxResolver<C> where
C: ResolverContext,
[src]
C: ResolverContext,
type Error = BoxResolutionError
type Resolution = BoxResolution
type Stream = BoxResolutionStream
fn resolve(&mut self, cx: C) -> Self::Stream
[src]
impl<R, C> Resolver<C> for ListResolver<R, C> where
R: Resolver<C> + 'static,
C: ResolverContext + Clone + 'static,
[src]
R: Resolver<C> + 'static,
C: ResolverContext + Clone + 'static,
type Error = R::Error
type Resolution = R::Resolution
type Stream = BoxStream<'static, Result<Self::Resolution, Self::Error>>
fn resolve(&mut self, cx: C) -> Self::Stream
[src]
impl<R, E, C> Resolver<C> for ResultResolver<R, E> where
R: Resolver<C>,
C: ResolverContext,
E: ResolutionError,
[src]
R: Resolver<C>,
C: ResolverContext,
E: ResolutionError,