Apache Tomcat 6.0.53

org.apache.tomcat.util.net
Class NioEndpoint.Poller

java.lang.Object
  extended by 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)
           
 NioEndpoint.KeyAttachment cancelledKey(java.nio.channels.SelectionKey key, SocketStatus status, boolean dispatch)
           
 void cometInterest(NioChannel socket)
           
protected  void destroy()
          Destroy the poller.
 boolean events()
          Processes events in the event queue of the Poller.
 java.nio.channels.Selector getSelector()
           
protected  boolean processKey(java.nio.channels.SelectionKey sk, NioEndpoint.KeyAttachment attachment)
           
 SendfileState processSendfile(java.nio.channels.SelectionKey sk, NioEndpoint.KeyAttachment attachment, boolean calledByProcessor)
           
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 volatile 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()
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(NioChannel socket)

cancelledKey

public NioEndpoint.KeyAttachment 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 SendfileState processSendfile(java.nio.channels.SelectionKey sk,
                                     NioEndpoint.KeyAttachment attachment,
                                     boolean calledByProcessor)

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)

Apache Tomcat 6.0.53

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