Interface InternalServer


@ThreadSafe public interface InternalServer
An object that accepts new incoming connections on one or more listening socket addresses. This would commonly encapsulate a bound socket that accept()s new connections.
  • Method Details

    • start

      void start(ServerListener listener) throws IOException
      Starts transport. Implementations must not call listener until after start() returns. The method only returns after it has done the equivalent of bind()ing, so it will be able to service any connections created after returning.
      Parameters:
      listener - non-null listener of server events
      Throws:
      IOException - if unable to bind
    • shutdown

      void shutdown()
      Initiates an orderly shutdown of the server. Existing transports continue, but new transports will not be created (once ServerListener.serverShutdown() callback is called). This method may only be called once. Blocks until the listening socket(s) have been closed. If interrupted, this method will not wait for the close to complete, but it will happen asynchronously.
    • getListenSocketAddress

      SocketAddress getListenSocketAddress()
      Returns the first listening socket address. May change after start(ServerListener) is called.
    • getListenSocketStats

      @Nullable InternalInstrumented<InternalChannelz.SocketStats> getListenSocketStats()
      Returns the first listen socket stats of this server. May return null.
    • getListenSocketAddresses

      List<? extends SocketAddress> getListenSocketAddresses()
      Returns a list of listening socket addresses. May change after start(ServerListener) is called.
    • getListenSocketStatsList

      @Nullable List<InternalInstrumented<InternalChannelz.SocketStats>> getListenSocketStatsList()
      Returns a list of listen socket stats of this server. May return null.