Package org.apache.tomcat.util.net
Class NioEndpoint.Poller
- java.lang.Object
-
- org.apache.tomcat.util.net.NioEndpoint.Poller
-
- All Implemented Interfaces:
Runnable
- Enclosing class:
- NioEndpoint
public class NioEndpoint.Poller extends Object implements Runnable
Poller class.
-
-
Constructor Summary
Constructors Constructor Description Poller()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(NioEndpoint.NioSocketWrapper socketWrapper, int interestOps)Add specified socket and associated pool to the poller.protected voiddestroy()Destroy the poller.booleanevents()Processes events in the event queue of the Poller.intgetKeyCount()SelectorgetSelector()protected voidprocessKey(SelectionKey sk, NioEndpoint.NioSocketWrapper socketWrapper)SendfileStateprocessSendfile(SelectionKey sk, NioEndpoint.NioSocketWrapper socketWrapper, boolean calledByProcessor)protected voidreg(SelectionKey sk, NioEndpoint.NioSocketWrapper socketWrapper, int intops)voidregister(NioEndpoint.NioSocketWrapper socketWrapper)Registers a newly created socket with the poller.voidrun()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 voidtimeout(int keyCount, boolean hasEvents)protected voidunreg(SelectionKey sk, NioEndpoint.NioSocketWrapper socketWrapper, int readyOps)
-
-
-
Constructor Detail
-
Poller
public Poller() throws IOException- Throws:
IOException
-
-
Method Detail
-
getKeyCount
public int getKeyCount()
-
getSelector
public 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:
trueif some events were processed,falseif queue was empty
-
register
public void register(NioEndpoint.NioSocketWrapper socketWrapper)
Registers a newly created socket with the poller.- Parameters:
socketWrapper- The socket wrapper
-
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.
-
processKey
protected void processKey(SelectionKey sk, NioEndpoint.NioSocketWrapper socketWrapper)
-
processSendfile
public SendfileState processSendfile(SelectionKey sk, NioEndpoint.NioSocketWrapper socketWrapper, boolean calledByProcessor)
-
unreg
protected void unreg(SelectionKey sk, NioEndpoint.NioSocketWrapper socketWrapper, int readyOps)
-
reg
protected void reg(SelectionKey sk, NioEndpoint.NioSocketWrapper socketWrapper, int intops)
-
timeout
protected void timeout(int keyCount, boolean hasEvents)
-
-