Class HttpAsyncRequester
- java.lang.Object
-
- org.apache.hc.core5.http.impl.bootstrap.AbstractConnectionInitiatorBase
-
- org.apache.hc.core5.http.impl.bootstrap.AsyncRequester
-
- org.apache.hc.core5.http.impl.bootstrap.HttpAsyncRequester
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,ModalCloseable
,ConnPoolControl<HttpHost>
,ConnPoolStats<HttpHost>
,ConnectionInitiator
,IOReactor
,IOReactorService
- Direct Known Subclasses:
H2AsyncRequester
public class HttpAsyncRequester extends AsyncRequester implements ConnPoolControl<HttpHost>
HTTP/1.1 client side message exchange initiator.- Since:
- 5.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
HttpAsyncRequester.InternalAsyncClientEndpoint
-
Field Summary
Fields Modifier and Type Field Description private ManagedConnPool<HttpHost,IOSession>
connPool
private Timeout
handshakeTimeout
private TlsStrategy
tlsStrategy
-
Constructor Summary
Constructors Constructor Description HttpAsyncRequester(IOReactorConfig ioReactorConfig, IOEventHandlerFactory eventHandlerFactory, Decorator<IOSession> ioSessionDecorator, Callback<java.lang.Exception> exceptionCallback, IOSessionListener sessionListener, ManagedConnPool<HttpHost,IOSession> connPool)
UseAsyncRequesterBootstrap
to create instances of this class.HttpAsyncRequester(IOReactorConfig ioReactorConfig, IOEventHandlerFactory eventHandlerFactory, Decorator<IOSession> ioSessionDecorator, Callback<java.lang.Exception> exceptionCallback, IOSessionListener sessionListener, ManagedConnPool<HttpHost,IOSession> connPool, TlsStrategy tlsStrategy, Timeout handshakeTimeout)
UseAsyncRequesterBootstrap
to create instances of this class.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
closeExpired()
void
closeIdle(TimeValue idleTime)
java.util.concurrent.Future<AsyncClientEndpoint>
connect(HttpHost host, Timeout timeout)
java.util.concurrent.Future<AsyncClientEndpoint>
connect(HttpHost host, Timeout timeout, java.lang.Object attachment, FutureCallback<AsyncClientEndpoint> callback)
protected java.util.concurrent.Future<AsyncClientEndpoint>
doConnect(HttpHost host, Timeout timeout, java.lang.Object attachment, FutureCallback<AsyncClientEndpoint> callback)
protected void
doTlsUpgrade(ProtocolIOSession ioSession, NamedEndpoint endpoint, FutureCallback<ProtocolIOSession> callback)
void
execute(AsyncClientExchangeHandler exchangeHandler, HandlerFactory<AsyncPushConsumer> pushHandlerFactory, Timeout timeout, HttpContext executeContext)
void
execute(AsyncClientExchangeHandler exchangeHandler, Timeout timeout, HttpContext executeContext)
<T> java.util.concurrent.Future<T>
execute(AsyncRequestProducer requestProducer, AsyncResponseConsumer<T> responseConsumer, HandlerFactory<AsyncPushConsumer> pushHandlerFactory, Timeout timeout, HttpContext context, FutureCallback<T> callback)
<T> java.util.concurrent.Future<T>
execute(AsyncRequestProducer requestProducer, AsyncResponseConsumer<T> responseConsumer, Timeout timeout, FutureCallback<T> callback)
<T> java.util.concurrent.Future<T>
execute(AsyncRequestProducer requestProducer, AsyncResponseConsumer<T> responseConsumer, Timeout timeout, HttpContext context, FutureCallback<T> callback)
int
getDefaultMaxPerRoute()
int
getMaxPerRoute(HttpHost route)
int
getMaxTotal()
java.util.Set<HttpHost>
getRoutes()
PoolStats
getStats(HttpHost route)
PoolStats
getTotalStats()
void
setDefaultMaxPerRoute(int max)
void
setMaxPerRoute(HttpHost route, int max)
void
setMaxTotal(int max)
-
Methods inherited from class org.apache.hc.core5.http.impl.bootstrap.AsyncRequester
awaitShutdown, close, close, getIOReactor, getStatus, initiateShutdown, requestSession, start
-
Methods inherited from class org.apache.hc.core5.http.impl.bootstrap.AbstractConnectionInitiatorBase
connect
-
-
-
-
Field Detail
-
connPool
private final ManagedConnPool<HttpHost,IOSession> connPool
-
tlsStrategy
private final TlsStrategy tlsStrategy
-
handshakeTimeout
private final Timeout handshakeTimeout
-
-
Constructor Detail
-
HttpAsyncRequester
@Internal public HttpAsyncRequester(IOReactorConfig ioReactorConfig, IOEventHandlerFactory eventHandlerFactory, Decorator<IOSession> ioSessionDecorator, Callback<java.lang.Exception> exceptionCallback, IOSessionListener sessionListener, ManagedConnPool<HttpHost,IOSession> connPool, TlsStrategy tlsStrategy, Timeout handshakeTimeout)
UseAsyncRequesterBootstrap
to create instances of this class.- Since:
- 5.2
-
HttpAsyncRequester
@Internal public HttpAsyncRequester(IOReactorConfig ioReactorConfig, IOEventHandlerFactory eventHandlerFactory, Decorator<IOSession> ioSessionDecorator, Callback<java.lang.Exception> exceptionCallback, IOSessionListener sessionListener, ManagedConnPool<HttpHost,IOSession> connPool)
UseAsyncRequesterBootstrap
to create instances of this class.
-
-
Method Detail
-
getTotalStats
public PoolStats getTotalStats()
- Specified by:
getTotalStats
in interfaceConnPoolStats<HttpHost>
-
getStats
public PoolStats getStats(HttpHost route)
- Specified by:
getStats
in interfaceConnPoolStats<HttpHost>
-
setMaxTotal
public void setMaxTotal(int max)
- Specified by:
setMaxTotal
in interfaceConnPoolControl<HttpHost>
-
getMaxTotal
public int getMaxTotal()
- Specified by:
getMaxTotal
in interfaceConnPoolControl<HttpHost>
-
setDefaultMaxPerRoute
public void setDefaultMaxPerRoute(int max)
- Specified by:
setDefaultMaxPerRoute
in interfaceConnPoolControl<HttpHost>
-
getDefaultMaxPerRoute
public int getDefaultMaxPerRoute()
- Specified by:
getDefaultMaxPerRoute
in interfaceConnPoolControl<HttpHost>
-
setMaxPerRoute
public void setMaxPerRoute(HttpHost route, int max)
- Specified by:
setMaxPerRoute
in interfaceConnPoolControl<HttpHost>
-
getMaxPerRoute
public int getMaxPerRoute(HttpHost route)
- Specified by:
getMaxPerRoute
in interfaceConnPoolControl<HttpHost>
-
closeIdle
public void closeIdle(TimeValue idleTime)
- Specified by:
closeIdle
in interfaceConnPoolControl<HttpHost>
-
closeExpired
public void closeExpired()
- Specified by:
closeExpired
in interfaceConnPoolControl<HttpHost>
-
getRoutes
public java.util.Set<HttpHost> getRoutes()
- Specified by:
getRoutes
in interfaceConnPoolControl<HttpHost>
-
connect
public java.util.concurrent.Future<AsyncClientEndpoint> connect(HttpHost host, Timeout timeout, java.lang.Object attachment, FutureCallback<AsyncClientEndpoint> callback)
-
doConnect
protected java.util.concurrent.Future<AsyncClientEndpoint> doConnect(HttpHost host, Timeout timeout, java.lang.Object attachment, FutureCallback<AsyncClientEndpoint> callback)
-
connect
public java.util.concurrent.Future<AsyncClientEndpoint> connect(HttpHost host, Timeout timeout)
-
execute
public void execute(AsyncClientExchangeHandler exchangeHandler, HandlerFactory<AsyncPushConsumer> pushHandlerFactory, Timeout timeout, HttpContext executeContext)
-
execute
public void execute(AsyncClientExchangeHandler exchangeHandler, Timeout timeout, HttpContext executeContext)
-
execute
public final <T> java.util.concurrent.Future<T> execute(AsyncRequestProducer requestProducer, AsyncResponseConsumer<T> responseConsumer, HandlerFactory<AsyncPushConsumer> pushHandlerFactory, Timeout timeout, HttpContext context, FutureCallback<T> callback)
-
execute
public final <T> java.util.concurrent.Future<T> execute(AsyncRequestProducer requestProducer, AsyncResponseConsumer<T> responseConsumer, Timeout timeout, HttpContext context, FutureCallback<T> callback)
-
execute
public final <T> java.util.concurrent.Future<T> execute(AsyncRequestProducer requestProducer, AsyncResponseConsumer<T> responseConsumer, Timeout timeout, FutureCallback<T> callback)
-
doTlsUpgrade
protected void doTlsUpgrade(ProtocolIOSession ioSession, NamedEndpoint endpoint, FutureCallback<ProtocolIOSession> callback)
-
-