Skip to main content

Module dynamic

Module dynamic 

Source
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:

  • MergeHub materializes a Sink that many producers can attach to over time.
  • BroadcastHub materializes a Source that many consumers can attach to over time.
  • PartitionHub materializes a Source whose 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.

Structs§

BroadcastHub
BroadcastHubConsumerSource
KillSwitches
MergeHub
MergeHubDrainingControl
PartitionConsumerInfo
PartitionHub
PartitionHubConsumerSource
SharedKillSwitch
UniqueKillSwitch