summaryrefslogtreecommitdiffstats
path: root/external_libs/python/pyzmq-14.7.0/zmq/backend/cffi/devices.py
diff options
context:
space:
mode:
Diffstat (limited to 'external_libs/python/pyzmq-14.7.0/zmq/backend/cffi/devices.py')
-rw-r--r--external_libs/python/pyzmq-14.7.0/zmq/backend/cffi/devices.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/external_libs/python/pyzmq-14.7.0/zmq/backend/cffi/devices.py b/external_libs/python/pyzmq-14.7.0/zmq/backend/cffi/devices.py
new file mode 100644
index 00000000..de01f35b
--- /dev/null
+++ b/external_libs/python/pyzmq-14.7.0/zmq/backend/cffi/devices.py
@@ -0,0 +1,23 @@
+# coding: utf-8
+"""zmq device functions"""
+
+# Copyright (C) PyZMQ Developers
+# Distributed under the terms of the Modified BSD License.
+
+from ._cffi import C, ffi
+from .socket import Socket
+from .utils import _retry_sys_call
+
+
+def device(device_type, frontend, backend):
+ return proxy(frontend, backend)
+
+def proxy(frontend, backend, capture=None):
+ if isinstance(capture, Socket):
+ capture = capture._zmq_socket
+ else:
+ capture = ffi.NULL
+
+ _retry_sys_call(C.zmq_proxy, frontend._zmq_socket, backend._zmq_socket, capture)
+
+__all__ = ['device', 'proxy']