示例#1
0
 @Override
 public boolean offer(Processor<S> processor) {
   int cacheSize = handler.getProtocol().getProcessorCache();
   boolean offer = cacheSize == -1 ? true : size.get() < cacheSize;
   // 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) handler.unregister(processor);
   return result;
 }
示例#2
0
 @Override
 public void clear() {
   Processor<S> next = poll();
   while (next != null) {
     handler.unregister(next);
     next = poll();
   }
   super.clear();
   size.set(0);
 }