pub struct AdaptiveDiscovery<D, Request> { /* private fields */ }Expand description
Maps a Tower discovery stream into freshly initialized adaptive endpoints.
The wrapper intentionally creates new controller state for every insert. This is the safe behavior when discovery removes and later reuses an endpoint key; state retention can be added without changing the discovery contract once churn behavior is better understood.
Implementations§
Source§impl<D, Request> AdaptiveDiscovery<D, Request>
impl<D, Request> AdaptiveDiscovery<D, Request>
pub fn new(inner: D, config: EndpointConfig) -> Self
pub fn into_inner(self) -> D
Trait Implementations§
Source§impl<D, Request, K, S> Stream for AdaptiveDiscovery<D, Request>
impl<D, Request, K, S> Stream for AdaptiveDiscovery<D, Request>
Source§type Item = Result<Change<K, AdaptiveEndpoint<S>>, <D as TryStream>::Error>
type Item = Result<Change<K, AdaptiveEndpoint<S>>, <D as TryStream>::Error>
Values yielded by the stream.
Auto Trait Implementations§
impl<D, Request> Freeze for AdaptiveDiscovery<D, Request>
impl<D, Request> RefUnwindSafe for AdaptiveDiscovery<D, Request>
impl<D, Request> Send for AdaptiveDiscovery<D, Request>
impl<D, Request> Sync for AdaptiveDiscovery<D, Request>
impl<D, Request> Unpin for AdaptiveDiscovery<D, Request>
impl<D, Request> UnsafeUnpin for AdaptiveDiscovery<D, Request>
impl<D, Request> UnwindSafe for AdaptiveDiscovery<D, Request>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more