[][src]Trait amadeus_core::dist_sink::FromDistributedStream

pub trait FromDistributedStream<T>: Sized {
    type ReduceAFactory: Factory<Item = Self::ReduceA> + Clone + ProcessSend;
    type ReduceBFactory: Factory<Item = Self::ReduceB>;
    type ReduceA: ReducerSend<Item = T> + ProcessSend;
    type ReduceB: ReducerProcessSend<Item = <Self::ReduceA as Reducer>::Output> + ProcessSend;
    type ReduceC: Reducer<Item = <Self::ReduceB as Reducer>::Output, Output = Self>;
    fn reducers() -> (Self::ReduceAFactory, Self::ReduceBFactory, Self::ReduceC);
}

Associated Types

type ReduceAFactory: Factory<Item = Self::ReduceA> + Clone + ProcessSend

type ReduceBFactory: Factory<Item = Self::ReduceB>

type ReduceA: ReducerSend<Item = T> + ProcessSend

type ReduceB: ReducerProcessSend<Item = <Self::ReduceA as Reducer>::Output> + ProcessSend

type ReduceC: Reducer<Item = <Self::ReduceB as Reducer>::Output, Output = Self>

Loading content...

Required methods

fn reducers() -> (Self::ReduceAFactory, Self::ReduceBFactory, Self::ReduceC)

Loading content...

Implementations on Foreign Types

impl<T> FromDistributedStream<T> for Vec<T> where
    T: ProcessSend
[src]

impl<T> FromDistributedStream<T> for VecDeque<T> where
    T: ProcessSend
[src]

impl<T: Ord> FromDistributedStream<T> for BinaryHeap<T> where
    T: ProcessSend
[src]

impl<T> FromDistributedStream<T> for LinkedList<T> where
    T: ProcessSend
[src]

impl<T, S> FromDistributedStream<T> for HashSet<T, S> where
    T: Eq + Hash + ProcessSend,
    S: BuildHasher + Default + Send + 'static, 
[src]

impl<K, V, S> FromDistributedStream<(K, V)> for HashMap<K, V, S> where
    K: Eq + Hash + ProcessSend,
    V: ProcessSend,
    S: BuildHasher + Default + Send + 'static, 
[src]

impl<T> FromDistributedStream<T> for BTreeSet<T> where
    T: Ord + ProcessSend
[src]

impl<K, V> FromDistributedStream<(K, V)> for BTreeMap<K, V> where
    K: Ord + ProcessSend,
    V: ProcessSend
[src]

impl FromDistributedStream<char> for String[src]

impl FromDistributedStream<String> for String[src]

impl FromDistributedStream<()> for ()[src]

impl<T, C: FromDistributedStream<T>> FromDistributedStream<Option<T>> for Option<C>[src]

impl<T, C: FromDistributedStream<T>, E> FromDistributedStream<Result<T, E>> for Result<C, E> where
    E: ProcessSend
[src]

Loading content...

Implementors

Loading content...