
    f4
                    "   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j0                  e         Zy)zUFuture-returning APIs for tornado coroutines.

.. seealso::

    :mod:`zmq.asyncio`

    )annotationsN)Any)Future)IOLoop)_AsyncPoller_AsyncSocketc                      e Zd Zy)CancelledErrorN)__name__
__module____qualname__     O/var/www/cvtools/html/venv/lib/python3.12/site-packages/zmq/eventloop/future.pyr
   r
      s    r   r
   c                      e Zd ZdZd Zd Zy)_TornadoFuturez2Subclass Tornado Future, reinstating cancellation.c                X    | j                         ry| j                  t                      y)NFT)doneset_exceptionr
   selfs    r   cancelz_TornadoFuture.cancel   s"    99;>+,r   c                b    | j                         xr t        | j                         t              S N)r   
isinstance	exceptionr
   r   s    r   	cancelledz_TornadoFuture.cancelled%   s!    yy{Kz$..*:NKKr   N)r   r   r   __doc__r   r   r   r   r   r   r      s    <Lr   r   c                      e Zd Zd Zd Zy)_CancellableTornadoTimeoutc                     || _         || _        y r   )looptimeout)r   r"   r#   s      r   __init__z#_CancellableTornadoTimeout.__init__*   s    	r   c                N    | j                   j                  | j                         y r   )r"   remove_timeoutr#   r   s    r   r   z!_CancellableTornadoTimeout.cancel.   s    		  .r   N)r   r   r   r$   r   r   r   r   r    r    )   s    /r   r    c                  X    e Zd ZU eZded<   ej                  Zej                  Z
d Zd Zy)_AsyncTornadoztype[asyncio.Future]_Futurec                *    t        j                         S r   )r   currentr   s    r   _default_loopz_AsyncTornado._default_loop:   s    ~~r   c                ^    | j                         }|j                  ||      }t        ||      S r   )	_get_loop
call_laterr    )r   delaycallbackio_loopr#   s        r   _call_laterz_AsyncTornado._call_later=   s-    .."$$UH5)'7;;r   N)r   r   r   r   r)   __annotations__r   READ_READWRITE_WRITEr,   r3   r   r   r   r(   r(   5   s)    $2G!2KKE\\F <r   r(   c                      e Zd Zd Zd Zy)Pollerc                2    |j                  |fd|       y)z"Schedule callback for a raw socketc                             S r   r   )argsfs    r   <lambda>z*Poller._watch_raw_socket.<locals>.<lambda>F   s	    qs r   N)add_handler)r   r"   socketevtr>   s       `r   _watch_raw_socketzPoller._watch_raw_socketD   s    !2C8r   c                4    |D ]  }|j                  |        y)z$Unschedule callback for a raw socketN)remove_handler)r   r"   socketsrA   s       r   _unwatch_raw_socketszPoller._unwatch_raw_socketsH   s     	(F'	(r   N)r   r   r   rC   rG   r   r   r   r:   r:   C   s    9(r   r:   c                      e Zd ZeZy)SocketN)r   r   r   r:   _poller_classr   r   r   rI   rI   N   s    Mr   rI   c                  8     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   c                    |j                  dd       }|3t        j                  | j                  j                   dt
        d       t        |   |i | y )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=   kwargsr2   rV   s       r   r$   zContext.__init___   s[    **Y-MM>>**+ ,B B"	 	$)&)r   )r   rL   r=   r   rY   r   returnNone)	r   r   r   	_instancer2   staticmethodrO   r$   __classcell__)rV   s   @r   rL   rL   U   s)    IG) )	* 	*r   rL   )r   
__future__r   asynciorT   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	Y 	
LV 
L/ /< <(]L (]L   *dll6" *r   