Class SelectorManager


  • public class SelectorManager
    extends java.lang.Object
    Selector manager
    • Field Detail

      • reactorSet

        private final Reactor[] reactorSet
      • sets

        private final java.util.concurrent.atomic.AtomicInteger sets
      • dividend

        private final int dividend
      • reactorReadyCount

        private int reactorReadyCount
        Reactor count which are ready
      • started

        private volatile boolean started
      • REACTOR_ATTRIBUTE

        public static final java.lang.String REACTOR_ATTRIBUTE
      • log

        private static final org.slf4j.Logger log
    • Constructor Detail

      • SelectorManager

        public SelectorManager​(int selectorPoolSize,
                               NioController controller,
                               Configuration conf)
                        throws java.io.IOException
        Throws:
        java.io.IOException
    • Method Detail

      • getSelectorCount

        public int getSelectorCount()
      • start

        public void start()
      • getReactorFromSession

        Reactor getReactorFromSession​(Session session)
      • getReactorByIndex

        public Reactor getReactorByIndex​(int index)
        Find reactor by index
        Parameters:
        index -
        Returns:
      • stop

        public void stop()
      • registerChannel

        public final Reactor registerChannel​(java.nio.channels.SelectableChannel channel,
                                             int ops,
                                             java.lang.Object attachment)
        Register channel
        Parameters:
        channel -
        ops -
        attachment -
        Returns:
      • awaitReady

        void awaitReady()
      • nextReactor

        public final Reactor nextReactor()
        Get next reactor
        Returns:
      • registerSession

        public final void registerSession​(Session session,
                                          EventType event)
        Register session
        Parameters:
        session -
        event -
      • notifyReady

        void notifyReady()
        Notify all reactor have been ready
      • isStarted

        public final boolean isStarted()