diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2006-11-16 17:31:10 +0000 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2006-11-16 17:31:10 +0000 |
commit | 51b5c23482df36ac145c82d58e9ccdef9728f935 (patch) | |
tree | 15a62e43b132ebdd721ec13a0d6b664133d00e3a /java/demo/Ice/async/QueueI.java | |
parent | Remove debug code (diff) | |
download | ice-51b5c23482df36ac145c82d58e9ccdef9728f935.tar.bz2 ice-51b5c23482df36ac145c82d58e9ccdef9728f935.tar.xz ice-51b5c23482df36ac145c82d58e9ccdef9728f935.zip |
Added async demo
Diffstat (limited to 'java/demo/Ice/async/QueueI.java')
-rw-r--r-- | java/demo/Ice/async/QueueI.java | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/java/demo/Ice/async/QueueI.java b/java/demo/Ice/async/QueueI.java new file mode 100644 index 00000000000..c6243869c4d --- /dev/null +++ b/java/demo/Ice/async/QueueI.java @@ -0,0 +1,58 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2006 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. +// +// ********************************************************************** + +import Demo.*; + +public class QueueI extends _QueueDisp +{ + synchronized public void + get_async(AMD_Queue_get getCB, Ice.Current current) + { + if(_messageQueue.size() != 0) + { + try + { + getCB.ice_response((String)_messageQueue.getFirst()); + _messageQueue.removeFirst(); + } + catch(Ice.LocalException ex) + { + ex.printStackTrace(); + } + } + else + { + _requestQueue.add(getCB); + } + } + + synchronized public void + add(String message, Ice.Current current) + { + if(_requestQueue.size() != 0) + { + try + { + AMD_Queue_get cb = (AMD_Queue_get)_requestQueue.removeFirst(); + cb.ice_response(message); + } + catch(Ice.LocalException ex) + { + ex.printStackTrace(); + } + } + else + { + _messageQueue.add(message); + } + } + + private java.util.LinkedList _messageQueue = new java.util.LinkedList(); + private java.util.LinkedList _requestQueue = new java.util.LinkedList(); +} |