
    Mh                     R    d Z ddlmZ ddlmZ ddlmZ ddlmZ ddZ	ddZ
d	d
gZdS )zzmq device functions   )ffi)lib)Socket)_retry_sys_callNc                     t          |t                    r|j        }nt          j        }t          t          j        | j        |j        |           d S N)
isinstancer   _zmq_socketr   NULLr   C	zmq_proxy)frontendbackendcaptures      X/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/zmq/backend/cffi/devices.pyproxyr      sG    '6"" %(AK!5w7JGTTTTT    c                     t          |t                    r|j        }nt          j        }t          |t                    r|j        }nt          j        }t          t          j        | j        |j        ||           dS )a  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.
    N)r	   r   r
   r   r   r   r   zmq_proxy_steerable)r   r   r   controls       r   proxy_steerabler      s~    & '6"" %('6"" %(	    r   r   r   r   )NN)__doc___cffir   r   r   socketr   utilsr   r   r   __all__ r   r   <module>r      s     
                   " " " " " "U U U U# # # #L %
&r   