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 Selector
private final Object
private final AtomicReference
<IOReactorStatus> private final AtomicBoolean
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal void
awaitShutdown
(TimeValue waitTime) Blocks for the given period of time in milliseconds awaiting the completion of the reactor shutdown.final void
close()
final void
Shuts down the I/O reactor either gracefully or immediately.void
Shuts down the I/O reactor either gracefully or immediately.(package private) abstract void
(package private) abstract void
void
execute()
final IOReactorStatus
Returns the current status of the reactor.final void
Initiates shutdown of the reactor without blocking.(package private) void
toString()
-
Field Details
-
exceptionCallback
-
status
-
terminated
-
shutdownMutex
-
selector
-
-
Constructor Details
-
AbstractSingleCoreIOReactor
-
-
Method Details
-
getStatus
Description copied from interface:IOReactor
Returns the current status of the reactor. -
logException
-
doExecute
- Throws:
IOException
-
doTerminate
- Throws:
IOException
-
execute
public void execute() -
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
-
initiateShutdown
public final 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
-
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
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:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
toString
-