public class HttpAsyncRequester extends AsyncRequester implements ConnPoolControl<HttpHost>
Constructor and Description |
---|
HttpAsyncRequester(IOReactorConfig ioReactorConfig,
IOEventHandlerFactory eventHandlerFactory,
Decorator<IOSession> ioSessionDecorator,
Callback<Exception> exceptionCallback,
IOSessionListener sessionListener,
ManagedConnPool<HttpHost,IOSession> connPool)
Use
AsyncRequesterBootstrap to create instances of this class. |
awaitShutdown, close, close, getStatus, initiateShutdown, requestSession, start
@Internal public HttpAsyncRequester(IOReactorConfig ioReactorConfig, IOEventHandlerFactory eventHandlerFactory, Decorator<IOSession> ioSessionDecorator, Callback<Exception> exceptionCallback, IOSessionListener sessionListener, ManagedConnPool<HttpHost,IOSession> connPool)
AsyncRequesterBootstrap
to create instances of this class.public PoolStats getTotalStats()
getTotalStats
in interface ConnPoolStats<HttpHost>
public PoolStats getStats(HttpHost route)
getStats
in interface ConnPoolStats<HttpHost>
public void setMaxTotal(int max)
setMaxTotal
in interface ConnPoolControl<HttpHost>
public int getMaxTotal()
getMaxTotal
in interface ConnPoolControl<HttpHost>
public void setDefaultMaxPerRoute(int max)
setDefaultMaxPerRoute
in interface ConnPoolControl<HttpHost>
public int getDefaultMaxPerRoute()
getDefaultMaxPerRoute
in interface ConnPoolControl<HttpHost>
public void setMaxPerRoute(HttpHost route, int max)
setMaxPerRoute
in interface ConnPoolControl<HttpHost>
public int getMaxPerRoute(HttpHost route)
getMaxPerRoute
in interface ConnPoolControl<HttpHost>
public void closeIdle(TimeValue idleTime)
closeIdle
in interface ConnPoolControl<HttpHost>
public void closeExpired()
closeExpired
in interface ConnPoolControl<HttpHost>
public Set<HttpHost> getRoutes()
getRoutes
in interface ConnPoolControl<HttpHost>
public Future<AsyncClientEndpoint> connect(HttpHost host, Timeout timeout, Object attachment, FutureCallback<AsyncClientEndpoint> callback)
protected Future<AsyncClientEndpoint> doConnect(HttpHost host, Timeout timeout, Object attachment, FutureCallback<AsyncClientEndpoint> callback)
public Future<AsyncClientEndpoint> connect(HttpHost host, Timeout timeout)
public void execute(AsyncClientExchangeHandler exchangeHandler, HandlerFactory<AsyncPushConsumer> pushHandlerFactory, Timeout timeout, HttpContext executeContext)
public void execute(AsyncClientExchangeHandler exchangeHandler, Timeout timeout, HttpContext executeContext)
public final <T> Future<T> execute(AsyncRequestProducer requestProducer, AsyncResponseConsumer<T> responseConsumer, HandlerFactory<AsyncPushConsumer> pushHandlerFactory, Timeout timeout, HttpContext context, FutureCallback<T> callback)
public final <T> Future<T> execute(AsyncRequestProducer requestProducer, AsyncResponseConsumer<T> responseConsumer, Timeout timeout, HttpContext context, FutureCallback<T> callback)
public final <T> Future<T> execute(AsyncRequestProducer requestProducer, AsyncResponseConsumer<T> responseConsumer, Timeout timeout, FutureCallback<T> callback)
public final Future<IOSession> connect(NamedEndpoint remoteEndpoint, SocketAddress remoteAddress, SocketAddress localAddress, Timeout timeout, Object attachment, FutureCallback<IOSession> callback)
ConnectionInitiator
Opening a connection to a remote host usually tends to be a time
consuming process and may take a while to complete. One can monitor and
control the process of session initialization by means of the
Future
interface.
There are several parameters one can use to exert a greater control over the process of session initialization:
A non-null local socket address parameter can be used to bind the socket to a specific local address.
An attachment object can added to the new session's context upon initialization. This object can be used to pass an initial processing state to the protocol handler.
It is often desirable to be able to react to the completion of a session
request asynchronously without having to wait for it, blocking the
current thread of execution. One can optionally provide an implementation
FutureCallback
instance to get notified of events related
to session requests, such as request completion, cancellation, failure or
timeout.
connect
in interface ConnectionInitiator
remoteEndpoint
- name of the remote host.remoteAddress
- remote socket address.localAddress
- local socket address. Can be null
,
in which can the default local address and a random port will be used.timeout
- connect timeout.attachment
- the attachment object. Can be null
.callback
- interface. Can be null
.Copyright © 2005–2022 The Apache Software Foundation. All rights reserved.