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>
addressResolver
private DefaultConnectingIOReactor
ioReactor
-
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 void
awaitShutdown(TimeValue waitTime)
Blocks for the given period of time in milliseconds awaiting the completion of the reactor shutdown.void
close()
void
close(CloseMode closeMode)
Shuts down the I/O reactor either gracefully or immediately.(package private) ConnectionInitiator
getIOReactor()
IOReactorStatus
getStatus()
Returns the current status of the reactor.void
initiateShutdown()
Initiates shutdown of the reactor without blocking.java.util.concurrent.Future<IOSession>
requestSession(HttpHost host, Timeout timeout, java.lang.Object attachment, FutureCallback<IOSession> callback)
void
start()
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:
getIOReactor
in 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:IOReactorService
Starts I/O reactor.- Specified by:
start
in interfaceIOReactorService
-
getStatus
public IOReactorStatus getStatus()
Description copied from interface:IOReactor
Returns the current status of the reactor.
-
initiateShutdown
public void initiateShutdown()
Description copied from interface:IOReactor
Initiates 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:
initiateShutdown
in interfaceIOReactor
-
awaitShutdown
public void awaitShutdown(TimeValue waitTime) throws java.lang.InterruptedException
Description copied from interface:IOReactor
Blocks for the given period of time in milliseconds awaiting the completion of the reactor shutdown.- Specified by:
awaitShutdown
in interfaceIOReactor
- Parameters:
waitTime
- wait time.- Throws:
java.lang.InterruptedException
-
close
public void close(CloseMode closeMode)
Description copied from interface:IOReactor
Shuts 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:
close
in interfaceIOReactor
- Specified by:
close
in interfaceModalCloseable
- Parameters:
closeMode
- How to close the receiver.
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Throws:
java.io.IOException
-
-