Click or drag to resize
Akka.NETGraphAssembly Class
INTERNAL API A GraphAssembly represents a small stream processing graph to be executed by the interpreter. Instances of this class **must not** be mutated after construction. The array OriginalAttributes may contain the attribute information of the original atomic module, otherwise it must contain a none (otherwise the enclosing module could not overwrite attributes defined in this array). The arrays Inlets and Outlets correspond to the notion of a *connection* in the GraphInterpreter. Each slot *i* contains the input and output port corresponding to connection *i*. Slots where the graph is not closed (i.e. ports are exposed to the external world) are marked with null values. For example if an input port p is exposed, then Outlets[p] will contain a null. The arrays InletOwners and OutletOwners are lookup tables from a connection id(the index of the slot) to a slot in the Stages array, indicating which stage is the owner of the given input or output port. Slots which would correspond to non-existent stages(where the corresponding port is null since it represents the currently unknown external context) contain the value Boundary. The current assumption by the infrastructure is that the layout of these arrays looks like this: +---------------------------------------+-----------------+ inOwners: | index to stages array | Boundary(-1) | +----------------+----------------------+-----------------+ ins: | exposed inputs | internal connections | nulls | +----------------+----------------------+-----------------+ outs: | nulls | internal connections | exposed outputs | +----------------+----------------------+-----------------+ outOwners: | Boundary(-1) | index to stages array | +----------------+----------------------------------------+ In addition, it is also assumed by the infrastructure that the order of exposed inputs and outputs in the corresponding segments of these arrays matches the exact same order of the ports in the Shape.
Inheritance Hierarchy
SystemObject
  Akka.Streams.Implementation.FusingGraphAssembly

Namespace:  Akka.Streams.Implementation.Fusing
Assembly:  Akka.Streams (in Akka.Streams.dll) Version: 1.2.3.129 (1.2.3.129)
Syntax
public sealed class GraphAssembly

The GraphAssembly type exposes the following members.

Constructors
  NameDescription
Public methodGraphAssembly
TBD
Top
Properties
  NameDescription
Public propertyConnectionCount
TBD
Top
Methods
  NameDescription
Public methodStatic memberCreate
TBD
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodMaterialize
Takes an interpreter and returns three arrays required by the interpreter containing the input, output port handlers and the stage logic instances.

Returns a tuple of

- lookup table for InHandlers

- lookup table for OutHandlers

- array of the logics

- materialized value

Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodToString
TBD
(Overrides ObjectToString.)
Top
Fields
  NameDescription
Public fieldInletOwners
TBD
Public fieldInlets
TBD
Public fieldOriginalAttributes
TBD
Public fieldOutletOwners
TBD
Public fieldOutlets
TBD
Public fieldStages
TBD
Top
Extension Methods
See Also