object GraphInterpreter

INTERNAL API

(See the class for the documentation of the internals)

Source
GraphInterpreter.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. GraphInterpreter
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final class Connection extends AnyRef

    INERNAL API

    INERNAL API

    Contains all the necessary information for the GraphInterpreter to be able to implement a connection between an output and input ports.

  2. abstract class DownstreamBoundaryStageLogic [T] extends GraphStageLogic
  3. final case class Failed (ex: Throwable, previousElem: Any) extends Product with Serializable
  4. final class GraphAssembly extends AnyRef

    INTERNAL API

    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.

  5. abstract class UpstreamBoundaryStageLogic [T] extends GraphStageLogic

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final val Boundary: Int(-1)
  5. final val Debug: Boolean(false)

    Compile time constant, enable it for debug logging to the console.

  6. final val InClosed: Int(16)
  7. final val InFailed: Int(64)
  8. final val InReady: Int(1)
  9. final val KeepGoingFlag: Int(67108864)
  10. final val KeepGoingMask: Int(67108863)
  11. final val NoEvent: Null(null)
  12. final val OutClosed: Int(32)
  13. final val OutReady: Int(8)
  14. final val PullEndFlip: Int(10)
  15. final val PullStartFlip: Int(3)
  16. final val Pulling: Int(2)
  17. final val PushEndFlip: Int(5)
  18. final val PushStartFlip: Int(12)
  19. final val Pushing: Int(4)
  20. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  21. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  24. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  25. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  26. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  27. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  28. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  29. final def notify(): Unit
    Definition Classes
    AnyRef
  30. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  31. val singleNoAttribute: Array[Attributes]
  32. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  33. def toString(): String
    Definition Classes
    AnyRef → Any
  34. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  36. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  37. object Empty extends Product with Serializable

    Marker object that indicates that a port holds no element since it was already grabbed.

    Marker object that indicates that a port holds no element since it was already grabbed. The port is still pullable, but there is no more element to grab.

  38. object GraphAssembly

Inherited from AnyRef

Inherited from Any

Ungrouped