Class MasterServerTerminator

java.lang.Object
akka.http.impl.engine.server.MasterServerTerminator
All Implemented Interfaces:
ServerTerminator

public final class MasterServerTerminator extends Object implements ServerTerminator
INTERNAL API: Collects signals from per-connection terminators and manages the termination process kickoff
  • Constructor Details

    • MasterServerTerminator

      public MasterServerTerminator(akka.event.LoggingAdapter log)
  • Method Details

    • registerConnection

      public boolean registerConnection(ServerTerminator terminator, scala.concurrent.ExecutionContext ec)
      Registers an per-connection terminator. Once the master terminator gets the termination signal, it will delegate the signal to all registered terminators (existing connections).

      Parameters:
      terminator - (undocumented)
      ec - (undocumented)
      Returns:
      true if registered successfully and not terminating, false if termination in-flight (and the terminators terminate() will be invoked in that case automatically)
    • removeConnection

      public void removeConnection(ServerTerminator terminator)
      Removes a previously registered per-connection terminator. Terminators must remove themselves like this once their respective connection is closed, otherwise they would leak and remain in the set indefinitely.

      Parameters:
      terminator - (undocumented)
    • terminate

      public scala.concurrent.Future<Http.HttpTerminated> terminate(scala.concurrent.duration.FiniteDuration timeout, scala.concurrent.ExecutionContext ex)
      Description copied from interface: ServerTerminator
      Initiate the termination sequence of this server.
      Specified by:
      terminate in interface ServerTerminator
      Parameters:
      timeout - (undocumented)
      ex - (undocumented)
      Returns:
      (undocumented)