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
`Poller()`

### Method Summary

All Methods Instance Methods Concrete Methods
`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)