Class DefaultConnectingIOReactor

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, ModalCloseable, ConnectionInitiator, IOReactor, IOReactorService

    public class DefaultConnectingIOReactor
    extends AbstractIOReactorBase
    Multi-core I/O reactor that can act as ConnectionInitiator Internally this I/O reactor distributes newly created I/O session equally across multiple I/O worker threads for a more optimal resource utilization and a better I/O performance. Usually it is recommended to have one worker I/O reactor per physical CPU core.
    Since:
    4.0
    • Field Detail

      • workerCount

        private final int workerCount
      • THREAD_FACTORY

        private static final java.util.concurrent.ThreadFactory THREAD_FACTORY
    • Method Detail

      • start

        public void start()
        Description copied from interface: IOReactorService
        Starts I/O reactor.
      • getStatus

        public IOReactorStatus getStatus()
        Description copied from interface: IOReactor
        Returns the current status of the reactor.
        Returns:
        reactor status.
      • 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
      • 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.
        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.
        Parameters:
        closeMode - How to close the receiver.
      • close

        public void close()
                   throws java.io.IOException
        Throws:
        java.io.IOException