Class AsyncRequester
- java.lang.Object
-
- org.apache.hc.core5.http.impl.bootstrap.AbstractConnectionInitiatorBase
-
- org.apache.hc.core5.http.impl.bootstrap.AsyncRequester
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,ModalCloseable,ConnectionInitiator,IOReactor,IOReactorService
- Direct Known Subclasses:
H2MultiplexingRequester,HttpAsyncRequester
public class AsyncRequester extends AbstractConnectionInitiatorBase implements IOReactorService
Protocol agnostic client side I/O session initiator.- Since:
- 5.0
-
-
Field Summary
Fields Modifier and Type Field Description private Resolver<HttpHost,java.net.InetSocketAddress>addressResolverprivate DefaultConnectingIOReactorioReactor
-
Constructor Summary
Constructors Constructor Description AsyncRequester(IOEventHandlerFactory eventHandlerFactory, IOReactorConfig ioReactorConfig, Decorator<IOSession> ioSessionDecorator, Callback<java.lang.Exception> exceptionCallback, IOSessionListener sessionListener, Callback<IOSession> sessionShutdownCallback, Resolver<HttpHost,java.net.InetSocketAddress> addressResolver)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidawaitShutdown(TimeValue waitTime)Blocks for the given period of time in milliseconds awaiting the completion of the reactor shutdown.voidclose()voidclose(CloseMode closeMode)Shuts down the I/O reactor either gracefully or immediately.(package private) ConnectionInitiatorgetIOReactor()IOReactorStatusgetStatus()Returns the current status of the reactor.voidinitiateShutdown()Initiates shutdown of the reactor without blocking.java.util.concurrent.Future<IOSession>requestSession(HttpHost host, Timeout timeout, java.lang.Object attachment, FutureCallback<IOSession> callback)voidstart()Starts I/O reactor.-
Methods inherited from class org.apache.hc.core5.http.impl.bootstrap.AbstractConnectionInitiatorBase
connect
-
-
-
-
Field Detail
-
ioReactor
private final DefaultConnectingIOReactor ioReactor
-
-
Constructor Detail
-
AsyncRequester
@Internal public AsyncRequester(IOEventHandlerFactory eventHandlerFactory, IOReactorConfig ioReactorConfig, Decorator<IOSession> ioSessionDecorator, Callback<java.lang.Exception> exceptionCallback, IOSessionListener sessionListener, Callback<IOSession> sessionShutdownCallback, Resolver<HttpHost,java.net.InetSocketAddress> addressResolver)
-
-
Method Detail
-
getIOReactor
ConnectionInitiator getIOReactor()
- Specified by:
getIOReactorin classAbstractConnectionInitiatorBase
-
requestSession
public java.util.concurrent.Future<IOSession> requestSession(HttpHost host, Timeout timeout, java.lang.Object attachment, FutureCallback<IOSession> callback)
-
start
public void start()
Description copied from interface:IOReactorServiceStarts I/O reactor.- Specified by:
startin interfaceIOReactorService
-
getStatus
public IOReactorStatus getStatus()
Description copied from interface:IOReactorReturns the current status of the reactor.
-
initiateShutdown
public void initiateShutdown()
Description copied from interface:IOReactorInitiates shutdown of the reactor without blocking. The reactor is expected to terminate all active connections, to shut down itself and to release system resources it currently holds- Specified by:
initiateShutdownin interfaceIOReactor
-
awaitShutdown
public void awaitShutdown(TimeValue waitTime) throws java.lang.InterruptedException
Description copied from interface:IOReactorBlocks for the given period of time in milliseconds awaiting the completion of the reactor shutdown.- Specified by:
awaitShutdownin interfaceIOReactor- Parameters:
waitTime- wait time.- Throws:
java.lang.InterruptedException
-
close
public void close(CloseMode closeMode)
Description copied from interface:IOReactorShuts down the I/O reactor either gracefully or immediately. During graceful shutdown individual I/O sessions should be informed about imminent termination and be given a grace period to complete the ongoing I/O sessions. During immediate shutdown all ongoing I/O sessions get aborted immediately.- Specified by:
closein interfaceIOReactor- Specified by:
closein interfaceModalCloseable- Parameters:
closeMode- How to close the receiver.
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Throws:
java.io.IOException
-
-