Class SelectorRunner

java.lang.Object
org.glassfish.grizzly.nio.SelectorRunner
All Implemented Interfaces:
Runnable

public final class SelectorRunner extends Object implements Runnable
Class is responsible for processing certain (single) SelectorHandler
Author:
Alexey Stashok
  • Method Details

    • create

      public static SelectorRunner create(NIOTransport transport) throws IOException
      Throws:
      IOException
    • getTransport

      public NIOTransport getTransport()
    • getSelector

      public Selector getSelector()
    • getRunnerThread

      public Thread getRunnerThread()
    • getState

      public Transport.State getState()
    • postpone

      public void postpone()
    • start

      public void start()
    • stop

      public void stop()
    • run

      public void run()
      Specified by:
      run in interface Runnable
    • doSelect

      protected boolean doSelect()
      This method handle the processing of all Selector's interest op (OP_ACCEPT,OP_READ,OP_WRITE,OP_CONNECT) by delegating to its Handler. By default, all java.nio.channels.Selector operations are implemented using SelectorHandler. All SelectionKey operations are implemented by SelectionKeyHandler. Finally, ProtocolChain creation/re-use are implemented by InstanceHandler.
    • getPendingTasks

      public Queue<SelectorHandlerTask> getPendingTasks()
    • getPostponedTasks

      public Queue<SelectorHandlerTask> getPostponedTasks()
    • obtainPostponedTasks

      public Queue<SelectorHandlerTask> obtainPostponedTasks()
    • getLastSelectedKeysCount

      public int getLastSelectedKeysCount()
      Number of SelectionKeys, which were selected last time. Operation is not thread-safe.
      Returns:
      number of SelectionKeys, which were selected last time.
    • switchToNewSelector

      protected void switchToNewSelector() throws IOException
      Throws:
      IOException