Expand description
Streams are used to send data between operators.
In the driver, connections between operators are created by passing
Stream
s 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 Message
s 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.