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-client.py b/contrib/zeromq/test-client.py
new file mode 100755
index 0000000..1886d9c
--- /dev/null
+++ b/contrib/zeromq/test-client.py
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+import sys
+import time
+import zmq
+import TZmqClient
+import thrift.protocol.TBinaryProtocol
+import storage.ttypes
+import storage.Storage
+
+
+def main(args):
+  endpoint = "tcp://127.0.0.1:9090"
+  socktype = zmq.REQ
+  incr = 0
+  if len(args) > 1:
+    incr = int(args[1])
+    if incr:
+      socktype = zmq.DOWNSTREAM
+      endpoint = "tcp://127.0.0.1:9091"
+
+  ctx = zmq.Context()
+  transport = TZmqClient.TZmqClient(ctx, endpoint, socktype)
+  protocol = thrift.protocol.TBinaryProtocol.TBinaryProtocolAccelerated(transport)
+  client = storage.Storage.Client(protocol)
+  transport.open()
+
+  if incr:
+    client.incr(incr)
+    time.sleep(0.05)
+  else:
+    value = client.get()
+    print value
+
+
+if __name__ == "__main__":
+  main(sys.argv)