org.apache.http.impl.conn

## Class DefaultManagedHttpClientConnection

- java.lang.Object
- - org.apache.http.impl.BHttpConnectionBase
  - - org.apache.http.impl.DefaultBHttpClientConnection
    - - org.apache.http.impl.conn.DefaultManagedHttpClientConnection

All Implemented Interfaces:
  Closeable, AutoCloseable, ManagedHttpClientConnection, org.apache.http.HttpClientConnection, org.apache.http.HttpConnection, org.apache.http.HttpInetConnection, org.apache.http.protocol.HttpContext

    public class DefaultManagedHttpClientConnection
    extends org.apache.http.impl.DefaultBHttpClientConnection
    implements ManagedHttpClientConnection, org.apache.http.protocol.HttpContext

Default `ManagedHttpClientConnection` implementation.

Since:
  4.3

### Field Summary

### Fields inherited from interface org.apache.http.protocol.HttpContext

`RESERVED_PREFIX`

### Constructor Summary

Constructors
Constructor and Description
`DefaultManagedHttpClientConnection(String id, int bufferSize)`

`DefaultManagedHttpClientConnection(String id, int bufferSize, int fragmentSizeHint, CharsetDecoder charDecoder, CharsetEncoder charEncoder, org.apache.http.config.MessageConstraints constraints, org.apache.http.entity.ContentLengthStrategy incomingContentStrategy, org.apache.http.entity.ContentLengthStrategy outgoingContentStrategy, org.apache.http.io.HttpMessageWriterFactory<org.apache.http.HttpRequest> requestWriterFactory, org.apache.http.io.HttpMessageParserFactory<org.apache.http.HttpResponse> responseParserFactory)`

### Method Summary

Methods
`void` `bind(Socket socket)` Binds this connection to the given socket.
`Object` `getAttribute(String id)`
`String` `getId()` Returns connection ID which is expected to be unique for the life span of the connection manager.
`Socket` `getSocket()` Returns the underlying socket.
`SSLSession` `getSSLSession()` Obtains the SSL session of the underlying connection, if any.
`Object` `removeAttribute(String id)`
`void` `setAttribute(String id, Object obj)`
`void` `shutdown()`

### Methods inherited from class org.apache.http.impl.DefaultBHttpClientConnection

`flush, isResponseAvailable, onRequestSubmitted, onResponseReceived, receiveResponseEntity, receiveResponseHeader, sendRequestEntity, sendRequestHeader`

### Methods inherited from class org.apache.http.impl.BHttpConnectionBase

`awaitInput, close, createInputStream, createOutputStream, doFlush, ensureOpen, getLocalAddress, getLocalPort, getMetrics, getRemoteAddress, getRemotePort, getSessionInputBuffer, getSessionOutputBuffer, getSocketInputStream, getSocketOutputStream, getSocketTimeout, incrementRequestCount, incrementResponseCount, isOpen, isStale, prepareInput, prepareOutput, setSocketTimeout, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.apache.http.HttpClientConnection

`flush, isResponseAvailable, receiveResponseEntity, receiveResponseHeader, sendRequestEntity, sendRequestHeader`

### Methods inherited from interface org.apache.http.HttpInetConnection

`getLocalAddress, getLocalPort, getRemoteAddress, getRemotePort`

### Methods inherited from interface org.apache.http.HttpConnection

`close, getMetrics, getSocketTimeout, isOpen, isStale, setSocketTimeout`

### Constructor Detail

#### DefaultManagedHttpClientConnection

    public DefaultManagedHttpClientConnection(String id,
                                      int bufferSize,
                                      int fragmentSizeHint,
                                      CharsetDecoder charDecoder,
                                      CharsetEncoder charEncoder,
                                      org.apache.http.config.MessageConstraints constraints,
                                      org.apache.http.entity.ContentLengthStrategy incomingContentStrategy,
                                      org.apache.http.entity.ContentLengthStrategy outgoingContentStrategy,
                                      org.apache.http.io.HttpMessageWriterFactory<org.apache.http.HttpRequest> requestWriterFactory,
                                      org.apache.http.io.HttpMessageParserFactory<org.apache.http.HttpResponse> responseParserFactory)

#### DefaultManagedHttpClientConnection

    public DefaultManagedHttpClientConnection(String id,
                                      int bufferSize)

### Method Detail

#### getId

    public String getId()

Description copied from interface: `ManagedHttpClientConnection`
Returns connection ID which is expected to be unique for the life span of the connection manager.

Specified by:
  `getId` in interface `ManagedHttpClientConnection`

#### shutdown

    public void shutdown()
                  throws IOException

Specified by:
  `shutdown` in interface `org.apache.http.HttpConnection`
Overrides:
  `shutdown` in class `org.apache.http.impl.BHttpConnectionBase`
Throws:
  `IOException`

#### getAttribute

    public Object getAttribute(String id)

Specified by:
  `getAttribute` in interface `org.apache.http.protocol.HttpContext`

#### removeAttribute

    public Object removeAttribute(String id)

Specified by:
  `removeAttribute` in interface `org.apache.http.protocol.HttpContext`

#### setAttribute

    public void setAttribute(String id,
                    Object obj)

Specified by:
  `setAttribute` in interface `org.apache.http.protocol.HttpContext`

#### bind

    public void bind(Socket socket)
              throws IOException

Description copied from interface: `ManagedHttpClientConnection`
Binds this connection to the given socket. The connection is considered open if it is bound and the underlying socket is connection to a remote host.

Specified by:
  `bind` in interface `ManagedHttpClientConnection`
Overrides:
  `bind` in class `org.apache.http.impl.DefaultBHttpClientConnection`
Parameters:
  `socket` - the socket to bind the connection to.
Throws:
  `IOException`

#### getSocket

    public Socket getSocket()

Description copied from interface: `ManagedHttpClientConnection`
Returns the underlying socket.

Specified by:
  `getSocket` in interface `ManagedHttpClientConnection`
Overrides:
  `getSocket` in class `org.apache.http.impl.BHttpConnectionBase`

#### getSSLSession

    public SSLSession getSSLSession()

Description copied from interface: `ManagedHttpClientConnection`
Obtains the SSL session of the underlying connection, if any. If this connection is open, and the underlying socket is an `SSLSocket`, the SSL session of that socket is obtained. This is a potentially blocking operation.

Specified by:
  `getSSLSession` in interface `ManagedHttpClientConnection`
Returns:
  the underlying SSL session if available, `null` otherwise