Struct tower_util::CallAllUnordered [−][src]
A stream of responses received from the inner service in received order.
Similar to CallAll
except, instead of yielding responses in request order,
responses are returned as they are available.
Implementations
impl<Svc, S> CallAllUnordered<Svc, S> where
Svc: Service<S::Item>,
Svc::Error: Into<Box<dyn Error + Send + Sync>>,
S: Stream,
[src][−]
Svc: Service<S::Item>,
Svc::Error: Into<Box<dyn Error + Send + Sync>>,
S: Stream,
pub fn new(service: Svc, stream: S) -> CallAllUnordered<Svc, S>
[src][−]
Create new CallAllUnordered
combinator.
Each request yielded by stread
is passed to svc
, and the resulting responses are
yielded in the same order by the implementation of Stream
for
CallAllUnordered
.
pub fn into_inner(self) -> Svc
[src][−]
pub fn take_service(self: Pin<&mut Self>) -> Svc
[src][−]
Extract the wrapped Service
.
This CallAll
can no longer be used after this function has been called.
Panics
Panics if take_service
was already called.
Trait Implementations
impl<Svc: Debug, S: Debug> Debug for CallAllUnordered<Svc, S> where
Svc: Service<S::Item>,
S: Stream,
Svc::Future: Debug,
[src][+]
Svc: Service<S::Item>,
S: Stream,
Svc::Future: Debug,
impl<Svc, S> PinnedDrop for CallAllUnordered<Svc, S> where
Svc: Service<S::Item>,
S: Stream,
[src][+]
Svc: Service<S::Item>,
S: Stream,
impl<Svc, S> Stream for CallAllUnordered<Svc, S> where
Svc: Service<S::Item>,
Svc::Error: Into<Box<dyn Error + Send + Sync>>,
S: Stream,
[src][+]
Svc: Service<S::Item>,
Svc::Error: Into<Box<dyn Error + Send + Sync>>,
S: Stream,
impl<'pin, Svc, S> Unpin for CallAllUnordered<Svc, S> where
Svc: Service<S::Item>,
S: Stream,
__CallAllUnordered<'pin, Svc, S>: Unpin,
[src]
Svc: Service<S::Item>,
S: Stream,
__CallAllUnordered<'pin, Svc, S>: Unpin,
impl<Svc, S> UnsafeUnpin for CallAllUnordered<Svc, S> where
Svc: Service<S::Item>,
S: Stream,
[src]
Svc: Service<S::Item>,
S: Stream,
Auto Trait Implementations
impl<Svc, S> !RefUnwindSafe for CallAllUnordered<Svc, S>
impl<Svc, S> Send for CallAllUnordered<Svc, S> where
S: Send,
Svc: Send,
<Svc as Service<<S as Stream>::Item>>::Future: Send,
S: Send,
Svc: Send,
<Svc as Service<<S as Stream>::Item>>::Future: Send,
impl<Svc, S> Sync for CallAllUnordered<Svc, S> where
S: Sync,
Svc: Sync,
<Svc as Service<<S as Stream>::Item>>::Future: Sync,
S: Sync,
Svc: Sync,
<Svc as Service<<S as Stream>::Item>>::Future: Sync,
impl<Svc, S> !UnwindSafe for CallAllUnordered<Svc, S>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> From<T> for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T> StreamExt for T where
T: Stream + ?Sized,
[src][+]
T: Stream + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,
impl<S, T, E> TryStream for S where
S: Stream<Item = Result<T, E>> + ?Sized,
[src][+]
S: Stream<Item = Result<T, E>> + ?Sized,
impl<S> TryStreamExt for S where
S: TryStream + ?Sized,
[src][+]
S: TryStream + ?Sized,