org.apache.hc.client5.http.impl.async

## Class MinimalH2AsyncClient

- java.lang.Object
- - org.apache.hc.client5.http.impl.async.CloseableHttpAsyncClient
  - - org.apache.hc.client5.http.impl.async.MinimalH2AsyncClient

- All Implemented Interfaces:
    Closeable, AutoCloseable, HttpAsyncClient, org.apache.hc.core5.io.ModalCloseable

      @Contract(threading=SAFE_CONDITIONAL)
      public final class MinimalH2AsyncClient
      extends CloseableHttpAsyncClient

  Minimal implementation of HTTP/2 only `CloseableHttpAsyncClient`. This client is optimized for HTTP/2 multiplexing message transport and does not support advanced HTTP protocol functionality such as request execution via a proxy, state management, authentication and request redirects.

  Concurrent message exchanges with the same connection route executed by this client will get automatically multiplexed over a single physical HTTP/2 connection.

  Since:
    5.0

- - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `awaitShutdown(org.apache.hc.core5.util.TimeValue waitTime)`
    `void` | `close()`
    `void` | `close(org.apache.hc.core5.io.CloseMode closeMode)`
    `protected <T> Future<T>` | `doExecute(org.apache.hc.core5.http.HttpHost httpHost, org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer, org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer, org.apache.hc.core5.http.nio.HandlerFactory<org.apache.hc.core5.http.nio.AsyncPushConsumer> pushHandlerFactory, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.FutureCallback<T> callback)`
    `org.apache.hc.core5.concurrent.Cancellable` | `execute(org.apache.hc.core5.http.nio.AsyncClientExchangeHandler exchangeHandler)`
    `org.apache.hc.core5.concurrent.Cancellable` | `execute(org.apache.hc.core5.http.nio.AsyncClientExchangeHandler exchangeHandler, org.apache.hc.core5.http.nio.HandlerFactory<org.apache.hc.core5.http.nio.AsyncPushConsumer> pushHandlerFactory, org.apache.hc.core5.http.protocol.HttpContext context)`
    `org.apache.hc.core5.reactor.IOReactorStatus` | `getStatus()`
    `void` | `initiateShutdown()`
    `void` | `register(String hostname, String uriPattern, org.apache.hc.core5.function.Supplier<org.apache.hc.core5.http.nio.AsyncPushConsumer> supplier)` Deprecated. Use `RequestRouter` at the construction time
    `void` | `setConnectionConfigResolver(org.apache.hc.core5.function.Resolver<org.apache.hc.core5.http.HttpHost,ConnectionConfig> connectionConfigResolver)` Sets `Resolver` for `ConnectionConfig` on a per host basis.
    `void` | `start()`

    - ### Methods inherited from class org.apache.hc.client5.http.impl.async.CloseableHttpAsyncClient

      `execute, execute, execute, execute, execute, execute, register`

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

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

- - ### Method Detail

    - #### execute

          public org.apache.hc.core5.concurrent.Cancellable execute(org.apache.hc.core5.http.nio.AsyncClientExchangeHandler exchangeHandler,
                                                                    org.apache.hc.core5.http.nio.HandlerFactory<org.apache.hc.core5.http.nio.AsyncPushConsumer> pushHandlerFactory,
                                                                    org.apache.hc.core5.http.protocol.HttpContext context)

    - #### setConnectionConfigResolver

          public void setConnectionConfigResolver(org.apache.hc.core5.function.Resolver<org.apache.hc.core5.http.HttpHost,ConnectionConfig> connectionConfigResolver)

      Sets `Resolver` for `ConnectionConfig` on a per host basis.
      Since:
        5.2

    - #### doExecute

          protected <T> Future<T> doExecute(org.apache.hc.core5.http.HttpHost httpHost,
                                            org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer,
                                            org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer,
                                            org.apache.hc.core5.http.nio.HandlerFactory<org.apache.hc.core5.http.nio.AsyncPushConsumer> pushHandlerFactory,
                                            org.apache.hc.core5.http.protocol.HttpContext context,
                                            org.apache.hc.core5.concurrent.FutureCallback<T> callback)

      Specified by:
        `doExecute` in class `CloseableHttpAsyncClient`

    - #### execute

          public final org.apache.hc.core5.concurrent.Cancellable execute(org.apache.hc.core5.http.nio.AsyncClientExchangeHandler exchangeHandler)

    - #### start

          public final void start()

      Specified by:
        `start` in class `CloseableHttpAsyncClient`

    - #### register

          @Deprecated
          public void register(String hostname,
                                           String uriPattern,
                                           org.apache.hc.core5.function.Supplier<org.apache.hc.core5.http.nio.AsyncPushConsumer> supplier)

      Deprecated. Use `RequestRouter` at the construction time
      Specified by:
        `register` in class `CloseableHttpAsyncClient`

    - #### getStatus

          public final org.apache.hc.core5.reactor.IOReactorStatus getStatus()

      Specified by:
        `getStatus` in class `CloseableHttpAsyncClient`

    - #### awaitShutdown

          public final void awaitShutdown(org.apache.hc.core5.util.TimeValue waitTime)
                                   throws InterruptedException

      Specified by:
        `awaitShutdown` in class `CloseableHttpAsyncClient`
      Throws:
        `InterruptedException`

    - #### initiateShutdown

          public final void initiateShutdown()

      Specified by:
        `initiateShutdown` in class `CloseableHttpAsyncClient`

    - #### close

          public final void close(org.apache.hc.core5.io.CloseMode closeMode)

    - #### close

          public void close()

Copyright © 1999–2021 The Apache Software Foundation. All rights reserved.