Package io.servicetalk.transport.api
Interface ServerContext
- All Superinterfaces:
AsyncCloseable,AutoCloseable,GracefulAutoCloseable,ListenableAsyncCloseable,ServerListenContext
- All Known Subinterfaces:
GrpcServerContext,HttpServerContext
- All Known Implementing Classes:
NettyServerContext
public interface ServerContext
extends ServerListenContext, ListenableAsyncCloseable, GracefulAutoCloseable
Context for servers.
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidBlocks and awaits shutdown of the server thisServerContextrepresents.default voidclose()default voidUsed to close/shutdown a resource, similar toAutoCloseable.close(), but attempts to cleanup state before abruptly closing.ReturnsExecutionContextused by this server.Listen address for the server associated with this context.Methods inherited from interface io.servicetalk.concurrent.api.AsyncCloseable
closeAsync, closeAsyncGracefullyMethods inherited from interface io.servicetalk.concurrent.api.ListenableAsyncCloseable
onClose, onClosingMethods inherited from interface io.servicetalk.transport.api.ServerListenContext
acceptConnections
-
Method Details
-
listenAddress
SocketAddress listenAddress()Listen address for the server associated with this context.- Returns:
- Address which the associated server is listening at.
-
executionContext
ExecutionContext<?> executionContext()ReturnsExecutionContextused by this server.- Returns:
ExecutionContextused by this server.
-
awaitShutdown
default void awaitShutdown()Blocks and awaits shutdown of the server thisServerContextrepresents.This method will return when
ListenableAsyncCloseable.onClose()terminates either successfully or unsuccessfully. -
close
- Specified by:
closein interfaceAutoCloseable- Throws:
Exception
-
closeGracefully
Description copied from interface:GracefulAutoCloseableUsed 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:
closeGracefullyin interfaceGracefulAutoCloseable- Throws:
Exception- if graceful closure failed.
-