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)
-
-
-
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 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(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 interfacejava.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)
-
-