logo
Expand description

Streams are used to send data between operators.

In the driver, connections between operators are created by passing Streams as arguments to the connect functions.

During execution, operators can broadcast data to all downstream operators connected to a stream by invoking WriteStreamT::send. Likewise, operators can process data by implementing callbacks in the operator traits, or by calling ReadStream::read or ReadStream::try_read in an operator’s run method.

The driver can interact with an application by sending messages on an IngestStream or reading messages from an ExtractStream.

Messages sent on a stream are broadcast to all connected operators, using zero-copy communication for operators on the same node. Messages sent across nodes are serialized using abomonation if possible, before falling back to bincode.

Modules

Structs

An ExtractStream enables drivers to read data from a running ERDOS application.

An IngestStream enables drivers to inject data into a running ERDOS application.

A ReadStream allows operators to pull Messages from a stream.

A WriteStream allows operators to send data to other operators.

Traits

Write stream trait which allows specialized implementations of send depending on the serialization library used.

Type Definitions