summaryrefslogtreecommitdiffstats
path: root/scripts/external_libs/pyzmq-14.5.0/python3/ucs4/32bit/zmq/green/device.py
diff options
context:
space:
mode:
authorYaroslav Brustinov <ybrustin@cisco.com>2017-02-28 14:21:30 +0200
committerYaroslav Brustinov <ybrustin@cisco.com>2017-02-28 14:21:30 +0200
commitd3907f0dcac6c6e0d7b3c3abe69c64fe4e9dcaa6 (patch)
tree526e0d5300550f0c43a6638f80950c253cf141cf /scripts/external_libs/pyzmq-14.5.0/python3/ucs4/32bit/zmq/green/device.py
parent2ba80c6a96d3b7af496428a68e59391daad34c86 (diff)
PyZMQ restore removed by accident version of Python3/32 bits
Change-Id: Ie8a54015a02bdcc5cd0a50faff7b82cf0ad8de93 Signed-off-by: Yaroslav Brustinov <ybrustin@cisco.com>
Diffstat (limited to 'scripts/external_libs/pyzmq-14.5.0/python3/ucs4/32bit/zmq/green/device.py')
-rw-r--r--scripts/external_libs/pyzmq-14.5.0/python3/ucs4/32bit/zmq/green/device.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/scripts/external_libs/pyzmq-14.5.0/python3/ucs4/32bit/zmq/green/device.py b/scripts/external_libs/pyzmq-14.5.0/python3/ucs4/32bit/zmq/green/device.py
new file mode 100644
index 00000000..4b070237
--- /dev/null
+++ b/scripts/external_libs/pyzmq-14.5.0/python3/ucs4/32bit/zmq/green/device.py
@@ -0,0 +1,32 @@
+# Copyright (C) PyZMQ Developers
+# Distributed under the terms of the Modified BSD License.
+
+import zmq
+from zmq.green import Poller
+
+def device(device_type, isocket, osocket):
+ """Start a zeromq device (gevent-compatible).
+
+ Unlike the true zmq.device, this does not release the GIL.
+
+ Parameters
+ ----------
+ device_type : (QUEUE, FORWARDER, STREAMER)
+ The type of device to start (ignored).
+ isocket : Socket
+ The Socket instance for the incoming traffic.
+ osocket : Socket
+ The Socket instance for the outbound traffic.
+ """
+ p = Poller()
+ if osocket == -1:
+ osocket = isocket
+ p.register(isocket, zmq.POLLIN)
+ p.register(osocket, zmq.POLLIN)
+
+ while True:
+ events = dict(p.poll())
+ if isocket in events:
+ osocket.send_multipart(isocket.recv_multipart())
+ if osocket in events:
+ isocket.send_multipart(osocket.recv_multipart())