Class RestartWithBackoffLogic<S extends Shape>

All Implemented Interfaces:
StageLogging

public abstract class RestartWithBackoffLogic<S extends Shape> extends TimerGraphStageLogicWithLogging
Shared logic for all restart with backoff logics.
  • Constructor Details

    • RestartWithBackoffLogic

      public RestartWithBackoffLogic(String name, S shape, Attributes inheritedAttributes, RestartSettings settings, boolean onlyOnFailures)
  • Method Details

    • backoff

      protected abstract void backoff()
    • createSubInlet

      protected final <T> GraphStageLogic.SubSinkInlet<T> createSubInlet(Outlet<T> out)
      Parameters:
      out - The permanent outlet
      Returns:
      A sub sink inlet that's sink is attached to the wrapped operator
    • createSubOutlet

      protected final <T> GraphStageLogic.SubSourceOutlet<T> createSubOutlet(Inlet<T> in)
      Parameters:
      in - The permanent inlet for this operator
      Returns:
      Temporary SubSourceOutlet for this "restart"
    • finishing

      public boolean finishing()
    • finishing_$eq

      public void finishing_$eq(boolean x$1)
    • logSource

      protected Class<?> logSource()
      Description copied from interface: StageLogging
      Override to customise reported log source
    • maxRestartsReached

      protected final boolean maxRestartsReached()
    • onTimer

      protected void onTimer(Object timerKey)
      Description copied from class: TimerGraphStageLogic
      Will be called when the scheduled timer is triggered.

      Overrides:
      onTimer in class TimerGraphStageLogic
      Parameters:
      timerKey - key of the scheduled timer
    • preStart

      public void preStart()
      Description copied from class: GraphStageLogic
      Invoked before any external events are processed, at the startup of the operator.
      Overrides:
      preStart in class GraphStageLogic
    • resetDeadline

      public scala.concurrent.duration.Deadline resetDeadline()
    • resetDeadline_$eq

      public void resetDeadline_$eq(scala.concurrent.duration.Deadline x$1)
    • restartCount

      public int restartCount()
    • restartCount_$eq

      public void restartCount_$eq(int x$1)
    • scheduleRestartTimer

      protected final void scheduleRestartTimer()
    • startGraph

      protected abstract void startGraph()