Trait timely::dataflow::channels::pact::ParallelizationContract[][src]

pub trait ParallelizationContract<T: 'static, D: 'static> {
    type Pusher: Push<Bundle<T, D>> + 'static;
    type Puller: Pull<Bundle<T, D>> + 'static;
    fn connect<A: AsWorker>(
        self,
        allocator: &mut A,
        identifier: usize,
        address: &[usize],
        logging: Option<Logger>
    ) -> (Self::Pusher, Self::Puller); }

A ParallelizationContract allocates paired Push and Pull implementors.

Associated Types

type Pusher: Push<Bundle<T, D>> + 'static[src]

Type implementing Push produced by this pact.

type Puller: Pull<Bundle<T, D>> + 'static[src]

Type implementing Pull produced by this pact.

Loading content...

Required methods

fn connect<A: AsWorker>(
    self,
    allocator: &mut A,
    identifier: usize,
    address: &[usize],
    logging: Option<Logger>
) -> (Self::Pusher, Self::Puller)
[src]

Allocates a matched pair of push and pull endpoints implementing the pact.

Loading content...

Implementors

impl<T: 'static, D: 'static> ParallelizationContract<T, D> for Pipeline[src]

type Pusher = LogPusher<T, D, ThreadPusher<Bundle<T, D>>>

type Puller = LogPuller<T, D, ThreadPuller<Bundle<T, D>>>

impl<T: Eq + Data + Clone, D: Data + Clone, F: FnMut(&D) -> u64 + 'static> ParallelizationContract<T, D> for Exchange<D, F>[src]

type Pusher = Box<dyn Push<Bundle<T, D>>>

type Puller = Box<dyn Pull<Bundle<T, D>>>

Loading content...