Org.Apache.Http.Conn Namespace

The lowest layer of connection handling is comprised of Org.Apache.Http.Conn.IOperatedClientConnection and Org.Apache.Http.Conn.IClientConnectionOperator.

Remarks

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 Org.Apache.Http.Conn.IOperatedClientConnection and Org.Apache.Http.Conn.IClientConnectionOperator. The connection interface extends the core Org.Apache.Http.IHttpClientConnection by operations to set and update a socket. An operator encapsulates the logic to open and layer sockets, typically using a Org.Apache.Http.Conn.Schemes.ISocketFactory. The socket factory for a protocol Org.Apache.Http.Conn.Schemes.Scheme such as "http" or "https" can be looked up in a Org.Apache.Http.Conn.Schemes.SchemeRegistry. Applications without a need for sophisticated connection management can use this layer directly.

On top of that lies the connection management layer. A Org.Apache.Http.Conn.IClientConnectionManager internally manages operated connections, but hands out instances of Org.Apache.Http.Conn.IManagedClientConnection. This interface abstracts from the underlying socket operations and provides convenient methods for opening and updating sockets in order to establish a Org.Apache.Http.Conn.Routing.HttpRoute. 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 Org.Apache.Http.Conn.IConnectionReleaseTrigger on various levels, either by releasing the Org.Apache.Http.Conn.IManagedClientConnection directly, or by calling a method on an Org.Apache.Http.Conn.BasicManagedEntity received from the connection, or by closing the Org.Apache.Http.Conn.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.

Classes

TypeReason
BasicEofSensorWatcherBasic implementation of Org.Apache.Http.Conn.IEofSensorWatcher.
BasicManagedEntityAn entity that releases a Org.Apache.Http.Conn.IManagedClientConnection.
ConnectionPoolTimeoutExceptionA timeout while waiting for an available connection from a connection manager.
ConnectTimeoutExceptionA timeout while connecting to an HTTP server or waiting for an available connection from an HttpConnectionManager.
EofSensorInputStreamA stream wrapper that triggers actions on Org.Apache.Http.Conn.EofSensorInputStream.close() and EOF.
HttpHostConnectExceptionA Java.Net.ConnectException that specifies the Org.Apache.Http.HttpHost that was being connected to.
IClientConnectionManagerManagement interface for Org.Apache.Http.Conn.IManagedClientConnection.
IClientConnectionManagerFactoryA factory for creating new Org.Apache.Http.Conn.IClientConnectionManager instances.
IClientConnectionOperatorInterface for opening Org.Apache.Http.Conn.IOperatedClientConnection.
IClientConnectionOperatorExtensionsDocumentation for this section has not yet been entered.
IClientConnectionRequestEncapsulates a request for a Org.Apache.Http.Conn.IManagedClientConnection.
IConnectionKeepAliveStrategyInterface for deciding how long a connection can remain idle before being reused.
IConnectionReleaseTriggerInterface for releasing a connection.
IEofSensorWatcherA watcher for Org.Apache.Http.Conn.EofSensorInputStream.
IManagedClientConnectionA client-side connection with advanced connection logic.
IManagedClientConnectionExtensionsDocumentation for this section has not yet been entered.
IOperatedClientConnectionA client-side connection that relies on outside logic to connect sockets to the appropriate hosts.
MultihomePlainSocketFactorySocket factory that implements a simple multi-home fail-over on connect failure, provided the same hostname resolves to multiple Java.Net.InetAddresses.