## 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.

Field Summary
`protected boolean` `close`
`protected java.util.concurrent.ConcurrentLinkedQueue<java.lang.Runnable>` `events`
`protected long` `nextExpiration`
`protected java.nio.channels.Selector` `selector`
`protected java.util.concurrent.CountDownLatch` `stopLatch`
`protected java.util.concurrent.atomic.AtomicLong` `wakeupCounter`

Constructor Summary
`NioEndpoint.Poller()`

Method Summary
`void` `add(NioChannel socket)` Add specified socket and associated pool to the poller.
`void` `add(NioChannel socket, int interestOps)`
`void` `addEvent(java.lang.Runnable event)`
`void` `cancelledKey(java.nio.channels.SelectionKey key, SocketStatus status, boolean dispatch)`
`void` `cometInterest(NioChannel socket)`
`protected void` `destroy()` Destroy the poller.
`boolean` `events()`
`java.nio.channels.Selector` `getSelector()`
`protected boolean` `processKey(java.nio.channels.SelectionKey sk, NioEndpoint.KeyAttachment attachment)`
`boolean` `processSendfile(java.nio.channels.SelectionKey sk, NioEndpoint.KeyAttachment attachment, boolean reg, boolean event)`
`protected void` `reg(java.nio.channels.SelectionKey sk, NioEndpoint.KeyAttachment attachment, int intops)`
`void` `register(NioChannel socket)`
`void` `run()` The background thread that listens for incoming TCP/IP connections and hands them off to an appropriate processor.
`protected void` `timeout(int keyCount, boolean hasEvents)`
`protected void` `unreg(java.nio.channels.SelectionKey sk, NioEndpoint.KeyAttachment attachment, int readyOps)`
`void` `wakeup()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### selector

    protected java.nio.channels.Selector selector

### events

    protected java.util.concurrent.ConcurrentLinkedQueue<java.lang.Runnable> events

### close

    protected boolean close

### nextExpiration

    protected long nextExpiration

### wakeupCounter

    protected java.util.concurrent.atomic.AtomicLong wakeupCounter

### stopLatch

    protected java.util.concurrent.CountDownLatch stopLatch

Constructor Detail

### NioEndpoint.Poller

    public NioEndpoint.Poller()
                       throws java.io.IOException

Throws:
  `java.io.IOException`

Method Detail

### getSelector

    public java.nio.channels.Selector getSelector()

### destroy

    protected void destroy()

  Destroy the poller.

### addEvent

    public void addEvent(java.lang.Runnable event)

### cometInterest

    public void cometInterest(NioChannel socket)

### wakeup

    public void wakeup()

### add

    public void add(NioChannel socket)

  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:
    `socket` - to add to the poller

### add

    public void add(NioChannel socket,
                    int interestOps)

### events

    public boolean events()

### register

    public void register(NioChannel socket)

### cancelledKey

    public void cancelledKey(java.nio.channels.SelectionKey key,
                             SocketStatus status,
                             boolean dispatch)

### run

    public void run()

  The background thread that listens for incoming TCP/IP connections and hands them off to an appropriate processor.

  Specified by:
    `run` in interface `java.lang.Runnable`

### processKey

    protected boolean processKey(java.nio.channels.SelectionKey sk,
                                 NioEndpoint.KeyAttachment attachment)

### processSendfile

    public boolean processSendfile(java.nio.channels.SelectionKey sk,
                                   NioEndpoint.KeyAttachment attachment,
                                   boolean reg,
                                   boolean event)

### unreg

    protected void unreg(java.nio.channels.SelectionKey sk,
                         NioEndpoint.KeyAttachment attachment,
                         int readyOps)

### reg

    protected void reg(java.nio.channels.SelectionKey sk,
                       NioEndpoint.KeyAttachment attachment,
                       int intops)

### timeout

    protected void timeout(int keyCount,
                           boolean hasEvents)

Copyright © 2000-2008 Apache Software Foundation. All Rights Reserved.