ParallelStream

Trait ParallelStream 

Source
pub trait ParallelStream {
    type Item;
    type Task: StreamTask<Item = Self::Item> + Send;

Show 35 methods // Required methods fn next_task( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Option<Self::Task>>; fn size_hint(&self) -> (usize, Option<usize>); // Provided methods fn reduce<'life0, 'async_trait, P, B, R1, R3>( self, pool: &'life0 P, reduce_a: R1, reduce_c: R3, ) -> Pin<Box<dyn Future<Output = B> + 'async_trait>> where P: ThreadPool + 'async_trait, R1: ReducerSend<Self::Item> + Clone + Send + 'static + 'async_trait, R3: Reducer<<R1 as ReducerSend<Self::Item>>::Done, Done = B> + 'async_trait, Self::Task: 'static, Self: Sized + 'async_trait, B: 'async_trait, 'life0: 'async_trait { ... } fn pipe<'life0, 'async_trait, P, ParSink, A>( self, pool: &'life0 P, sink: ParSink, ) -> Pin<Box<dyn Future<Output = A> + 'async_trait>> where P: ThreadPool + 'async_trait, ParSink: ParallelSink<Self::Item, Done = A> + 'async_trait, <ParSink::Pipe as ParallelPipe<Self::Item>>::Task: 'static, ParSink::ReduceA: 'static, Self::Task: 'static, Self: Sized + 'async_trait, A: 'async_trait, 'life0: 'async_trait { ... } fn fork<'life0, 'async_trait, P, ParSinkA, ParSinkB, A, B>( self, pool: &'life0 P, sink_a: ParSinkA, sink_b: ParSinkB, ) -> Pin<Box<dyn Future<Output = (A, B)> + 'async_trait>> where P: ThreadPool + 'async_trait, ParSinkA: ParallelSink<Self::Item, Done = A> + 'async_trait, ParSinkB: for<'a> ParallelSink<&'a Self::Item, Done = B> + 'static + 'async_trait, <ParSinkA::Pipe as ParallelPipe<Self::Item>>::Task: 'static, ParSinkA::ReduceA: 'static, <ParSinkB as ParallelSink<&'static Self::Item>>::ReduceA: 'static, <<ParSinkB as ParallelSink<&'static Self::Item>>::Pipe as ParallelPipe<&'static Self::Item>>::Task: 'static, Self::Item: 'static, Self::Task: 'static, Self: Sized + 'async_trait, A: 'async_trait, B: 'async_trait, 'life0: 'async_trait { ... } fn group_by<'life0, 'async_trait, P, S, A, B>( self, pool: &'life0 P, sink: S, ) -> Pin<Box<dyn Future<Output = IndexMap<A, S::Done>> + 'async_trait>> where P: ThreadPool + 'async_trait, A: Eq + Hash + Send + 'static + 'async_trait, B: 'static + 'async_trait, S: ParallelSink<B> + 'async_trait, <S::Pipe as ParallelPipe<B>>::Task: Clone + Send + 'static, S::ReduceA: 'static, S::ReduceC: Clone, S::Done: Send + 'static, Self::Task: 'static, Self: ParallelStream<Item = (A, B)> + Sized + 'async_trait, 'life0: 'async_trait { ... } fn collect<'life0, 'async_trait, P, B>( self, pool: &'life0 P, ) -> Pin<Box<dyn Future<Output = B> + 'async_trait>> where P: ThreadPool + 'async_trait, B: FromParallelStream<Self::Item> + 'async_trait, B::ReduceA: Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait { ... } fn inspect<F>(self, f: F) -> Inspect<Self, F> where F: FnMut(&Self::Item) + Clone + Send + 'static, Self: Sized { ... } fn update<F>(self, f: F) -> Update<Self, F> where F: FnMut(&mut Self::Item) + Clone + Send + 'static, Self: Sized { ... } fn map<B, F>(self, f: F) -> Map<Self, F> where F: FnMut(Self::Item) -> B + Clone + Send + 'static, Self: Sized { ... } fn flat_map<B, F>(self, f: F) -> FlatMap<Self, F> where F: FnMut(Self::Item) -> B + Clone + Send + 'static, B: Stream, Self: Sized { ... } fn filter<F>(self, f: F) -> Filter<Self, F> where F: FnMut(&Self::Item) -> bool + Clone + Send + 'static, Self: Sized { ... } fn left_join<K, V1, V2>( self, right: impl IntoIterator<Item = (K, V2)>, ) -> LeftJoin<Self, K, V1, V2> where K: Eq + Hash + Clone + Send + 'static, V1: 'static, V2: Clone + Send + 'static, Self: ParallelStream<Item = (K, V1)> + Sized { ... } fn inner_join<K, V1, V2>( self, right: impl IntoIterator<Item = (K, V2)>, ) -> InnerJoin<Self, K, V1, V2> where K: Eq + Hash + Clone + Send + 'static, V1: 'static, V2: Clone + Send + 'static, Self: ParallelStream<Item = (K, V1)> + Sized { ... } fn chain<C>(self, chain: C) -> Chain<Self, C::ParStream> where C: IntoParallelStream<Item = Self::Item>, Self: Sized { ... } fn for_each<'life0, 'async_trait, P, F>( self, pool: &'life0 P, f: F, ) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>> where P: ThreadPool + 'async_trait, F: FnMut(Self::Item) + Clone + Send + 'static + 'async_trait, Self::Item: 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait { ... } fn fold<'life0, 'async_trait, P, ID, F, B>( self, pool: &'life0 P, identity: ID, op: F, ) -> Pin<Box<dyn Future<Output = B> + 'async_trait>> where P: ThreadPool + 'async_trait, ID: FnMut() -> B + Clone + Send + 'static + 'async_trait, F: FnMut(B, Either<Self::Item, B>) -> B + Clone + Send + 'static + 'async_trait, B: Send + 'static + 'async_trait, Self::Item: 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait { ... } fn histogram<'life0, 'async_trait, P>( self, pool: &'life0 P, ) -> Pin<Box<dyn Future<Output = Vec<(Self::Item, usize)>> + 'async_trait>> where P: ThreadPool + 'async_trait, Self::Item: Hash + Ord + Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait { ... } fn sort_n_by<'life0, 'async_trait, P, F>( self, pool: &'life0 P, n: usize, cmp: F, ) -> Pin<Box<dyn Future<Output = Sort<Self::Item, F>> + 'async_trait>> where P: ThreadPool + 'async_trait, F: Fn(&Self::Item, &Self::Item) -> Ordering + Clone + Send + 'static + 'async_trait, Self::Item: Clone + Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait { ... } fn count<'life0, 'async_trait, P>( self, pool: &'life0 P, ) -> Pin<Box<dyn Future<Output = usize> + 'async_trait>> where P: ThreadPool + 'async_trait, Self::Item: 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait { ... } fn sum<'life0, 'async_trait, P, S>( self, pool: &'life0 P, ) -> Pin<Box<dyn Future<Output = S> + 'async_trait>> where P: ThreadPool + 'async_trait, S: Sum<Self::Item> + Sum<S> + Send + 'static + 'async_trait, Self::Item: 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait { ... } fn mean<'life0, 'async_trait, P>( self, pool: &'life0 P, ) -> Pin<Box<dyn Future<Output = f64> + 'async_trait>> where P: ThreadPool + 'async_trait, Self::Item: 'static, Self::Task: 'static, Self: ParallelStream<Item = f64> + Sized + 'async_trait, 'life0: 'async_trait { ... } fn stddev<'life0, 'async_trait, P>( self, pool: &'life0 P, ) -> Pin<Box<dyn Future<Output = f64> + 'async_trait>> where P: ThreadPool + 'async_trait, Self::Item: 'static, Self::Task: 'static, Self: ParallelStream<Item = f64> + Sized + 'async_trait, 'life0: 'async_trait { ... } fn combine<'life0, 'async_trait, P, F>( self, pool: &'life0 P, f: F, ) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where P: ThreadPool + 'async_trait, F: FnMut(Self::Item, Self::Item) -> Self::Item + Clone + Send + 'static + 'async_trait, Self::Item: Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait { ... } fn max<'life0, 'async_trait, P>( self, pool: &'life0 P, ) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where P: ThreadPool + 'async_trait, Self::Item: Ord + Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait { ... } fn max_by<'life0, 'async_trait, P, F>( self, pool: &'life0 P, f: F, ) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where P: ThreadPool + 'async_trait, F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + Send + 'static + 'async_trait, Self::Item: Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait { ... } fn max_by_key<'life0, 'async_trait, P, F, B>( self, pool: &'life0 P, f: F, ) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where P: ThreadPool + 'async_trait, F: FnMut(&Self::Item) -> B + Clone + Send + 'static + 'async_trait, B: Ord + 'static + 'async_trait, Self::Item: Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait { ... } fn min<'life0, 'async_trait, P>( self, pool: &'life0 P, ) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where P: ThreadPool + 'async_trait, Self::Item: Ord + Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait { ... } fn min_by<'life0, 'async_trait, P, F>( self, pool: &'life0 P, f: F, ) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where P: ThreadPool + 'async_trait, F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + Send + 'static + 'async_trait, Self::Item: Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait { ... } fn min_by_key<'life0, 'async_trait, P, F, B>( self, pool: &'life0 P, f: F, ) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where P: ThreadPool + 'async_trait, F: FnMut(&Self::Item) -> B + Clone + Send + 'static + 'async_trait, B: Ord + 'static + 'async_trait, Self::Item: Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait { ... } fn most_frequent<'life0, 'async_trait, P>( self, pool: &'life0 P, n: usize, probability: f64, tolerance: f64, ) -> Pin<Box<dyn Future<Output = Top<Self::Item, usize>> + 'async_trait>> where P: ThreadPool + 'async_trait, Self::Item: Hash + Eq + Clone + Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait { ... } fn most_distinct<'life0, 'async_trait, P, A, B>( self, pool: &'life0 P, n: usize, probability: f64, tolerance: f64, error_rate: f64, ) -> Pin<Box<dyn Future<Output = Top<A, HyperLogLogMagnitude<B>>> + 'async_trait>> where P: ThreadPool + 'async_trait, Self: ParallelStream<Item = (A, B)> + Sized + 'async_trait, A: Hash + Eq + Clone + Send + 'static + 'async_trait, B: Hash + 'static + 'async_trait, Self::Task: 'static, 'life0: 'async_trait { ... } fn sample_unstable<'life0, 'async_trait, P>( self, pool: &'life0 P, samples: usize, ) -> Pin<Box<dyn Future<Output = SampleUnstable<Self::Item>> + 'async_trait>> where P: ThreadPool + 'async_trait, Self::Item: Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait { ... } fn all<'life0, 'async_trait, P, F>( self, pool: &'life0 P, f: F, ) -> Pin<Box<dyn Future<Output = bool> + 'async_trait>> where P: ThreadPool + 'async_trait, F: FnMut(Self::Item) -> bool + Clone + Send + 'static + 'async_trait, Self::Item: 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait { ... } fn any<'life0, 'async_trait, P, F>( self, pool: &'life0 P, f: F, ) -> Pin<Box<dyn Future<Output = bool> + 'async_trait>> where P: ThreadPool + 'async_trait, F: FnMut(Self::Item) -> bool + Clone + Send + 'static + 'async_trait, Self::Item: 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait { ... }
}

Required Associated Types§

Source

type Item

Source

type Task: StreamTask<Item = Self::Item> + Send

Required Methods§

Source

fn next_task( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Option<Self::Task>>

Source

fn size_hint(&self) -> (usize, Option<usize>)

Provided Methods§

Source

fn reduce<'life0, 'async_trait, P, B, R1, R3>( self, pool: &'life0 P, reduce_a: R1, reduce_c: R3, ) -> Pin<Box<dyn Future<Output = B> + 'async_trait>>
where P: ThreadPool + 'async_trait, R1: ReducerSend<Self::Item> + Clone + Send + 'static + 'async_trait, R3: Reducer<<R1 as ReducerSend<Self::Item>>::Done, Done = B> + 'async_trait, Self::Task: 'static, Self: Sized + 'async_trait, B: 'async_trait, 'life0: 'async_trait,

Source

fn pipe<'life0, 'async_trait, P, ParSink, A>( self, pool: &'life0 P, sink: ParSink, ) -> Pin<Box<dyn Future<Output = A> + 'async_trait>>
where P: ThreadPool + 'async_trait, ParSink: ParallelSink<Self::Item, Done = A> + 'async_trait, <ParSink::Pipe as ParallelPipe<Self::Item>>::Task: 'static, ParSink::ReduceA: 'static, Self::Task: 'static, Self: Sized + 'async_trait, A: 'async_trait, 'life0: 'async_trait,

Source

fn fork<'life0, 'async_trait, P, ParSinkA, ParSinkB, A, B>( self, pool: &'life0 P, sink_a: ParSinkA, sink_b: ParSinkB, ) -> Pin<Box<dyn Future<Output = (A, B)> + 'async_trait>>
where P: ThreadPool + 'async_trait, ParSinkA: ParallelSink<Self::Item, Done = A> + 'async_trait, ParSinkB: for<'a> ParallelSink<&'a Self::Item, Done = B> + 'static + 'async_trait, <ParSinkA::Pipe as ParallelPipe<Self::Item>>::Task: 'static, ParSinkA::ReduceA: 'static, <ParSinkB as ParallelSink<&'static Self::Item>>::ReduceA: 'static, <<ParSinkB as ParallelSink<&'static Self::Item>>::Pipe as ParallelPipe<&'static Self::Item>>::Task: 'static, Self::Item: 'static, Self::Task: 'static, Self: Sized + 'async_trait, A: 'async_trait, B: 'async_trait, 'life0: 'async_trait,

Source

fn group_by<'life0, 'async_trait, P, S, A, B>( self, pool: &'life0 P, sink: S, ) -> Pin<Box<dyn Future<Output = IndexMap<A, S::Done>> + 'async_trait>>
where P: ThreadPool + 'async_trait, A: Eq + Hash + Send + 'static + 'async_trait, B: 'static + 'async_trait, S: ParallelSink<B> + 'async_trait, <S::Pipe as ParallelPipe<B>>::Task: Clone + Send + 'static, S::ReduceA: 'static, S::ReduceC: Clone, S::Done: Send + 'static, Self::Task: 'static, Self: ParallelStream<Item = (A, B)> + Sized + 'async_trait, 'life0: 'async_trait,

Source

fn collect<'life0, 'async_trait, P, B>( self, pool: &'life0 P, ) -> Pin<Box<dyn Future<Output = B> + 'async_trait>>
where P: ThreadPool + 'async_trait, B: FromParallelStream<Self::Item> + 'async_trait, B::ReduceA: Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait,

Source

fn inspect<F>(self, f: F) -> Inspect<Self, F>
where F: FnMut(&Self::Item) + Clone + Send + 'static, Self: Sized,

Source

fn update<F>(self, f: F) -> Update<Self, F>
where F: FnMut(&mut Self::Item) + Clone + Send + 'static, Self: Sized,

Source

fn map<B, F>(self, f: F) -> Map<Self, F>
where F: FnMut(Self::Item) -> B + Clone + Send + 'static, Self: Sized,

Source

fn flat_map<B, F>(self, f: F) -> FlatMap<Self, F>
where F: FnMut(Self::Item) -> B + Clone + Send + 'static, B: Stream, Self: Sized,

Source

fn filter<F>(self, f: F) -> Filter<Self, F>
where F: FnMut(&Self::Item) -> bool + Clone + Send + 'static, Self: Sized,

Source

fn left_join<K, V1, V2>( self, right: impl IntoIterator<Item = (K, V2)>, ) -> LeftJoin<Self, K, V1, V2>
where K: Eq + Hash + Clone + Send + 'static, V1: 'static, V2: Clone + Send + 'static, Self: ParallelStream<Item = (K, V1)> + Sized,

Source

fn inner_join<K, V1, V2>( self, right: impl IntoIterator<Item = (K, V2)>, ) -> InnerJoin<Self, K, V1, V2>
where K: Eq + Hash + Clone + Send + 'static, V1: 'static, V2: Clone + Send + 'static, Self: ParallelStream<Item = (K, V1)> + Sized,

Source

fn chain<C>(self, chain: C) -> Chain<Self, C::ParStream>
where C: IntoParallelStream<Item = Self::Item>, Self: Sized,

Source

fn for_each<'life0, 'async_trait, P, F>( self, pool: &'life0 P, f: F, ) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>>
where P: ThreadPool + 'async_trait, F: FnMut(Self::Item) + Clone + Send + 'static + 'async_trait, Self::Item: 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait,

Source

fn fold<'life0, 'async_trait, P, ID, F, B>( self, pool: &'life0 P, identity: ID, op: F, ) -> Pin<Box<dyn Future<Output = B> + 'async_trait>>
where P: ThreadPool + 'async_trait, ID: FnMut() -> B + Clone + Send + 'static + 'async_trait, F: FnMut(B, Either<Self::Item, B>) -> B + Clone + Send + 'static + 'async_trait, B: Send + 'static + 'async_trait, Self::Item: 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait,

Source

fn histogram<'life0, 'async_trait, P>( self, pool: &'life0 P, ) -> Pin<Box<dyn Future<Output = Vec<(Self::Item, usize)>> + 'async_trait>>
where P: ThreadPool + 'async_trait, Self::Item: Hash + Ord + Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait,

Source

fn sort_n_by<'life0, 'async_trait, P, F>( self, pool: &'life0 P, n: usize, cmp: F, ) -> Pin<Box<dyn Future<Output = Sort<Self::Item, F>> + 'async_trait>>
where P: ThreadPool + 'async_trait, F: Fn(&Self::Item, &Self::Item) -> Ordering + Clone + Send + 'static + 'async_trait, Self::Item: Clone + Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait,

Source

fn count<'life0, 'async_trait, P>( self, pool: &'life0 P, ) -> Pin<Box<dyn Future<Output = usize> + 'async_trait>>
where P: ThreadPool + 'async_trait, Self::Item: 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait,

Source

fn sum<'life0, 'async_trait, P, S>( self, pool: &'life0 P, ) -> Pin<Box<dyn Future<Output = S> + 'async_trait>>
where P: ThreadPool + 'async_trait, S: Sum<Self::Item> + Sum<S> + Send + 'static + 'async_trait, Self::Item: 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait,

Source

fn mean<'life0, 'async_trait, P>( self, pool: &'life0 P, ) -> Pin<Box<dyn Future<Output = f64> + 'async_trait>>
where P: ThreadPool + 'async_trait, Self::Item: 'static, Self::Task: 'static, Self: ParallelStream<Item = f64> + Sized + 'async_trait, 'life0: 'async_trait,

Source

fn stddev<'life0, 'async_trait, P>( self, pool: &'life0 P, ) -> Pin<Box<dyn Future<Output = f64> + 'async_trait>>
where P: ThreadPool + 'async_trait, Self::Item: 'static, Self::Task: 'static, Self: ParallelStream<Item = f64> + Sized + 'async_trait, 'life0: 'async_trait,

Source

fn combine<'life0, 'async_trait, P, F>( self, pool: &'life0 P, f: F, ) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>>
where P: ThreadPool + 'async_trait, F: FnMut(Self::Item, Self::Item) -> Self::Item + Clone + Send + 'static + 'async_trait, Self::Item: Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait,

Source

fn max<'life0, 'async_trait, P>( self, pool: &'life0 P, ) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>>
where P: ThreadPool + 'async_trait, Self::Item: Ord + Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait,

Source

fn max_by<'life0, 'async_trait, P, F>( self, pool: &'life0 P, f: F, ) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>>
where P: ThreadPool + 'async_trait, F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + Send + 'static + 'async_trait, Self::Item: Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait,

Source

fn max_by_key<'life0, 'async_trait, P, F, B>( self, pool: &'life0 P, f: F, ) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>>
where P: ThreadPool + 'async_trait, F: FnMut(&Self::Item) -> B + Clone + Send + 'static + 'async_trait, B: Ord + 'static + 'async_trait, Self::Item: Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait,

Source

fn min<'life0, 'async_trait, P>( self, pool: &'life0 P, ) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>>
where P: ThreadPool + 'async_trait, Self::Item: Ord + Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait,

Source

fn min_by<'life0, 'async_trait, P, F>( self, pool: &'life0 P, f: F, ) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>>
where P: ThreadPool + 'async_trait, F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + Send + 'static + 'async_trait, Self::Item: Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait,

Source

fn min_by_key<'life0, 'async_trait, P, F, B>( self, pool: &'life0 P, f: F, ) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>>
where P: ThreadPool + 'async_trait, F: FnMut(&Self::Item) -> B + Clone + Send + 'static + 'async_trait, B: Ord + 'static + 'async_trait, Self::Item: Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait,

Source

fn most_frequent<'life0, 'async_trait, P>( self, pool: &'life0 P, n: usize, probability: f64, tolerance: f64, ) -> Pin<Box<dyn Future<Output = Top<Self::Item, usize>> + 'async_trait>>
where P: ThreadPool + 'async_trait, Self::Item: Hash + Eq + Clone + Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait,

Source

fn most_distinct<'life0, 'async_trait, P, A, B>( self, pool: &'life0 P, n: usize, probability: f64, tolerance: f64, error_rate: f64, ) -> Pin<Box<dyn Future<Output = Top<A, HyperLogLogMagnitude<B>>> + 'async_trait>>
where P: ThreadPool + 'async_trait, Self: ParallelStream<Item = (A, B)> + Sized + 'async_trait, A: Hash + Eq + Clone + Send + 'static + 'async_trait, B: Hash + 'static + 'async_trait, Self::Task: 'static, 'life0: 'async_trait,

Source

fn sample_unstable<'life0, 'async_trait, P>( self, pool: &'life0 P, samples: usize, ) -> Pin<Box<dyn Future<Output = SampleUnstable<Self::Item>> + 'async_trait>>
where P: ThreadPool + 'async_trait, Self::Item: Send + 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait,

Source

fn all<'life0, 'async_trait, P, F>( self, pool: &'life0 P, f: F, ) -> Pin<Box<dyn Future<Output = bool> + 'async_trait>>
where P: ThreadPool + 'async_trait, F: FnMut(Self::Item) -> bool + Clone + Send + 'static + 'async_trait, Self::Item: 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait,

Source

fn any<'life0, 'async_trait, P, F>( self, pool: &'life0 P, f: F, ) -> Pin<Box<dyn Future<Output = bool> + 'async_trait>>
where P: ThreadPool + 'async_trait, F: FnMut(Self::Item) -> bool + Clone + Send + 'static + 'async_trait, Self::Item: 'static, Self::Task: 'static, Self: Sized + 'async_trait, 'life0: 'async_trait,

Implementations on Foreign Types§

Source§

impl<A: ParallelStream, B: ParallelStream<Item = A::Item>> ParallelStream for Sum2<A, B>

Source§

type Item = <A as ParallelStream>::Item

Source§

type Task = Sum2<<A as ParallelStream>::Task, <B as ParallelStream>::Task>

Source§

fn size_hint(&self) -> (usize, Option<usize>)

Source§

fn next_task( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Option<Self::Task>>

Implementors§

Source§

impl ParallelStream for Never

Source§

impl<A, B, C, RefAItem> ParallelStream for Fork<A, B, C, RefAItem>
where A: ParallelStream, B: ParallelPipe<A::Item>, C: ParallelPipe<RefAItem>, RefAItem: 'static,

Source§

type Item = Sum2<<B as ParallelPipe<<A as ParallelStream>::Item>>::Output, <C as ParallelPipe<RefAItem>>::Output>

Source§

type Task = JoinTask<<A as ParallelStream>::Task, <B as ParallelPipe<<A as ParallelStream>::Item>>::Task, <C as ParallelPipe<RefAItem>>::Task, RefAItem>

Source§

impl<A: ParallelStream, B: ParallelPipe<A::Item>> ParallelStream for Pipe<A, B>

Source§

type Item = <B as ParallelPipe<<A as ParallelStream>::Item>>::Output

Source§

type Task = JoinTask<<A as ParallelStream>::Task, <B as ParallelPipe<<A as ParallelStream>::Item>>::Task>

Source§

impl<A: ParallelStream, B: ParallelStream<Item = A::Item>> ParallelStream for Chain<A, B>

Source§

impl<I: Iterator> ParallelStream for IterParStream<I>
where I::Item: Send + 'static,

Source§

impl<P, K, V1, V2> ParallelStream for InnerJoin<P, K, V1, V2>
where P: ParallelStream<Item = (K, V1)>, K: Eq + Hash + Clone + Send + 'static, V1: 'static, V2: Clone + Send + 'static,

Source§

impl<P, K, V1, V2> ParallelStream for LeftJoin<P, K, V1, V2>
where P: ParallelStream<Item = (K, V1)>, K: Eq + Hash + Clone + Send + 'static, V1: 'static, V2: Clone + Send + 'static,

Source§

type Item = (K, V1, ImplIter<V2>)

Source§

type Task = <MapSync<P, LeftJoinClosure<K, V1, V2>> as ParallelStream>::Task

Source§

impl<P: ParallelStream, F> ParallelStream for Filter<P, F>
where F: for<'a> FnMut<(&'a P::Item,), Output = bool> + Clone + Send + 'static,

Source§

impl<P: ParallelStream, F> ParallelStream for Inspect<P, F>
where F: for<'a> FnMut<(&'a P::Item,), Output = ()> + Clone + Send + 'static,

Source§

impl<P: ParallelStream, F> ParallelStream for Update<P, F>
where F: for<'a> FnMut<(&'a mut P::Item,), Output = ()> + Clone + Send + 'static,

Source§

impl<P: ParallelStream, F, R> ParallelStream for FilterMapSync<P, F>
where F: FnMut<(P::Item,), Output = Option<R>> + Clone + Send + 'static,

Source§

impl<P: ParallelStream, F, R> ParallelStream for Map<P, F>
where F: FnMut<(P::Item,), Output = R> + Clone + Send + 'static,

Source§

impl<P: ParallelStream, F, R> ParallelStream for MapSync<P, F>
where F: FnMut<(P::Item,), Output = R> + Clone + Send + 'static,

Source§

impl<P: ParallelStream, F, R: Iterator> ParallelStream for FlatMapSync<P, F>
where F: FnMut<(P::Item,), Output = R> + Clone + Send + 'static,

Source§

impl<P: ParallelStream, F, R: Stream> ParallelStream for FlatMap<P, F>
where F: FnMut<(P::Item,), Output = R> + Clone + Send + 'static,

Source§

impl<S> ParallelStream for DistParStream<S>