Class GraphInterpreter


  • public final class GraphInterpreter
    extends java.lang.Object
    INTERNAL API
    • Method Detail

      • Debug

        public static final boolean Debug()
      • NoEvent

        public static final scala.runtime.Null$ NoEvent()
      • InReady

        public static final int InReady()
      • Pulling

        public static final int Pulling()
      • Pushing

        public static final int Pushing()
      • OutReady

        public static final int OutReady()
      • InClosed

        public static final int InClosed()
      • OutClosed

        public static final int OutClosed()
      • InFailed

        public static final int InFailed()
      • PullStartFlip

        public static final int PullStartFlip()
      • PullEndFlip

        public static final int PullEndFlip()
      • PushStartFlip

        public static final int PushStartFlip()
      • PushEndFlip

        public static final int PushEndFlip()
      • KeepGoingFlag

        public static final int KeepGoingFlag()
      • KeepGoingMask

        public static final int KeepGoingMask()
      • singleNoAttribute

        public static Attributes[] singleNoAttribute()
      • currentInterpreter

        public static GraphInterpreter currentInterpreter()
        INTERNAL API
        Returns:
        (undocumented)
      • currentInterpreterOrNull

        public static GraphInterpreter currentInterpreterOrNull()
        INTERNAL API
        Returns:
        (undocumented)
      • onAsyncInput

        public scala.Function4<GraphStageLogic,​java.lang.Object,​scala.concurrent.Promise<Done>,​scala.Function1<java.lang.Object,​scala.runtime.BoxedUnit>,​scala.runtime.BoxedUnit> onAsyncInput()
      • fuzzingMode

        public boolean fuzzingMode()
      • subFusingMaterializer

        public Materializer subFusingMaterializer()
      • Name

        public java.lang.String Name()
      • nonNull

        public GraphInterpreter nonNull()
        INTERNAL API
        Returns:
        (undocumented)
      • setHandler

        public void setHandler​(GraphInterpreter.Connection connection,
                               InHandler handler)
        Dynamic handler changes are communicated from a GraphStageLogic by this method.
        Parameters:
        connection - (undocumented)
        handler - (undocumented)
      • setHandler

        public void setHandler​(GraphInterpreter.Connection connection,
                               OutHandler handler)
        Dynamic handler changes are communicated from a GraphStageLogic by this method.
        Parameters:
        connection - (undocumented)
        handler - (undocumented)
      • isSuspended

        public boolean isSuspended()
        Returns true if there are pending unprocessed events in the event queue.
        Returns:
        (undocumented)
      • isCompleted

        public boolean isCompleted()
        Returns true if there are no more running operators and pending events.
        Returns:
        (undocumented)
      • init

        public void init​(Materializer subMat)
        Initializes the states of all the operator logics by calling preStart(). The passed-in materializer is intended to be a SubFusingActorMaterializer that avoids creating new Actors when operators materialize sub-flows. If no such materializer is available, passing in null will reuse the normal materializer for the GraphInterpreter—fusing is only an optimization.
        Parameters:
        subMat - (undocumented)
      • finish

        public void finish()
        Finalizes the state of all operators by calling postStop() (if necessary).
      • execute

        public int execute​(int eventLimit)
        Executes pending events until the given limit is met. If there were remaining events, isSuspended will return true.
        Parameters:
        eventLimit - (undocumented)
        Returns:
        (undocumented)
      • runAsyncInput

        public void runAsyncInput​(GraphStageLogic logic,
                                  java.lang.Object evt,
                                  scala.concurrent.Promise<Done> promise,
                                  scala.Function1<java.lang.Object,​scala.runtime.BoxedUnit> handler)
      • afterStageHasRun

        public void afterStageHasRun​(GraphStageLogic logic)
      • isStageCompleted

        public boolean isStageCompleted​(GraphStageLogic stage)
      • setKeepGoing

        public void setKeepGoing​(GraphStageLogic logic,
                                 boolean enabled)
      • toSnapshot

        public RunningInterpreter toSnapshot()
        Debug utility to dump the "waits-on" relationships in an AST format for rendering in some suitable format for analysis of deadlocks.

        Only invoke this after the interpreter completely settled, otherwise the results might be off. This is a very simplistic tool, make sure you are understanding what you are doing and then it will serve you well.

        Returns:
        (undocumented)