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