protected abstract class AbstractNonblockingServer.AbstractSelectThread
extends java.lang.Thread
FrameBuffers
associated with selected keys
corresponding to requests.Modifier and Type | Field and Description |
---|---|
protected java.util.Set<AbstractNonblockingServer.FrameBuffer> |
selectInterestChanges |
protected java.nio.channels.Selector |
selector |
Constructor and Description |
---|
AbstractNonblockingServer.AbstractSelectThread() |
Modifier and Type | Method and 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.
|
activeCount, 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, resume, run, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
protected final java.nio.channels.Selector selector
protected final java.util.Set<AbstractNonblockingServer.FrameBuffer> selectInterestChanges
public AbstractNonblockingServer.AbstractSelectThread() throws java.io.IOException
java.io.IOException
public 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)