[−][src]Trait tower::discover::Discover
Provide a uniform set of services able to satisfy a request.
This set of services may be updated over time. On each change to the set, a
new NewServiceSet
is yielded by Discover
.
See crate documentation for more details.
Associated Types
Loading content...Required methods
fn poll_discover(
self: Pin<&mut Self>,
cx: &mut Context
) -> Poll<Result<Change<Self::Key, Self::Service>, Self::Error>>
self: Pin<&mut Self>,
cx: &mut Context
) -> Poll<Result<Change<Self::Key, Self::Service>, Self::Error>>
Yields the next discovery change set.
Implementations on Foreign Types
impl<'_, D> Discover for &'_ mut D where
D: Discover + Unpin + ?Sized,
[src]
D: Discover + Unpin + ?Sized,
type Key = <D as Discover>::Key
type Service = <D as Discover>::Service
type Error = <D as Discover>::Error
fn poll_discover(
self: Pin<&mut &'_ mut D>,
cx: &mut Context
) -> Poll<Result<Change<<&'_ mut D as Discover>::Key, <&'_ mut D as Discover>::Service>, <&'_ mut D as Discover>::Error>>
[src]
self: Pin<&mut &'_ mut D>,
cx: &mut Context
) -> Poll<Result<Change<<&'_ mut D as Discover>::Key, <&'_ mut D as Discover>::Service>, <&'_ mut D as Discover>::Error>>
impl<D> Discover for Box<D> where
D: Discover + Unpin + ?Sized,
[src]
D: Discover + Unpin + ?Sized,
type Key = <D as Discover>::Key
type Service = <D as Discover>::Service
type Error = <D as Discover>::Error
fn poll_discover(
self: Pin<&mut Box<D>>,
cx: &mut Context
) -> Poll<Result<Change<<Box<D> as Discover>::Key, <Box<D> as Discover>::Service>, <Box<D> as Discover>::Error>>
[src]
self: Pin<&mut Box<D>>,
cx: &mut Context
) -> Poll<Result<Change<<Box<D> as Discover>::Key, <Box<D> as Discover>::Service>, <Box<D> as Discover>::Error>>
impl<P> Discover for Pin<P> where
P: Unpin + DerefMut,
<P as Deref>::Target: Discover,
[src]
P: Unpin + DerefMut,
<P as Deref>::Target: Discover,
type Key = <<P as Deref>::Target as Discover>::Key
type Service = <<P as Deref>::Target as Discover>::Service
type Error = <<P as Deref>::Target as Discover>::Error
fn poll_discover(
self: Pin<&mut Pin<P>>,
cx: &mut Context
) -> Poll<Result<Change<<Pin<P> as Discover>::Key, <Pin<P> as Discover>::Service>, <Pin<P> as Discover>::Error>>
[src]
self: Pin<&mut Pin<P>>,
cx: &mut Context
) -> Poll<Result<Change<<Pin<P> as Discover>::Key, <Pin<P> as Discover>::Service>, <Pin<P> as Discover>::Error>>
Implementors
impl<S, K, Svc> Discover for ServiceStream<S> where
K: Hash + Eq,
S: TryStream<Ok = Change<K, Svc>>,
[src]
K: Hash + Eq,
S: TryStream<Ok = Change<K, Svc>>,
type Key = K
type Service = Svc
type Error = <S as TryStream>::Error
fn poll_discover(
self: Pin<&mut ServiceStream<S>>,
cx: &mut Context
) -> Poll<Result<Change<<ServiceStream<S> as Discover>::Key, <ServiceStream<S> as Discover>::Service>, <ServiceStream<S> as Discover>::Error>>
[src]
self: Pin<&mut ServiceStream<S>>,
cx: &mut Context
) -> Poll<Result<Change<<ServiceStream<S> as Discover>::Key, <ServiceStream<S> as Discover>::Service>, <ServiceStream<S> as Discover>::Error>>
impl<T, U> Discover for ServiceList<T> where
T: IntoIterator<Item = U>,
[src]
T: IntoIterator<Item = U>,
type Key = usize
type Service = U
type Error = Never
fn poll_discover(
self: Pin<&mut ServiceList<T>>,
&mut Context
) -> Poll<Result<Change<<ServiceList<T> as Discover>::Key, <ServiceList<T> as Discover>::Service>, <ServiceList<T> as Discover>::Error>>
[src]
self: Pin<&mut ServiceList<T>>,
&mut Context
) -> Poll<Result<Change<<ServiceList<T> as Discover>::Key, <ServiceList<T> as Discover>::Service>, <ServiceList<T> as Discover>::Error>>