Also: HttpClient
package

org.apache.http.conn

The client-side connection management and handling API that provides interfaces and implementations for opening and managing client side HTTP connections.

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.

Interfaces

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. 

Classes

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.  

Exceptions

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.