
    Mh4
                    J   d Z ddlmZ ddlZddlZddlmZ ddlmZ ddl	m
Z
 ddlZddlmZmZ  G d d	e          Z G d
 de          Z G d d          Z G d d          Z G d dee          Z G d dee          Zee_         G d dej        e                   ZdS )zUFuture-returning APIs for tornado coroutines.

.. seealso::

    :mod:`zmq.asyncio`

    )annotationsN)Any)Future)IOLoop)_AsyncPoller_AsyncSocketc                      e Zd ZdS )CancelledErrorN)__name__
__module____qualname__     T/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/zmq/eventloop/future.pyr
   r
      s        Dr   r
   c                      e Zd ZdZd Zd ZdS )_TornadoFuturez2Subclass Tornado Future, reinstating cancellation.c                t    |                                  rdS |                     t                                 dS )NFT)doneset_exceptionr
   selfs    r   cancelz_TornadoFuture.cancel   s6    99;; 	5>++,,,tr   c                x    |                                  o&t          |                                 t                    S N)r   
isinstance	exceptionr
   r   s    r   	cancelledz_TornadoFuture.cancelled%   s)    yy{{Kz$..*:*:NKKKr   N)r   r   r   __doc__r   r   r   r   r   r   r      s=        <<  L L L L Lr   r   c                      e Zd Zd Zd ZdS )_CancellableTornadoTimeoutc                "    || _         || _        d S r   )looptimeout)r   r"   r#   s      r   __init__z#_CancellableTornadoTimeout.__init__*   s    	r   c                D    | j                             | j                   d S r   )r"   remove_timeoutr#   r   s    r   r   z!_CancellableTornadoTimeout.cancel.   s     	  .....r   N)r   r   r   r$   r   r   r   r   r    r    )   s2          / / / / /r   r    c                  F    e Zd ZU eZded<   ej        Zej	        Z
d Zd ZdS )_AsyncTornadoztype[asyncio.Future]_Futurec                (    t          j                    S r   )r   currentr   s    r   _default_loopz_AsyncTornado._default_loop:   s    ~r   c                v    |                                  }|                    ||          }t          ||          S r   )	_get_loop
call_laterr    )r   delaycallbackio_loopr#   s        r   _call_laterz_AsyncTornado._call_later=   s6    ..""$$UH55)'7;;;r   N)r   r   r   r   r)   __annotations__r   READ_READWRITE_WRITEr,   r3   r   r   r   r(   r(   5   sS         $2G2222KE\F     < < < < <r   r(   c                      e Zd Zd Zd ZdS )Pollerc                <    |                     |fd|           dS )z"Schedule callback for a raw socketc                                  S r   r   )argsfs    r   <lambda>z*Poller._watch_raw_socket.<locals>.<lambda>F   s    qqss r   N)add_handler)r   r"   socketevtr>   s       `r   _watch_raw_socketzPoller._watch_raw_socketD   s+    !2!2!2!2C88888r   c                :    |D ]}|                     |           dS )z$Unschedule callback for a raw socketN)remove_handler)r   r"   socketsrA   s       r   _unwatch_raw_socketszPoller._unwatch_raw_socketsH   s2     	( 	(F''''	( 	(r   N)r   r   r   rC   rG   r   r   r   r:   r:   C   s2        9 9 9( ( ( ( (r   r:   c                      e Zd ZeZdS )SocketN)r   r   r   r:   _poller_classr   r   r   rI   rI   N   s        MMMr   rI   c                  >     e Zd ZdZdZed             Zd
 fd	Z xZS )ContextNc                "    t          | |          S r   )rI   )r   socket_types     r   _socket_classzContext._socket_class[   s    dK(((r   r   r=   r   kwargsreturnNonec                    |                     dd           }|)t          j        | j        j         dt
          d            t                      j        |i | d S )Nr2   z^(io_loop) argument is deprecated in pyzmq 22.2. The currently active loop will always be used.   )
stacklevel)popwarningswarn	__class__r   DeprecationWarningsuperr$   )r   r=   rP   r2   rY   s       r   r$   zContext.__init___   sy    **Y--M>* B B B"	    	$)&)))))r   )r   rL   r=   r   rP   r   rQ   rR   )	r   r   r   	_instancer2   staticmethodrO   r$   __classcell__)rY   s   @r   rL   rL   U   s`        IG) ) \)	* 	* 	* 	* 	* 	* 	* 	* 	* 	*r   rL   )r   
__future__r   asynciorW   typingr   tornado.concurrentr   tornado.ioloopr   zmq_zmqzmq._futurer   r   	Exceptionr
   r   r    r(   r:   rI   rO   rL   r   r   r   <module>rh      s    # " " " " "         % % % % % % ! ! ! ! ! !     2 2 2 2 2 2 2 2	 	 	 	 	Y 	 	 	
L 
L 
L 
L 
LV 
L 
L 
L/ / / / / / / /< < < < < < < <( ( ( ( (]L ( ( (    ]L     * * * * *dl6" * * * * *r   