Struct ordered_stream::JoinMultiple
source · pub struct JoinMultiple<C>(pub C);
Expand description
Join a collection of OrderedStream
s.
This is similar to repeatedly using join()
on all the streams in the contained collection.
It is not optimized to avoid polling streams that are not ready, so it works best if the number
of streams is relatively small.
Tuple Fields§
§0: C
Trait Implementations§
source§impl<C: Clone> Clone for JoinMultiple<C>
impl<C: Clone> Clone for JoinMultiple<C>
source§fn clone(&self) -> JoinMultiple<C>
fn clone(&self) -> JoinMultiple<C>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<C: Debug> Debug for JoinMultiple<C>
impl<C: Debug> Debug for JoinMultiple<C>
source§impl<C: Default> Default for JoinMultiple<C>
impl<C: Default> Default for JoinMultiple<C>
source§fn default() -> JoinMultiple<C>
fn default() -> JoinMultiple<C>
Returns the “default value” for a type. Read more
source§impl<C, S> FusedOrderedStream for JoinMultiple<C>where
for<'a> &'a mut C: IntoIterator<Item = &'a mut Peekable<S>>,
for<'a> &'a C: IntoIterator<Item = &'a Peekable<S>>,
S: OrderedStream + Unpin,
S::Ordering: Clone,
impl<C, S> FusedOrderedStream for JoinMultiple<C>where
for<'a> &'a mut C: IntoIterator<Item = &'a mut Peekable<S>>,
for<'a> &'a C: IntoIterator<Item = &'a Peekable<S>>,
S: OrderedStream + Unpin,
S::Ordering: Clone,
source§fn is_terminated(&self) -> bool
fn is_terminated(&self) -> bool
Returns
true
if the stream should no longer be polled.source§impl<C, S> OrderedStream for JoinMultiple<C>where
for<'a> &'a mut C: IntoIterator<Item = &'a mut Peekable<S>>,
S: OrderedStream + Unpin,
S::Ordering: Clone,
impl<C, S> OrderedStream for JoinMultiple<C>where
for<'a> &'a mut C: IntoIterator<Item = &'a mut Peekable<S>>,
S: OrderedStream + Unpin,
S::Ordering: Clone,
source§fn poll_next_before(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
before: Option<&S::Ordering>,
) -> Poll<PollResult<S::Ordering, S::Data>>
fn poll_next_before( self: Pin<&mut Self>, cx: &mut Context<'_>, before: Option<&S::Ordering>, ) -> Poll<PollResult<S::Ordering, S::Data>>
Attempt to pull out the next value of this stream, registering the current task for wakeup
if needed, and returning
NoneBefore
if it is known that the stream will not produce any
more values ordered before the given point. Read moresource§fn position_hint(&self) -> Option<MaybeBorrowed<'_, Self::Ordering>>
fn position_hint(&self) -> Option<MaybeBorrowed<'_, Self::Ordering>>
The minimum value of the ordering for any future items. Read more
impl<C> Unpin for JoinMultiple<C>
Auto Trait Implementations§
impl<C> Freeze for JoinMultiple<C>where
C: Freeze,
impl<C> RefUnwindSafe for JoinMultiple<C>where
C: RefUnwindSafe,
impl<C> Send for JoinMultiple<C>where
C: Send,
impl<C> Sync for JoinMultiple<C>where
C: Sync,
impl<C> UnwindSafe for JoinMultiple<C>where
C: UnwindSafe,
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> OrderedStreamExt for Twhere
T: OrderedStream + ?Sized,
impl<T> OrderedStreamExt for Twhere
T: OrderedStream + ?Sized,
source§fn map_item<F, R>(self, f: F) -> MapItem<Self, F>
fn map_item<F, R>(self, f: F) -> MapItem<Self, F>
Apply a closure to the items that has access to the ordering data.
source§fn map_ordering<NewOrdering, NewData, MapInto, MapFrom>(
self,
map_into: MapInto,
map_from: MapFrom,
) -> MapOrdering<Self, MapInto, MapFrom>where
Self: Sized,
MapInto: FnMut(Self::Ordering, Self::Data) -> (NewOrdering, NewData),
MapFrom: FnMut(&NewOrdering) -> Option<Self::Ordering>,
NewOrdering: Ord,
fn map_ordering<NewOrdering, NewData, MapInto, MapFrom>(
self,
map_into: MapInto,
map_from: MapFrom,
) -> MapOrdering<Self, MapInto, MapFrom>where
Self: Sized,
MapInto: FnMut(Self::Ordering, Self::Data) -> (NewOrdering, NewData),
MapFrom: FnMut(&NewOrdering) -> Option<Self::Ordering>,
NewOrdering: Ord,
Apply a closure to the items that can change the type of the ordering value. Read more
fn filter<F>(self, filter: F) -> Filter<Self, F>
fn filter_map<F, R>(self, filter: F) -> FilterMap<Self, F>
source§fn into_stream(self) -> IntoStream<Self>where
Self: Sized,
fn into_stream(self) -> IntoStream<Self>where
Self: Sized,
Convert this into a
Stream
, discarding the ordering information.source§fn into_tuple_stream(self) -> IntoTupleStream<Self>where
Self: Sized,
fn into_tuple_stream(self) -> IntoTupleStream<Self>where
Self: Sized,
Convert this into a
Stream
, keeping the ordering objects.source§fn into_ordering(self) -> IntoOrdering<Self>where
Self: Sized,
fn into_ordering(self) -> IntoOrdering<Self>where
Self: Sized,
Convert this into a
Stream
, keeping only the ordering objects.source§fn next_before<'a>(
&'a mut self,
before: Option<&'a Self::Ordering>,
) -> NextBefore<'a, Self> ⓘwhere
Self: Unpin,
fn next_before<'a>(
&'a mut self,
before: Option<&'a Self::Ordering>,
) -> NextBefore<'a, Self> ⓘwhere
Self: Unpin,
Return a
PollResult
corresponding to the next item in the stream.