pub struct Keyed<S: Stream> { /* private fields */ }
Expand description
Iterate over items in the stream group with their associated keys.
Methods from Deref<Target = StreamGroup<S>>§
sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
Return the number of futures currently active in the group.
§Example
use futures_concurrency::stream::StreamGroup;
use futures_lite::stream;
let mut group = StreamGroup::with_capacity(2);
assert_eq!(group.len(), 0);
group.insert(stream::once(12));
assert_eq!(group.len(), 1);
sourcepub fn capacity(&self) -> usize
pub fn capacity(&self) -> usize
Return the capacity of the StreamGroup
.
§Example
use futures_concurrency::stream::StreamGroup;
use futures_lite::stream;
let group = StreamGroup::with_capacity(2);
assert_eq!(group.capacity(), 2);
sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Returns true if there are no futures currently active in the group.
§Example
use futures_concurrency::stream::StreamGroup;
use futures_lite::stream;
let mut group = StreamGroup::with_capacity(2);
assert!(group.is_empty());
group.insert(stream::once(12));
assert!(!group.is_empty());
sourcepub fn remove(&mut self, key: Key) -> bool
pub fn remove(&mut self, key: Key) -> bool
Removes a stream from the group. Returns whether the value was present in the group.
§Example
use futures_lite::stream;
use futures_concurrency::stream::StreamGroup;
let mut group = StreamGroup::new();
let key = group.insert(stream::once(4));
assert_eq!(group.len(), 1);
group.remove(key);
assert_eq!(group.len(), 0);
sourcepub fn contains_key(&mut self, key: Key) -> bool
pub fn contains_key(&mut self, key: Key) -> bool
Returns true
if the StreamGroup
contains a value for the specified key.
§Example
use futures_lite::stream;
use futures_concurrency::stream::StreamGroup;
let mut group = StreamGroup::new();
let key = group.insert(stream::once(4));
assert!(group.contains_key(key));
group.remove(key);
assert!(!group.contains_key(key));
sourcepub fn reserve(&mut self, additional: usize)
pub fn reserve(&mut self, additional: usize)
Reserves capacity for additional
more streams to be inserted.
Does nothing if the capacity is already sufficient.
§Example
use futures_concurrency::stream::StreamGroup;
use futures_lite::stream::Once;
let mut group: StreamGroup<Once<usize>> = StreamGroup::with_capacity(0);
assert_eq!(group.capacity(), 0);
group.reserve(10);
assert_eq!(group.capacity(), 10);
// does nothing if capacity is sufficient
group.reserve(5);
assert_eq!(group.capacity(), 10);
Trait Implementations§
source§impl<S: Stream> Stream for Keyed<S>
impl<S: Stream> Stream for Keyed<S>
impl<'pin, S: Stream> Unpin for Keyed<S>where
__Keyed<'pin, S>: Unpin,
Auto Trait Implementations§
impl<S> Freeze for Keyed<S>
impl<S> RefUnwindSafe for Keyed<S>where
S: RefUnwindSafe,
impl<S> Send for Keyed<S>where
S: Send,
impl<S> Sync for Keyed<S>where
S: Sync,
impl<S> UnwindSafe for Keyed<S>where
S: 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> BufferedStreamExt for T
impl<T> BufferedStreamExt for T
source§fn buffered_ordered(self, n: usize) -> BufferedOrdered<Self>
fn buffered_ordered(self, n: usize) -> BufferedOrdered<Self>
An adaptor for creating a buffered list of pending futures. Read more
source§fn buffered_unordered(self, n: usize) -> BufferUnordered<Self>
fn buffered_unordered(self, n: usize) -> BufferUnordered<Self>
An adaptor for creating a buffered list of pending futures (unordered). Read more
source§fn for_each_concurrent<Fut, F>(
self,
limit: usize,
f: F,
) -> ForEachConcurrent<Self, Fut, F>
fn for_each_concurrent<Fut, F>( self, limit: usize, f: F, ) -> ForEachConcurrent<Self, Fut, F>
Runs this stream to completion, executing the provided asynchronous
closure for each element on the stream concurrently as elements become
available. Read more
source§impl<S> IntoStream for Swhere
S: Stream,
impl<S> IntoStream for Swhere
S: Stream,
source§impl<S> StreamExt for S
impl<S> StreamExt for S
source§fn next(&mut self) -> NextFuture<'_, Self>where
Self: Unpin,
fn next(&mut self) -> NextFuture<'_, Self>where
Self: Unpin,
Retrieves the next item in the stream. Read more
source§fn try_next<T, E>(&mut self) -> TryNextFuture<'_, Self>
fn try_next<T, E>(&mut self) -> TryNextFuture<'_, Self>
Retrieves the next item in the stream. Read more
source§fn count(self) -> CountFuture<Self>where
Self: Sized,
fn count(self) -> CountFuture<Self>where
Self: Sized,
Counts the number of items in the stream. Read more
source§fn map<T, F>(self, f: F) -> Map<Self, F>
fn map<T, F>(self, f: F) -> Map<Self, F>
Maps items of the stream to new values using a closure. Read more
source§fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
Maps items to streams and then concatenates them. Read more
source§fn then<F, Fut>(self, f: F) -> Then<Self, F, Fut>
fn then<F, Fut>(self, f: F) -> Then<Self, F, Fut>
Maps items of the stream to new values using an async closure. Read more
source§fn filter_map<T, F>(self, f: F) -> FilterMap<Self, F>
fn filter_map<T, F>(self, f: F) -> FilterMap<Self, F>
Filters and maps items of the stream using a closure. Read more
source§fn take(self, n: usize) -> Take<Self>where
Self: Sized,
fn take(self, n: usize) -> Take<Self>where
Self: Sized,
Takes only the first
n
items of the stream. Read moresource§fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
source§fn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
fn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
Skips the first
n
items of the stream. Read moresource§fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
source§fn step_by(self, step: usize) -> StepBy<Self>where
Self: Sized,
fn step_by(self, step: usize) -> StepBy<Self>where
Self: Sized,
Yields every
step
th item. Read moresource§fn chain<U>(self, other: U) -> Chain<Self, U>
fn chain<U>(self, other: U) -> Chain<Self, U>
Appends another stream to the end of this one. Read more
source§fn collect<C>(self) -> CollectFuture<Self, C>
fn collect<C>(self) -> CollectFuture<Self, C>
Collects all items in the stream into a collection. Read more
source§fn try_collect<T, E, C>(self) -> TryCollectFuture<Self, C>
fn try_collect<T, E, C>(self) -> TryCollectFuture<Self, C>
Collects all items in the fallible stream into a collection. Read more
source§fn partition<B, P>(self, predicate: P) -> PartitionFuture<Self, P, B>
fn partition<B, P>(self, predicate: P) -> PartitionFuture<Self, P, B>
Partitions items into those for which
predicate
is true
and those for which it is
false
, and then collects them into two collections. Read moresource§fn fold<T, F>(self, init: T, f: F) -> FoldFuture<Self, F, T>
fn fold<T, F>(self, init: T, f: F) -> FoldFuture<Self, F, T>
Accumulates a computation over the stream. Read more
source§fn try_fold<T, E, F, B>(
&mut self,
init: B,
f: F,
) -> TryFoldFuture<'_, Self, F, B>
fn try_fold<T, E, F, B>( &mut self, init: B, f: F, ) -> TryFoldFuture<'_, Self, F, B>
Accumulates a fallible computation over the stream. Read more
source§fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
Maps items of the stream to new values using a state value and a closure. Read more
source§fn enumerate(self) -> Enumerate<Self>where
Self: Sized,
fn enumerate(self) -> Enumerate<Self>where
Self: Sized,
Enumerates items, mapping them to
(index, item)
. Read moresource§fn inspect<F>(self, f: F) -> Inspect<Self, F>
fn inspect<F>(self, f: F) -> Inspect<Self, F>
Calls a closure on each item and passes it on. Read more
source§fn nth(&mut self, n: usize) -> NthFuture<'_, Self>where
Self: Unpin,
fn nth(&mut self, n: usize) -> NthFuture<'_, Self>where
Self: Unpin,
Gets the
n
th item of the stream. Read moresource§fn last(self) -> LastFuture<Self>where
Self: Sized,
fn last(self) -> LastFuture<Self>where
Self: Sized,
Returns the last item in the stream. Read more
source§fn find<P>(&mut self, predicate: P) -> FindFuture<'_, Self, P>
fn find<P>(&mut self, predicate: P) -> FindFuture<'_, Self, P>
source§fn find_map<F, B>(&mut self, f: F) -> FindMapFuture<'_, Self, F>
fn find_map<F, B>(&mut self, f: F) -> FindMapFuture<'_, Self, F>
source§fn position<P>(&mut self, predicate: P) -> PositionFuture<'_, Self, P>
fn position<P>(&mut self, predicate: P) -> PositionFuture<'_, Self, P>
source§fn for_each<F>(self, f: F) -> ForEachFuture<Self, F>
fn for_each<F>(self, f: F) -> ForEachFuture<Self, F>
Calls a closure on each item of the stream. Read more
source§fn try_for_each<F, E>(&mut self, f: F) -> TryForEachFuture<'_, Self, F>
fn try_for_each<F, E>(&mut self, f: F) -> TryForEachFuture<'_, Self, F>
Calls a fallible closure on each item of the stream, stopping on first error. Read more
source§fn zip<U>(self, other: U) -> Zip<Self, U>
fn zip<U>(self, other: U) -> Zip<Self, U>
Zips up two streams into a single stream of pairs. Read more
source§fn unzip<A, B, FromA, FromB>(self) -> UnzipFuture<Self, FromA, FromB>
fn unzip<A, B, FromA, FromB>(self) -> UnzipFuture<Self, FromA, FromB>
Collects a stream of pairs into a pair of collections. Read more
source§fn race<S>(self, other: S) -> Race<Self, S>
fn race<S>(self, other: S) -> Race<Self, S>
Merges with
other
stream, with no preference for either stream when both are ready. Read moresource§impl<S1> StreamExt for S1where
S1: Stream,
impl<S1> StreamExt for S1where
S1: Stream,
source§fn merge<T, S2>(
self,
other: S2,
) -> Merge2<T, S1, <S2 as IntoStream>::IntoStream>where
S1: Stream<Item = T>,
S2: IntoStream<Item = T>,
fn merge<T, S2>(
self,
other: S2,
) -> Merge2<T, S1, <S2 as IntoStream>::IntoStream>where
S1: Stream<Item = T>,
S2: IntoStream<Item = T>,
Combines two streams into a single stream of all their outputs.
source§fn chain<T, S2>(self, other: S2) -> Chain2<S1, <S2 as IntoStream>::IntoStream>where
S1: Stream<Item = T>,
S2: IntoStream<Item = T>,
fn chain<T, S2>(self, other: S2) -> Chain2<S1, <S2 as IntoStream>::IntoStream>where
S1: Stream<Item = T>,
S2: IntoStream<Item = T>,
Takes two streams and creates a new stream over all in sequence
source§fn zip<T, S2>(self, other: S2) -> Zip2<S1, <S2 as IntoStream>::IntoStream>where
S1: Stream<Item = T>,
S2: IntoStream<Item = T>,
fn zip<T, S2>(self, other: S2) -> Zip2<S1, <S2 as IntoStream>::IntoStream>where
S1: Stream<Item = T>,
S2: IntoStream<Item = T>,
‘Zips up’ multiple streams into a single stream of pairs.
source§fn co(self) -> FromStream<Self>where
Self: Sized,
fn co(self) -> FromStream<Self>where
Self: Sized,
Convert into a concurrent stream.
source§fn wait_until<D>(self, deadline: D) -> WaitUntil<Self, D::IntoFuture>where
Self: Sized,
D: IntoFuture,
fn wait_until<D>(self, deadline: D) -> WaitUntil<Self, D::IntoFuture>where
Self: Sized,
D: IntoFuture,
Delay the yielding of items from the stream until the given deadline. Read more