[]Trait amadeus::par_stream::DistributedStream

#[must_use]pub trait DistributedStream where
    <Self::Task as StreamTask>::Item == Self::Item
{ type Item; type Task: StreamTask + ProcessSend; fn next_task(
        self: Pin<&mut Self>,
        cx: &mut Context<'_>
    ) -> Poll<Option<Self::Task>>;
fn size_hint(&self) -> (usize, Option<usize>); #[must_use] fn reduce<'life0, 'async_trait, P, B, R1, R2, R3>(
        self,
        pool: &'life0 P,
        reduce_a: R1,
        reduce_b: 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>>::Done> + Clone + ProcessSend + 'static + 'async_trait,
        R3: Reducer<<R2 as ReducerProcessSend<<R1 as ReducerSend<Self::Item>>::Done>>::Done, Done = 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, Done = 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, Done = A> + 'async_trait,
        DistSinkB: for<'a> DistributedSink<&'a Self::Item, Done = 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 group_by<'life0, 'async_trait, P, S, A, B>(
        self,
        pool: &'life0 P,
        sink: S
    ) -> Pin<Box<dyn Future<Output = IndexMap<A, <S as DistributedSink<B>>::Done, 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>>::Done: ProcessSend,
        <S as DistributedSink<B>>::Done: '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
, { ... }
fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where
        F: FnMut<(&Self::Item,), Output = ()> + Clone + ProcessSend + 'static
, { ... }
fn update<F>(self, f: F) -> Update<Self, F>
    where
        F: FnMut<(&mut Self::Item,), Output = ()> + Clone + ProcessSend + 'static
, { ... }
fn map<B, F>(self, f: F) -> Map<Self, F>
    where
        F: FnMut<(Self::Item,), Output = B> + Clone + ProcessSend + 'static
, { ... }
fn flat_map<B, F>(self, f: F) -> FlatMap<Self, F>
    where
        B: Stream,
        F: FnMut<(Self::Item,), Output = B> + Clone + ProcessSend + 'static
, { ... }
fn filter<F>(self, f: F) -> Filter<Self, F>
    where
        F: FnMut<(&Self::Item,), Output = bool> + Clone + ProcessSend + 'static
, { ... }
fn left_join<K, V1, V2>(
        self,
        right: impl IntoIterator<Item = (K, V2)>
    ) -> LeftJoin<Self, K, V1, V2>
    where
        K: Eq + Hash + Clone + ProcessSend + 'static,
        Self: DistributedStream<Item = (K, V1)>,
        V1: 'static,
        V2: Clone + ProcessSend + 'static
, { ... }
fn inner_join<K, V1, V2>(
        self,
        right: impl IntoIterator<Item = (K, V2)>
    ) -> InnerJoin<Self, K, V1, V2>
    where
        K: Eq + Hash + Clone + ProcessSend + 'static,
        Self: DistributedStream<Item = (K, V1)>,
        V1: 'static,
        V2: Clone + ProcessSend + 'static
, { ... }
fn chain<C>(
        self,
        chain: C
    ) -> Chain<Self, <C as IntoDistributedStream>::DistStream>
    where
        C: IntoDistributedStream<Item = Self::Item>
, { ... }
#[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,), Output = ()> + 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>), Output = B> + Clone + ProcessSend + 'static + 'async_trait,
        ID: FnMut<(), Output = B> + Clone + ProcessSend + 'static + 'async_trait,
        P: ProcessPool + 'async_trait,
        Self: 'async_trait,
        Self::Item: '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
, { ... }
#[must_use] 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
        'life0: 'async_trait,
        F: Fn<(&Self::Item, &Self::Item), Output = Ordering> + Clone + ProcessSend + 'static + 'async_trait,
        P: ProcessPool + 'async_trait,
        Self: 'async_trait,
        Self::Item: Clone,
        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
, { ... }
#[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
, { ... }
#[must_use] fn mean<'life0, 'async_trait, P>(
        self,
        pool: &'life0 P
    ) -> Pin<Box<dyn Future<Output = f64> + 'async_trait>>
    where
        'life0: 'async_trait,
        P: ProcessPool + 'async_trait,
        Self: DistributedStream<Item = f64> + 'async_trait,
        Self::Item: 'static,
        Self::Task: 'static
, { ... }
#[must_use] fn stddev<'life0, 'async_trait, P>(
        self,
        pool: &'life0 P
    ) -> Pin<Box<dyn Future<Output = f64> + 'async_trait>>
    where
        'life0: 'async_trait,
        P: ProcessPool + 'async_trait,
        Self: DistributedStream<Item = f64> + '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), Output = 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
, { ... }
#[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), Output = 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,), Output = 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
, { ... }
#[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), Output = 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,), Output = 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
, { ... }
#[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
, { ... }
#[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
, { ... }
#[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,), Output = 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,), Output = bool> + Clone + ProcessSend + 'static + 'async_trait,
        P: ProcessPool + 'async_trait,
        Self: 'async_trait,
        Self::Item: 'static,
        Self::Task: 'static
, { ... } }

Associated Types

Loading content...

Required methods

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

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

Loading content...

Provided methods

#[must_use]fn reduce<'life0, 'async_trait, P, B, R1, R2, R3>(
    self,
    pool: &'life0 P,
    reduce_a: R1,
    reduce_b: 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>>::Done> + Clone + ProcessSend + 'static + 'async_trait,
    R3: Reducer<<R2 as ReducerProcessSend<<R1 as ReducerSend<Self::Item>>::Done>>::Done, Done = 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, Done = 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, Done = A> + 'async_trait,
    DistSinkB: for<'a> DistributedSink<&'a Self::Item, Done = 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 group_by<'life0, 'async_trait, P, S, A, B>(
    self,
    pool: &'life0 P,
    sink: S
) -> Pin<Box<dyn Future<Output = IndexMap<A, <S as DistributedSink<B>>::Done, 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>>::Done: ProcessSend,
    <S as DistributedSink<B>>::Done: '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, 

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

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

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

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

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

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

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

fn chain<C>(
    self,
    chain: C
) -> Chain<Self, <C as IntoDistributedStream>::DistStream> where
    C: IntoDistributedStream<Item = Self::Item>, 

#[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,), Output = ()> + 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>), Output = B> + Clone + ProcessSend + 'static + 'async_trait,
    ID: FnMut<(), Output = B> + Clone + ProcessSend + 'static + 'async_trait,
    P: ProcessPool + 'async_trait,
    Self: 'async_trait,
    Self::Item: '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, 

#[must_use]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
    'life0: 'async_trait,
    F: Fn<(&Self::Item, &Self::Item), Output = Ordering> + Clone + ProcessSend + 'static + 'async_trait,
    P: ProcessPool + 'async_trait,
    Self: 'async_trait,
    Self::Item: Clone,
    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, 

#[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, 

#[must_use]fn mean<'life0, 'async_trait, P>(
    self,
    pool: &'life0 P
) -> Pin<Box<dyn Future<Output = f64> + 'async_trait>> where
    'life0: 'async_trait,
    P: ProcessPool + 'async_trait,
    Self: DistributedStream<Item = f64> + 'async_trait,
    Self::Item: 'static,
    Self::Task: 'static, 

#[must_use]fn stddev<'life0, 'async_trait, P>(
    self,
    pool: &'life0 P
) -> Pin<Box<dyn Future<Output = f64> + 'async_trait>> where
    'life0: 'async_trait,
    P: ProcessPool + 'async_trait,
    Self: DistributedStream<Item = f64> + '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), Output = 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, 

#[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), Output = 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,), Output = 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, 

#[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), Output = 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,), Output = 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, 

#[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, 

#[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, 

#[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,), Output = 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,), Output = bool> + Clone + ProcessSend + 'static + 'async_trait,
    P: ProcessPool + 'async_trait,
    Self: 'async_trait,
    Self::Item: 'static,
    Self::Task: 'static, 

Loading content...

Implementations on Foreign Types

impl<A, B> DistributedStream for Sum2<A, B> where
    A: DistributedStream,
    B: DistributedStream<Item = <A as DistributedStream>::Item>, 
[src]

type Item = <A as DistributedStream>::Item

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

Loading content...

Implementors

impl DistributedStream for Never[src]

type Item = Never

type Task = Never

impl<A, B> DistributedStream for Pipe<A, B> where
    A: DistributedStream,
    B: DistributedPipe<<A as DistributedStream>::Item>, 
[src]

type Item = <B as DistributedPipe<<A as DistributedStream>::Item>>::Output

type Task = JoinTask<<A as DistributedStream>::Task, <B as DistributedPipe<<A as DistributedStream>::Item>>::Task>

impl<A, B> DistributedStream for Chain<A, B> where
    A: DistributedStream,
    B: DistributedStream<Item = <A as DistributedStream>::Item>, 
[src]

type Item = <A as DistributedStream>::Item

type Task = ChainTask<<A as DistributedStream>::Task, <B as DistributedStream>::Task>

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]

type Item = Sum2<<B as DistributedPipe<<A as DistributedStream>::Item>>::Output, <C as DistributedPipe<RefAItem>>::Output>

type Task = JoinTask<<A as DistributedStream>::Task, <B as DistributedPipe<<A as DistributedStream>::Item>>::Task, <C as DistributedPipe<RefAItem>>::Task, RefAItem>

impl<I> DistributedStream for IterDistStream<I> where
    I: Iterator,
    <I as Iterator>::Item: ProcessSend,
    <I as Iterator>::Item: 'static, 
[src]

type Item = <I as Iterator>::Item

type Task = IterStreamTask<<I as Iterator>::Item>

impl<I, T, E, U> DistributedStream for IntoStream<I, U> where
    I: DistributedStream<Item = Result<T, E>>,
    T: Into<U>,
    U: 'static, 
[src]

type Item = Result<U, E>

type Task = IntoTask<I::Task, U>

impl<P, F> DistributedStream for Filter<P, F> where
    F: for<'a> FnMut<(&'a <P as DistributedStream>::Item,), Output = bool> + Clone + ProcessSend + 'static,
    P: DistributedStream
[src]

type Item = <P as DistributedStream>::Item

type Task = FilterTask<<P as DistributedStream>::Task, F>

impl<P, F> DistributedStream for Inspect<P, F> where
    F: for<'a> FnMut<(&'a <P as DistributedStream>::Item,), Output = ()> + Clone + ProcessSend + 'static,
    P: DistributedStream
[src]

type Item = <P as DistributedStream>::Item

type Task = InspectTask<<P as DistributedStream>::Task, F>

impl<P, F> DistributedStream for Update<P, F> where
    F: for<'a> FnMut<(&'a mut <P as DistributedStream>::Item,), Output = ()> + Clone + ProcessSend + 'static,
    P: DistributedStream
[src]

type Item = <P as DistributedStream>::Item

type Task = UpdateTask<<P as DistributedStream>::Task, F>

impl<P, F, R> DistributedStream for FilterMapSync<P, F> where
    F: FnMut<(<P as DistributedStream>::Item,), Output = Option<R>> + Clone + ProcessSend + 'static,
    P: DistributedStream
[src]

type Item = R

type Task = FilterMapSyncTask<<P as DistributedStream>::Task, F>

impl<P, F, R> DistributedStream for FlatMap<P, F> where
    F: FnMut<(<P as DistributedStream>::Item,), Output = R> + Clone + ProcessSend + 'static,
    P: DistributedStream,
    R: Stream
[src]

type Item = <R as Stream>::Item

type Task = FlatMapTask<<P as DistributedStream>::Task, F>

impl<P, F, R> DistributedStream for FlatMapSync<P, F> where
    F: FnMut<(<P as DistributedStream>::Item,), Output = R> + Clone + ProcessSend + 'static,
    P: DistributedStream,
    R: Iterator
[src]

type Item = <R as Iterator>::Item

type Task = FlatMapSyncTask<<P as DistributedStream>::Task, F>

impl<P, F, R> DistributedStream for Map<P, F> where
    F: FnMut<(<P as DistributedStream>::Item,), Output = R> + Clone + ProcessSend + 'static,
    P: DistributedStream
[src]

type Item = R

type Task = MapTask<<P as DistributedStream>::Task, F>

impl<P, F, R> DistributedStream for MapSync<P, F> where
    F: FnMut<(<P as DistributedStream>::Item,), Output = R> + Clone + ProcessSend + 'static,
    P: DistributedStream
[src]

type Item = R

type Task = MapSyncTask<<P as DistributedStream>::Task, F>

impl<P, K, V1, V2> DistributedStream for InnerJoin<P, K, V1, V2> where
    K: Eq + Hash + Clone + ProcessSend + 'static,
    P: DistributedStream<Item = (K, V1)>,
    V1: 'static,
    V2: Clone + ProcessSend + 'static, 
[src]

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

type Task = <FilterMapSync<P, InnerJoinClosure<K, V1, V2>> as DistributedStream>::Task

impl<P, K, V1, V2> DistributedStream for LeftJoin<P, K, V1, V2> where
    K: Eq + Hash + Clone + ProcessSend + 'static,
    P: DistributedStream<Item = (K, V1)>,
    V1: 'static,
    V2: Clone + ProcessSend + 'static, 
[src]

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

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

Loading content...