The client-side connection management and handling API at the heart of what is referred to as HttpConn. This component provides interfaces and implementations for opening and managing connections.
The lowest layer of connection handling is comprised of
The connection interface extends the core
by operations to set and update a socket.
An operator encapsulates the logic to open and layer sockets,
typically using a
The socket factory for a protocol
such as "http" or "https" can be looked up in a
Applications without a need for sophisticated connection management
can use this layer directly.
On top of that lies the connection management layer. A
internally manages operated connections, but hands out instances of
This interface abstracts from the underlying socket operations and
provides convenient methods for opening and updating sockets in order
to establish a
The operator is encapsulated by the connection manager and called
Connections obtained from a manager have to be returned after use. This can be
on various levels, either by releasing the
directly, or by calling a method on an
received from the connection, or by closing the
from which that entity is being read.
Connection managers will try to keep returned connections alive in
order to re-use them for subsequent requests along the same route.
The managed connection interface and all triggers for connection release
provide methods to enable or disable this behavior.