Networking-related utility classes.
Highlights:
-
{@link edu.emory.mathcs.util.net.ConnectionPool} manages a pool of socket
connections to a single network endpoint.
Pooling enables reusing connections for multiple, unrelated data transfers,
and it can be used to implement certain connection-based protocols like
HTTP 1.1. Additionally, pooling can aid in controlling network load -
limiting the maximum pool size causes excessive connection requests to
be enqueued at the client side.
-
{@link edu.emory.mathcs.util.net.SocketWrapper} and
{@link edu.emory.mathcs.util.net.ServerSocketWrapper} allow to add
functionality over existing network connections, so that the decorator
is still perceived as a socket. It is very useful in cases when it is
impossible to write decorator as a subclass, for instance when the base
socket is created by an independent library. Practical application is
supplied by
{@link edu.emory.mathcs.util.net.compressed.CompressedSocketWrapper} and
{@link edu.emory.mathcs.util.net.compressed.CompressedServerSocketWrapper}
classes, which allow to enable compression on top of existing socket
connections, and can readily serve as an RMI transport.
- In-process socket abstraction: see
{@link edu.emory.mathcs.util.net.inproc}