[−][src]Trait amadeus::par_sink::DistributedSink
Associated Types
type Output
type Pipe: DistributedPipe<Source>
type ReduceAFactory: Factory + ProcessSend + Clone
type ReduceBFactory: Factory
type ReduceA: ReducerSend + Send
type ReduceB: ReducerProcessSend + ProcessSend
type ReduceC: Reducer
Required methods
fn reducers(
self
) -> (Self::Pipe, Self::ReduceAFactory, Self::ReduceBFactory, Self::ReduceC)
self
) -> (Self::Pipe, Self::ReduceAFactory, Self::ReduceBFactory, Self::ReduceC)
Implementations on Foreign Types
impl<Source, R0, R1, R2, R3, O0, O1, O2, O3> DistributedSink<Source> for (R0, R1, R2, R3) where
R0: DistributedSink<Source, Output = O0>,
R1: DistributedSink<Source, Output = O1>,
R2: DistributedSink<Source, Output = O2>,
R3: DistributedSink<Source, Output = O3>,
Source: Copy,
[src]
R0: DistributedSink<Source, Output = O0>,
R1: DistributedSink<Source, Output = O1>,
R2: DistributedSink<Source, Output = O2>,
R3: DistributedSink<Source, Output = O3>,
Source: Copy,
type Output = (O0, O1, O2, O3)
type Pipe = (<R0 as DistributedSink<Source>>::Pipe, <R1 as DistributedSink<Source>>::Pipe, <R2 as DistributedSink<Source>>::Pipe, <R3 as DistributedSink<Source>>::Pipe)
type ReduceAFactory = ReduceA4Factory<<R0 as DistributedSink<Source>>::ReduceAFactory, <R1 as DistributedSink<Source>>::ReduceAFactory, <R2 as DistributedSink<Source>>::ReduceAFactory, <R3 as DistributedSink<Source>>::ReduceAFactory>
type ReduceBFactory = ReduceC4Factory<<R0 as DistributedSink<Source>>::ReduceBFactory, <R1 as DistributedSink<Source>>::ReduceBFactory, <R2 as DistributedSink<Source>>::ReduceBFactory, <R3 as DistributedSink<Source>>::ReduceBFactory>
type ReduceA = ReduceA4<<R0 as DistributedSink<Source>>::ReduceA, <R1 as DistributedSink<Source>>::ReduceA, <R2 as DistributedSink<Source>>::ReduceA, <R3 as DistributedSink<Source>>::ReduceA>
type ReduceB = ReduceC4<<R0 as DistributedSink<Source>>::ReduceB, <R1 as DistributedSink<Source>>::ReduceB, <R2 as DistributedSink<Source>>::ReduceB, <R3 as DistributedSink<Source>>::ReduceB>
type ReduceC = ReduceC4<<R0 as DistributedSink<Source>>::ReduceC, <R1 as DistributedSink<Source>>::ReduceC, <R2 as DistributedSink<Source>>::ReduceC, <R3 as DistributedSink<Source>>::ReduceC>
fn reducers(
self
) -> (<(R0, R1, R2, R3) as DistributedSink<Source>>::Pipe, <(R0, R1, R2, R3) as DistributedSink<Source>>::ReduceAFactory, <(R0, R1, R2, R3) as DistributedSink<Source>>::ReduceBFactory, <(R0, R1, R2, R3) as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (<(R0, R1, R2, R3) as DistributedSink<Source>>::Pipe, <(R0, R1, R2, R3) as DistributedSink<Source>>::ReduceAFactory, <(R0, R1, R2, R3) as DistributedSink<Source>>::ReduceBFactory, <(R0, R1, R2, R3) as DistributedSink<Source>>::ReduceC)
impl<Source, R0, R1, R2, R3, R4, R5, R6, R7, O0, O1, O2, O3, O4, O5, O6, O7> DistributedSink<Source> for (R0, R1, R2, R3, R4, R5, R6, R7) where
R0: DistributedSink<Source, Output = O0>,
R1: DistributedSink<Source, Output = O1>,
R2: DistributedSink<Source, Output = O2>,
R3: DistributedSink<Source, Output = O3>,
R4: DistributedSink<Source, Output = O4>,
R5: DistributedSink<Source, Output = O5>,
R6: DistributedSink<Source, Output = O6>,
R7: DistributedSink<Source, Output = O7>,
Source: Copy,
[src]
R0: DistributedSink<Source, Output = O0>,
R1: DistributedSink<Source, Output = O1>,
R2: DistributedSink<Source, Output = O2>,
R3: DistributedSink<Source, Output = O3>,
R4: DistributedSink<Source, Output = O4>,
R5: DistributedSink<Source, Output = O5>,
R6: DistributedSink<Source, Output = O6>,
R7: DistributedSink<Source, Output = O7>,
Source: Copy,
type Output = (O0, O1, O2, O3, O4, O5, O6, O7)
type Pipe = (<R0 as DistributedSink<Source>>::Pipe, <R1 as DistributedSink<Source>>::Pipe, <R2 as DistributedSink<Source>>::Pipe, <R3 as DistributedSink<Source>>::Pipe, <R4 as DistributedSink<Source>>::Pipe, <R5 as DistributedSink<Source>>::Pipe, <R6 as DistributedSink<Source>>::Pipe, <R7 as DistributedSink<Source>>::Pipe)
type ReduceAFactory = ReduceA8Factory<<R0 as DistributedSink<Source>>::ReduceAFactory, <R1 as DistributedSink<Source>>::ReduceAFactory, <R2 as DistributedSink<Source>>::ReduceAFactory, <R3 as DistributedSink<Source>>::ReduceAFactory, <R4 as DistributedSink<Source>>::ReduceAFactory, <R5 as DistributedSink<Source>>::ReduceAFactory, <R6 as DistributedSink<Source>>::ReduceAFactory, <R7 as DistributedSink<Source>>::ReduceAFactory>
type ReduceBFactory = ReduceC8Factory<<R0 as DistributedSink<Source>>::ReduceBFactory, <R1 as DistributedSink<Source>>::ReduceBFactory, <R2 as DistributedSink<Source>>::ReduceBFactory, <R3 as DistributedSink<Source>>::ReduceBFactory, <R4 as DistributedSink<Source>>::ReduceBFactory, <R5 as DistributedSink<Source>>::ReduceBFactory, <R6 as DistributedSink<Source>>::ReduceBFactory, <R7 as DistributedSink<Source>>::ReduceBFactory>
type ReduceA = ReduceA8<<R0 as DistributedSink<Source>>::ReduceA, <R1 as DistributedSink<Source>>::ReduceA, <R2 as DistributedSink<Source>>::ReduceA, <R3 as DistributedSink<Source>>::ReduceA, <R4 as DistributedSink<Source>>::ReduceA, <R5 as DistributedSink<Source>>::ReduceA, <R6 as DistributedSink<Source>>::ReduceA, <R7 as DistributedSink<Source>>::ReduceA>
type ReduceB = ReduceC8<<R0 as DistributedSink<Source>>::ReduceB, <R1 as DistributedSink<Source>>::ReduceB, <R2 as DistributedSink<Source>>::ReduceB, <R3 as DistributedSink<Source>>::ReduceB, <R4 as DistributedSink<Source>>::ReduceB, <R5 as DistributedSink<Source>>::ReduceB, <R6 as DistributedSink<Source>>::ReduceB, <R7 as DistributedSink<Source>>::ReduceB>
type ReduceC = ReduceC8<<R0 as DistributedSink<Source>>::ReduceC, <R1 as DistributedSink<Source>>::ReduceC, <R2 as DistributedSink<Source>>::ReduceC, <R3 as DistributedSink<Source>>::ReduceC, <R4 as DistributedSink<Source>>::ReduceC, <R5 as DistributedSink<Source>>::ReduceC, <R6 as DistributedSink<Source>>::ReduceC, <R7 as DistributedSink<Source>>::ReduceC>
fn reducers(
self
) -> (<(R0, R1, R2, R3, R4, R5, R6, R7) as DistributedSink<Source>>::Pipe, <(R0, R1, R2, R3, R4, R5, R6, R7) as DistributedSink<Source>>::ReduceAFactory, <(R0, R1, R2, R3, R4, R5, R6, R7) as DistributedSink<Source>>::ReduceBFactory, <(R0, R1, R2, R3, R4, R5, R6, R7) as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (<(R0, R1, R2, R3, R4, R5, R6, R7) as DistributedSink<Source>>::Pipe, <(R0, R1, R2, R3, R4, R5, R6, R7) as DistributedSink<Source>>::ReduceAFactory, <(R0, R1, R2, R3, R4, R5, R6, R7) as DistributedSink<Source>>::ReduceBFactory, <(R0, R1, R2, R3, R4, R5, R6, R7) as DistributedSink<Source>>::ReduceC)
impl<Source, R0, R1, R2, R3, R4, O0, O1, O2, O3, O4> DistributedSink<Source> for (R0, R1, R2, R3, R4) where
R0: DistributedSink<Source, Output = O0>,
R1: DistributedSink<Source, Output = O1>,
R2: DistributedSink<Source, Output = O2>,
R3: DistributedSink<Source, Output = O3>,
R4: DistributedSink<Source, Output = O4>,
Source: Copy,
[src]
R0: DistributedSink<Source, Output = O0>,
R1: DistributedSink<Source, Output = O1>,
R2: DistributedSink<Source, Output = O2>,
R3: DistributedSink<Source, Output = O3>,
R4: DistributedSink<Source, Output = O4>,
Source: Copy,
type Output = (O0, O1, O2, O3, O4)
type Pipe = (<R0 as DistributedSink<Source>>::Pipe, <R1 as DistributedSink<Source>>::Pipe, <R2 as DistributedSink<Source>>::Pipe, <R3 as DistributedSink<Source>>::Pipe, <R4 as DistributedSink<Source>>::Pipe)
type ReduceAFactory = ReduceA5Factory<<R0 as DistributedSink<Source>>::ReduceAFactory, <R1 as DistributedSink<Source>>::ReduceAFactory, <R2 as DistributedSink<Source>>::ReduceAFactory, <R3 as DistributedSink<Source>>::ReduceAFactory, <R4 as DistributedSink<Source>>::ReduceAFactory>
type ReduceBFactory = ReduceC5Factory<<R0 as DistributedSink<Source>>::ReduceBFactory, <R1 as DistributedSink<Source>>::ReduceBFactory, <R2 as DistributedSink<Source>>::ReduceBFactory, <R3 as DistributedSink<Source>>::ReduceBFactory, <R4 as DistributedSink<Source>>::ReduceBFactory>
type ReduceA = ReduceA5<<R0 as DistributedSink<Source>>::ReduceA, <R1 as DistributedSink<Source>>::ReduceA, <R2 as DistributedSink<Source>>::ReduceA, <R3 as DistributedSink<Source>>::ReduceA, <R4 as DistributedSink<Source>>::ReduceA>
type ReduceB = ReduceC5<<R0 as DistributedSink<Source>>::ReduceB, <R1 as DistributedSink<Source>>::ReduceB, <R2 as DistributedSink<Source>>::ReduceB, <R3 as DistributedSink<Source>>::ReduceB, <R4 as DistributedSink<Source>>::ReduceB>
type ReduceC = ReduceC5<<R0 as DistributedSink<Source>>::ReduceC, <R1 as DistributedSink<Source>>::ReduceC, <R2 as DistributedSink<Source>>::ReduceC, <R3 as DistributedSink<Source>>::ReduceC, <R4 as DistributedSink<Source>>::ReduceC>
fn reducers(
self
) -> (<(R0, R1, R2, R3, R4) as DistributedSink<Source>>::Pipe, <(R0, R1, R2, R3, R4) as DistributedSink<Source>>::ReduceAFactory, <(R0, R1, R2, R3, R4) as DistributedSink<Source>>::ReduceBFactory, <(R0, R1, R2, R3, R4) as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (<(R0, R1, R2, R3, R4) as DistributedSink<Source>>::Pipe, <(R0, R1, R2, R3, R4) as DistributedSink<Source>>::ReduceAFactory, <(R0, R1, R2, R3, R4) as DistributedSink<Source>>::ReduceBFactory, <(R0, R1, R2, R3, R4) as DistributedSink<Source>>::ReduceC)
impl<Source, R0, R1, R2, O0, O1, O2> DistributedSink<Source> for (R0, R1, R2) where
R0: DistributedSink<Source, Output = O0>,
R1: DistributedSink<Source, Output = O1>,
R2: DistributedSink<Source, Output = O2>,
Source: Copy,
[src]
R0: DistributedSink<Source, Output = O0>,
R1: DistributedSink<Source, Output = O1>,
R2: DistributedSink<Source, Output = O2>,
Source: Copy,
type Output = (O0, O1, O2)
type Pipe = (<R0 as DistributedSink<Source>>::Pipe, <R1 as DistributedSink<Source>>::Pipe, <R2 as DistributedSink<Source>>::Pipe)
type ReduceAFactory = ReduceA3Factory<<R0 as DistributedSink<Source>>::ReduceAFactory, <R1 as DistributedSink<Source>>::ReduceAFactory, <R2 as DistributedSink<Source>>::ReduceAFactory>
type ReduceBFactory = ReduceC3Factory<<R0 as DistributedSink<Source>>::ReduceBFactory, <R1 as DistributedSink<Source>>::ReduceBFactory, <R2 as DistributedSink<Source>>::ReduceBFactory>
type ReduceA = ReduceA3<<R0 as DistributedSink<Source>>::ReduceA, <R1 as DistributedSink<Source>>::ReduceA, <R2 as DistributedSink<Source>>::ReduceA>
type ReduceB = ReduceC3<<R0 as DistributedSink<Source>>::ReduceB, <R1 as DistributedSink<Source>>::ReduceB, <R2 as DistributedSink<Source>>::ReduceB>
type ReduceC = ReduceC3<<R0 as DistributedSink<Source>>::ReduceC, <R1 as DistributedSink<Source>>::ReduceC, <R2 as DistributedSink<Source>>::ReduceC>
fn reducers(
self
) -> (<(R0, R1, R2) as DistributedSink<Source>>::Pipe, <(R0, R1, R2) as DistributedSink<Source>>::ReduceAFactory, <(R0, R1, R2) as DistributedSink<Source>>::ReduceBFactory, <(R0, R1, R2) as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (<(R0, R1, R2) as DistributedSink<Source>>::Pipe, <(R0, R1, R2) as DistributedSink<Source>>::ReduceAFactory, <(R0, R1, R2) as DistributedSink<Source>>::ReduceBFactory, <(R0, R1, R2) as DistributedSink<Source>>::ReduceC)
impl<Source, R0, R1, R2, R3, R4, R5, O0, O1, O2, O3, O4, O5> DistributedSink<Source> for (R0, R1, R2, R3, R4, R5) where
R0: DistributedSink<Source, Output = O0>,
R1: DistributedSink<Source, Output = O1>,
R2: DistributedSink<Source, Output = O2>,
R3: DistributedSink<Source, Output = O3>,
R4: DistributedSink<Source, Output = O4>,
R5: DistributedSink<Source, Output = O5>,
Source: Copy,
[src]
R0: DistributedSink<Source, Output = O0>,
R1: DistributedSink<Source, Output = O1>,
R2: DistributedSink<Source, Output = O2>,
R3: DistributedSink<Source, Output = O3>,
R4: DistributedSink<Source, Output = O4>,
R5: DistributedSink<Source, Output = O5>,
Source: Copy,
type Output = (O0, O1, O2, O3, O4, O5)
type Pipe = (<R0 as DistributedSink<Source>>::Pipe, <R1 as DistributedSink<Source>>::Pipe, <R2 as DistributedSink<Source>>::Pipe, <R3 as DistributedSink<Source>>::Pipe, <R4 as DistributedSink<Source>>::Pipe, <R5 as DistributedSink<Source>>::Pipe)
type ReduceAFactory = ReduceA6Factory<<R0 as DistributedSink<Source>>::ReduceAFactory, <R1 as DistributedSink<Source>>::ReduceAFactory, <R2 as DistributedSink<Source>>::ReduceAFactory, <R3 as DistributedSink<Source>>::ReduceAFactory, <R4 as DistributedSink<Source>>::ReduceAFactory, <R5 as DistributedSink<Source>>::ReduceAFactory>
type ReduceBFactory = ReduceC6Factory<<R0 as DistributedSink<Source>>::ReduceBFactory, <R1 as DistributedSink<Source>>::ReduceBFactory, <R2 as DistributedSink<Source>>::ReduceBFactory, <R3 as DistributedSink<Source>>::ReduceBFactory, <R4 as DistributedSink<Source>>::ReduceBFactory, <R5 as DistributedSink<Source>>::ReduceBFactory>
type ReduceA = ReduceA6<<R0 as DistributedSink<Source>>::ReduceA, <R1 as DistributedSink<Source>>::ReduceA, <R2 as DistributedSink<Source>>::ReduceA, <R3 as DistributedSink<Source>>::ReduceA, <R4 as DistributedSink<Source>>::ReduceA, <R5 as DistributedSink<Source>>::ReduceA>
type ReduceB = ReduceC6<<R0 as DistributedSink<Source>>::ReduceB, <R1 as DistributedSink<Source>>::ReduceB, <R2 as DistributedSink<Source>>::ReduceB, <R3 as DistributedSink<Source>>::ReduceB, <R4 as DistributedSink<Source>>::ReduceB, <R5 as DistributedSink<Source>>::ReduceB>
type ReduceC = ReduceC6<<R0 as DistributedSink<Source>>::ReduceC, <R1 as DistributedSink<Source>>::ReduceC, <R2 as DistributedSink<Source>>::ReduceC, <R3 as DistributedSink<Source>>::ReduceC, <R4 as DistributedSink<Source>>::ReduceC, <R5 as DistributedSink<Source>>::ReduceC>
fn reducers(
self
) -> (<(R0, R1, R2, R3, R4, R5) as DistributedSink<Source>>::Pipe, <(R0, R1, R2, R3, R4, R5) as DistributedSink<Source>>::ReduceAFactory, <(R0, R1, R2, R3, R4, R5) as DistributedSink<Source>>::ReduceBFactory, <(R0, R1, R2, R3, R4, R5) as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (<(R0, R1, R2, R3, R4, R5) as DistributedSink<Source>>::Pipe, <(R0, R1, R2, R3, R4, R5) as DistributedSink<Source>>::ReduceAFactory, <(R0, R1, R2, R3, R4, R5) as DistributedSink<Source>>::ReduceBFactory, <(R0, R1, R2, R3, R4, R5) as DistributedSink<Source>>::ReduceC)
impl<Source, R0, O0> DistributedSink<Source> for (R0,) where
R0: DistributedSink<Source, Output = O0>,
[src]
R0: DistributedSink<Source, Output = O0>,
type Output = (O0,)
type Pipe = (<R0 as DistributedSink<Source>>::Pipe,)
type ReduceAFactory = ReduceA1Factory<<R0 as DistributedSink<Source>>::ReduceAFactory>
type ReduceBFactory = ReduceC1Factory<<R0 as DistributedSink<Source>>::ReduceBFactory>
type ReduceA = ReduceA1<<R0 as DistributedSink<Source>>::ReduceA>
type ReduceB = ReduceC1<<R0 as DistributedSink<Source>>::ReduceB>
type ReduceC = ReduceC1<<R0 as DistributedSink<Source>>::ReduceC>
fn reducers(
self
) -> (<(R0,) as DistributedSink<Source>>::Pipe, <(R0,) as DistributedSink<Source>>::ReduceAFactory, <(R0,) as DistributedSink<Source>>::ReduceBFactory, <(R0,) as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (<(R0,) as DistributedSink<Source>>::Pipe, <(R0,) as DistributedSink<Source>>::ReduceAFactory, <(R0,) as DistributedSink<Source>>::ReduceBFactory, <(R0,) as DistributedSink<Source>>::ReduceC)
impl<Source> DistributedSink<Source> for ()
[src]
type Output = ()
type Pipe = ()
type ReduceAFactory = ReduceA0Factory
type ReduceBFactory = ReduceC0Factory
type ReduceA = ReduceA0
type ReduceB = ReduceC0
type ReduceC = ReduceC0
fn reducers(
self
) -> (<() as DistributedSink<Source>>::Pipe, <() as DistributedSink<Source>>::ReduceAFactory, <() as DistributedSink<Source>>::ReduceBFactory, <() as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (<() as DistributedSink<Source>>::Pipe, <() as DistributedSink<Source>>::ReduceAFactory, <() as DistributedSink<Source>>::ReduceBFactory, <() as DistributedSink<Source>>::ReduceC)
impl<Source, R0, R1, R2, R3, R4, R5, R6, O0, O1, O2, O3, O4, O5, O6> DistributedSink<Source> for (R0, R1, R2, R3, R4, R5, R6) where
R0: DistributedSink<Source, Output = O0>,
R1: DistributedSink<Source, Output = O1>,
R2: DistributedSink<Source, Output = O2>,
R3: DistributedSink<Source, Output = O3>,
R4: DistributedSink<Source, Output = O4>,
R5: DistributedSink<Source, Output = O5>,
R6: DistributedSink<Source, Output = O6>,
Source: Copy,
[src]
R0: DistributedSink<Source, Output = O0>,
R1: DistributedSink<Source, Output = O1>,
R2: DistributedSink<Source, Output = O2>,
R3: DistributedSink<Source, Output = O3>,
R4: DistributedSink<Source, Output = O4>,
R5: DistributedSink<Source, Output = O5>,
R6: DistributedSink<Source, Output = O6>,
Source: Copy,
type Output = (O0, O1, O2, O3, O4, O5, O6)
type Pipe = (<R0 as DistributedSink<Source>>::Pipe, <R1 as DistributedSink<Source>>::Pipe, <R2 as DistributedSink<Source>>::Pipe, <R3 as DistributedSink<Source>>::Pipe, <R4 as DistributedSink<Source>>::Pipe, <R5 as DistributedSink<Source>>::Pipe, <R6 as DistributedSink<Source>>::Pipe)
type ReduceAFactory = ReduceA7Factory<<R0 as DistributedSink<Source>>::ReduceAFactory, <R1 as DistributedSink<Source>>::ReduceAFactory, <R2 as DistributedSink<Source>>::ReduceAFactory, <R3 as DistributedSink<Source>>::ReduceAFactory, <R4 as DistributedSink<Source>>::ReduceAFactory, <R5 as DistributedSink<Source>>::ReduceAFactory, <R6 as DistributedSink<Source>>::ReduceAFactory>
type ReduceBFactory = ReduceC7Factory<<R0 as DistributedSink<Source>>::ReduceBFactory, <R1 as DistributedSink<Source>>::ReduceBFactory, <R2 as DistributedSink<Source>>::ReduceBFactory, <R3 as DistributedSink<Source>>::ReduceBFactory, <R4 as DistributedSink<Source>>::ReduceBFactory, <R5 as DistributedSink<Source>>::ReduceBFactory, <R6 as DistributedSink<Source>>::ReduceBFactory>
type ReduceA = ReduceA7<<R0 as DistributedSink<Source>>::ReduceA, <R1 as DistributedSink<Source>>::ReduceA, <R2 as DistributedSink<Source>>::ReduceA, <R3 as DistributedSink<Source>>::ReduceA, <R4 as DistributedSink<Source>>::ReduceA, <R5 as DistributedSink<Source>>::ReduceA, <R6 as DistributedSink<Source>>::ReduceA>
type ReduceB = ReduceC7<<R0 as DistributedSink<Source>>::ReduceB, <R1 as DistributedSink<Source>>::ReduceB, <R2 as DistributedSink<Source>>::ReduceB, <R3 as DistributedSink<Source>>::ReduceB, <R4 as DistributedSink<Source>>::ReduceB, <R5 as DistributedSink<Source>>::ReduceB, <R6 as DistributedSink<Source>>::ReduceB>
type ReduceC = ReduceC7<<R0 as DistributedSink<Source>>::ReduceC, <R1 as DistributedSink<Source>>::ReduceC, <R2 as DistributedSink<Source>>::ReduceC, <R3 as DistributedSink<Source>>::ReduceC, <R4 as DistributedSink<Source>>::ReduceC, <R5 as DistributedSink<Source>>::ReduceC, <R6 as DistributedSink<Source>>::ReduceC>
fn reducers(
self
) -> (<(R0, R1, R2, R3, R4, R5, R6) as DistributedSink<Source>>::Pipe, <(R0, R1, R2, R3, R4, R5, R6) as DistributedSink<Source>>::ReduceAFactory, <(R0, R1, R2, R3, R4, R5, R6) as DistributedSink<Source>>::ReduceBFactory, <(R0, R1, R2, R3, R4, R5, R6) as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (<(R0, R1, R2, R3, R4, R5, R6) as DistributedSink<Source>>::Pipe, <(R0, R1, R2, R3, R4, R5, R6) as DistributedSink<Source>>::ReduceAFactory, <(R0, R1, R2, R3, R4, R5, R6) as DistributedSink<Source>>::ReduceBFactory, <(R0, R1, R2, R3, R4, R5, R6) as DistributedSink<Source>>::ReduceC)
impl<Source, R0, R1, O0, O1> DistributedSink<Source> for (R0, R1) where
R0: DistributedSink<Source, Output = O0>,
R1: DistributedSink<Source, Output = O1>,
Source: Copy,
[src]
R0: DistributedSink<Source, Output = O0>,
R1: DistributedSink<Source, Output = O1>,
Source: Copy,
type Output = (O0, O1)
type Pipe = (<R0 as DistributedSink<Source>>::Pipe, <R1 as DistributedSink<Source>>::Pipe)
type ReduceAFactory = ReduceA2Factory<<R0 as DistributedSink<Source>>::ReduceAFactory, <R1 as DistributedSink<Source>>::ReduceAFactory>
type ReduceBFactory = ReduceC2Factory<<R0 as DistributedSink<Source>>::ReduceBFactory, <R1 as DistributedSink<Source>>::ReduceBFactory>
type ReduceA = ReduceA2<<R0 as DistributedSink<Source>>::ReduceA, <R1 as DistributedSink<Source>>::ReduceA>
type ReduceB = ReduceC2<<R0 as DistributedSink<Source>>::ReduceB, <R1 as DistributedSink<Source>>::ReduceB>
type ReduceC = ReduceC2<<R0 as DistributedSink<Source>>::ReduceC, <R1 as DistributedSink<Source>>::ReduceC>
fn reducers(
self
) -> (<(R0, R1) as DistributedSink<Source>>::Pipe, <(R0, R1) as DistributedSink<Source>>::ReduceAFactory, <(R0, R1) as DistributedSink<Source>>::ReduceBFactory, <(R0, R1) as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (<(R0, R1) as DistributedSink<Source>>::Pipe, <(R0, R1) as DistributedSink<Source>>::ReduceAFactory, <(R0, R1) as DistributedSink<Source>>::ReduceBFactory, <(R0, R1) as DistributedSink<Source>>::ReduceC)
Implementors
impl<A, B, Source> DistributedSink<Source> for Pipe<A, B> where
A: DistributedPipe<Source>,
B: DistributedSink<<A as DistributedPipe<Source>>::Item>,
[src]
A: DistributedPipe<Source>,
B: DistributedSink<<A as DistributedPipe<Source>>::Item>,
type Output = <B as DistributedSink<<A as DistributedPipe<Source>>::Item>>::Output
type Pipe = Pipe<A, <B as DistributedSink<<A as DistributedPipe<Source>>::Item>>::Pipe>
type ReduceAFactory = <B as DistributedSink<<A as DistributedPipe<Source>>::Item>>::ReduceAFactory
type ReduceBFactory = <B as DistributedSink<<A as DistributedPipe<Source>>::Item>>::ReduceBFactory
type ReduceA = <B as DistributedSink<<A as DistributedPipe<Source>>::Item>>::ReduceA
type ReduceB = <B as DistributedSink<<A as DistributedPipe<Source>>::Item>>::ReduceB
type ReduceC = <B as DistributedSink<<A as DistributedPipe<Source>>::Item>>::ReduceC
fn reducers(
self
) -> (<Pipe<A, B> as DistributedSink<Source>>::Pipe, <Pipe<A, B> as DistributedSink<Source>>::ReduceAFactory, <Pipe<A, B> as DistributedSink<Source>>::ReduceBFactory, <Pipe<A, B> as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (<Pipe<A, B> as DistributedSink<Source>>::Pipe, <Pipe<A, B> as DistributedSink<Source>>::ReduceAFactory, <Pipe<A, B> as DistributedSink<Source>>::ReduceBFactory, <Pipe<A, B> as DistributedSink<Source>>::ReduceC)
impl<I, Source> DistributedSink<Source> for Count<I> where
I: DistributedPipe<Source>,
[src]
I: DistributedPipe<Source>,
type Output = <<Count<I> as DistributedSink<Source>>::ReduceC as Reducer>::Output
type Pipe = I
type ReduceAFactory = FolderSyncReducerFactory<<I as DistributedPipe<Source>>::Item, CountFolder>
type ReduceBFactory = FolderSyncReducerFactory<<<Count<I> as DistributedSink<Source>>::ReduceA as Reducer>::Output, SumFolder<usize>>
type ReduceA = FolderSyncReducer<<I as DistributedPipe<Source>>::Item, CountFolder>
type ReduceB = FolderSyncReducer<<<Count<I> as DistributedSink<Source>>::ReduceA as Reducer>::Output, SumFolder<usize>>
type ReduceC = FolderSyncReducer<<<Count<I> as DistributedSink<Source>>::ReduceB as Reducer>::Output, SumFolder<usize>>
fn reducers(
self
) -> (I, <Count<I> as DistributedSink<Source>>::ReduceAFactory, <Count<I> as DistributedSink<Source>>::ReduceBFactory, <Count<I> as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (I, <Count<I> as DistributedSink<Source>>::ReduceAFactory, <Count<I> as DistributedSink<Source>>::ReduceBFactory, <Count<I> as DistributedSink<Source>>::ReduceC)
impl<I, Source> DistributedSink<Source> for Histogram<I> where
I: DistributedPipe<Source>,
<I as DistributedPipe<Source>>::Item: Hash,
<I as DistributedPipe<Source>>::Item: Ord,
<I as DistributedPipe<Source>>::Item: ProcessSend,
<I as DistributedPipe<Source>>::Item: 'static,
[src]
I: DistributedPipe<Source>,
<I as DistributedPipe<Source>>::Item: Hash,
<I as DistributedPipe<Source>>::Item: Ord,
<I as DistributedPipe<Source>>::Item: ProcessSend,
<I as DistributedPipe<Source>>::Item: 'static,
type Output = <<Histogram<I> as DistributedSink<Source>>::ReduceC as Reducer>::Output
type Pipe = I
type ReduceAFactory = FolderSyncReducerFactory<<I as DistributedPipe<Source>>::Item, HistogramFolder<<I as DistributedPipe<Source>>::Item, StepA>>
type ReduceBFactory = FolderSyncReducerFactory<<<Histogram<I> as DistributedSink<Source>>::ReduceA as Reducer>::Output, HistogramFolder<<I as DistributedPipe<Source>>::Item, StepB>>
type ReduceA = FolderSyncReducer<<I as DistributedPipe<Source>>::Item, HistogramFolder<<I as DistributedPipe<Source>>::Item, StepA>>
type ReduceB = FolderSyncReducer<<<Histogram<I> as DistributedSink<Source>>::ReduceA as Reducer>::Output, HistogramFolder<<I as DistributedPipe<Source>>::Item, StepB>>
type ReduceC = FolderSyncReducer<<<Histogram<I> as DistributedSink<Source>>::ReduceB as Reducer>::Output, HistogramFolder<<I as DistributedPipe<Source>>::Item, StepB>>
fn reducers(
self
) -> (I, <Histogram<I> as DistributedSink<Source>>::ReduceAFactory, <Histogram<I> as DistributedSink<Source>>::ReduceBFactory, <Histogram<I> as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (I, <Histogram<I> as DistributedSink<Source>>::ReduceAFactory, <Histogram<I> as DistributedSink<Source>>::ReduceBFactory, <Histogram<I> as DistributedSink<Source>>::ReduceC)
impl<I, Source> DistributedSink<Source> for Max<I> where
I: DistributedPipe<Source>,
<I as DistributedPipe<Source>>::Item: Ord,
<I as DistributedPipe<Source>>::Item: ProcessSend,
<I as DistributedPipe<Source>>::Item: 'static,
[src]
I: DistributedPipe<Source>,
<I as DistributedPipe<Source>>::Item: Ord,
<I as DistributedPipe<Source>>::Item: ProcessSend,
<I as DistributedPipe<Source>>::Item: 'static,
type Output = <<Max<I> as DistributedSink<Source>>::ReduceC as Reducer>::Output
type Pipe = I
type ReduceAFactory = FolderSyncReducerFactory<<I as DistributedPipe<Source>>::Item, Max<<I as DistributedPipe<Source>>::Item>>
type ReduceBFactory = FolderSyncReducerFactory<<<Max<I> as DistributedSink<Source>>::ReduceA as Reducer>::Output, Max<<I as DistributedPipe<Source>>::Item>>
type ReduceA = FolderSyncReducer<<I as DistributedPipe<Source>>::Item, Max<<I as DistributedPipe<Source>>::Item>>
type ReduceB = FolderSyncReducer<<<Max<I> as DistributedSink<Source>>::ReduceA as Reducer>::Output, Max<<I as DistributedPipe<Source>>::Item>>
type ReduceC = FolderSyncReducer<<<Max<I> as DistributedSink<Source>>::ReduceB as Reducer>::Output, Max<<I as DistributedPipe<Source>>::Item>>
fn reducers(
self
) -> (I, <Max<I> as DistributedSink<Source>>::ReduceAFactory, <Max<I> as DistributedSink<Source>>::ReduceBFactory, <Max<I> as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (I, <Max<I> as DistributedSink<Source>>::ReduceAFactory, <Max<I> as DistributedSink<Source>>::ReduceBFactory, <Max<I> as DistributedSink<Source>>::ReduceC)
impl<I, Source> DistributedSink<Source> for Min<I> where
I: DistributedPipe<Source>,
<I as DistributedPipe<Source>>::Item: Ord,
<I as DistributedPipe<Source>>::Item: ProcessSend,
<I as DistributedPipe<Source>>::Item: 'static,
[src]
I: DistributedPipe<Source>,
<I as DistributedPipe<Source>>::Item: Ord,
<I as DistributedPipe<Source>>::Item: ProcessSend,
<I as DistributedPipe<Source>>::Item: 'static,
type Output = <<Min<I> as DistributedSink<Source>>::ReduceC as Reducer>::Output
type Pipe = I
type ReduceAFactory = FolderSyncReducerFactory<<I as DistributedPipe<Source>>::Item, Min<<I as DistributedPipe<Source>>::Item>>
type ReduceBFactory = FolderSyncReducerFactory<<<Min<I> as DistributedSink<Source>>::ReduceA as Reducer>::Output, Min<<I as DistributedPipe<Source>>::Item>>
type ReduceA = FolderSyncReducer<<I as DistributedPipe<Source>>::Item, Min<<I as DistributedPipe<Source>>::Item>>
type ReduceB = FolderSyncReducer<<<Min<I> as DistributedSink<Source>>::ReduceA as Reducer>::Output, Min<<I as DistributedPipe<Source>>::Item>>
type ReduceC = FolderSyncReducer<<<Min<I> as DistributedSink<Source>>::ReduceB as Reducer>::Output, Min<<I as DistributedPipe<Source>>::Item>>
fn reducers(
self
) -> (I, <Min<I> as DistributedSink<Source>>::ReduceAFactory, <Min<I> as DistributedSink<Source>>::ReduceBFactory, <Min<I> as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (I, <Min<I> as DistributedSink<Source>>::ReduceAFactory, <Min<I> as DistributedSink<Source>>::ReduceBFactory, <Min<I> as DistributedSink<Source>>::ReduceC)
impl<I, Source> DistributedSink<Source> for MostFrequent<I> where
I: DistributedPipe<Source>,
<I as DistributedPipe<Source>>::Item: Clone,
<I as DistributedPipe<Source>>::Item: Hash,
<I as DistributedPipe<Source>>::Item: Eq,
<I as DistributedPipe<Source>>::Item: ProcessSend,
<I as DistributedPipe<Source>>::Item: 'static,
[src]
I: DistributedPipe<Source>,
<I as DistributedPipe<Source>>::Item: Clone,
<I as DistributedPipe<Source>>::Item: Hash,
<I as DistributedPipe<Source>>::Item: Eq,
<I as DistributedPipe<Source>>::Item: ProcessSend,
<I as DistributedPipe<Source>>::Item: 'static,
type Output = <<MostFrequent<I> as DistributedSink<Source>>::ReduceC as Reducer>::Output
type Pipe = I
type ReduceAFactory = FolderSyncReducerFactory<<I as DistributedPipe<Source>>::Item, MostFrequentFolder>
type ReduceBFactory = FolderSyncReducerFactory<<<MostFrequent<I> as DistributedSink<Source>>::ReduceA as Reducer>::Output, SumZeroFolder<Top<<I as DistributedPipe<Source>>::Item, usize>>>
type ReduceA = FolderSyncReducer<<I as DistributedPipe<Source>>::Item, MostFrequentFolder>
type ReduceB = FolderSyncReducer<<<MostFrequent<I> as DistributedSink<Source>>::ReduceA as Reducer>::Output, SumZeroFolder<Top<<I as DistributedPipe<Source>>::Item, usize>>>
type ReduceC = FolderSyncReducer<<<MostFrequent<I> as DistributedSink<Source>>::ReduceB as Reducer>::Output, SumZeroFolder<Top<<I as DistributedPipe<Source>>::Item, usize>>>
fn reducers(
self
) -> (I, <MostFrequent<I> as DistributedSink<Source>>::ReduceAFactory, <MostFrequent<I> as DistributedSink<Source>>::ReduceBFactory, <MostFrequent<I> as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (I, <MostFrequent<I> as DistributedSink<Source>>::ReduceAFactory, <MostFrequent<I> as DistributedSink<Source>>::ReduceBFactory, <MostFrequent<I> as DistributedSink<Source>>::ReduceC)
impl<I, Source> DistributedSink<Source> for SampleUnstable<I> where
I: DistributedPipe<Source>,
<I as DistributedPipe<Source>>::Item: ProcessSend,
<I as DistributedPipe<Source>>::Item: 'static,
[src]
I: DistributedPipe<Source>,
<I as DistributedPipe<Source>>::Item: ProcessSend,
<I as DistributedPipe<Source>>::Item: 'static,
type Output = <<SampleUnstable<I> as DistributedSink<Source>>::ReduceC as Reducer>::Output
type Pipe = I
type ReduceAFactory = FolderSyncReducerFactory<<I as DistributedPipe<Source>>::Item, SampleUnstableFolder>
type ReduceBFactory = FolderSyncReducerFactory<<<SampleUnstable<I> as DistributedSink<Source>>::ReduceA as Reducer>::Output, SumFolder<SampleUnstable<<I as DistributedPipe<Source>>::Item>>>
type ReduceA = FolderSyncReducer<<I as DistributedPipe<Source>>::Item, SampleUnstableFolder>
type ReduceB = FolderSyncReducer<<<SampleUnstable<I> as DistributedSink<Source>>::ReduceA as Reducer>::Output, SumFolder<SampleUnstable<<I as DistributedPipe<Source>>::Item>>>
type ReduceC = FolderSyncReducer<<<SampleUnstable<I> as DistributedSink<Source>>::ReduceB as Reducer>::Output, SumFolder<SampleUnstable<<I as DistributedPipe<Source>>::Item>>>
fn reducers(
self
) -> (I, <SampleUnstable<I> as DistributedSink<Source>>::ReduceAFactory, <SampleUnstable<I> as DistributedSink<Source>>::ReduceBFactory, <SampleUnstable<I> as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (I, <SampleUnstable<I> as DistributedSink<Source>>::ReduceAFactory, <SampleUnstable<I> as DistributedSink<Source>>::ReduceBFactory, <SampleUnstable<I> as DistributedSink<Source>>::ReduceC)
impl<I, Source, A, B> DistributedSink<Source> for MostDistinct<I> where
A: Clone + Hash + Eq + ProcessSend + 'static,
B: Hash + 'static,
I: DistributedPipe<Source, Item = (A, B)>,
[src]
A: Clone + Hash + Eq + ProcessSend + 'static,
B: Hash + 'static,
I: DistributedPipe<Source, Item = (A, B)>,
type Output = <<MostDistinct<I> as DistributedSink<Source>>::ReduceC as Reducer>::Output
type Pipe = I
type ReduceAFactory = FolderSyncReducerFactory<<I as DistributedPipe<Source>>::Item, MostDistinctFolder>
type ReduceBFactory = FolderSyncReducerFactory<<<MostDistinct<I> as DistributedSink<Source>>::ReduceA as Reducer>::Output, SumZeroFolder<Top<A, HyperLogLogMagnitude<B>>>>
type ReduceA = FolderSyncReducer<<I as DistributedPipe<Source>>::Item, MostDistinctFolder>
type ReduceB = FolderSyncReducer<<<MostDistinct<I> as DistributedSink<Source>>::ReduceA as Reducer>::Output, SumZeroFolder<Top<A, HyperLogLogMagnitude<B>>>>
type ReduceC = FolderSyncReducer<<<MostDistinct<I> as DistributedSink<Source>>::ReduceB as Reducer>::Output, SumZeroFolder<Top<A, HyperLogLogMagnitude<B>>>>
fn reducers(
self
) -> (I, <MostDistinct<I> as DistributedSink<Source>>::ReduceAFactory, <MostDistinct<I> as DistributedSink<Source>>::ReduceBFactory, <MostDistinct<I> as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (I, <MostDistinct<I> as DistributedSink<Source>>::ReduceAFactory, <MostDistinct<I> as DistributedSink<Source>>::ReduceBFactory, <MostDistinct<I> as DistributedSink<Source>>::ReduceC)
impl<I, Source, A, B, ID, F, C> DistributedSink<Source> for GroupBy<I, ID, F, C> where
A: Eq + Hash + ProcessSend + 'static,
C: ProcessSend + 'static,
F: FnMut(C, Either<B, C>) -> C + Clone + ProcessSend + 'static,
I: DistributedPipe<Source, Item = (A, B)>,
ID: FnMut() -> C + Clone + ProcessSend + 'static,
[src]
A: Eq + Hash + ProcessSend + 'static,
C: ProcessSend + 'static,
F: FnMut(C, Either<B, C>) -> C + Clone + ProcessSend + 'static,
I: DistributedPipe<Source, Item = (A, B)>,
ID: FnMut() -> C + Clone + ProcessSend + 'static,
type Output = <<GroupBy<I, ID, F, C> as DistributedSink<Source>>::ReduceC as Reducer>::Output
type Pipe = I
type ReduceAFactory = FolderSyncReducerFactory<<I as DistributedPipe<Source>>::Item, GroupByFolder<A, B, ID, F, C, StepA>>
type ReduceBFactory = FolderSyncReducerFactory<<<GroupBy<I, ID, F, C> as DistributedSink<Source>>::ReduceA as Reducer>::Output, GroupByFolder<A, B, ID, F, C, StepB>>
type ReduceA = FolderSyncReducer<<I as DistributedPipe<Source>>::Item, GroupByFolder<A, B, ID, F, C, StepA>>
type ReduceB = FolderSyncReducer<<<GroupBy<I, ID, F, C> as DistributedSink<Source>>::ReduceA as Reducer>::Output, GroupByFolder<A, B, ID, F, C, StepB>>
type ReduceC = FolderSyncReducer<<<GroupBy<I, ID, F, C> as DistributedSink<Source>>::ReduceB as Reducer>::Output, GroupByFolder<A, B, ID, F, C, StepB>>
fn reducers(
self
) -> (I, <GroupBy<I, ID, F, C> as DistributedSink<Source>>::ReduceAFactory, <GroupBy<I, ID, F, C> as DistributedSink<Source>>::ReduceBFactory, <GroupBy<I, ID, F, C> as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (I, <GroupBy<I, ID, F, C> as DistributedSink<Source>>::ReduceAFactory, <GroupBy<I, ID, F, C> as DistributedSink<Source>>::ReduceBFactory, <GroupBy<I, ID, F, C> as DistributedSink<Source>>::ReduceC)
impl<I, Source, B> DistributedSink<Source> for Sum<I, B> where
B: Sum<<I as DistributedPipe<Source>>::Item> + Sum<B> + ProcessSend + 'static,
I: DistributedPipe<Source>,
[src]
B: Sum<<I as DistributedPipe<Source>>::Item> + Sum<B> + ProcessSend + 'static,
I: DistributedPipe<Source>,
type Output = <<Sum<I, B> as DistributedSink<Source>>::ReduceC as Reducer>::Output
type Pipe = I
type ReduceAFactory = FolderSyncReducerFactory<<I as DistributedPipe<Source>>::Item, SumFolder<B>>
type ReduceBFactory = FolderSyncReducerFactory<<<Sum<I, B> as DistributedSink<Source>>::ReduceA as Reducer>::Output, SumFolder<B>>
type ReduceA = FolderSyncReducer<<I as DistributedPipe<Source>>::Item, SumFolder<B>>
type ReduceB = FolderSyncReducer<<<Sum<I, B> as DistributedSink<Source>>::ReduceA as Reducer>::Output, SumFolder<B>>
type ReduceC = FolderSyncReducer<<<Sum<I, B> as DistributedSink<Source>>::ReduceB as Reducer>::Output, SumFolder<B>>
fn reducers(
self
) -> (I, <Sum<I, B> as DistributedSink<Source>>::ReduceAFactory, <Sum<I, B> as DistributedSink<Source>>::ReduceBFactory, <Sum<I, B> as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (I, <Sum<I, B> as DistributedSink<Source>>::ReduceAFactory, <Sum<I, B> as DistributedSink<Source>>::ReduceBFactory, <Sum<I, B> as DistributedSink<Source>>::ReduceC)
impl<I, Source, F> DistributedSink<Source> for All<I, F> where
F: FnMut(<I as DistributedPipe<Source>>::Item) -> bool + Clone + ProcessSend + 'static,
I: DistributedPipe<Source>,
[src]
F: FnMut(<I as DistributedPipe<Source>>::Item) -> bool + Clone + ProcessSend + 'static,
I: DistributedPipe<Source>,
type Output = bool
type Pipe = I
type ReduceAFactory = AllReducerFactory<<I as DistributedPipe<Source>>::Item, F>
type ReduceBFactory = BoolAndReducerFactory
type ReduceA = AllReducer<<I as DistributedPipe<Source>>::Item, F>
type ReduceB = BoolAndReducer
type ReduceC = BoolAndReducer
fn reducers(
self
) -> (<All<I, F> as DistributedSink<Source>>::Pipe, <All<I, F> as DistributedSink<Source>>::ReduceAFactory, <All<I, F> as DistributedSink<Source>>::ReduceBFactory, <All<I, F> as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (<All<I, F> as DistributedSink<Source>>::Pipe, <All<I, F> as DistributedSink<Source>>::ReduceAFactory, <All<I, F> as DistributedSink<Source>>::ReduceBFactory, <All<I, F> as DistributedSink<Source>>::ReduceC)
impl<I, Source, F> DistributedSink<Source> for Any<I, F> where
F: FnMut(<I as DistributedPipe<Source>>::Item) -> bool + Clone + ProcessSend + 'static,
I: DistributedPipe<Source>,
[src]
F: FnMut(<I as DistributedPipe<Source>>::Item) -> bool + Clone + ProcessSend + 'static,
I: DistributedPipe<Source>,
type Output = bool
type Pipe = I
type ReduceAFactory = AnyReducerFactory<<I as DistributedPipe<Source>>::Item, F>
type ReduceBFactory = BoolOrReducerFactory
type ReduceA = AnyReducer<<I as DistributedPipe<Source>>::Item, F>
type ReduceB = BoolOrReducer
type ReduceC = BoolOrReducer
fn reducers(
self
) -> (<Any<I, F> as DistributedSink<Source>>::Pipe, <Any<I, F> as DistributedSink<Source>>::ReduceAFactory, <Any<I, F> as DistributedSink<Source>>::ReduceBFactory, <Any<I, F> as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (<Any<I, F> as DistributedSink<Source>>::Pipe, <Any<I, F> as DistributedSink<Source>>::ReduceAFactory, <Any<I, F> as DistributedSink<Source>>::ReduceBFactory, <Any<I, F> as DistributedSink<Source>>::ReduceC)
impl<I, Source, F> DistributedSink<Source> for Combine<I, F> where
F: FnMut(<I as DistributedPipe<Source>>::Item, <I as DistributedPipe<Source>>::Item) -> <I as DistributedPipe<Source>>::Item + Clone + ProcessSend + 'static,
I: DistributedPipe<Source>,
<I as DistributedPipe<Source>>::Item: ProcessSend,
<I as DistributedPipe<Source>>::Item: 'static,
[src]
F: FnMut(<I as DistributedPipe<Source>>::Item, <I as DistributedPipe<Source>>::Item) -> <I as DistributedPipe<Source>>::Item + Clone + ProcessSend + 'static,
I: DistributedPipe<Source>,
<I as DistributedPipe<Source>>::Item: ProcessSend,
<I as DistributedPipe<Source>>::Item: 'static,
type Output = <<Combine<I, F> as DistributedSink<Source>>::ReduceC as Reducer>::Output
type Pipe = I
type ReduceAFactory = FolderSyncReducerFactory<<I as DistributedPipe<Source>>::Item, ReduceFn<F, <I as DistributedPipe<Source>>::Item>>
type ReduceBFactory = FolderSyncReducerFactory<<<Combine<I, F> as DistributedSink<Source>>::ReduceA as Reducer>::Output, ReduceFn<F, <I as DistributedPipe<Source>>::Item>>
type ReduceA = FolderSyncReducer<<I as DistributedPipe<Source>>::Item, ReduceFn<F, <I as DistributedPipe<Source>>::Item>>
type ReduceB = FolderSyncReducer<<<Combine<I, F> as DistributedSink<Source>>::ReduceA as Reducer>::Output, ReduceFn<F, <I as DistributedPipe<Source>>::Item>>
type ReduceC = FolderSyncReducer<<<Combine<I, F> as DistributedSink<Source>>::ReduceB as Reducer>::Output, ReduceFn<F, <I as DistributedPipe<Source>>::Item>>
fn reducers(
self
) -> (I, <Combine<I, F> as DistributedSink<Source>>::ReduceAFactory, <Combine<I, F> as DistributedSink<Source>>::ReduceBFactory, <Combine<I, F> as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (I, <Combine<I, F> as DistributedSink<Source>>::ReduceAFactory, <Combine<I, F> as DistributedSink<Source>>::ReduceBFactory, <Combine<I, F> as DistributedSink<Source>>::ReduceC)
impl<I, Source, F> DistributedSink<Source> for ForEach<I, F> where
F: FnMut(<I as DistributedPipe<Source>>::Item) + Clone + ProcessSend + 'static,
I: DistributedPipe<Source>,
[src]
F: FnMut(<I as DistributedPipe<Source>>::Item) + Clone + ProcessSend + 'static,
I: DistributedPipe<Source>,
type Output = ()
type Pipe = I
type ReduceAFactory = ForEachReducerFactory<<I as DistributedPipe<Source>>::Item, F>
type ReduceBFactory = DefaultReducerFactory<<ForEach<I, F> as DistributedSink<Source>>::ReduceB>
type ReduceA = ForEachReducer<<I as DistributedPipe<Source>>::Item, F>
type ReduceB = PushReducer<(), ()>
type ReduceC = PushReducer<(), ()>
fn reducers(
self
) -> (<ForEach<I, F> as DistributedSink<Source>>::Pipe, <ForEach<I, F> as DistributedSink<Source>>::ReduceAFactory, <ForEach<I, F> as DistributedSink<Source>>::ReduceBFactory, <ForEach<I, F> as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (<ForEach<I, F> as DistributedSink<Source>>::Pipe, <ForEach<I, F> as DistributedSink<Source>>::ReduceAFactory, <ForEach<I, F> as DistributedSink<Source>>::ReduceBFactory, <ForEach<I, F> as DistributedSink<Source>>::ReduceC)
impl<I, Source, F> DistributedSink<Source> for MaxBy<I, F> where
F: FnMut(&<I as DistributedPipe<Source>>::Item, &<I as DistributedPipe<Source>>::Item) -> Ordering + Clone + ProcessSend + 'static,
I: DistributedPipe<Source>,
<I as DistributedPipe<Source>>::Item: ProcessSend,
<I as DistributedPipe<Source>>::Item: 'static,
[src]
F: FnMut(&<I as DistributedPipe<Source>>::Item, &<I as DistributedPipe<Source>>::Item) -> Ordering + Clone + ProcessSend + 'static,
I: DistributedPipe<Source>,
<I as DistributedPipe<Source>>::Item: ProcessSend,
<I as DistributedPipe<Source>>::Item: 'static,
type Output = <<MaxBy<I, F> as DistributedSink<Source>>::ReduceC as Reducer>::Output
type Pipe = I
type ReduceAFactory = FolderSyncReducerFactory<<I as DistributedPipe<Source>>::Item, MaxBy<<I as DistributedPipe<Source>>::Item, F>>
type ReduceBFactory = FolderSyncReducerFactory<<<MaxBy<I, F> as DistributedSink<Source>>::ReduceA as Reducer>::Output, MaxBy<<I as DistributedPipe<Source>>::Item, F>>
type ReduceA = FolderSyncReducer<<I as DistributedPipe<Source>>::Item, MaxBy<<I as DistributedPipe<Source>>::Item, F>>
type ReduceB = FolderSyncReducer<<<MaxBy<I, F> as DistributedSink<Source>>::ReduceA as Reducer>::Output, MaxBy<<I as DistributedPipe<Source>>::Item, F>>
type ReduceC = FolderSyncReducer<<<MaxBy<I, F> as DistributedSink<Source>>::ReduceB as Reducer>::Output, MaxBy<<I as DistributedPipe<Source>>::Item, F>>
fn reducers(
self
) -> (I, <MaxBy<I, F> as DistributedSink<Source>>::ReduceAFactory, <MaxBy<I, F> as DistributedSink<Source>>::ReduceBFactory, <MaxBy<I, F> as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (I, <MaxBy<I, F> as DistributedSink<Source>>::ReduceAFactory, <MaxBy<I, F> as DistributedSink<Source>>::ReduceBFactory, <MaxBy<I, F> as DistributedSink<Source>>::ReduceC)
impl<I, Source, F> DistributedSink<Source> for MinBy<I, F> where
F: FnMut(&<I as DistributedPipe<Source>>::Item, &<I as DistributedPipe<Source>>::Item) -> Ordering + Clone + ProcessSend + 'static,
I: DistributedPipe<Source>,
<I as DistributedPipe<Source>>::Item: ProcessSend,
<I as DistributedPipe<Source>>::Item: 'static,
[src]
F: FnMut(&<I as DistributedPipe<Source>>::Item, &<I as DistributedPipe<Source>>::Item) -> Ordering + Clone + ProcessSend + 'static,
I: DistributedPipe<Source>,
<I as DistributedPipe<Source>>::Item: ProcessSend,
<I as DistributedPipe<Source>>::Item: 'static,
type Output = <<MinBy<I, F> as DistributedSink<Source>>::ReduceC as Reducer>::Output
type Pipe = I
type ReduceAFactory = FolderSyncReducerFactory<<I as DistributedPipe<Source>>::Item, MinBy<<I as DistributedPipe<Source>>::Item, F>>
type ReduceBFactory = FolderSyncReducerFactory<<<MinBy<I, F> as DistributedSink<Source>>::ReduceA as Reducer>::Output, MinBy<<I as DistributedPipe<Source>>::Item, F>>
type ReduceA = FolderSyncReducer<<I as DistributedPipe<Source>>::Item, MinBy<<I as DistributedPipe<Source>>::Item, F>>
type ReduceB = FolderSyncReducer<<<MinBy<I, F> as DistributedSink<Source>>::ReduceA as Reducer>::Output, MinBy<<I as DistributedPipe<Source>>::Item, F>>
type ReduceC = FolderSyncReducer<<<MinBy<I, F> as DistributedSink<Source>>::ReduceB as Reducer>::Output, MinBy<<I as DistributedPipe<Source>>::Item, F>>
fn reducers(
self
) -> (I, <MinBy<I, F> as DistributedSink<Source>>::ReduceAFactory, <MinBy<I, F> as DistributedSink<Source>>::ReduceBFactory, <MinBy<I, F> as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (I, <MinBy<I, F> as DistributedSink<Source>>::ReduceAFactory, <MinBy<I, F> as DistributedSink<Source>>::ReduceBFactory, <MinBy<I, F> as DistributedSink<Source>>::ReduceC)
impl<I, Source, F, B> DistributedSink<Source> for MaxByKey<I, F> where
B: Ord + 'static,
F: FnMut(&<I as DistributedPipe<Source>>::Item) -> B + Clone + ProcessSend + 'static,
I: DistributedPipe<Source>,
<I as DistributedPipe<Source>>::Item: ProcessSend,
<I as DistributedPipe<Source>>::Item: 'static,
[src]
B: Ord + 'static,
F: FnMut(&<I as DistributedPipe<Source>>::Item) -> B + Clone + ProcessSend + 'static,
I: DistributedPipe<Source>,
<I as DistributedPipe<Source>>::Item: ProcessSend,
<I as DistributedPipe<Source>>::Item: 'static,
type Output = <<MaxByKey<I, F> as DistributedSink<Source>>::ReduceC as Reducer>::Output
type Pipe = I
type ReduceAFactory = FolderSyncReducerFactory<<I as DistributedPipe<Source>>::Item, MaxByKey<<I as DistributedPipe<Source>>::Item, F, B>>
type ReduceBFactory = FolderSyncReducerFactory<<<MaxByKey<I, F> as DistributedSink<Source>>::ReduceA as Reducer>::Output, MaxByKey<<I as DistributedPipe<Source>>::Item, F, B>>
type ReduceA = FolderSyncReducer<<I as DistributedPipe<Source>>::Item, MaxByKey<<I as DistributedPipe<Source>>::Item, F, B>>
type ReduceB = FolderSyncReducer<<<MaxByKey<I, F> as DistributedSink<Source>>::ReduceA as Reducer>::Output, MaxByKey<<I as DistributedPipe<Source>>::Item, F, B>>
type ReduceC = FolderSyncReducer<<<MaxByKey<I, F> as DistributedSink<Source>>::ReduceB as Reducer>::Output, MaxByKey<<I as DistributedPipe<Source>>::Item, F, B>>
fn reducers(
self
) -> (I, <MaxByKey<I, F> as DistributedSink<Source>>::ReduceAFactory, <MaxByKey<I, F> as DistributedSink<Source>>::ReduceBFactory, <MaxByKey<I, F> as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (I, <MaxByKey<I, F> as DistributedSink<Source>>::ReduceAFactory, <MaxByKey<I, F> as DistributedSink<Source>>::ReduceBFactory, <MaxByKey<I, F> as DistributedSink<Source>>::ReduceC)
impl<I, Source, F, B> DistributedSink<Source> for MinByKey<I, F> where
B: Ord + 'static,
F: FnMut(&<I as DistributedPipe<Source>>::Item) -> B + Clone + ProcessSend + 'static,
I: DistributedPipe<Source>,
<I as DistributedPipe<Source>>::Item: ProcessSend,
<I as DistributedPipe<Source>>::Item: 'static,
[src]
B: Ord + 'static,
F: FnMut(&<I as DistributedPipe<Source>>::Item) -> B + Clone + ProcessSend + 'static,
I: DistributedPipe<Source>,
<I as DistributedPipe<Source>>::Item: ProcessSend,
<I as DistributedPipe<Source>>::Item: 'static,
type Output = <<MinByKey<I, F> as DistributedSink<Source>>::ReduceC as Reducer>::Output
type Pipe = I
type ReduceAFactory = FolderSyncReducerFactory<<I as DistributedPipe<Source>>::Item, MinByKey<<I as DistributedPipe<Source>>::Item, F, B>>
type ReduceBFactory = FolderSyncReducerFactory<<<MinByKey<I, F> as DistributedSink<Source>>::ReduceA as Reducer>::Output, MinByKey<<I as DistributedPipe<Source>>::Item, F, B>>
type ReduceA = FolderSyncReducer<<I as DistributedPipe<Source>>::Item, MinByKey<<I as DistributedPipe<Source>>::Item, F, B>>
type ReduceB = FolderSyncReducer<<<MinByKey<I, F> as DistributedSink<Source>>::ReduceA as Reducer>::Output, MinByKey<<I as DistributedPipe<Source>>::Item, F, B>>
type ReduceC = FolderSyncReducer<<<MinByKey<I, F> as DistributedSink<Source>>::ReduceB as Reducer>::Output, MinByKey<<I as DistributedPipe<Source>>::Item, F, B>>
fn reducers(
self
) -> (I, <MinByKey<I, F> as DistributedSink<Source>>::ReduceAFactory, <MinByKey<I, F> as DistributedSink<Source>>::ReduceBFactory, <MinByKey<I, F> as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (I, <MinByKey<I, F> as DistributedSink<Source>>::ReduceAFactory, <MinByKey<I, F> as DistributedSink<Source>>::ReduceBFactory, <MinByKey<I, F> as DistributedSink<Source>>::ReduceC)
impl<I, Source, ID, F, B> DistributedSink<Source> for Fold<I, ID, F, B> where
B: ProcessSend + 'static,
F: FnMut(B, Either<<I as DistributedPipe<Source>>::Item, B>) -> B + Clone + ProcessSend + 'static,
I: DistributedPipe<Source>,
ID: FnMut() -> B + Clone + ProcessSend + 'static,
[src]
B: ProcessSend + 'static,
F: FnMut(B, Either<<I as DistributedPipe<Source>>::Item, B>) -> B + Clone + ProcessSend + 'static,
I: DistributedPipe<Source>,
ID: FnMut() -> B + Clone + ProcessSend + 'static,
type Output = <<Fold<I, ID, F, B> as DistributedSink<Source>>::ReduceC as Reducer>::Output
type Pipe = I
type ReduceAFactory = FolderSyncReducerFactory<<I as DistributedPipe<Source>>::Item, FoldFolder<<I as DistributedPipe<Source>>::Item, ID, F, B, StepA>>
type ReduceBFactory = FolderSyncReducerFactory<<<Fold<I, ID, F, B> as DistributedSink<Source>>::ReduceA as Reducer>::Output, FoldFolder<<I as DistributedPipe<Source>>::Item, ID, F, B, StepB>>
type ReduceA = FolderSyncReducer<<I as DistributedPipe<Source>>::Item, FoldFolder<<I as DistributedPipe<Source>>::Item, ID, F, B, StepA>>
type ReduceB = FolderSyncReducer<<<Fold<I, ID, F, B> as DistributedSink<Source>>::ReduceA as Reducer>::Output, FoldFolder<<I as DistributedPipe<Source>>::Item, ID, F, B, StepB>>
type ReduceC = FolderSyncReducer<<<Fold<I, ID, F, B> as DistributedSink<Source>>::ReduceB as Reducer>::Output, FoldFolder<<I as DistributedPipe<Source>>::Item, ID, F, B, StepB>>
fn reducers(
self
) -> (I, <Fold<I, ID, F, B> as DistributedSink<Source>>::ReduceAFactory, <Fold<I, ID, F, B> as DistributedSink<Source>>::ReduceBFactory, <Fold<I, ID, F, B> as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (I, <Fold<I, ID, F, B> as DistributedSink<Source>>::ReduceAFactory, <Fold<I, ID, F, B> as DistributedSink<Source>>::ReduceBFactory, <Fold<I, ID, F, B> as DistributedSink<Source>>::ReduceC)
impl<I, Source, T> DistributedSink<Source> for Collect<I, T> where
I: DistributedPipe<Source>,
T: FromDistributedStream<<I as DistributedPipe<Source>>::Item>,
[src]
I: DistributedPipe<Source>,
T: FromDistributedStream<<I as DistributedPipe<Source>>::Item>,
type Output = T
type Pipe = I
type ReduceAFactory = <T as FromDistributedStream<<I as DistributedPipe<Source>>::Item>>::ReduceAFactory
type ReduceBFactory = <T as FromDistributedStream<<I as DistributedPipe<Source>>::Item>>::ReduceBFactory
type ReduceA = <T as FromDistributedStream<<I as DistributedPipe<Source>>::Item>>::ReduceA
type ReduceB = <T as FromDistributedStream<<I as DistributedPipe<Source>>::Item>>::ReduceB
type ReduceC = <T as FromDistributedStream<<I as DistributedPipe<Source>>::Item>>::ReduceC
fn reducers(
self
) -> (<Collect<I, T> as DistributedSink<Source>>::Pipe, <Collect<I, T> as DistributedSink<Source>>::ReduceAFactory, <Collect<I, T> as DistributedSink<Source>>::ReduceBFactory, <Collect<I, T> as DistributedSink<Source>>::ReduceC)
[src]
self
) -> (<Collect<I, T> as DistributedSink<Source>>::Pipe, <Collect<I, T> as DistributedSink<Source>>::ReduceAFactory, <Collect<I, T> as DistributedSink<Source>>::ReduceBFactory, <Collect<I, T> as DistributedSink<Source>>::ReduceC)