Package io.servicetalk.transport.api
Interface ServerContext
-
- All Superinterfaces:
AsyncCloseable
,java.lang.AutoCloseable
,GracefulAutoCloseable
,ListenableAsyncCloseable
- All Known Implementing Classes:
NettyServerContext
public interface ServerContext extends ListenableAsyncCloseable, GracefulAutoCloseable
Context for servers.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default void
awaitShutdown()
Blocks and awaits shutdown of the server thisServerContext
represents.default void
close()
default void
closeGracefully()
Used to close/shutdown a resource, similar toAutoCloseable.close()
, but attempts to cleanup state before abruptly closing.ExecutionContext
executionContext()
ReturnsExecutionContext
used by this server.java.net.SocketAddress
listenAddress()
Listen address for the server associated with this context.-
Methods inherited from interface io.servicetalk.concurrent.api.AsyncCloseable
closeAsync, closeAsyncGracefully
-
Methods inherited from interface io.servicetalk.concurrent.api.ListenableAsyncCloseable
onClose
-
-
-
-
Method Detail
-
listenAddress
java.net.SocketAddress listenAddress()
Listen address for the server associated with this context.- Returns:
- Address which the associated server is listening at.
-
executionContext
ExecutionContext executionContext()
ReturnsExecutionContext
used by this server.- Returns:
ExecutionContext
used by this server.
-
awaitShutdown
default void awaitShutdown()
Blocks and awaits shutdown of the server thisServerContext
represents.This method will return when
ListenableAsyncCloseable.onClose()
terminates either successfully or unsuccessfully.
-
close
default void close() throws java.lang.Exception
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Throws:
java.lang.Exception
-
closeGracefully
default void closeGracefully() throws java.lang.Exception
Description copied from interface:GracefulAutoCloseable
Used to close/shutdown a resource, similar toAutoCloseable.close()
, but attempts to cleanup state before abruptly closing. This provides a hint that implementations can use to stop accepting new work and finish in flight work. This method is implemented on a "best effort" basis and may be equivalent toAutoCloseable.close()
.Note: Implementations may or may not apply a timeout for this operation to complete, if a caller does not want to wait indefinitely, and are unsure if the implementation applies a timeout, it is advisable to apply a timeout and force a call to
AutoCloseable.close()
.- Specified by:
closeGracefully
in interfaceGracefulAutoCloseable
- Throws:
java.lang.Exception
- if graceful closure failed.
-
-