File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/zmq/devices/__pycache__/proxydevice.cpython-310.pyc
Back
o ;j � @ sp d Z ddlZddlmZmZmZ G dd� d�ZG dd� dee�ZG dd � d ee�ZG d d� dee�Z g d�Z dS ) zProxy classes and functions.� N)�Device� ProcessDevice�ThreadDevicec @ sN e Zd ZdZejfdd�Zdd� Zdd� Zdd � Z d d� Z dd � Zdd� ZdS )� ProxyBasez"Base class for overriding methods.c C s, t j| ||d� || _g | _g | _g | _d S )N)�in_type�out_type)r �__init__�mon_type� _mon_binds� _mon_connects� _mon_sockopts)�selfr r r � r �K/opt/saltstack/salt/lib/python3.10/site-packages/zmq/devices/proxydevice.pyr s zProxyBase.__init__c C � | j �|� dS )zaEnqueue ZMQ address for binding on mon_socket. See zmq.Socket.bind for details. N)r �append�r �addrr r r �bind_mon � zProxyBase.bind_monc O s0 | j |g|�R i |��}| �|� d|� �� |S )z�Enqueue a random port on the given interface for binding on mon_socket. See zmq.Socket.bind_to_random_port for details. .. versionadded:: 18.0 �:)Z_reserve_random_portr )r r �args�kwargs�portr r r �bind_mon_to_random_port s z!ProxyBase.bind_mon_to_random_portc C r )zgEnqueue ZMQ address for connecting on mon_socket. See zmq.Socket.connect for details. N)r r r r r r �connect_mon) r zProxyBase.connect_monc C s | j �||f� dS )zfEnqueue setsockopt(opt, value) for mon_socket See zmq.Socket.setsockopt for details. N)r r )r �opt�valuer r r �setsockopt_mon0 s zProxyBase.setsockopt_monc C s~ t �| �\}}| j}|�| j�}| j�|� | jD ] \}}|�||� q| j D ]}|� |� q'| jD ]}|�|� q2|||fS �N) r �_setup_sockets�_context�socketr Z_socketsr r � setsockoptr �bindr �connect)r �ins�outs�ctx�monsr r Zifacer r r r 7 s zProxyBase._setup_socketsc C s | � � \}}}t�|||� d S r )r �zmq�proxy)r r&