summaryrefslogtreecommitdiff
path: root/py/demo/Ice/async/Server.py
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2006-11-17 16:38:04 +0000
committerDwayne Boone <dwayne@zeroc.com>2006-11-17 16:38:04 +0000
commit07bc5c36dd039dd88ee105a9a254d92556d2df6c (patch)
tree82cf9419721c997bf0306568e7dae3f5873db88c /py/demo/Ice/async/Server.py
parentFixed build (diff)
downloadice-07bc5c36dd039dd88ee105a9a254d92556d2df6c.tar.bz2
ice-07bc5c36dd039dd88ee105a9a254d92556d2df6c.tar.xz
ice-07bc5c36dd039dd88ee105a9a254d92556d2df6c.zip
Added AMI/AMD demo
Diffstat (limited to 'py/demo/Ice/async/Server.py')
-rwxr-xr-xpy/demo/Ice/async/Server.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/py/demo/Ice/async/Server.py b/py/demo/Ice/async/Server.py
new file mode 100755
index 00000000000..d2970424731
--- /dev/null
+++ b/py/demo/Ice/async/Server.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# **********************************************************************
+#
+# 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 sys, traceback, Ice
+
+Ice.loadSlice('Queue.ice')
+import Demo
+
+class QueueI(Demo.Queue):
+ def __init__(self):
+ self._messageQueue = []
+ self._requestQueue = []
+
+ def get_async(self, getCB, current=None):
+ if len(self._messageQueue) != 0:
+ try:
+ getCB.ice_response(self._messageQueue[0])
+ del self._messageQueue[0]
+ except Ice.Exception, ex:
+ print ex
+ else:
+ self._requestQueue.append(getCB)
+
+ def add(self, message, current=None):
+ if len(self._requestQueue) != 0:
+ try:
+ self._requestQueue[0].ice_response(message)
+ except Ice.Exception, ex:
+ print ex
+ del self._requestQueue[0]
+ else:
+ self._messageQueue.append(message)
+
+class Server(Ice.Application):
+ def run(self, args):
+ adapter = self.communicator().createObjectAdapter("Queue")
+ adapter.add(QueueI(), self.communicator().stringToIdentity("queue"))
+ adapter.activate()
+ self.communicator().waitForShutdown()
+ return True
+
+app = Server()
+sys.exit(app.main(sys.argv, "config.server"))