Module pact

Source
Expand description

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§

ExchangeCore
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.

Type Aliases§

Exchange
ExchangeCore specialized to vector-based containers.