## 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.

See:
Description

Interface Summary
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.

Class Summary
BasicEofSensorWatcher: Basic implementation of `EofSensorWatcher`.
BasicManagedEntity: An entity that releases a `connection`.
EofSensorInputStream: A stream wrapper that triggers actions on `close()` and EOF.
MultihomePlainSocketFactory: Deprecated. Do not use.

Exception Summary
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.

## Package org.apache.http.conn Description

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 `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.

Copyright © 1999-2011 The Apache Software Foundation. All Rights Reserved.