This exception signals that an actor implementing a Reactive Streams Subscriber, Publisher or Processor has been terminated without being notified by an onError, onComplete or cancel signal. This usually happens when an ActorSystem is shut down while stream processing actors are still running.
A ActorMaterializer takes the list of transformations comprising a IFlowTOut, TMat and materializes them in the form of instances. How transformation steps are split up into asynchronous regions is implementation dependent.
This class describes the configurable properties of the ActorMaterializer. Please refer to the withX methods for descriptions of the individual settings.
|BidiShapeTIn1, TOut1, TIn2, TOut2|
A bidirectional flow of elements that consequently has two inputs and two outputs.
|FanInShapeT0, T1, T2, T3, T4, T5, T6, T7, T8, TOut|
|FanInShapeT0, T1, TOut|
|FanInShapeT0, T1, T2, TOut|
|FanInShapeT0, T1, T2, T3, TOut|
|FanInShapeT0, T1, T2, T3, T4, TOut|
|FanInShapeT0, T1, T2, T3, T4, T5, TOut|
|FanInShapeT0, T1, T2, T3, T4, T5, T6, TOut|
|FanInShapeT0, T1, T2, T3, T4, T5, T6, T7, TOut|
|FanInShapeNT0, T1, TOut|
|FanOutShapeTIn, T0, T1, T2, T3, T4, T5, T6, T7, T8|
|FanOutShapeTIn, T0, T1|
|FanOutShapeTIn, T0, T1, T2|
|FanOutShapeTIn, T0, T1, T2, T3|
|FanOutShapeTIn, T0, T1, T2, T3, T4|
|FanOutShapeTIn, T0, T1, T2, T3, T4, T5|
|FanOutShapeTIn, T0, T1, T2, T3, T4, T5, T6|
|FanOutShapeTIn, T0, T1, T2, T3, T4, T5, T6, T7|
Stream completed successfully
Stream was created, but no events have passed through it
Stream processed a message
A Flow Shape has exactly one input and one output, it looks from the outside like a pipe (but it can be a complex topology of streams within of course).
This class holds some graph transformation functions that can fuse together multiple operation stages into synchronous execution islands. The purpose is to reduce the number of Actors that are created in order to execute the stream and thereby improve start-up cost as well as reduce element traversal latency for large graphs. Fusing itself is a time-consuming operation, meaning that usually it is best to cache the result of this computation and reuse it instead of fusing the same graph many times. Fusing together all operations which allow this treatment will reduce the parallelism that is available in the stream graph’s execution—in the worst case it will become single-threaded and not benefit from multiple CPU cores at all. Where parallelism is required, the AttributesAsyncBoundary attribute can be used to declare subgraph boundaries across which the graph shall not be fused.
A fused graph of the right shape, containing a FusedModule which holds more information on the operation structure of the contained stream topology for convenient graph traversal.
An Inlet is a typed input to a Shape. Its partner in the Module view is the InPort(which does not bear an element type because Modules only express the internal structural hierarchy of stream topologies).
An input port of a IModule. This type logically belongs into the impl package but must live here due to how sealed works. It is also used in the Java DSL for "untyped Inlets" as a work-around for otherwise unreasonable existential types.
Creates shared or single kill switches which can be used to control completion of graphs from the outside. - The factory SharedKillSwitch which provides a IGraphTShape of FlowShapeTIn, TOut that can be used in arbitrary number of graphs and materializations. The switch simultaneously controls completion in all of those graphs. - The factory SingleT returns a IGraphTShape of FlowShapeTIn, TOut that materializes to a UniqueKillSwitch which is always unique to that materialized Flow itself.returns a
This exception or subtypes thereof should be used to signal materialization failures.
An Outlet is a typed output to a Shape. Its partner in the Module view is the OutPort(which does not bear an element type because Modules only express the internal structural hierarchy of stream topologies).
An output port of a StreamLayout.Module. This type logically belongs into the impl package but must live here due to how sealed works. It is also used in the Java DSL for "untyped Outlets" as a work-around for otherwise unreasonable existential types.
A Shape describes the inlets and outlets of a IGraphTShape. In keeping with the philosophy that a Graph is a freely reusable blueprint, everything that matters from the outside are the connections that can be made with it, otherwise it is just a black box.
A SharedKillSwitch is a provider for IGraphTShapes of FlowShapeTIn, TOut that can be completed or failed from the outside. A IGraphTShape returned by the switch can be materialized arbitrary amount of times: every newly materializedIGraphTShape belongs to the switch from which it was acquired. Multiple SharedKillSwitch instances are isolated from each other, shutting down or aborting on instance does not affect the IGraphTShapes provided by another instance. After calling Shutdown all materialized, running instances of all IGraphTShapes provided by the SharedKillSwitch will complete their downstreams and cancel their upstreams(unless if finished or failed already in which case the command is ignored). Subsequent invocations of Shutdown and Abort(Exception) will be ignored. After calling Abort(Exception) all materialized, running instances of all IGraphTShapes provided by the SharedKillSwitch will fail their downstreams with the provided exception and cancel their upstreams (unless it finished or failed already in which case the command is ignored). Subsequent invocations of Shutdown and Abort(Exception) will be ignored. The IGraphTShapes provided by the SharedKillSwitch do not modify the passed through elements in any way or affect backpressure in the stream. All provided IGraphTShapes provide the parent SharedKillSwitch as materialized value. This class is thread-safe, the instance can be passed safely among threads and its methods may be invoked concurrently.
A Sink Shape has exactly one input and no outputs, it models a data sink.
A Source Shape has exactly one output and no inputs, it models a source of data.
Leaked publishers and subscribers are cleaned up when they are not used within a given deadline, configured by StreamSubscriptionTimeoutSettings.
A UniqueKillSwitch is always a result of a materialization (unlike SharedKillSwitch which is constructed before any materialization) and it always controls that graph and stage which yielded the materialized value. After calling Shutdown the running instance of the IGraphTShape of FlowShapeTIn, TOut that materialized to the UniqueKillSwitch will complete its downstream and cancel its upstream (unless if finished or failed already in which case the command is ignored). Subsequent invocations of completion commands will be ignored. After calling Abort(Exception) the running instance of the IGraphTShape of FlowShapeTIn, TOut that materialized to the UniqueKillSwitch will fail its downstream with the provided exception and cancel its upstream (unless if finished or failed already in which case the command is ignored). Subsequent invocations of completion commands will be ignored. It is also possible to individually cancel, complete or fail upstream and downstream parts by calling the corresponding methods.
When fusing a IGraphTShape a part of the internal stage wirings are hidden within GraphAssembly objects that are optimized for high-speed execution. This structural information bundle contains the wirings in a more accessible form, allowing traversal from port to upstream or downstream port and from there to the owning module (or graph vertex).
Context parameter to the create methods of sources and sinks.
Used to monitor the state of a stream
A IKillSwitch allows completion of IGraphTShapes from the outside by completing IGraphTShapes of FlowShapeTIn, TOut linked to the switch. Depending on whether the IKillSwitch is a UniqueKillSwitch or a SharedKillSwitch one or multiple streams might be linked with the switch. For details see the documentation of the concrete subclasses of this interface.
Used as return type for async callbacks to streams
Trait allows to have the queue as a sink for some stream. "SinkQueue" pulls data from stream with backpressure mechanism.
This interface allows to have the queue as a data source for some stream.
This interface adds completion support to ISourceQueueT
Represents a strategy that decides how to deal with a buffer of time based stage that is full but is about to receive a new element.
Represents a strategy that decides how to deal with a buffer that is full but is about to receive a new element.
This mode describes what shall happen when the subscription timeout expires for substream Publishers created by operations like.
Represents a strategy that decides how to deal with substream events.
Represents a mode that decides how to deal exceed rate for Throttle combinator.