public boolean offer(Http11NioProcessor processor) { boolean offer = proto.processorCache==-1?true:size.get() < proto.processorCache; //avoid over growing our cache or add after we have stopped boolean result = false; if ( offer ) { result = super.offer(processor); if ( result ) { size.incrementAndGet(); } } if (!result) deregister(processor); return result; }
@Override public boolean offer(Http11NioProcessor processor) { boolean offer = proto.getProcessorCache()==-1?true:size.get() < proto.getProcessorCache(); //avoid over growing our cache or add after we have stopped boolean result = false; if ( offer ) { result = super.offer(processor); if ( result ) { size.incrementAndGet(); } } if (!result) deregister(processor); return result; }
@Override public void release(SocketChannel socket) { if (log.isDebugEnabled()) log.debug("Iterating through our connections to release a socket channel:"+socket); boolean released = false; Iterator<java.util.Map.Entry<NioChannel, Http11NioProcessor>> it = connections.entrySet().iterator(); while (it.hasNext()) { java.util.Map.Entry<NioChannel, Http11NioProcessor> entry = it.next(); if (entry.getKey().getIOChannel()==socket) { it.remove(); Http11NioProcessor result = entry.getValue(); result.recycle(); deregister(result); released = true; break; } } if (log.isDebugEnabled()) log.debug("Done iterating through our connections to release a socket channel:"+socket +" released:"+released); }
public void clear() { Http11NioProcessor next = poll(); while ( next != null ) { deregister(next); next = poll(); } super.clear(); size.set(0); } };
@Override public void clear() { Http11NioProcessor next = poll(); while ( next != null ) { deregister(next); next = poll(); } super.clear(); size.set(0); } };