diff options
Diffstat (limited to 'java/src/IceInternal/ThreadPoolWorkQueue.java')
-rw-r--r-- | java/src/IceInternal/ThreadPoolWorkQueue.java | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/java/src/IceInternal/ThreadPoolWorkQueue.java b/java/src/IceInternal/ThreadPoolWorkQueue.java deleted file mode 100644 index 30a013f6dc4..00000000000 --- a/java/src/IceInternal/ThreadPoolWorkQueue.java +++ /dev/null @@ -1,134 +0,0 @@ -// ********************************************************************** -// -// Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved. -// -// This copy of Ice is licensed to you under the terms described in the -// ICE_LICENSE file included in this distribution. -// -// ********************************************************************** - -package IceInternal; - -import java.util.List; - -final class ThreadPoolWorkQueue extends EventHandler -{ - ThreadPoolWorkQueue(Instance instance, ThreadPool threadPool, Selector selector) - { - _threadPool = threadPool; - _selector = selector; - _destroyed = false; - - _registered = SocketOperation.Read; - } - - @Override - protected synchronized void finalize() throws Throwable - { - try - { - IceUtilInternal.Assert.FinalizerAssert(_destroyed); - } - catch(java.lang.Exception ex) - { - } - finally - { - super.finalize(); - } - } - - synchronized void destroy() - { - assert(!_destroyed); - _destroyed = true; - _selector.wakeup(); - } - - synchronized void queue(ThreadPoolWorkItem item) - { - if(_destroyed) - { - throw new Ice.CommunicatorDestroyedException(); - } - assert(item != null); - _workItems.add(item); - _selector.wakeup(); - } - - @Override - public void message(ThreadPoolCurrent current) - { - ThreadPoolWorkItem workItem = null; - synchronized(this) - { - if(!_workItems.isEmpty()) - { - workItem = _workItems.removeFirst(); - assert(workItem != null); - } - else - { - assert(_destroyed); - _selector.wakeup(); - } - } - - if(workItem != null) - { - workItem.execute(current); - } - else - { - _threadPool.ioCompleted(current); - throw new ThreadPool.DestroyedException(); - } - } - - @Override - public void finished(ThreadPoolCurrent current, boolean close) - { - assert(false); - } - - @Override - public String toString() - { - return "work queue"; - } - - @Override - public java.nio.channels.SelectableChannel fd() - { - return null; - } - - // Return the number of pending events. - synchronized int size() - { - int sz = _workItems.size(); - if(_destroyed) - { - sz++; - } - return sz; - } - - synchronized void update(List<EventHandlerOpPair> handlers) - { - int sz = size(); - while(sz > 0) - { - handlers.add(_opPair); - --sz; - } - } - - private final ThreadPool _threadPool; - private boolean _destroyed; - private Selector _selector; - - private EventHandlerOpPair _opPair = new EventHandlerOpPair(this, SocketOperation.Read); - private java.util.LinkedList<ThreadPoolWorkItem> _workItems = new java.util.LinkedList<ThreadPoolWorkItem>(); - -} |