diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2006-11-17 16:38:04 +0000 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2006-11-17 16:38:04 +0000 |
commit | 07bc5c36dd039dd88ee105a9a254d92556d2df6c (patch) | |
tree | 82cf9419721c997bf0306568e7dae3f5873db88c /py/demo/Ice/async/Server.py | |
parent | Fixed build (diff) | |
download | ice-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-x | py/demo/Ice/async/Server.py | 50 |
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")) |