Trait Discover
pub trait Discover: Sealed<Change<(), ()>>
A dynamically changing set of related services.
As new services arrive and old services are retired,
Changes are returned which provide unique identifiers
for the services.
See the module documentation for more details.
Associated Types
type Key: Eq;A unique identifier for each active service.
An identifier can be re-used once a
Change::Removehas been yielded for its service.type Service;type Error;Error produced during discovery
Required Methods
fn poll_discover(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<Result<Change<Self::Key, Self::Service>, Self::Error>>>Yields the next discovery change set.
Implementors
impl<K, S, E, D> Discover for CallAll<Svc, S> where D: TryStream<Ok = Change<K, S>, Error = E> + ?Sized, K: Eq,impl<K, S, E, D> Discover for CallAllUnordered<Svc, S> where D: TryStream<Ok = Change<K, S>, Error = E> + ?Sized, K: Eq,impl<K, S, E, D> Discover for Constant<T, M> where D: TryStream<Ok = Change<K, S>, Error = E> + ?Sized, K: Eq,impl<K, S, E, D> Discover for D where D: TryStream<Ok = Change<K, S>, Error = E> + ?Sized, K: Eq,impl<K, S, E, D> Discover for PeakEwmaDiscover<D, C> where D: TryStream<Ok = Change<K, S>, Error = E> + ?Sized, K: Eq,impl<K, S, E, D> Discover for PendingRequestsDiscover<D, C> where D: TryStream<Ok = Change<K, S>, Error = E> + ?Sized, K: Eq,impl<K, S, E, D> Discover for ServiceList<T> where D: TryStream<Ok = Change<K, S>, Error = E> + ?Sized, K: Eq,