Module timely::dataflow::operators

source ·
Expand description

Extension traits for Stream implementing various operators.

A collection of functions taking typed Stream objects as input and producing new Stream objects as output. Many of the operators provide simple, composable functionality. Some of the operators are more complicated, for use with advanced timely dataflow features.

The Operator trait provides general operators whose behavior can be supplied using closures accepting input and output handles. Most of the operators in this module are defined using these two general operators.



  • Aggregation operators of various flavors
  • Operators that separate one stream into two streams based on some condition
  • Broadcast records to all workers.
  • Extension traits for StreamCore implementing various operators that are independent of specific container types.
  • Counts the number of records at each time.
  • Operators acting on timestamps to logically delay records
  • Filters a stream by a predicate.
  • Methods to construct flow-controlled sources.
  • Generic operators defined by user-provided closures.
  • Create new Streams connected to external inputs.
  • Extension methods for Stream based on record-by-record transformation.
  • Partition a stream of records into multiple streams.
  • Extension methods for Stream containing Results.
  • Conversion to the Stream type from iterators.
  • Create new Streams connected to external inputs.


  • Capability that activates on drop.
  • The capability to send data with a certain timestamp on a dataflow edge.
  • A set of capabilities, for possibly incomparable times.
  • An error produced when trying to downgrade a capability with a time that’s not less than or equal to the current capability
  • An capability of an input port. Holding onto this capability will implicitly holds onto a capability for all the outputs ports this input is connected to, after the connection summaries have been applied.