@Contract(threading=SAFE_CONDITIONAL) public final class MinimalH2AsyncClient extends CloseableHttpAsyncClient
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.
Modifier and Type | Method and Description |
---|---|
void |
awaitShutdown(TimeValue waitTime) |
void |
close()
Closes this resource, relinquishing any underlying resources.
|
void |
close(CloseMode closeMode)
Closes this process or endpoint and releases any system resources associated
with it.
|
protected <T> Future<T> |
doExecute(HttpHost httpHost,
AsyncRequestProducer requestProducer,
AsyncResponseConsumer<T> responseConsumer,
HandlerFactory<AsyncPushConsumer> pushHandlerFactory,
HttpContext context,
FutureCallback<T> callback) |
Cancellable |
execute(AsyncClientExchangeHandler exchangeHandler) |
Cancellable |
execute(AsyncClientExchangeHandler exchangeHandler,
HandlerFactory<AsyncPushConsumer> pushHandlerFactory,
HttpContext context) |
IOReactorStatus |
getStatus() |
void |
initiateShutdown() |
void |
register(String hostname,
String uriPattern,
Supplier<AsyncPushConsumer> supplier) |
void |
start() |
public Cancellable execute(AsyncClientExchangeHandler exchangeHandler, HandlerFactory<AsyncPushConsumer> pushHandlerFactory, HttpContext context)
protected <T> Future<T> doExecute(HttpHost httpHost, AsyncRequestProducer requestProducer, AsyncResponseConsumer<T> responseConsumer, HandlerFactory<AsyncPushConsumer> pushHandlerFactory, HttpContext context, FutureCallback<T> callback)
doExecute
in class CloseableHttpAsyncClient
public final Cancellable execute(AsyncClientExchangeHandler exchangeHandler)
public final void awaitShutdown(TimeValue waitTime) throws InterruptedException
awaitShutdown
in class CloseableHttpAsyncClient
InterruptedException
public void close()
AutoCloseable
try
-with-resources statement.
While this interface method is declared to throw Exception
, implementers are
strongly encouraged to declare concrete implementations of the close
method to
throw more specific exceptions, or to throw no exception at all if the close operation cannot
fail.
Implementers of this interface are also strongly advised to not have the close
method
throw InterruptedException
.
This exception interacts with a thread's interrupted status.
Note that unlike the close
method of Closeable
,
this close
method is not required to be idempotent. In other words, calling this
close
method more than once may have some visible side effect, unlike
Closeable.close
which is required to have no effect if called more than once.
However, implementers of this interface are strongly encouraged to make their close
methods idempotent.
public final void close(CloseMode closeMode)
ModalCloseable
closeMode
- How to close the receiver.public final IOReactorStatus getStatus()
getStatus
in class CloseableHttpAsyncClient
public final void initiateShutdown()
initiateShutdown
in class CloseableHttpAsyncClient
public void register(String hostname, String uriPattern, Supplier<AsyncPushConsumer> supplier)
register
in class CloseableHttpAsyncClient
public final void start()
start
in class CloseableHttpAsyncClient