Package one.nio.net

Class JavaSelector

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, java.lang.Iterable<Session>

    final class JavaSelector
    extends Selector
    • Field Detail

      • log

        private static final org.slf4j.Logger log
      • impl

        private final java.nio.channels.Selector impl
      • pendingSessions

        private final java.util.concurrent.ConcurrentLinkedQueue<Session> pendingSessions
      • lastWakeupTime

        private long lastWakeupTime
    • Constructor Detail

      • JavaSelector

        JavaSelector()
              throws java.io.IOException
        Throws:
        java.io.IOException
    • Method Detail

      • size

        public final int size()
        Specified by:
        size in class Selector
      • isOpen

        public boolean isOpen()
        Specified by:
        isOpen in class Selector
      • close

        public final void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in class Selector
      • listen

        public final void listen​(Session session,
                                 int events)
        Specified by:
        listen in class Selector
      • iterator

        public final java.util.Iterator<Session> iterator()
        Specified by:
        iterator in interface java.lang.Iterable<Session>
        Specified by:
        iterator in class Selector
      • registerPendingSessions

        private void registerPendingSessions()
                                      throws java.io.IOException
        Throws:
        java.io.IOException
      • iteratorFor

        private static java.util.Iterator<Session> iteratorFor​(java.util.Set<java.nio.channels.SelectionKey> keys)