summaryrefslogtreecommitdiff
path: root/java/demo/Ice/async/QueueI.java
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2006-11-16 17:31:10 +0000
committerDwayne Boone <dwayne@zeroc.com>2006-11-16 17:31:10 +0000
commit51b5c23482df36ac145c82d58e9ccdef9728f935 (patch)
tree15a62e43b132ebdd721ec13a0d6b664133d00e3a /java/demo/Ice/async/QueueI.java
parentRemove debug code (diff)
downloadice-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.java58
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();
+}