HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib64/python3.6/site-packages/zmq/backend/cffi/__pycache__/socket.cpython-36.pyc
3

VS�_�#�@s�dZddlZddlmZmZmZmZmZm	Z	m
Z
mZmZm
Z
mZddlmZddlmZddlmZddlZddlmZmZmZdd	lmZdd
d�Zddd
�Zddd�ZGdd�de�Z ddgZ!dS)zzmq Socket class�N�)�C�ffi�new_uint64_pointer�new_int64_pointer�new_int_pointer�new_binary_data�value_uint64_pointer�value_int64_pointer�value_int_pointer�value_binary_data�IPC_PATH_MAX_LEN)�Frame)�RCVMORE)�_retry_sys_call)�ZMQError�	_check_rc�_check_version)�unicodecCs8ddlm}m}||krt�S||kr.t|�St�SdS)Nr)�int64_sockopts�bytes_sockopts)�zmq.sugar.constantsrrrrr)�option�lengthrr�r�/usr/lib64/python3.6/socket.py�new_pointer_from_optsrcCsPddlm}m}||kr$t|d�S||kr@tj||�dd�St|d�SdS)Nr)rr)rrr�intr�buffer)rZopt_pointerrrrrrr�value_from_opt_pointer#srcCs>ddlm}m}||kr t|�S||kr2t||�St|�SdS)Nr)rr)rrrr
rr)r�valuerrrrrr�initialize_opt_pointer.s
r!c@s�eZdZdZdZdZdZdZdZdZ	d"dd�Z
edd��Zdd	�Z
ed
d��Zd#dd
�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd$dd�Zd%dd�Zd'd d!�ZdS)(�SocketNFrcCsf||_|dk	r4t|t�r|j}tjd|�|_d|_nd|_tj	|j
|�|_|jtjkr\t��d|_
dS)Nzvoid *TF)�context�
isinstancer"�
underlyingr�cast�_zmq_socket�_shadowrZ
zmq_socketZ_zmq_ctx�NULLr�_closed)�selfr#�socket_typeZshadowrrr�__init__Cs
zSocket.__init__cCsttjd|j��S)z+The address of the underlying libzmq socketZsize_t)rrr&r')r+rrrr%QszSocket.underlyingcCsZ|jr
dSy|jtj�Wn:tk
rT}z|jtjkrBd|_dS�WYdd}~XnXdS)z�thorough check of whether the socket has been closed,
        even if by another entity (e.g. ctx.destroy).

        Only used by the `closed` property.

        returns True if closed, False otherwise
        TNF)r*�get�zmqZTYPEr�errnoZENOTSOCK)r+�errr�_check_closed_deepVszSocket._check_closed_deepcCs|j�S)N)r2)r+rrr�closedjsz
Socket.closedcCs\d}|jrHt|d�rH|jdk	rB|dk	r6|jtj|�tj|j�}d|_|dkrXt|�dS)Nrr'T)	r*�hasattrr'�setr/ZLINGERrZ	zmq_closer)r+Zlinger�rcrrr�closens
zSocket.closecCs�t|t�r|jd�}tj|j|�}|dkr�tr~tj�tj	kr~t
tkrP|jdd�}|jdd�d
}dj
|t�}ttj�|d��nVtj�tjkr�t
tkr�|jdd�}|jdd�d}d	j
|�}ttj�|d��nt|�dS)N�utf8rzutf-8�replacez://rzLipc path "{0}" is longer than {1} characters (sizeof(sockaddr_un.sun_path)).)�msgz-No such file or directory for ipc path "{0}".���r;)r$r�encoderZzmq_bindr'r
Z	zmq_errno�	errno_modZENAMETOOLONG�str�decode�split�formatr�ENOENTr)r+�addressr6�pathr:rrr�bindys&

zSocket.bindcCs8tdd�t|t�r|jd�}tj|j|�}t|�dS)N���unbindr8)rFrG)rr$rr<rZ
zmq_unbindr'r)r+rCr6rrrrH�s



z
Socket.unbindcCs.t|t�r|jd�}tj|j|�}t|�dS)Nr8)r$rr<rZzmq_connectr'r)r+rCr6rrr�connect�s

zSocket.connectcCs8tdd�t|t�r|jd�}tj|j|�}t|�dS)NrFrG�
disconnectr8)rFrG)rr$rr<rZzmq_disconnectr'r)r+rCr6rrrrJ�s



zSocket.disconnectcCs|d}t|t�rtd��t|t�r@|tjjkr8td|��t|�}t|||�}|d}|d}t	t
j|j|t
jd|�|�dS)Nzunicode not allowed, use bytesznot a bytes sockopt: %srrzvoid*)r$r�	TypeError�bytesr/�	constantsr�lenr!rrZzmq_setsockoptr'rr&)r+rr r�c_data�c_value_pointerZc_sizetrrrr5�s


z
Socket.setcCstt|dd�}|d}|d}ttj|j|||�|d}t|||�}|tjkrp|tjj	krp|j
d�rp|dd�}|S)N�)rrr�r;)rrrZzmq_getsockoptr'rr/ZIDENTITYrMr�endswith)r+rrOrPZc_sizet_pointerZsz�vrrrr.�s z
Socket.getc	Cs�t|t�rtd��t|t�r"|j}tjd�}t|t�sBt|�j�}tjd|�}t	j
|t|��}t|�t	j
t	j|�|t|��tt	j||j|�t	j|�}t|�|r�tj�SdS)Nz/Message must be in bytes, not an unicode Objectz
zmq_msg_t*zchar[])r$rrKrrLr�new�
memoryview�tobytesrZzmq_msg_init_sizerNrZmemcpy�zmq_msg_datarZzmq_msg_sendr'�
zmq_msg_closer/ZMessageTracker)	r+�message�flags�copy�track�zmq_msgZ	c_messager6Zrc2rrr�send�s 




zSocket.sendTc	Cs�tjd�}tj|�yttj||j|�Wn tk
rJtj|��YnXtj	tj
|�tj|��}|dd�}tj|�}t|�t
||d�}|jt�|_|r�|jS|SdS)Nz
zmq_msg_t*)r])rrUrZzmq_msg_initrZzmq_msg_recvr'�	ExceptionrYrrXZzmq_msg_sizerrZ
getsockoptrZmorerL)	r+r[r\r]r^Z_bufferr r6�framerrr�recv�s 



zSocket.recvrcCsNtdd�|dkrtj}|dkr&tj}t|t�r:|jd�}tj	|j
||�}dS)as.monitor(addr, flags)

        Start publishing socket events on inproc.
        See libzmq docs for zmq_monitor for details.
        
        Note: requires libzmq >= 3.2
        
        Parameters
        ----------
        addr : str
            The inproc url used for monitoring. Passing None as
            the addr will cause an existing socket monitor to be
            deregistered.
        events : int [default: zmq.EVENT_ALL]
            The zmq event bitmask for which events will be sent to the monitor.
        rFrG�monitorrNr8)rFrG)rr/Z	EVENT_ALLrr)r$rr<rZzmq_socket_monitorr')r+ZaddrZeventsr6rrrrc�s


zSocket.monitor)NNN)N)rFF)rTFr;)r;)�__name__�
__module__�__qualname__r#r,r'r*Z_refr(Zcopy_thresholdr-�propertyr%r2r3r7rErHrIrJr5r.r_rbrcrrrrr":s*



r"r
)r)r)r)"�__doc__r0r=Z_cffirrrrrrr	r
rrr
rZrrMrZutilsrr/Z	zmq.errorrrrZzmq.utils.strtypesrrrr!�objectr"�__all__rrrr�<module>s4


^