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: //opt/saltstack/salt/lib/python3.10/site-packages/zmq/__pycache__/asyncio.cpython-310.pyc
o

�N�g�@s0UdZddlZddlZddlZddlZddlmZmZddlmZddl	Z
ddl	mZe�Zee
d<Gdd�de�Zd	ejfd
d�Zd	ejfdd
�ZejdkrReZneZGdd�d�ZGdd�deej�ZGdd�deej�Zee_Gdd�de
je�ZGdd�de�ZdZdd�Zde_dd�Z gd�Z!dS)z8AsyncIO support for zmq

Requires asyncio and Python 3.
�N)�Future�SelectorEventLoop)�WeakKeyDictionary)�_future�
_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�returncs��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_loopIsz7_get_selector_windows.<locals>._close_selector_and_loop)
r�hasattr�asyncio�
isinstancerZtornado.platform.asyncior�ImportError�RuntimeError�warnings�warn�RuntimeWarningr)rrrrrr
�_get_selector_windowss.����
r"cCs|S)zno-op on non-Windowsr)�looprrr
�_get_selector_noopVsr$�win32c@s$eZdZeZejZejZ	dd�Z
dS)�_AsyncIOcCsFtjdkrzt��WStytjdtdd�Yt��Swt��S)N)��uONo running event loop. zmq.asyncio should be used from within an asyncio loop.�r)	�sys�version_inforZget_running_looprrr r!Zget_event_loop��selfrrr
�
_default_loopfs

��z_AsyncIO._default_loopN)rr	r
rZ_Future�	selectors�EVENT_WRITE�_WRITE�
EVENT_READ�_READr.rrrr
r&as
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>cr5rrr6r8rr
r:}r;N)�
_get_selectorr3�
add_readerr1Z
add_writer)r-r#�socketZevtr9�selectorrr8r
�_watch_raw_socketws

�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_socketss

�zPoller._unwatch_raw_socketsN)rr	r
rr@rBrrrr
r4tsr4c@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r
r<�szSocket._get_selectorcs ��|���j�fdd��dS)z#initialize the ioloop event handlercs��dd�S)Nr)Z_handle_eventsrr,rr
r:�sz'Socket._init_io_state.<locals>.<lambda>N)r<r=�_fdrDr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_closedrEr<rA)r-r#rrr
�_clear_io_state�s�zSocket._clear_io_stater)	rr	r
rr4Z
_poller_classr<rFrHrrrr
rC�s

rCc@seZdZdZeZdZdS)�Contextz/Context for creating asyncio-compatible SocketsN)rr	r
rrC�
_socket_classZ	_instancerrrr
rI�srIcs"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)�_deprecated�super�__init__)r-r?��	__class__rr
rN�szZMQEventLoop.__init__r)rr	r
rrN�
__classcell__rrrOr
rK�srKcCs$tjrdSdt_tjdtdd�dS)NTzsZMQEventLoop and zmq.asyncio.install are deprecated in pyzmq 17. Special eventloop integration is no longer needed.r'r)rL�calledrr �DeprecationWarningrrrr
rL�s
�rLFcCs
t�dS)z(DEPRECATED: No longer needed in pyzmq 17N)rLrrrr
�install�s
rT)rIrCr4rKrT)"rrr/r*rrr�weakrefrZzmqZ_zmqrr�__annotations__r!rZAbstractEventLoopr"r$�platformr<r&Z_AsyncPollerr4Z_AsyncSocketrCrJrIrKZ_looprLrRrT�__all__rrrr
�<module>s:
�9