[−][src]Trait amadeus_core::par_stream::DistributedStream
Associated Types
type Item
type Task: StreamTask<Item = Self::Item> + ProcessSend
Required methods
Loading content...Provided methods
#[must_use]fn reduce<'life0, 'async_trait, P, B, R1, R2, R3>(
self,
pool: &'life0 P,
reduce_a_factory: R1,
reduce_b_factory: R2,
reduce_c: R3
) -> Pin<Box<dyn Future<Output = B> + 'async_trait>> where
P: ProcessPool,
R1: ReducerSend<Self::Item> + Clone + ProcessSend + 'static,
R2: ReducerProcessSend<<R1 as ReducerSend<Self::Item>>::Output> + Clone + ProcessSend + 'static,
R3: Reducer<<R2 as ReducerProcessSend<<R1 as ReducerSend<Self::Item>>::Output>>::Output, Output = B>,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
B: 'async_trait,
R1: 'async_trait,
R2: 'async_trait,
R3: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
self,
pool: &'life0 P,
reduce_a_factory: R1,
reduce_b_factory: R2,
reduce_c: R3
) -> Pin<Box<dyn Future<Output = B> + 'async_trait>> where
P: ProcessPool,
R1: ReducerSend<Self::Item> + Clone + ProcessSend + 'static,
R2: ReducerProcessSend<<R1 as ReducerSend<Self::Item>>::Output> + Clone + ProcessSend + 'static,
R3: Reducer<<R2 as ReducerProcessSend<<R1 as ReducerSend<Self::Item>>::Output>>::Output, Output = B>,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
B: 'async_trait,
R1: 'async_trait,
R2: 'async_trait,
R3: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn pipe<'life0, 'async_trait, P, DistSink, A>(
self,
pool: &'life0 P,
sink: DistSink
) -> Pin<Box<dyn Future<Output = A> + 'async_trait>> where
P: ProcessPool,
DistSink: DistributedSink<Self::Item, Output = A>,
<DistSink::Pipe as DistributedPipe<Self::Item>>::Task: 'static,
DistSink::ReduceA: 'static,
DistSink::ReduceB: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
DistSink: 'async_trait,
A: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
self,
pool: &'life0 P,
sink: DistSink
) -> Pin<Box<dyn Future<Output = A> + 'async_trait>> where
P: ProcessPool,
DistSink: DistributedSink<Self::Item, Output = A>,
<DistSink::Pipe as DistributedPipe<Self::Item>>::Task: 'static,
DistSink::ReduceA: 'static,
DistSink::ReduceB: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
DistSink: 'async_trait,
A: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn fork<'life0, 'async_trait, P, DistSinkA, DistSinkB, A, B>(
self,
pool: &'life0 P,
sink_a: DistSinkA,
sink_b: DistSinkB
) -> Pin<Box<dyn Future<Output = (A, B)> + 'async_trait>> where
P: ProcessPool,
DistSinkA: DistributedSink<Self::Item, Output = A>,
DistSinkB: for<'a> DistributedSink<&'a Self::Item, Output = B> + 'static,
<DistSinkA::Pipe as DistributedPipe<Self::Item>>::Task: 'static,
DistSinkA::ReduceA: 'static,
DistSinkA::ReduceB: 'static,
<DistSinkB as DistributedSink<&'static Self::Item>>::ReduceA: 'static,
<DistSinkB as DistributedSink<&'static Self::Item>>::ReduceB: 'static,
<<DistSinkB as DistributedSink<&'static Self::Item>>::Pipe as DistributedPipe<&'static Self::Item>>::Task: 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
DistSinkA: 'async_trait,
DistSinkB: 'async_trait,
A: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
self,
pool: &'life0 P,
sink_a: DistSinkA,
sink_b: DistSinkB
) -> Pin<Box<dyn Future<Output = (A, B)> + 'async_trait>> where
P: ProcessPool,
DistSinkA: DistributedSink<Self::Item, Output = A>,
DistSinkB: for<'a> DistributedSink<&'a Self::Item, Output = B> + 'static,
<DistSinkA::Pipe as DistributedPipe<Self::Item>>::Task: 'static,
DistSinkA::ReduceA: 'static,
DistSinkA::ReduceB: 'static,
<DistSinkB as DistributedSink<&'static Self::Item>>::ReduceA: 'static,
<DistSinkB as DistributedSink<&'static Self::Item>>::ReduceB: 'static,
<<DistSinkB as DistributedSink<&'static Self::Item>>::Pipe as DistributedPipe<&'static Self::Item>>::Task: 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
DistSinkA: 'async_trait,
DistSinkB: 'async_trait,
A: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn group_by<'life0, 'async_trait, P, S, A, B>(
self,
pool: &'life0 P,
sink: S
) -> Pin<Box<dyn Future<Output = HashMap<A, S::Output>> + 'async_trait>> where
P: ProcessPool,
A: Eq + Hash + ProcessSend + 'static,
B: 'static,
S: DistributedSink<B>,
<S::Pipe as DistributedPipe<B>>::Task: Clone + ProcessSend + 'static,
S::ReduceA: 'static,
S::ReduceB: 'static,
S::ReduceC: Clone,
S::Output: ProcessSend + 'static,
Self::Task: 'static,
Self: DistributedStream<Item = (A, B)> + Sized,
P: 'async_trait,
S: 'async_trait,
A: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
self,
pool: &'life0 P,
sink: S
) -> Pin<Box<dyn Future<Output = HashMap<A, S::Output>> + 'async_trait>> where
P: ProcessPool,
A: Eq + Hash + ProcessSend + 'static,
B: 'static,
S: DistributedSink<B>,
<S::Pipe as DistributedPipe<B>>::Task: Clone + ProcessSend + 'static,
S::ReduceA: 'static,
S::ReduceB: 'static,
S::ReduceC: Clone,
S::Output: ProcessSend + 'static,
Self::Task: 'static,
Self: DistributedStream<Item = (A, B)> + Sized,
P: 'async_trait,
S: 'async_trait,
A: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn collect<'life0, 'async_trait, P, B>(
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = B> + 'async_trait>> where
P: ProcessPool,
B: FromDistributedStream<Self::Item>,
B::ReduceA: ProcessSend + 'static,
B::ReduceB: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = B> + 'async_trait>> where
P: ProcessPool,
B: FromDistributedStream<Self::Item>,
B::ReduceA: ProcessSend + 'static,
B::ReduceB: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
fn inspect<F>(self, f: F) -> Inspect<Self, F> where
F: FnMut(&Self::Item) + Clone + ProcessSend + 'static,
Self: Sized,
F: FnMut(&Self::Item) + Clone + ProcessSend + 'static,
Self: Sized,
fn update<F>(self, f: F) -> Update<Self, F> where
F: FnMut(&mut Self::Item) + Clone + ProcessSend + 'static,
Self: Sized,
F: FnMut(&mut Self::Item) + Clone + ProcessSend + 'static,
Self: Sized,
fn map<B, F>(self, f: F) -> Map<Self, F> where
F: FnMut(Self::Item) -> B + Clone + ProcessSend + 'static,
Self: Sized,
F: FnMut(Self::Item) -> B + Clone + ProcessSend + 'static,
Self: Sized,
fn flat_map<B, F>(self, f: F) -> FlatMap<Self, F> where
F: FnMut(Self::Item) -> B + Clone + ProcessSend + 'static,
B: Stream,
Self: Sized,
F: FnMut(Self::Item) -> B + Clone + ProcessSend + 'static,
B: Stream,
Self: Sized,
fn filter<F>(self, f: F) -> Filter<Self, F> where
F: FnMut(&Self::Item) -> bool + Clone + ProcessSend + 'static,
Self: Sized,
F: FnMut(&Self::Item) -> bool + Clone + ProcessSend + 'static,
Self: Sized,
fn chain<C>(self, chain: C) -> Chain<Self, C::DistStream> where
C: IntoDistributedStream<Item = Self::Item>,
Self: Sized,
C: IntoDistributedStream<Item = Self::Item>,
Self: Sized,
#[must_use]fn for_each<'life0, 'async_trait, P, F>(
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>> where
P: ProcessPool,
F: FnMut(Self::Item) + Clone + ProcessSend + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>> where
P: ProcessPool,
F: FnMut(Self::Item) + Clone + ProcessSend + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]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: ProcessPool,
ID: FnMut() -> B + Clone + ProcessSend + 'static,
F: FnMut(B, Either<Self::Item, B>) -> B + Clone + ProcessSend + 'static,
B: ProcessSend + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
ID: 'async_trait,
F: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
self,
pool: &'life0 P,
identity: ID,
op: F
) -> Pin<Box<dyn Future<Output = B> + 'async_trait>> where
P: ProcessPool,
ID: FnMut() -> B + Clone + ProcessSend + 'static,
F: FnMut(B, Either<Self::Item, B>) -> B + Clone + ProcessSend + 'static,
B: ProcessSend + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
ID: 'async_trait,
F: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn histogram<'life0, 'async_trait, P>(
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = Vec<(Self::Item, usize)>> + 'async_trait>> where
P: ProcessPool,
Self::Item: Hash + Ord + ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = Vec<(Self::Item, usize)>> + 'async_trait>> where
P: ProcessPool,
Self::Item: Hash + Ord + ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn count<'life0, 'async_trait, P>(
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = usize> + 'async_trait>> where
P: ProcessPool,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = usize> + 'async_trait>> where
P: ProcessPool,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn sum<'life0, 'async_trait, P, S>(
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = S> + 'async_trait>> where
P: ProcessPool,
S: Sum<Self::Item> + Sum<S> + ProcessSend + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
S: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = S> + 'async_trait>> where
P: ProcessPool,
S: Sum<Self::Item> + Sum<S> + ProcessSend + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
S: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]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: ProcessPool,
F: FnMut(Self::Item, Self::Item) -> Self::Item + Clone + ProcessSend + 'static,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ProcessPool,
F: FnMut(Self::Item, Self::Item) -> Self::Item + Clone + ProcessSend + 'static,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn max<'life0, 'async_trait, P>(
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ProcessPool,
Self::Item: Ord + ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ProcessPool,
Self::Item: Ord + ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]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: ProcessPool,
F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + ProcessSend + 'static,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ProcessPool,
F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + ProcessSend + 'static,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]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: ProcessPool,
F: FnMut(&Self::Item) -> B + Clone + ProcessSend + 'static,
B: Ord + 'static,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ProcessPool,
F: FnMut(&Self::Item) -> B + Clone + ProcessSend + 'static,
B: Ord + 'static,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn min<'life0, 'async_trait, P>(
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ProcessPool,
Self::Item: Ord + ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ProcessPool,
Self::Item: Ord + ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]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: ProcessPool,
F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + ProcessSend + 'static,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ProcessPool,
F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + ProcessSend + 'static,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]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: ProcessPool,
F: FnMut(&Self::Item) -> B + Clone + ProcessSend + 'static,
B: Ord + 'static,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ProcessPool,
F: FnMut(&Self::Item) -> B + Clone + ProcessSend + 'static,
B: Ord + 'static,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]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: ProcessPool,
Self::Item: Hash + Eq + Clone + ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
self,
pool: &'life0 P,
n: usize,
probability: f64,
tolerance: f64
) -> Pin<Box<dyn Future<Output = Top<Self::Item, usize>> + 'async_trait>> where
P: ProcessPool,
Self::Item: Hash + Eq + Clone + ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]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: ProcessPool,
Self: DistributedStream<Item = (A, B)> + Sized,
A: Hash + Eq + Clone + ProcessSend + 'static,
B: Hash + 'static,
Self::Task: 'static,
P: 'async_trait,
A: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
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: ProcessPool,
Self: DistributedStream<Item = (A, B)> + Sized,
A: Hash + Eq + Clone + ProcessSend + 'static,
B: Hash + 'static,
Self::Task: 'static,
P: 'async_trait,
A: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]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: ProcessPool,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
self,
pool: &'life0 P,
samples: usize
) -> Pin<Box<dyn Future<Output = SampleUnstable<Self::Item>> + 'async_trait>> where
P: ProcessPool,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn all<'life0, 'async_trait, P, F>(
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = bool> + 'async_trait>> where
P: ProcessPool,
F: FnMut(Self::Item) -> bool + Clone + ProcessSend + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = bool> + 'async_trait>> where
P: ProcessPool,
F: FnMut(Self::Item) -> bool + Clone + ProcessSend + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn any<'life0, 'async_trait, P, F>(
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = bool> + 'async_trait>> where
P: ProcessPool,
F: FnMut(Self::Item) -> bool + Clone + ProcessSend + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = bool> + 'async_trait>> where
P: ProcessPool,
F: FnMut(Self::Item) -> bool + Clone + ProcessSend + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
Implementations on Foreign Types
impl<A: ParallelStream, B: ParallelStream<Item = A::Item>> DistributedStream for Sum2<A, B>
[src]
type Item = A::Item
type Task = Sum2<A::Task, B::Task>
fn size_hint(&self) -> (usize, Option<usize>)
[src]
fn next_task(&mut self) -> Option<Self::Task>
[src]
Implementors
impl DistributedStream for Never
[src]
type Item = Self
type Task = Self
fn size_hint(&self) -> (usize, Option<usize>)
[src]
fn next_task(&mut self) -> Option<Self::Task>
[src]
impl<A, B, C, RefAItem> DistributedStream for Fork<A, B, C, RefAItem> where
A: ParallelStream,
B: ParallelPipe<A::Item>,
C: ParallelPipe<RefAItem>,
RefAItem: 'static,
[src]
A: ParallelStream,
B: ParallelPipe<A::Item>,
C: ParallelPipe<RefAItem>,
RefAItem: 'static,
type Item = Sum2<B::Item, C::Item>
type Task = JoinTask<A::Task, B::Task, C::Task, RefAItem>
fn size_hint(&self) -> (usize, Option<usize>)
[src]
fn next_task(&mut self) -> Option<Self::Task>
[src]
impl<A: ParallelStream, B: ParallelPipe<A::Item>> DistributedStream for Pipe<A, B>
[src]
type Item = B::Item
type Task = JoinTask<A::Task, B::Task>
fn next_task(&mut self) -> Option<Self::Task>
[src]
fn size_hint(&self) -> (usize, Option<usize>)
[src]
impl<A: ParallelStream, B: ParallelStream<Item = A::Item>> DistributedStream for Chain<A, B>
[src]
type Item = A::Item
type Task = ChainTask<A::Task, B::Task>
fn size_hint(&self) -> (usize, Option<usize>)
[src]
fn next_task(&mut self) -> Option<Self::Task>
[src]
impl<I: ParallelStream, F> DistributedStream for Filter<I, F> where
F: for<'a> FnMut<(&'a I::Item,), Output = bool> + Clone + Send + 'static,
[src]
F: for<'a> FnMut<(&'a I::Item,), Output = bool> + Clone + Send + 'static,
type Item = I::Item
type Task = FilterTask<I::Task, F>
fn size_hint(&self) -> (usize, Option<usize>)
[src]
fn next_task(&mut self) -> Option<Self::Task>
[src]
impl<I: ParallelStream, F> DistributedStream for Inspect<I, F> where
F: for<'a> FnMut<(&'a I::Item,), Output = ()> + Clone + Send + 'static,
[src]
F: for<'a> FnMut<(&'a I::Item,), Output = ()> + Clone + Send + 'static,
type Item = I::Item
type Task = InspectTask<I::Task, F>
fn size_hint(&self) -> (usize, Option<usize>)
[src]
fn next_task(&mut self) -> Option<Self::Task>
[src]
impl<I: ParallelStream, F> DistributedStream for Update<I, F> where
F: for<'a> FnMut<(&'a mut I::Item,), Output = ()> + Clone + Send + 'static,
[src]
F: for<'a> FnMut<(&'a mut I::Item,), Output = ()> + Clone + Send + 'static,
type Item = I::Item
type Task = UpdateTask<I::Task, F>
fn size_hint(&self) -> (usize, Option<usize>)
[src]
fn next_task(&mut self) -> Option<Self::Task>
[src]
impl<I: ParallelStream, F, R> DistributedStream for Map<I, F> where
F: FnMut<(I::Item,), Output = R> + Clone + Send + 'static,
[src]
F: FnMut<(I::Item,), Output = R> + Clone + Send + 'static,
type Item = R
type Task = MapTask<I::Task, F>
fn size_hint(&self) -> (usize, Option<usize>)
[src]
fn next_task(&mut self) -> Option<Self::Task>
[src]
impl<I: ParallelStream, F, R: Stream> DistributedStream for FlatMap<I, F> where
F: FnMut<(I::Item,), Output = R> + Clone + Send + 'static,
[src]
F: FnMut<(I::Item,), Output = R> + Clone + Send + 'static,
type Item = R::Item
type Task = FlatMapTask<I::Task, F>
fn size_hint(&self) -> (usize, Option<usize>)
[src]
fn next_task(&mut self) -> Option<Self::Task>
[src]
impl<I: Iterator> DistributedStream for IterDistStream<I> where
I::Item: ProcessSend + 'static,
[src]
I::Item: ProcessSend + 'static,