public static final class StreamLayout.StructuralInfoModule extends java.lang.Object implements StreamLayout.Module, scala.Product, scala.Serializable
When fusing a Graph
a part of the internal stage wirings are hidden within
akka.stream.impl.fusing.GraphInterpreter#GraphAssembly
objects that are
optimized for high-speed execution. This structural information module 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).
Constructor and Description |
---|
StructuralInfoModule(scala.collection.immutable.Set<StreamLayout.Module> subModules,
Shape shape,
scala.collection.immutable.Map<OutPort,InPort> downstreams,
scala.collection.immutable.Map<InPort,OutPort> upstreams,
scala.collection.immutable.Map<InPort,StreamLayout.Module> inOwners,
scala.collection.immutable.Map<OutPort,StreamLayout.Module> outOwners,
scala.collection.immutable.List<scala.Tuple2<StreamLayout.Module,StreamLayout.MaterializedValueNode>> matValues,
StreamLayout.MaterializedValueNode materializedValueComputation,
Attributes attributes) |
Modifier and Type | Method and Description |
---|---|
Attributes |
attributes() |
StreamLayout.Module |
carbonCopy()
The purpose of this method is to create a copy to be included in a larger
graph such that port identity clashes are avoided.
|
scala.collection.immutable.Map<OutPort,InPort> |
downstreams() |
scala.collection.immutable.Map<InPort,StreamLayout.Module> |
inOwners() |
scala.collection.immutable.Set<InPort> |
inPorts() |
boolean |
isFused() |
StreamLayout.MaterializedValueNode |
materializedValueComputation() |
scala.collection.immutable.List<scala.Tuple2<StreamLayout.Module,StreamLayout.MaterializedValueNode>> |
matValues() |
scala.collection.immutable.Map<OutPort,StreamLayout.Module> |
outOwners() |
scala.collection.immutable.Set<OutPort> |
outPorts() |
StreamLayout.Module |
replaceShape(Shape s)
Verify that the given Shape has the same ports and return a new module with that shape.
|
Shape |
shape() |
scala.collection.immutable.Set<StreamLayout.Module> |
subModules() |
scala.collection.immutable.Map<InPort,OutPort> |
upstreams() |
StreamLayout.StructuralInfoModule |
withAttributes(Attributes attributes) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
compose, compose, composeNoMat, equals, fuse, fuse, hashCode, isAtomic, isBidiFlow, isCopied, isFlow, isRunnable, isSealed, isSink, isSource, transformMaterializedValue, wire
public StructuralInfoModule(scala.collection.immutable.Set<StreamLayout.Module> subModules, Shape shape, scala.collection.immutable.Map<OutPort,InPort> downstreams, scala.collection.immutable.Map<InPort,OutPort> upstreams, scala.collection.immutable.Map<InPort,StreamLayout.Module> inOwners, scala.collection.immutable.Map<OutPort,StreamLayout.Module> outOwners, scala.collection.immutable.List<scala.Tuple2<StreamLayout.Module,StreamLayout.MaterializedValueNode>> matValues, StreamLayout.MaterializedValueNode materializedValueComputation, Attributes attributes)
public final scala.collection.immutable.Set<InPort> inPorts()
inPorts
in interface StreamLayout.Module
public final scala.collection.immutable.Set<OutPort> outPorts()
outPorts
in interface StreamLayout.Module
public scala.collection.immutable.Set<StreamLayout.Module> subModules()
subModules
in interface StreamLayout.Module
public Shape shape()
shape
in interface StreamLayout.Module
public scala.collection.immutable.Map<OutPort,InPort> downstreams()
downstreams
in interface StreamLayout.Module
public scala.collection.immutable.Map<InPort,OutPort> upstreams()
upstreams
in interface StreamLayout.Module
public scala.collection.immutable.Map<InPort,StreamLayout.Module> inOwners()
public scala.collection.immutable.Map<OutPort,StreamLayout.Module> outOwners()
public scala.collection.immutable.List<scala.Tuple2<StreamLayout.Module,StreamLayout.MaterializedValueNode>> matValues()
public StreamLayout.MaterializedValueNode materializedValueComputation()
materializedValueComputation
in interface StreamLayout.Module
public Attributes attributes()
attributes
in interface StreamLayout.Module
public boolean isFused()
isFused
in interface StreamLayout.Module
public StreamLayout.Module replaceShape(Shape s)
StreamLayout.Module
Please note that this method MUST NOT be implemented using a CopiedModule since the purpose of replaceShape can also be to rearrange the ports (as in BidiFlow.reversed) and that purpose would be defeated.
replaceShape
in interface StreamLayout.Module
s
- (undocumented)public StreamLayout.Module carbonCopy()
StreamLayout.Module
carbonCopy
in interface StreamLayout.Module
public StreamLayout.StructuralInfoModule withAttributes(Attributes attributes)
withAttributes
in interface StreamLayout.Module