HEX
Server: LiteSpeed
System: Linux s787.bom1.mysecurecloudhost.com 4.18.0-477.13.1.lve.el8.x86_64 #1 SMP Thu Jun 1 16:40:47 EDT 2023 x86_64
User: mobilech (5348)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/zmq/__pycache__/asyncio.cpython-310.pyc
o

;jv�@s0UdZddlmZddlZddlZddlZddlZddlmZmZddl	m
Z
ddlZddlm
Z
e
�Zded<Gd	d
�d
e�Zd"d
d�Zd"dd�ZejdkrReZneZGdd�d�ZGdd�dee
j�ZGdd�dee
j�Zee_Gdd�deje�ZGdd�de�ZdZdd�Zde_ dd �Z!gd!�Z"dS)#z8AsyncIO support for zmq

Requires asyncio and Python 3.
�)�annotationsN)�Future�SelectorEventLoop)�WeakKeyDictionary)�_futurer�
_selectorsc@seZdZdZdS)�ProactorSelectorThreadWarningz�Warning class for notifying about the extra thread spawned by tornado

    We automatically support proactor via tornado's AddThreadSelectorEventLoopN)�__name__�
__module__�__qualname__�__doc__�r
r
�?/opt/saltstack/salt/lib/python3.10/site-packages/zmq/asyncio.pyrsr�return�asyncio.AbstractEventLoopcs��tvrt�Sttd�rGt�tj�rGzddlm}Wnty&td��wt	j
dtdd�|���t�<�j����fdd	�}|�_�S�S)
z�Get selector-compatible loop

    Returns an object with ``add_reader`` family of methods,
    either the loop itself or a SelectorThread instance.

    Workaround Windows proactor removal of
    *reader methods, which we need for zmq sockets.
    �ProactorEventLoopr)�AddThreadSelectorEventLoopaProactor event loop does not implement add_reader family of methods required for zmq. zmq will work with proactor if tornado >= 6.1 can be found. Use `asyncio.set_event_loop_policy(WindowsSelectorEventLoopPolicy())` or install 'tornado>=6.1' to avoid this error.aProactor event loop does not implement add_reader family of methods required for zmq. Registering an additional selector thread for add_reader support via tornado. Use `asyncio.set_event_loop_policy(WindowsSelectorEventLoopPolicy())` to avoid this warning.���
stacklevelcs��_t��d����dS�N)�closer�popr
��asyncio_loopZ
loop_closeZ
selector_loopr
r�_close_selector_and_loopMsz7_get_selector_windows.<locals>._close_selector_and_loop)
r�hasattr�asyncio�
isinstancerZtornado.platform.asyncior�ImportError�RuntimeError�warnings�warn�RuntimeWarningr)rrrr
rr�_get_selector_windowss4����
�r$cCs|S)zno-op on non-Windowsr
)�loopr
r
r�_get_selector_noopZsr&�win32c@s$eZdZeZejZejZ	dd�Z
dS)�_AsyncIOcCs4zt��WStytjdtdd�Yt��Sw)NuONo running event loop. zmq.asyncio should be used from within an asyncio loop.�r)rZget_running_loopr r!r"r#Zget_event_loop��selfr
r
r�
_default_loopjs
��z_AsyncIO._default_loopN)r	r
rrZ_Future�	selectors�EVENT_WRITE�_WRITE�
EVENT_READ�_READr,r
r
r
rr(es
r(c@s eZdZdZdd�Zdd�ZdS)�Pollerz1Poller returning asyncio.Future for poll results.csLt|�}||j@r|�|�fdd��||j@r$|�|�fdd��dSdS)z"Schedule callback for a raw socketc���Srr
��args��fr
r�<lambda>~�z*Poller._watch_raw_socket.<locals>.<lambda>cr3rr
r4r6r
rr8�r9N)�
_get_selectorr1�
add_readerr/Z
add_writer)r+r%�socketZevtr7�selectorr
r6r�_watch_raw_socketzs

�zPoller._watch_raw_socketcGs*t|�}|D]}|�|�|�|�qdS)z$Unschedule callback for a raw socketN)r:�
remove_readerZ
remove_writer)r+r%Zsocketsr=r<r
r
r�_unwatch_raw_sockets�s

�zPoller._unwatch_raw_socketsN)r	r
rrr>r@r
r
r
rr2wsr2c@s0eZdZdZeZd	dd�Zd	dd�Zdd�ZdS)
�Socketz<Socket returning asyncio Futures for send/recv/poll methods.NcCs|dur|��}t|�Sr)Z	_get_loopr:�r+Zio_loopr
r
rr:�szSocket._get_selectorcs ��|���j�fdd��dS)z#initialize the ioloop event handlercs��dd�S)Nr)Z_handle_eventsr
r*r
rr8�sz'Socket._init_io_state.<locals>.<lambda>N)r:r;�_fdrBr
r*r�_init_io_state�s
�zSocket._init_io_statecCs>|j}|r|��s|jdkr|�|��|j�dSdSdSdS)zEclear any ioloop event handler

        called once at close
        ���N)Z
_current_loopZ	is_closedrCr:r?)r+r%r
r
r�_clear_io_state�s�zSocket._clear_io_stater)	r	r
rrr2Z
_poller_classr:rDrFr
r
r
rrA�s

rAcs0eZdZdZeZdZ		dd�fdd
�
Z�ZS)�Contextz/Context for creating asyncio-compatible SocketsN�rr+�
io_threads�int | _zmq.Context�shadow�_zmq.Context | intr�Nonecst��||�dSr)�super�__init__)r+rIrK��	__class__r
rrO�szContext.__init__)rHr)r+rGrIrJrKrLrrM)	r	r
rrrA�
_socket_classZ	_instancerO�
__classcell__r
r
rPrrG�s�rGcs"eZdZdZd�fdd�	Z�ZS)�ZMQEventLoopz}DEPRECATED: AsyncIO eventloop using zmq_poll.

    pyzmq sockets should work with any asyncio event loop as of pyzmq 17.
    Ncst�t��|�Sr)�_deprecatedrNrO)r+r=rPr
rrO�szZMQEventLoop.__init__r)r	r
rrrOrSr
r
rPrrT�srTcCs$tjrdSdt_tjdtdd�dS)NTzsZMQEventLoop and zmq.asyncio.install are deprecated in pyzmq 17. Special eventloop integration is no longer needed.�r)rU�calledr!r"�DeprecationWarningr
r
r
rrU�s
�rUFcCs
t�dS)z(DEPRECATED: No longer needed in pyzmq 17N)rUr
r
r
r�install�s
rY)rGrAr2rTrY)rr)#r�
__future__rrr-�sysr!rr�weakrefrZzmqZ_zmqrr�__annotations__r#rr$r&�platformr:r(Z_AsyncPollerr2Z_AsyncSocketrArRrGrTZ_looprUrWrY�__all__r
r
r
r�<module>s8

<