Package org.apache.hc.core5.testing.nio
Class IOReactorExecutor<T extends IOReactorService>
- java.lang.Object
-
- org.apache.hc.core5.testing.nio.IOReactorExecutor<T>
-
- All Implemented Interfaces:
java.lang.AutoCloseable
- Direct Known Subclasses:
AsyncRequester
,AsyncServer
abstract class IOReactorExecutor<T extends IOReactorService> extends java.lang.Object implements java.lang.AutoCloseable
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
IOReactorExecutor.Status
-
Field Summary
Fields Modifier and Type Field Description private IOReactorConfig
ioReactorConfig
private java.util.concurrent.atomic.AtomicReference<T>
ioReactorRef
private java.util.concurrent.atomic.AtomicReference<IOReactorExecutor.Status>
status
private java.util.concurrent.ThreadFactory
workerThreadFactory
-
Constructor Summary
Constructors Constructor Description IOReactorExecutor(IOReactorConfig ioReactorConfig, java.util.concurrent.ThreadFactory workerThreadFactory)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
awaitShutdown(TimeValue waitTime)
void
close()
(package private) abstract T
createIOReactor(IOEventHandlerFactory ioEventHandlerFactory, IOReactorConfig ioReactorConfig, java.util.concurrent.ThreadFactory threadFactory, Callback<IOSession> sessionShutdownCallback)
private T
ensureRunning()
protected void
execute(IOEventHandlerFactory ioEventHandlerFactory)
IOReactorStatus
getStatus()
void
initiateShutdown()
(package private) T
reactor()
void
shutdown(TimeValue graceTime)
-
-
-
Field Detail
-
ioReactorConfig
private final IOReactorConfig ioReactorConfig
-
workerThreadFactory
private final java.util.concurrent.ThreadFactory workerThreadFactory
-
ioReactorRef
private final java.util.concurrent.atomic.AtomicReference<T extends IOReactorService> ioReactorRef
-
status
private final java.util.concurrent.atomic.AtomicReference<IOReactorExecutor.Status> status
-
-
Constructor Detail
-
IOReactorExecutor
IOReactorExecutor(IOReactorConfig ioReactorConfig, java.util.concurrent.ThreadFactory workerThreadFactory)
-
-
Method Detail
-
createIOReactor
abstract T createIOReactor(IOEventHandlerFactory ioEventHandlerFactory, IOReactorConfig ioReactorConfig, java.util.concurrent.ThreadFactory threadFactory, Callback<IOSession> sessionShutdownCallback) throws java.io.IOException
- Throws:
java.io.IOException
-
execute
protected void execute(IOEventHandlerFactory ioEventHandlerFactory) throws java.io.IOException
- Throws:
java.io.IOException
-
ensureRunning
private T ensureRunning()
-
reactor
T reactor()
-
getStatus
public IOReactorStatus getStatus()
-
awaitShutdown
public void awaitShutdown(TimeValue waitTime) throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
-
initiateShutdown
public void initiateShutdown()
-
shutdown
public void shutdown(TimeValue graceTime)
-
close
public void close() throws java.lang.Exception
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Throws:
java.lang.Exception
-
-