D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
2
/
root
/
proc
/
2
/
root
/
opt
/
imh-python
/
lib
/
python3.9
/
site-packages
/
zmq
/
backend
/
cffi
/
Filename :
devices.py
back
Copy
# 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 ) def proxy_steerable(frontend, backend, capture=None, control=None): """proxy_steerable(frontend, backend, capture, control) Start a zeromq proxy with control flow. .. versionadded:: libzmq-4.1 .. versionadded:: 18.0 Parameters ---------- frontend : Socket The Socket instance for the incoming traffic. backend : Socket The Socket instance for the outbound traffic. capture : Socket (optional) The Socket instance for capturing traffic. control : Socket (optional) The Socket instance for control flow. """ if isinstance(capture, Socket): capture = capture._zmq_socket else: capture = ffi.NULL if isinstance(control, Socket): control = control._zmq_socket else: control = ffi.NULL _retry_sys_call( C.zmq_proxy_steerable, frontend._zmq_socket, backend._zmq_socket, capture, control ) __all__ = ['device', 'proxy', 'proxy_steerable']