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, waitcompose, compose, composeNoMat, equals, fuse, fuse, hashCode, isAtomic, isBidiFlow, isCopied, isFlow, isRunnable, isSealed, isSink, isSource, transformMaterializedValue, wirepublic 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.Modulepublic final scala.collection.immutable.Set<OutPort> outPorts()
outPorts in interface StreamLayout.Modulepublic scala.collection.immutable.Set<StreamLayout.Module> subModules()
subModules in interface StreamLayout.Modulepublic Shape shape()
shape in interface StreamLayout.Modulepublic scala.collection.immutable.Map<OutPort,InPort> downstreams()
downstreams in interface StreamLayout.Modulepublic scala.collection.immutable.Map<InPort,OutPort> upstreams()
upstreams in interface StreamLayout.Modulepublic 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.Modulepublic Attributes attributes()
attributes in interface StreamLayout.Modulepublic boolean isFused()
isFused in interface StreamLayout.Modulepublic StreamLayout.Module replaceShape(Shape s)
StreamLayout.ModulePlease 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.Modules - (undocumented)public StreamLayout.Module carbonCopy()
StreamLayout.ModulecarbonCopy in interface StreamLayout.Modulepublic StreamLayout.StructuralInfoModule withAttributes(Attributes attributes)
withAttributes in interface StreamLayout.Module