Class SubFusingActorMaterializerImpl


  • public class SubFusingActorMaterializerImpl
    extends Materializer
    This materializer replaces the default phase with one that will fuse operators into an existing interpreter (via registerShell), rather than start a new actor for each of them.

    The default phases are left in-tact since we still respect .async and other tags that were marked within a sub-fused graph.

    • Method Detail

      • executionContext

        public scala.concurrent.ExecutionContextExecutor executionContext()
        Description copied from class: Materializer
        Running a flow graph will require execution resources, as will computations within Sources, Sinks, etc. This ExecutionContextExecutor can be used by parts of the flow to submit processing jobs for execution, run Future callbacks, etc.

        Note that this is not necessarily the same execution context the stream operator itself is running on.

        Specified by:
        executionContext in class Materializer
        Returns:
        (undocumented)
      • materialize

        public <Mat> Mat materialize​(Graph<ClosedShape,​Mat> runnable)
        Description copied from class: Materializer
        This method interprets the given Flow description and creates the running stream. The result can be highly implementation specific, ranging from local actor chains to remote-deployed processing networks.
        Specified by:
        materialize in class Materializer
        Parameters:
        runnable - (undocumented)
        Returns:
        (undocumented)
      • materialize

        public <Mat> Mat materialize​(Graph<ClosedShape,​Mat> runnable,
                                     Attributes defaultAttributes)
        Description copied from class: Materializer
        This method interprets the given Flow description and creates the running stream using an explicitly provided Attributes as top level (least specific) attributes that will be defaults for the materialized stream. The result can be highly implementation specific, ranging from local actor chains to remote-deployed processing networks.
        Specified by:
        materialize in class Materializer
        Parameters:
        runnable - (undocumented)
        defaultAttributes - (undocumented)
        Returns:
        (undocumented)
      • scheduleOnce

        public Cancellable scheduleOnce​(scala.concurrent.duration.FiniteDuration delay,
                                        java.lang.Runnable task)
        Description copied from class: Materializer
        Interface for operators that need timer services for their functionality. Schedules a single task with the given delay.

        Specified by:
        scheduleOnce in class Materializer
        Parameters:
        delay - (undocumented)
        task - (undocumented)
        Returns:
        A Cancellable that allows cancelling the timer. Cancelling is best effort, if the event has been already enqueued it will not have an effect.
      • schedulePeriodically

        public Cancellable schedulePeriodically​(scala.concurrent.duration.FiniteDuration initialDelay,
                                                scala.concurrent.duration.FiniteDuration interval,
                                                java.lang.Runnable task)
        Description copied from class: Materializer
        Interface for operators that need timer services for their functionality. Schedules a repeated task with the given interval between invocations.

        Specified by:
        schedulePeriodically in class Materializer
        Parameters:
        initialDelay - (undocumented)
        interval - (undocumented)
        task - (undocumented)
        Returns:
        A Cancellable that allows cancelling the timer. Cancelling is best effort, if the event has been already enqueued it will not have an effect.
      • subFusingPhase

        public java.lang.Object subFusingPhase()