org.apache.hc.client5.http.impl.nio

## Class DefaultAsyncClientConnectionOperator

- java.lang.Object
- - org.apache.hc.client5.http.impl.nio.DefaultAsyncClientConnectionOperator

All Implemented Interfaces:
  AsyncClientConnectionOperator

    @Internal
    public class DefaultAsyncClientConnectionOperator
    extends Object
    implements AsyncClientConnectionOperator

### Constructor Summary

Constructors
`protected` `DefaultAsyncClientConnectionOperator(Lookup<TlsStrategy> tlsStrategyLookup, SchemePortResolver schemePortResolver, DnsResolver dnsResolver)` Constructs a new `DefaultAsyncClientConnectionOperator`.

### Method Summary

All Methods Instance Methods Concrete Methods
`Future<ManagedAsyncClientConnection>` `connect(ConnectionInitiator connectionInitiator, HttpHost endpointHost, NamedEndpoint endpointName, SocketAddress localAddress, Timeout connectTimeout, Object attachment, HttpContext context, FutureCallback<ManagedAsyncClientConnection> callback)` Initiates operation to create a connection to the remote endpoint using the provided `ConnectionInitiator`.

`Future<ManagedAsyncClientConnection>`

`connect(ConnectionInitiator connectionInitiator, HttpHost endpointHost, Path unixDomainSocket, NamedEndpoint endpointName, SocketAddress localAddress, Timeout connectTimeout, Object attachment, HttpContext context, FutureCallback<ManagedAsyncClientConnection> callback)`
Initiates operation to create a connection to the remote endpoint using the provided `ConnectionInitiator`.

`Future<ManagedAsyncClientConnection>` `connect(ConnectionInitiator connectionInitiator, HttpHost host, SocketAddress localAddress, Timeout connectTimeout, Object attachment, FutureCallback<ManagedAsyncClientConnection> callback)` Initiates operation to create a connection to the remote endpoint using the provided `ConnectionInitiator`.
`protected void` `onAfterSocketConnect(HttpContext httpContext, HttpHost endpointHost)`
`protected void` `onAfterTlsHandshake(HttpContext httpContext, HttpHost endpointHost)`
`protected void` `onBeforeSocketConnect(HttpContext httpContext, HttpHost endpointHost)`
`protected void` `onBeforeTlsHandshake(HttpContext httpContext, HttpHost endpointHost)`
`void` `upgrade(ManagedAsyncClientConnection connection, HttpHost endpointHost, NamedEndpoint endpointName, Object attachment, HttpContext context, FutureCallback<ManagedAsyncClientConnection> callback)` Upgrades transport security of the given managed connection by using the TLS security protocol.
`void` `upgrade(ManagedAsyncClientConnection connection, HttpHost host, Object attachment)` Upgrades transport security of the given managed connection by using the TLS security protocol.

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

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

### Constructor Detail

#### DefaultAsyncClientConnectionOperator

    protected DefaultAsyncClientConnectionOperator(Lookup<TlsStrategy> tlsStrategyLookup,
                                                   SchemePortResolver schemePortResolver,
                                                   DnsResolver dnsResolver)

Constructs a new `DefaultAsyncClientConnectionOperator`.

Note: this class is marked `@Internal`; rely on it only if you are prepared for incompatible changes in a future major release. Typical client code should use the high-level builders in `HttpAsyncClients` instead.

### Method Detail

#### connect

    public Future<ManagedAsyncClientConnection> connect(ConnectionInitiator connectionInitiator,
                                                        HttpHost host,
                                                        SocketAddress localAddress,
                                                        Timeout connectTimeout,
                                                        Object attachment,
                                                        FutureCallback<ManagedAsyncClientConnection> callback)

Description copied from interface: `AsyncClientConnectionOperator`
Initiates operation to create a connection to the remote endpoint using the provided `ConnectionInitiator`.

Specified by:
  `connect` in interface `AsyncClientConnectionOperator`
Parameters:
  `connectionInitiator` - the connection initiator.
  `host` - the address of the opposite endpoint.
  `localAddress` - the address of the local endpoint.
  `connectTimeout` - the timeout of the connect operation.
  `attachment` - the attachment, which can be any object representing custom parameter of the operation.
  `callback` - the future result callback.

#### connect

    public Future<ManagedAsyncClientConnection> connect(ConnectionInitiator connectionInitiator,
                                                        HttpHost endpointHost,
                                                        NamedEndpoint endpointName,
                                                        SocketAddress localAddress,
                                                        Timeout connectTimeout,
                                                        Object attachment,
                                                        HttpContext context,
                                                        FutureCallback<ManagedAsyncClientConnection> callback)

Description copied from interface: `AsyncClientConnectionOperator`
Initiates operation to create a connection to the remote endpoint using the provided `ConnectionInitiator`.

Specified by:
  `connect` in interface `AsyncClientConnectionOperator`
Parameters:
  `connectionInitiator` - the connection initiator.
  `endpointHost` - the address of the remote endpoint.
  `endpointName` - the name of the remote endpoint, if different from the endpoint host name, `null` otherwise. Usually taken from the request URU authority.
  `localAddress` - the address of the local endpoint.
  `connectTimeout` - the timeout of the connect operation.
  `attachment` - the attachment, which can be any object representing custom parameter of the operation.
  `context` - the execution context.
  `callback` - the future result callback.

#### connect

    public Future<ManagedAsyncClientConnection> connect(ConnectionInitiator connectionInitiator,
                                                        HttpHost endpointHost,
                                                        Path unixDomainSocket,
                                                        NamedEndpoint endpointName,
                                                        SocketAddress localAddress,
                                                        Timeout connectTimeout,
                                                        Object attachment,
                                                        HttpContext context,
                                                        FutureCallback<ManagedAsyncClientConnection> callback)

Description copied from interface: `AsyncClientConnectionOperator`
Initiates operation to create a connection to the remote endpoint using the provided `ConnectionInitiator`.

Specified by:
  `connect` in interface `AsyncClientConnectionOperator`
Parameters:
  `connectionInitiator` - the connection initiator.
  `endpointHost` - the address of the remote endpoint.
  `unixDomainSocket` - the path to the UDS through which to connect, or `null`.
  `endpointName` - the name of the remote endpoint, if different from the endpoint host name, `null` otherwise. Usually taken from the request URU authority.
  `localAddress` - the address of the local endpoint.
  `connectTimeout` - the timeout of the connect operation.
  `attachment` - the attachment, which can be any object representing custom parameter of the operation.
  `context` - the execution context.
  `callback` - the future result callback.

#### upgrade

    public void upgrade(ManagedAsyncClientConnection connection,
                        HttpHost host,
                        Object attachment)

Description copied from interface: `AsyncClientConnectionOperator`
Upgrades transport security of the given managed connection by using the TLS security protocol.

Specified by:
  `upgrade` in interface `AsyncClientConnectionOperator`
Parameters:
  `connection` - the managed connection.
  `host` - the address of the opposite endpoint with TLS security.
  `attachment` - the attachment, which can be any object representing custom parameter of the operation.

#### upgrade

    public void upgrade(ManagedAsyncClientConnection connection,
                        HttpHost endpointHost,
                        NamedEndpoint endpointName,
                        Object attachment,
                        HttpContext context,
                        FutureCallback<ManagedAsyncClientConnection> callback)

Description copied from interface: `AsyncClientConnectionOperator`
Upgrades transport security of the given managed connection by using the TLS security protocol.

Specified by:
  `upgrade` in interface `AsyncClientConnectionOperator`
Parameters:
  `connection` - the managed connection.
  `endpointHost` - the address of the remote endpoint.
  `endpointName` - the name of the remote endpoint, if different from the endpoint host name, `null` otherwise. Usually taken from the request URU authority.
  `attachment` - the attachment, which can be any object representing custom parameter of the operation.
  `context` - the execution context.
  `callback` - the future result callback.

#### onBeforeSocketConnect

    protected void onBeforeSocketConnect(HttpContext httpContext,
                                         HttpHost endpointHost)

#### onAfterSocketConnect

    protected void onAfterSocketConnect(HttpContext httpContext,
                                        HttpHost endpointHost)

#### onBeforeTlsHandshake

    protected void onBeforeTlsHandshake(HttpContext httpContext,
                                        HttpHost endpointHost)

#### onAfterTlsHandshake

    protected void onAfterTlsHandshake(HttpContext httpContext,
                                       HttpHost endpointHost)