object GraphInterpreter
INTERNAL API
(See the class for the documentation of the internals)
- Source
- GraphInterpreter.scala
- Alphabetic
- By Inheritance
- GraphInterpreter
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
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.
- abstract class DownstreamBoundaryStageLogic [T] extends GraphStageLogic
- final case class Failed (ex: Throwable, previousElem: Any) extends Product with Serializable
-
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
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).originalAttributes
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.
- abstract class UpstreamBoundaryStageLogic [T] extends GraphStageLogic
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final val Boundary: Int(-1)
-
final
val
Debug: Boolean(false)
Compile time constant, enable it for debug logging to the console.
- final val InClosed: Int(16)
- final val InFailed: Int(64)
- final val InReady: Int(1)
- final val KeepGoingFlag: Int(67108864)
- final val KeepGoingMask: Int(67108863)
- final val NoEvent: Null(null)
- final val OutClosed: Int(32)
- final val OutReady: Int(8)
- final val PullEndFlip: Int(10)
- final val PullStartFlip: Int(3)
- final val Pulling: Int(2)
- final val PushEndFlip: Int(5)
- final val PushStartFlip: Int(12)
- final val Pushing: Int(4)
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- val singleNoAttribute: Array[Attributes]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
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.
- object GraphAssembly