Trait abstract_ns::Resolve
[−]
[src]
pub trait Resolve { type Future: Future<Item = Address, Error = Error>; fn resolve(&self, name: &Name) -> Self::Future; fn frozen_subscriber(self) -> FrozenSubscriber<Self>
where
Self: Resolve + Sized, { ... } fn frozen_service_subscriber(self) -> FrozenSubscriber<Self>
where
Self: Sized, { ... } fn null_host_resolver(self) -> NullHostResolver<Self>
where
Self: Sized, { ... } }
Resolves a name of the service in to a set of addresses
This is commonly done using SRV records, but can also be done
as a wrapper around resolver by resolving a host and adding a
default value (see HostResolve::with_default_port
.
Associated Types
Required Methods
Provided Methods
fn frozen_subscriber(self) -> FrozenSubscriber<Self> where
Self: Resolve + Sized,
Self: Resolve + Sized,
Create a subscriber that resolves once using this resolver and never updates a stream
This is mostly useful for tests
fn frozen_service_subscriber(self) -> FrozenSubscriber<Self> where
Self: Sized,
Self: Sized,
Create a subscriber that resolves once using this resolver and never updates a stream
This is mostly useful for tests
fn null_host_resolver(self) -> NullHostResolver<Self> where
Self: Sized,
Self: Sized,
Create a thing that implements Resolve+HostResolve but returns
NameNotFound
on resolve_host
This is needed to add resolver that can only resolve services to the router.
Implementations on Foreign Types
impl<T: Resolve> Resolve for Arc<T>
[src]
type Future = T::Future
fn resolve(&self, name: &Name) -> Self::Future
[src]
fn frozen_subscriber(self) -> FrozenSubscriber<Self> where
Self: Resolve + Sized,
[src]
Self: Resolve + Sized,
fn frozen_service_subscriber(self) -> FrozenSubscriber<Self> where
Self: Sized,
[src]
Self: Sized,
fn null_host_resolver(self) -> NullHostResolver<Self> where
Self: Sized,
[src]
Self: Sized,
Implementors
impl<R: Resolve> Resolve for NullHostResolver<R> type Future = R::Future;
impl<R> Resolve for NullResolver<R> type Future = FutureResult<Address, Error>;
impl<R: Resolve> Resolve for FrozenSubscriber<R> type Future = R::Future;