Struct CallAllUnordered

pub struct CallAllUnordered<Svc, S>
where
    Svc: Service<S::Item>,
    S: Stream, { /* private fields */ }

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>, S: Stream,

fn new(service: Svc, stream: S) -> CallAllUnordered<Svc, S>

Create new CallAllUnordered combinator.

fn into_inner(self) -> Svc

Extract the wrapped Service.

Panics

Panics if take_service was already called.

fn take_service(self: Pin<&mut Self>) -> Svc

Extract the wrapped Service.

This CallAllUnordered can no longer be used after this function has been called.

Panics

Panics if take_service was already called.

Trait Implementations

impl<'__pin, Svc, S> Unpin for CallAllUnordered<Svc, S> where PinnedFieldsOf<__Origin<'__pin, Svc, S>>: Unpin, Svc: Service<S::Item>, S: Stream,

impl<Svc, S> Debug for CallAllUnordered<Svc, S> where Svc: Service<S::Item> + Debug, S: Stream + Debug, Svc::Future: Debug,

fn fmt(&self, f: &mut Formatter<'_>) -> Result

impl<Svc, S> Stream for CallAllUnordered<Svc, S> where Svc: Service<S::Item>, S: Stream,

type Item = Result<<Svc as Service<<S as Stream>::Item>>::Response, <Svc as Service<<S as Stream>::Item>>::Error>;
fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<Self::Item>>

Auto Trait Implementations

impl<Svc, S> !Freeze for CallAllUnordered<Svc, S>

impl<Svc, S> !RefUnwindSafe for CallAllUnordered<Svc, S>

impl<Svc, S> !UnwindSafe for CallAllUnordered<Svc, S>

impl<Svc, S> Send for CallAllUnordered<Svc, S> where CallAll<Svc, S, FuturesUnordered<<Svc as Service<<S as Stream>::Item>>::Future>>: Send,

impl<Svc, S> Sync for CallAllUnordered<Svc, S> where CallAll<Svc, S, FuturesUnordered<<Svc as Service<<S as Stream>::Item>>::Future>>: Sync,

impl<Svc, S> UnsafeUnpin for CallAllUnordered<Svc, S> where CallAll<Svc, S, FuturesUnordered<<Svc as Service<<S as Stream>::Item>>::Future>>: UnsafeUnpin,

Blanket Implementations

impl<K, S, E, D> Discover for CallAllUnordered<Svc, S> where D: TryStream<Ok = Change<K, S>, Error = E> + ?Sized, K: Eq,

type Key = K;
type Service = S;
type Error = E;
fn poll_discover(self: Pin<&mut D>, cx: &mut Context<'_>) -> Poll<Option<Result<<D as TryStream>::Ok, <D as TryStream>::Error>>>

impl<S> TryStreamExt for CallAllUnordered<Svc, S> where S: TryStream + ?Sized,

impl<S, T, E> TryStream for CallAllUnordered<Svc, S> where S: Stream<Item = Result<T, E>> + ?Sized,

type Ok = T;
type Error = E;
fn try_poll_next(self: Pin<&mut S>, cx: &mut Context<'_>) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>

impl<T> Any for CallAllUnordered<Svc, S> where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for CallAllUnordered<Svc, S> where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for CallAllUnordered<Svc, S> where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> From<T> for CallAllUnordered<Svc, S>

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> Instrument for CallAllUnordered<Svc, S>

impl<T> StreamExt for CallAllUnordered<Svc, S> where T: Stream + ?Sized,

impl<T> WithSubscriber for CallAllUnordered<Svc, S>

impl<T, U> Into<U> for CallAllUnordered<Svc, S> where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for CallAllUnordered<Svc, S> where U: Into<T>,

type Error = Infallible;
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

impl<T, U> TryInto<U> for CallAllUnordered<Svc, S> where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>