public interface Client
extends java.lang.Runnable, java.io.Closeable
ServerRunner.
This interface exists primarily to abstract away the details of the
client's underlying Socket and the concurrency associated with
handling multiple clients. Such realities make it difficult to create
effective unit tests for the ServerRunner that are easy to
understand and maintain.
This interface captures the only those details about a client that
the ServerRunner cares about; namely, that it is something that
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes any resources that are held by the client.
|
void close()
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).
close in interface java.lang.AutoCloseableclose in interface java.io.CloseableCopyright © 2010 - 2023 Adobe. All Rights Reserved