pub struct DistParStream<S>(/* private fields */);Implementations§
Source§impl<S> DistParStream<S>
impl<S> DistParStream<S>
Trait Implementations§
Source§impl<S> ParallelStream for DistParStream<S>where
S: DistributedStream,
impl<S> ParallelStream for DistParStream<S>where
S: DistributedStream,
type Item = <S as DistributedStream>::Item
type Task = <S as DistributedStream>::Task
fn size_hint(&self) -> (usize, Option<usize>)
fn next_task( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Option<Self::Task>>
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>
fn update<F>(self, f: F) -> Update<Self, F>
fn map<B, F>(self, f: F) -> Map<Self, F>
fn flat_map<B, F>(self, f: F) -> FlatMap<Self, F>
fn filter<F>(self, f: F) -> Filter<Self, F>
fn left_join<K, V1, V2>( self, right: impl IntoIterator<Item = (K, V2)>, ) -> LeftJoin<Self, K, V1, V2>
fn inner_join<K, V1, V2>( self, right: impl IntoIterator<Item = (K, V2)>, ) -> InnerJoin<Self, K, V1, V2>
fn chain<C>(self, chain: C) -> Chain<Self, C::ParStream>
fn for_each<'life0, 'async_trait, P, F>( self, pool: &'life0 P, f: F, ) -> Pin<Box<dyn Future<Output = ()> + '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>>
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>>
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>>
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>>
fn max<'life0, 'async_trait, P>( self, pool: &'life0 P, ) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + '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>>
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>>
fn min<'life0, 'async_trait, P>( self, pool: &'life0 P, ) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + '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>>
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>>
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>>
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>>
fn any<'life0, 'async_trait, P, F>( self, pool: &'life0 P, f: F, ) -> Pin<Box<dyn Future<Output = bool> + 'async_trait>>
impl<'pin, S> Unpin for DistParStream<S>where
__DistParStream<'pin, S>: Unpin,
impl<S> UnsafeUnpin for DistParStream<S>
Auto Trait Implementations§
impl<S> Freeze for DistParStream<S>where
S: Freeze,
impl<S> RefUnwindSafe for DistParStream<S>where
S: RefUnwindSafe,
impl<S> Send for DistParStream<S>where
S: Send,
impl<S> Sync for DistParStream<S>where
S: Sync,
impl<S> UnwindSafe for DistParStream<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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more