The lowest layer of connection handling is comprised of IOperatedClientConnection and IClientConnectionOperator. The connection interface extends the core IHttpClientConnection by operations to set and update a socket. An operator encapsulates the logic to open and layer sockets, typically using a ISocketFactory. 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
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 HttpRoute.
The operator is encapsulated by the connection manager and called
Connections obtained from a manager have to be returned after use. This can be IConnectionReleaseTrigger on various levels, either by releasing the IManagedClientConnection directly, or by calling a method on an BasicManagedEntity received from the connection, or by closing the EofSensorInputStream 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.
|BasicEofSensorWatcher||Basic implementation of IEofSensorWatcher.|
|BasicManagedEntity||An entity that releases a IManagedClientConnection.|
|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.|
|EofSensorInputStream||A stream wrapper that triggers actions on Org.Apache.Http.Conn.EofSensorInputStream.close() and EOF.|
|HttpHostConnectException||A ConnectException that specifies the HttpHost that was being connected to.|
|IClientConnectionManager||Management interface for IManagedClientConnection.|
|IClientConnectionManagerFactory||A factory for creating new IClientConnectionManager instances.|
|IClientConnectionOperator||Interface for opening IOperatedClientConnection.|
|IClientConnectionRequest||Encapsulates a request for a IManagedClientConnection.|
|IConnectionKeepAliveStrategy||Interface for deciding how long a connection can remain idle before being reused.|
|IConnectionReleaseTrigger||Interface for releasing a connection.|
|IEofSensorWatcher||A watcher for EofSensorInputStream.|
|IManagedClientConnection||A client-side connection with advanced connection logic.|
|IOperatedClientConnection||A client-side connection that relies on outside logic to connect sockets to the appropriate hosts.|
|MultihomePlainSocketFactory||Socket factory that implements a simple multi-home fail-over on connect failure, provided the same hostname resolves to multiple InetAddresses.|