Class AsyncRequester
java.lang.Object
org.apache.hc.core5.http.impl.bootstrap.AbstractConnectionInitiatorBase
org.apache.hc.core5.http.impl.bootstrap.AsyncRequester
- All Implemented Interfaces:
Closeable
,AutoCloseable
,ModalCloseable
,ConnectionInitiator
,IOReactor
,IOReactorService
- Direct Known Subclasses:
H2MultiplexingRequester
,HttpAsyncRequester
Protocol agnostic client side I/O session initiator.
- Since:
- 5.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Resolver
<HttpHost, InetSocketAddress> private final DefaultConnectingIOReactor
-
Constructor Summary
ConstructorsConstructorDescriptionAsyncRequester
(IOEventHandlerFactory eventHandlerFactory, IOReactorConfig ioReactorConfig, Decorator<IOSession> ioSessionDecorator, Callback<Exception> exceptionCallback, IOSessionListener sessionListener, Callback<IOSession> sessionShutdownCallback, Resolver<HttpHost, InetSocketAddress> addressResolver) -
Method Summary
Modifier and TypeMethodDescriptionvoid
awaitShutdown
(TimeValue waitTime) Blocks for the given period of time in milliseconds awaiting the completion of the reactor shutdown.void
close()
void
Shuts down the I/O reactor either gracefully or immediately.(package private) ConnectionInitiator
Returns the current status of the reactor.void
Initiates shutdown of the reactor without blocking.requestSession
(HttpHost host, Timeout timeout, 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 Details
-
ioReactor
-
addressResolver
-
-
Constructor Details
-
AsyncRequester
@Internal public AsyncRequester(IOEventHandlerFactory eventHandlerFactory, IOReactorConfig ioReactorConfig, Decorator<IOSession> ioSessionDecorator, Callback<Exception> exceptionCallback, IOSessionListener sessionListener, Callback<IOSession> sessionShutdownCallback, Resolver<HttpHost, InetSocketAddress> addressResolver)
-
-
Method Details
-
getIOReactor
ConnectionInitiator getIOReactor()- Specified by:
getIOReactor
in classAbstractConnectionInitiatorBase
-
requestSession
-
start
public void start()Description copied from interface:IOReactorService
Starts I/O reactor.- Specified by:
start
in interfaceIOReactorService
-
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
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:
InterruptedException
-
close
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
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-