Package ch.qos.logback.core.net.server
Class ServerSocketListener<T extends Client>
- java.lang.Object
-
- ch.qos.logback.core.net.server.ServerSocketListener<T>
-
- All Implemented Interfaces:
ServerListener<T>,java.io.Closeable,java.lang.AutoCloseable
public abstract class ServerSocketListener<T extends Client> extends java.lang.Object implements ServerListener<T>
AServerListenerthat accepts connections on aServerSocket.
-
-
Constructor Summary
Constructors Constructor Description ServerSocketListener(java.net.ServerSocket serverSocket)Constructs a new listener.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TacceptClient()Accepts the next client that appears on this listener.voidclose()Closes any underlyingCloseableresources associated with this listener.java.lang.StringtoString()
-
-
-
Method Detail
-
acceptClient
public T acceptClient() throws java.io.IOException
Accepts the next client that appears on this listener.An implementation of this method is expected to block the calling thread and not return until either a client appears or an exception occurs.
- Specified by:
acceptClientin interfaceServerListener<T extends Client>- Returns:
- client object
- Throws:
java.io.IOException
-
close
public void close()
Closes any underlyingCloseableresources associated with this listener.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
IOExceptionsubclass.Note also, that unlike
Closeable.close()this method is not permitted to propagate anyIOExceptionthat occurs when closing the underlying resource(s).- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein interfaceServerListener<T extends Client>
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-