THRIFT-812. contrib: Add a demo of using Thrift over ZeroMQ
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991260 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/contrib/zeromq/test-server.py b/contrib/zeromq/test-server.py
new file mode 100755
index 0000000..5767b71
--- /dev/null
+++ b/contrib/zeromq/test-server.py
@@ -0,0 +1,33 @@
+#!/usr/bin/env python
+import zmq
+import TZmqServer
+import storage.ttypes
+import storage.Storage
+
+
+class StorageHandler(storage.Storage.Iface):
+ def __init__(self):
+ self.value = 0
+
+ def incr(self, amount):
+ self.value += amount
+
+ def get(self):
+ return self.value
+
+
+def main():
+ handler = StorageHandler()
+ processor = storage.Storage.Processor(handler)
+
+ ctx = zmq.Context()
+ reqrep_server = TZmqServer.TZmqServer(processor, ctx, "tcp://0.0.0.0:9090", zmq.REP)
+ oneway_server = TZmqServer.TZmqServer(processor, ctx, "tcp://0.0.0.0:9091", zmq.UPSTREAM)
+ multiserver = TZmqServer.TZmqMultiServer()
+ multiserver.servers.append(reqrep_server)
+ multiserver.servers.append(oneway_server)
+ multiserver.serveForever()
+
+
+if __name__ == "__main__":
+ main()