org.apache.hc.client5.http.io

## Interface ManagedHttpClientConnection

All Superinterfaces:
  AutoCloseable, org.apache.hc.core5.http.io.BHttpConnection, Closeable, org.apache.hc.core5.io.GracefullyCloseable, org.apache.hc.core5.http.io.HttpClientConnection, org.apache.hc.core5.http.HttpConnection

All Known Implementing Classes:
  DefaultManagedHttpClientConnection

    public interface ManagedHttpClientConnection
    extends org.apache.hc.core5.http.io.HttpClientConnection

Represents a managed connection whose state and life cycle is managed by a connection manager. This interface extends `HttpClientConnection` with methods to bind the connection to an arbitrary socket and to obtain SSL session details.

Since:
  4.3

### Method Summary

Methods
`void` `bind(Socket socket)` Binds this connection to the given socket.
`Socket` `getSocket()` Returns the underlying socket.
`SSLSession` `getSSLSession()` Obtains the SSL session of the underlying connection, if any.

### Methods inherited from interface org.apache.hc.core5.http.io.HttpClientConnection

`isConsistent, receiveResponseEntity, receiveResponseHeader, sendRequestEntity, sendRequestHeader, terminateRequest`

### Methods inherited from interface org.apache.hc.core5.http.io.BHttpConnection

`flush, isDataAvailable, isStale`

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

`close, getEndpointDetails, getLocalAddress, getProtocolVersion, getRemoteAddress, getSocketTimeout, isOpen, setSocketTimeout`

### Methods inherited from interface org.apache.hc.core5.io.GracefullyCloseable

`shutdown`

### Method Detail

#### bind

    void bind(Socket socket)
              throws IOException

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.

Parameters:
  `socket` - the socket to bind the connection to.
Throws:
  `IOException`

#### getSocket

    Socket getSocket()

Returns the underlying socket.

#### getSSLSession

    SSLSession getSSLSession()

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 `org.apache.hc.core5.http.HttpConnection`
Returns:
  the underlying SSL session if available, `null` otherwise