The lowest layer of connection handling is comprised of
OperatedClientConnection
and
ClientConnectionOperator
.
The connection interface extends the core
org.apache.http.HttpClientConnection HttpClientConnection
by operations to set and update a socket. An operator encapsulates the logic to
open and layer sockets, typically using a
SocketFactory
. The socket factory for
a protocol Scheme
such as "http" or "https"
can be looked up in a SchemeRegistry
.
Applications without a need for sophisticated connection management can use
this layer directly.
On top of that lies the connection management layer. A
ClientConnectionManager
internally manages
operated connections, but hands out instances of
ManagedClientConnection
.
This interface abstracts from the underlying socket operations and
provides convenient methods for opening and updating sockets in order
to establish a route
.
The operator is encapsulated by the connection manager and called
automatically.
Connections obtained from a manager have to be returned after use.
This can be triggered
on various levels, either by releasing the
connection
directly,
or by calling a method on
an entity
received from
the connection, or by closing the
stream
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.
ClientConnectionManager | Management interface for client connections . |
ClientConnectionManagerFactory | A factory for creating new ClientConnectionManager instances. |
ClientConnectionOperator | ClientConnectionOperator represents a strategy for creating
OperatedClientConnection instances and updating the underlying
Socket of those objects. |
ClientConnectionRequest | Encapsulates a request for a ManagedClientConnection . |
ConnectionKeepAliveStrategy | Interface for deciding how long a connection can remain idle before being reused. |
ConnectionReleaseTrigger | Interface for releasing a connection. |
EofSensorWatcher | A watcher for EofSensorInputStream . |
HttpRoutedConnection | Interface to access routing information of a client side connection. |
ManagedClientConnection | A client-side connection with advanced connection logic. |
OperatedClientConnection | A client-side connection that relies on outside logic to connect sockets to the appropriate hosts. |
BasicEofSensorWatcher | Basic implementation of EofSensorWatcher . |
BasicManagedEntity | An entity that releases a connection . |
EofSensorInputStream | A stream wrapper that triggers actions on close() and EOF. |
MultihomePlainSocketFactory |
This class is deprecated.
Do not use. For multihome support socket factories must implement
SchemeSocketFactory interface.
|
ConnectionPoolTimeoutException | A timeout while waiting for an available connection from a connection manager. |
ConnectTimeoutException | A timeout while connecting to an HTTP server or waiting for an available connection from an HttpConnectionManager. |
HttpHostConnectException | A ConnectException that specifies the HttpHost that was being connected to. |