Packages

final class GraphAssembly extends AnyRef

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 ins and outs 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 outs(p) will contain a *null*.

The arrays inOwners and outOwners 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 GraphInterpreter#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.

Source
GraphInterpreter.scala
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. GraphAssembly
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new GraphAssembly(stages: Array[GraphStageWithMaterializedValue[Shape, Any]], originalAttributes: Array[Attributes], ins: Array[Inlet[_]], inOwners: Array[Int], outs: Array[Outlet[_]], outOwners: Array[Int])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from GraphAssembly to any2stringadd[GraphAssembly] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (GraphAssembly, B)
    Implicit
    This member is added by an implicit conversion from GraphAssembly to ArrowAssoc[GraphAssembly] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def connectionCount: Int
  9. def ensuring(cond: (GraphAssembly) ⇒ Boolean, msg: ⇒ Any): GraphAssembly
    Implicit
    This member is added by an implicit conversion from GraphAssembly to Ensuring[GraphAssembly] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  10. def ensuring(cond: (GraphAssembly) ⇒ Boolean): GraphAssembly
    Implicit
    This member is added by an implicit conversion from GraphAssembly to Ensuring[GraphAssembly] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  11. def ensuring(cond: Boolean, msg: ⇒ Any): GraphAssembly
    Implicit
    This member is added by an implicit conversion from GraphAssembly to Ensuring[GraphAssembly] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. def ensuring(cond: Boolean): GraphAssembly
    Implicit
    This member is added by an implicit conversion from GraphAssembly to Ensuring[GraphAssembly] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  15. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from GraphAssembly to StringFormat[GraphAssembly] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  17. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  19. val inOwners: Array[Int]
  20. val ins: Array[Inlet[_]]
  21. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  22. def materialize(inheritedAttributes: Attributes, copiedModules: Array[Module], matVal: java.util.Map[Module, Any], register: (MaterializedValueSource[Any]) ⇒ Unit): (Array[Connection], Array[GraphStageLogic])

    Takes an interpreter and returns three arrays required by the interpreter containing the input, output port handlers and the stage logic instances.

    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 Connections
    • array of the logics
  23. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  24. final def notify(): Unit
    Definition Classes
    AnyRef
  25. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  26. val originalAttributes: Array[Attributes]
  27. val outOwners: Array[Int]
  28. val outs: Array[Outlet[_]]
  29. val stages: Array[GraphStageWithMaterializedValue[Shape, Any]]
  30. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  31. def toString(): String
    Definition Classes
    GraphAssembly → AnyRef → Any
  32. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. def [B](y: B): (GraphAssembly, B)
    Implicit
    This member is added by an implicit conversion from GraphAssembly to ArrowAssoc[GraphAssembly] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from GraphAssembly to any2stringadd[GraphAssembly]

Inherited by implicit conversion StringFormat from GraphAssembly to StringFormat[GraphAssembly]

Inherited by implicit conversion Ensuring from GraphAssembly to Ensuring[GraphAssembly]

Inherited by implicit conversion ArrowAssoc from GraphAssembly to ArrowAssoc[GraphAssembly]

Ungrouped