Class MasterServerTerminator
java.lang.Object
org.apache.pekko.http.impl.engine.server.MasterServerTerminator
- All Implemented Interfaces:
ServerTerminator
INTERNAL API: Collects signals from per-connection terminators and manages the termination process kickoff
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classstatic classstatic interfacestatic final classstatic class -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanregisterConnection(ServerTerminator terminator, scala.concurrent.ExecutionContext ec) Registers an per-connection terminator.voidremoveConnection(ServerTerminator terminator) Removes a previously registered per-connection terminator.scala.concurrent.Future<Http.HttpTerminated>terminate(scala.concurrent.duration.FiniteDuration timeout, scala.concurrent.ExecutionContext ex) Initiate the termination sequence of this server.
-
Constructor Details
-
MasterServerTerminator
public MasterServerTerminator(org.apache.pekko.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
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:ServerTerminatorInitiate the termination sequence of this server.- Specified by:
terminatein interfaceServerTerminator- Parameters:
timeout- (undocumented)ex- (undocumented)- Returns:
- (undocumented)
-