[−][src]Trait amadeus_core::dist_sink::FromDistributedStream
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>
Required methods
fn reducers() -> (Self::ReduceAFactory, Self::ReduceBFactory, Self::ReduceC)
Implementations on Foreign Types
impl<T> FromDistributedStream<T> for Vec<T> where
T: ProcessSend,
[src]
T: ProcessSend,
type ReduceAFactory = DefaultReduceFactory<Self::ReduceA>
type ReduceBFactory = DefaultReduceFactory<Self::ReduceB>
type ReduceA = PushReducer<T, Self>
type ReduceB = ExtendReducer<Self>
type ReduceC = ExtendReducer<Self>
fn reducers() -> (Self::ReduceAFactory, Self::ReduceBFactory, Self::ReduceC)
[src]
impl<T> FromDistributedStream<T> for VecDeque<T> where
T: ProcessSend,
[src]
T: ProcessSend,
type ReduceAFactory = DefaultReduceFactory<Self::ReduceA>
type ReduceBFactory = DefaultReduceFactory<Self::ReduceB>
type ReduceA = PushReducer<T, Vec<T>>
type ReduceB = ExtendReducer<Vec<T>>
type ReduceC = IntoReducer<ExtendReducer<Vec<T>>, Self>
fn reducers() -> (Self::ReduceAFactory, Self::ReduceBFactory, Self::ReduceC)
[src]
impl<T: Ord> FromDistributedStream<T> for BinaryHeap<T> where
T: ProcessSend,
[src]
T: ProcessSend,
type ReduceAFactory = DefaultReduceFactory<Self::ReduceA>
type ReduceBFactory = DefaultReduceFactory<Self::ReduceB>
type ReduceA = PushReducer<T, Vec<T>>
type ReduceB = ExtendReducer<Vec<T>>
type ReduceC = IntoReducer<ExtendReducer<Vec<T>>, Self>
fn reducers() -> (Self::ReduceAFactory, Self::ReduceBFactory, Self::ReduceC)
[src]
impl<T> FromDistributedStream<T> for LinkedList<T> where
T: ProcessSend,
[src]
T: ProcessSend,
type ReduceAFactory = DefaultReduceFactory<Self::ReduceA>
type ReduceBFactory = DefaultReduceFactory<Self::ReduceB>
type ReduceA = PushReducer<T, Self>
type ReduceB = ExtendReducer<Self>
type ReduceC = ExtendReducer<Self>
fn reducers() -> (Self::ReduceAFactory, Self::ReduceBFactory, Self::ReduceC)
[src]
impl<T, S> FromDistributedStream<T> for HashSet<T, S> where
T: Eq + Hash + ProcessSend,
S: BuildHasher + Default + Send + 'static,
[src]
T: Eq + Hash + ProcessSend,
S: BuildHasher + Default + Send + 'static,
type ReduceAFactory = DefaultReduceFactory<Self::ReduceA>
type ReduceBFactory = DefaultReduceFactory<Self::ReduceB>
type ReduceA = PushReducer<T, Self>
type ReduceB = ExtendReducer<Self>
type ReduceC = ExtendReducer<Self>
fn reducers() -> (Self::ReduceAFactory, Self::ReduceBFactory, Self::ReduceC)
[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]
K: Eq + Hash + ProcessSend,
V: ProcessSend,
S: BuildHasher + Default + Send + 'static,
type ReduceAFactory = DefaultReduceFactory<Self::ReduceA>
type ReduceBFactory = DefaultReduceFactory<Self::ReduceB>
type ReduceA = PushReducer<(K, V), Self>
type ReduceB = ExtendReducer<Self>
type ReduceC = ExtendReducer<Self>
fn reducers() -> (Self::ReduceAFactory, Self::ReduceBFactory, Self::ReduceC)
[src]
impl<T> FromDistributedStream<T> for BTreeSet<T> where
T: Ord + ProcessSend,
[src]
T: Ord + ProcessSend,
type ReduceAFactory = DefaultReduceFactory<Self::ReduceA>
type ReduceBFactory = DefaultReduceFactory<Self::ReduceB>
type ReduceA = PushReducer<T, Self>
type ReduceB = ExtendReducer<Self>
type ReduceC = ExtendReducer<Self>
fn reducers() -> (Self::ReduceAFactory, Self::ReduceBFactory, Self::ReduceC)
[src]
impl<K, V> FromDistributedStream<(K, V)> for BTreeMap<K, V> where
K: Ord + ProcessSend,
V: ProcessSend,
[src]
K: Ord + ProcessSend,
V: ProcessSend,
type ReduceAFactory = DefaultReduceFactory<Self::ReduceA>
type ReduceBFactory = DefaultReduceFactory<Self::ReduceB>
type ReduceA = PushReducer<(K, V), Self>
type ReduceB = ExtendReducer<Self>
type ReduceC = ExtendReducer<Self>
fn reducers() -> (Self::ReduceAFactory, Self::ReduceBFactory, Self::ReduceC)
[src]
impl FromDistributedStream<char> for String
[src]
type ReduceAFactory = DefaultReduceFactory<Self::ReduceA>
type ReduceBFactory = DefaultReduceFactory<Self::ReduceB>
type ReduceA = PushReducer<char, Self>
type ReduceB = PushReducer<Self>
type ReduceC = PushReducer<Self>
fn reducers() -> (Self::ReduceAFactory, Self::ReduceBFactory, Self::ReduceC)
[src]
impl FromDistributedStream<String> for String
[src]
type ReduceAFactory = DefaultReduceFactory<Self::ReduceA>
type ReduceBFactory = DefaultReduceFactory<Self::ReduceB>
type ReduceA = PushReducer<Self>
type ReduceB = PushReducer<Self>
type ReduceC = PushReducer<Self>
fn reducers() -> (Self::ReduceAFactory, Self::ReduceBFactory, Self::ReduceC)
[src]
impl FromDistributedStream<()> for ()
[src]
type ReduceAFactory = DefaultReduceFactory<Self::ReduceA>
type ReduceBFactory = DefaultReduceFactory<Self::ReduceB>
type ReduceA = PushReducer<Self>
type ReduceB = PushReducer<Self>
type ReduceC = PushReducer<Self>
fn reducers() -> (Self::ReduceAFactory, Self::ReduceBFactory, Self::ReduceC)
[src]
impl<T, C: FromDistributedStream<T>> FromDistributedStream<Option<T>> for Option<C>
[src]
type ReduceAFactory = OptionReduceFactory<C::ReduceAFactory>
type ReduceBFactory = OptionReduceFactory<C::ReduceBFactory>
type ReduceA = OptionReducer<C::ReduceA>
type ReduceB = OptionReducer<C::ReduceB>
type ReduceC = OptionReducer<C::ReduceC>
fn reducers() -> (Self::ReduceAFactory, Self::ReduceBFactory, Self::ReduceC)
[src]
impl<T, C: FromDistributedStream<T>, E> FromDistributedStream<Result<T, E>> for Result<C, E> where
E: ProcessSend,
[src]
E: ProcessSend,