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(NioChannel socket, int interestOps)
Add specified socket and associated pool to the poller.NioEndpoint.NioSocketWrapper
cancelledKey(java.nio.channels.SelectionKey key)
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 attachment)
SendfileState
processSendfile(java.nio.channels.SelectionKey sk, NioEndpoint.NioSocketWrapper socketWrapper, boolean calledByProcessor)
protected void
reg(java.nio.channels.SelectionKey sk, NioEndpoint.NioSocketWrapper attachment, int intops)
void
register(NioChannel socket)
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 attachment, int readyOps)
-
-
-
Method Detail
-
getKeyCount
public int getKeyCount()
-
getSelector
public java.nio.channels.Selector getSelector()
-
destroy
protected void destroy()
Destroy the poller.
-
add
public void add(NioChannel socket, 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:
socket
- to add to the pollerinterestOps
- 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(NioChannel socket)
Registers a newly created socket with the poller.- Parameters:
socket
- The newly created socket
-
cancelledKey
public NioEndpoint.NioSocketWrapper cancelledKey(java.nio.channels.SelectionKey key)
-
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 interfacejava.lang.Runnable
-
processKey
protected void processKey(java.nio.channels.SelectionKey sk, NioEndpoint.NioSocketWrapper attachment)
-
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 attachment, int readyOps)
-
reg
protected void reg(java.nio.channels.SelectionKey sk, NioEndpoint.NioSocketWrapper attachment, int intops)
-
timeout
protected void timeout(int keyCount, boolean hasEvents)
-
-