java.lang.RunnableTNonblockingServer.SelectAcceptThread, TThreadedSelectorServer.SelectorThreadprotected abstract class AbstractNonblockingServer.AbstractSelectThread
extends java.lang.Thread
FrameBuffers associated with selected keys
corresponding to requests.| Modifier and Type | Field | Description |
|---|---|---|
protected java.util.Set<AbstractNonblockingServer.FrameBuffer> |
selectInterestChanges |
|
protected java.nio.channels.Selector |
selector |
| Constructor | Description |
|---|---|
AbstractSelectThread() |
| Modifier and Type | Method | Description |
|---|---|---|
protected void |
cleanupSelectionKey(java.nio.channels.SelectionKey key) |
Do connection-close cleanup on a given SelectionKey.
|
protected void |
handleRead(java.nio.channels.SelectionKey key) |
Do the work required to read from a readable client.
|
protected void |
handleWrite(java.nio.channels.SelectionKey key) |
Let a writable client get written, if there's data to be written.
|
protected void |
processInterestChanges() |
Check to see if there are any FrameBuffers that have switched their
interest type from read to write or vice versa.
|
void |
requestSelectInterestChange(AbstractNonblockingServer.FrameBuffer frameBuffer) |
Add FrameBuffer to the list of select interest changes and wake up the
selector if it's blocked.
|
void |
wakeupSelector() |
If the selector is blocked, wake it up.
|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitactiveCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, run, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yieldprotected final java.nio.channels.Selector selector
protected final java.util.Set<AbstractNonblockingServer.FrameBuffer> selectInterestChanges
public AbstractSelectThread()
throws java.io.IOException
java.io.IOExceptionpublic void wakeupSelector()
public void requestSelectInterestChange(AbstractNonblockingServer.FrameBuffer frameBuffer)
protected void processInterestChanges()
protected void handleRead(java.nio.channels.SelectionKey key)
protected void handleWrite(java.nio.channels.SelectionKey key)
protected void cleanupSelectionKey(java.nio.channels.SelectionKey key)