Expand description
Dynamic stream controls and attachment points modeled after Akka Streams.
KillSwitches expose reusable shutdown/abort controls for already-wired streams without
starting any work before materialization.
The hub stages materialize reusable attachment points:
MergeHubmaterializes aSinkthat many producers can attach to over time.BroadcastHubmaterializes aSourcethat many consumers can attach to over time.PartitionHubmaterializes aSourcewhose elements are routed to one selected consumer.
BroadcastHub and PartitionHub follow Akka’s caveat that one upstream producer adapts to the
slowest active consumer unless callers add their own buffering or drop stages around the
materialized consumer sources.
Datum’s BroadcastHub differs from Akka when there are zero attached consumers: Datum blocks
upstream immediately, while Akka may pre-buffer up to buffer_size elements before stalling.