public class Fusing
extends java.lang.Object
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 akka.stream.Attributes#AsyncBoundary
attribute can be used to declare subgraph boundaries across which the graph
shall not be fused.
Modifier and Type | Class and Description |
---|---|
static class |
Fusing.FusedGraph<S extends Shape,M>
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. |
static class |
Fusing.FusedGraph$ |
Constructor and Description |
---|
Fusing() |
Modifier and Type | Method and Description |
---|---|
static <S extends Shape,M> |
aggressive(Graph<S,M> g)
Fuse all operations where this is technically possible (i.e.
|
static <S extends Shape,M> |
structuralInfo(Graph<S,M> g,
Attributes attributes)
Return the StructuralInfo for this Graph without any fusing
|
public static <S extends Shape,M> Fusing.FusedGraph<S,M> aggressive(Graph<S,M> g)
GraphStage
) and not forbidden
via akka.stream.Attributes#AsyncBoundary
.g
- (undocumented)public static <S extends Shape,M> StreamLayout.StructuralInfoModule structuralInfo(Graph<S,M> g, Attributes attributes)
g
- (undocumented)attributes
- (undocumented)