Class ConcurrentServerRunner.ClientWrapper

java.lang.Object
ch.qos.logback.core.net.server.ConcurrentServerRunner.ClientWrapper
All Implemented Interfaces:
Client, Closeable, AutoCloseable, Runnable
Enclosing class:
ConcurrentServerRunner<T extends Client>

private class ConcurrentServerRunner.ClientWrapper extends Object implements Client
A wrapper for a Client responsible for ensuring that client tracking is performed properly.
  • Field Details

    • delegate

      private final T extends Client delegate
  • Constructor Details

    • ClientWrapper

      public ClientWrapper(T client)
  • Method Details

    • run

      public void run()
      Specified by:
      run in interface Runnable
    • close

      public void close()
      Description copied from interface: Client
      Closes any resources that are held by the client.

      Note that (as described in Doug Lea's discussion about interrupting I/O operations in "Concurrent Programming in Java" (Addison-Wesley Professional, 2nd edition, 1999) this method is used to interrupt any blocked I/O operation in the client when the server is shutting down. The client implementation must anticipate this potential, and gracefully exit when the blocked I/O operation throws the relevant IOException subclass.

      Note also, that unlike Closeable.close() this method is not permitted to propagate any IOException that occurs when closing the underlying resource(s).

      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Client
      Specified by:
      close in interface Closeable