Module timely::dataflow::channels::pact[][src]

Parallelization contracts, describing how data must be exchanged between operators. Parallelization contracts, describing requirements for data movement along dataflow edges.

Pacts describe how data should be exchanged between workers, and implement a method which creates a pair of Push and Pull implementors from an A: AsWorker. These two endpoints respectively distribute and collect data among workers according to the pact.

The only requirement of a pact is that it not alter the number of D records at each time T. The progress tracking logic assumes that this number is independent of the pact used.

Structs

Exchange

An exchange between multiple observers by data

LogPuller

Wraps a Message<T,D> puller to provide a Pull<(T, Content<D>)>.

LogPusher

Wraps a Message<T,D> pusher to provide a Push<(T, Content<D>)>.

Pipeline

A direct connection

Traits

ParallelizationContract

A ParallelizationContract allocates paired Push and Pull implementors.