Package org.apache.hc.core5.reactor
Class AbstractSingleCoreIOReactor
java.lang.Object
org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor
- All Implemented Interfaces:
Closeable,AutoCloseable,ModalCloseable,IOReactor
- Direct Known Subclasses:
SingleCoreIOReactor,SingleCoreListeningIOReactor
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final Selectorprivate final Objectprivate final AtomicReference<IOReactorStatus> private final AtomicBoolean -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal voidawaitShutdown(TimeValue waitTime) Blocks for the given period of time in milliseconds awaiting the completion of the reactor shutdown.final voidclose()final voidShuts down the I/O reactor either gracefully or immediately.voidShuts down the I/O reactor either gracefully or immediately.(package private) abstract void(package private) abstract voidvoidexecute()final IOReactorStatusReturns the current status of the reactor.final voidInitiates shutdown of the reactor without blocking.(package private) voidtoString()
-
Field Details
-
exceptionCallback
-
status
-
terminated
-
shutdownMutex
-
selector
-
-
Constructor Details
-
AbstractSingleCoreIOReactor
-
-
Method Details
-
getStatus
Description copied from interface:IOReactorReturns the current status of the reactor. -
logException
-
doExecute
- Throws:
IOException
-
doTerminate
- Throws:
IOException
-
execute
public void execute() -
awaitShutdown
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:
InterruptedException
-
initiateShutdown
public final 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
-
close
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
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.- Parameters:
closeMode- How to close the IO reactor.timeout- How long to wait for the IO reactor to close gracefully.- Since:
- 5.2
-
close
public final void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
toString
-