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

## Class InternalH2AsyncClient

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

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

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

Internal implementation of HTTP/2 only `CloseableHttpAsyncClient`.

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
`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.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` `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

#### 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`

#### 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()