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
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final org.slf4j.Logger
     
    private final SchemePortResolver
     
     
    private final org.apache.hc.core5.http.config.Lookup<org.apache.hc.core5.http.nio.ssl.TlsStrategy>
     
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    DefaultAsyncClientConnectionOperator(org.apache.hc.core5.http.config.Lookup<org.apache.hc.core5.http.nio.ssl.TlsStrategy> tlsStrategyLookup, SchemePortResolver schemePortResolver, DnsResolver dnsResolver)
    Constructs a new DefaultAsyncClientConnectionOperator.
  • Method Summary

    Modifier and Type
    Method
    Description
    connect(org.apache.hc.core5.reactor.ConnectionInitiator connectionInitiator, org.apache.hc.core5.http.HttpHost host, SocketAddress localAddress, org.apache.hc.core5.util.Timeout connectTimeout, Object attachment, org.apache.hc.core5.concurrent.FutureCallback<ManagedAsyncClientConnection> callback)
    Initiates operation to create a connection to the remote endpoint using the provided ConnectionInitiator.
    connect(org.apache.hc.core5.reactor.ConnectionInitiator connectionInitiator, org.apache.hc.core5.http.HttpHost endpointHost, Path unixDomainSocket, org.apache.hc.core5.net.NamedEndpoint endpointName, SocketAddress localAddress, org.apache.hc.core5.util.Timeout connectTimeout, Object attachment, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.FutureCallback<ManagedAsyncClientConnection> callback)
    Initiates operation to create a connection to the remote endpoint using the provided ConnectionInitiator.
    connect(org.apache.hc.core5.reactor.ConnectionInitiator connectionInitiator, org.apache.hc.core5.http.HttpHost endpointHost, org.apache.hc.core5.net.NamedEndpoint endpointName, SocketAddress localAddress, org.apache.hc.core5.util.Timeout connectTimeout, Object attachment, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.FutureCallback<ManagedAsyncClientConnection> callback)
    Initiates operation to create a connection to the remote endpoint using the provided ConnectionInitiator.
    private static SocketAddress
     
    protected void
    onAfterSocketConnect(org.apache.hc.core5.http.protocol.HttpContext httpContext, org.apache.hc.core5.http.HttpHost endpointHost)
     
    protected void
    onAfterTlsHandshake(org.apache.hc.core5.http.protocol.HttpContext httpContext, org.apache.hc.core5.http.HttpHost endpointHost)
     
    protected void
    onBeforeSocketConnect(org.apache.hc.core5.http.protocol.HttpContext httpContext, org.apache.hc.core5.http.HttpHost endpointHost)
     
    protected void
    onBeforeTlsHandshake(org.apache.hc.core5.http.protocol.HttpContext httpContext, org.apache.hc.core5.http.HttpHost endpointHost)
     
    void
    upgrade(ManagedAsyncClientConnection connection, org.apache.hc.core5.http.HttpHost host, Object attachment)
    Upgrades transport security of the given managed connection by using the TLS security protocol.
    void
    upgrade(ManagedAsyncClientConnection connection, org.apache.hc.core5.http.HttpHost endpointHost, org.apache.hc.core5.net.NamedEndpoint endpointName, Object attachment, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.FutureCallback<ManagedAsyncClientConnection> callback)
    Upgrades transport security of the given managed connection by using the TLS security protocol.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • LOG

      private static final org.slf4j.Logger LOG
    • schemePortResolver

      private final SchemePortResolver schemePortResolver
    • sessionRequester

      private final MultihomeIOSessionRequester sessionRequester
    • tlsStrategyLookup

      private final org.apache.hc.core5.http.config.Lookup<org.apache.hc.core5.http.nio.ssl.TlsStrategy> tlsStrategyLookup
  • Constructor Details

    • DefaultAsyncClientConnectionOperator

      protected DefaultAsyncClientConnectionOperator(org.apache.hc.core5.http.config.Lookup<org.apache.hc.core5.http.nio.ssl.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 Details

    • connect

      public Future<ManagedAsyncClientConnection> connect(org.apache.hc.core5.reactor.ConnectionInitiator connectionInitiator, org.apache.hc.core5.http.HttpHost host, SocketAddress localAddress, org.apache.hc.core5.util.Timeout connectTimeout, Object attachment, org.apache.hc.core5.concurrent.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(org.apache.hc.core5.reactor.ConnectionInitiator connectionInitiator, org.apache.hc.core5.http.HttpHost endpointHost, org.apache.hc.core5.net.NamedEndpoint endpointName, SocketAddress localAddress, org.apache.hc.core5.util.Timeout connectTimeout, Object attachment, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.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(org.apache.hc.core5.reactor.ConnectionInitiator connectionInitiator, org.apache.hc.core5.http.HttpHost endpointHost, Path unixDomainSocket, org.apache.hc.core5.net.NamedEndpoint endpointName, SocketAddress localAddress, org.apache.hc.core5.util.Timeout connectTimeout, Object attachment, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.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.
    • createUnixSocketAddress

      private static SocketAddress createUnixSocketAddress(Path socketPath)
    • upgrade

      public void upgrade(ManagedAsyncClientConnection connection, org.apache.hc.core5.http.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, org.apache.hc.core5.http.HttpHost endpointHost, org.apache.hc.core5.net.NamedEndpoint endpointName, Object attachment, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.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(org.apache.hc.core5.http.protocol.HttpContext httpContext, org.apache.hc.core5.http.HttpHost endpointHost)
    • onAfterSocketConnect

      protected void onAfterSocketConnect(org.apache.hc.core5.http.protocol.HttpContext httpContext, org.apache.hc.core5.http.HttpHost endpointHost)
    • onBeforeTlsHandshake

      protected void onBeforeTlsHandshake(org.apache.hc.core5.http.protocol.HttpContext httpContext, org.apache.hc.core5.http.HttpHost endpointHost)
    • onAfterTlsHandshake

      protected void onAfterTlsHandshake(org.apache.hc.core5.http.protocol.HttpContext httpContext, org.apache.hc.core5.http.HttpHost endpointHost)