* Cache for SocketProcessor objects
*/
protected ConcurrentLinkedQueue<SocketProcessor> processorCache = new ConcurrentLinkedQueue<SocketProcessor>() {
+ private static final long serialVersionUID = 1L;
protected AtomicInteger size = new AtomicInteger(0);
@Override
public boolean offer(SocketProcessor sc) {
* Cache for key attachment objects
*/
protected ConcurrentLinkedQueue<KeyAttachment> keyCache = new ConcurrentLinkedQueue<KeyAttachment>() {
+ private static final long serialVersionUID = 1L;
protected AtomicInteger size = new AtomicInteger(0);
@Override
public boolean offer(KeyAttachment ka) {
* Cache for poller events
*/
protected ConcurrentLinkedQueue<PollerEvent> eventCache = new ConcurrentLinkedQueue<PollerEvent>() {
+ private static final long serialVersionUID = 1L;
protected AtomicInteger size = new AtomicInteger(0);
@Override
public boolean offer(PollerEvent pe) {
* Bytebuffer cache, each channel holds a set of buffers (two, except for SSL holds four)
*/
protected ConcurrentLinkedQueue<NioChannel> nioChannels = new ConcurrentLinkedQueue<NioChannel>() {
+ private static final long serialVersionUID = 1L;
protected AtomicInteger size = new AtomicInteger(0);
protected AtomicInteger bytes = new AtomicInteger(0);
@Override
reset(null, null, 0);
}
+ @Override
public void run() {
if ( interestOps == OP_REGISTER ) {
try {
* The background thread that listens for incoming TCP/IP connections and
* hands them off to an appropriate processor.
*/
+ @Override
public void run() {
// Loop until we receive a shutdown command
while (running) {
}
}
+ @Override
public ByteBuffer expand(ByteBuffer buffer, int remaining) {return buffer;}
+ @Override
public ByteBuffer getReadBuffer() {return readbuf;}
+ @Override
public ByteBuffer getWriteBuffer() {return writebuf;}
}
this.status = status;
}
+ @Override
public void run() {
SelectionKey key = null;
try {