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 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()
      Returns ExecutionContext used by this server.
      Returns:
      ExecutionContext used by this server.
    • awaitShutdown

      default void awaitShutdown()
      Blocks and awaits shutdown of the server this ServerContext represents.

      This method will return when ListenableAsyncCloseable.onClose() terminates either successfully or unsuccessfully.

    • close

      default void close() throws Exception
      Specified by:
      close in interface AutoCloseable
      Throws:
      Exception
    • closeGracefully

      default void closeGracefully() throws Exception
      Description copied from interface: GracefulAutoCloseable
      Used to close/shutdown a resource, similar to AutoCloseable.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 to AutoCloseable.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 interface GracefulAutoCloseable
      Throws:
      Exception - if graceful closure failed.