Package org.apache.tomcat.util.net

## Class NioEndpoint.Poller

- java.lang.Object
- - org.apache.tomcat.util.net.NioEndpoint.Poller

- All Implemented Interfaces:
    `java.lang.Runnable`
  Enclosing class:
    NioEndpoint

      public class NioEndpoint.Poller
      extends java.lang.Object
      implements java.lang.Runnable

  Poller class.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Poller()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `add​(NioEndpoint.NioSocketWrapper socketWrapper, int interestOps)` | Add specified socket and associated pool to the poller.
    `void` | `cancelledKey​(java.nio.channels.SelectionKey sk, SocketWrapperBase<NioChannel> socketWrapper)` |
    `protected void` | `destroy()` | Destroy the poller.
    `boolean` | `events()` | Processes events in the event queue of the Poller.
    `int` | `getKeyCount()` |
    `java.nio.channels.Selector` | `getSelector()` |
    `protected void` | `processKey​(java.nio.channels.SelectionKey sk, NioEndpoint.NioSocketWrapper socketWrapper)` |
    `SendfileState` | `processSendfile​(java.nio.channels.SelectionKey sk, NioEndpoint.NioSocketWrapper socketWrapper, boolean calledByProcessor)` |
    `protected void` | `reg​(java.nio.channels.SelectionKey sk, NioEndpoint.NioSocketWrapper socketWrapper, int intops)` |
    `void` | `register​(NioEndpoint.NioSocketWrapper socketWrapper)` | Registers a newly created socket with the poller.
    `void` | `run()` | The background thread that adds sockets to the Poller, checks the poller for triggered events and hands the associated socket off to an appropriate processor as events occur.
    `protected void` | `timeout​(int keyCount, boolean hasEvents)` |
    `protected void` | `unreg​(java.nio.channels.SelectionKey sk, NioEndpoint.NioSocketWrapper socketWrapper, int readyOps)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Poller

          public Poller()
                 throws java.io.IOException

      Throws:
        `java.io.IOException`

  - ### Method Detail

    - #### getKeyCount

          public int getKeyCount()

    - #### getSelector

          public java.nio.channels.Selector getSelector()

    - #### destroy

          protected void destroy()

      Destroy the poller.

    - #### add

          public void add​(NioEndpoint.NioSocketWrapper socketWrapper,
                          int interestOps)

      Add specified socket and associated pool to the poller. The socket will be added to a temporary array, and polled first after a maximum amount of time equal to pollTime (in most cases, latency will be much lower, however).
      Parameters:
        `socketWrapper` - to add to the poller
        `interestOps` - Operations for which to register this socket with the Poller

    - #### events

          public boolean events()

      Processes events in the event queue of the Poller.
      Returns:
        `true` if some events were processed, `false` if queue was empty

    - #### register

          public void register​(NioEndpoint.NioSocketWrapper socketWrapper)

      Registers a newly created socket with the poller.
      Parameters:
        `socketWrapper` - The socket wrapper

    - #### cancelledKey

          public void cancelledKey​(java.nio.channels.SelectionKey sk,
                                   SocketWrapperBase<NioChannel> socketWrapper)

    - #### run

          public void run()

      The background thread that adds sockets to the Poller, checks the poller for triggered events and hands the associated socket off to an appropriate processor as events occur.
      Specified by:
        `run` in interface `java.lang.Runnable`

    - #### processKey

          protected void processKey​(java.nio.channels.SelectionKey sk,
                                    NioEndpoint.NioSocketWrapper socketWrapper)

    - #### processSendfile

          public SendfileState processSendfile​(java.nio.channels.SelectionKey sk,
                                               NioEndpoint.NioSocketWrapper socketWrapper,
                                               boolean calledByProcessor)

    - #### unreg

          protected void unreg​(java.nio.channels.SelectionKey sk,
                               NioEndpoint.NioSocketWrapper socketWrapper,
                               int readyOps)

    - #### reg

          protected void reg​(java.nio.channels.SelectionKey sk,
                             NioEndpoint.NioSocketWrapper socketWrapper,
                             int intops)

    - #### timeout

          protected void timeout​(int keyCount,
                                 boolean hasEvents)