
    hI                     d    S r SSKrSSKrSSKJrJr  SSKrSSKJr  SSK	J
r
   " S S\
5      rS/rg)	zOZAP Authenticator integrated with the asyncio IO loop.

.. versionadded:: 15.2
    N)AnyOptional)Poller   )Authenticatorc            	          ^  \ rS rSr% Sr\\   \S'   \\S'       SS\S   S\S\	S	\4U 4S
 jjjr
SS jrSU 4S jjrSU 4S jjrSrU =r$ )AsyncioAuthenticator   z1ZAP authentication for use in the asyncio IO loop_AsyncioAuthenticator__poller_AsyncioAuthenticator__taskcontextzzmq.Contextloopencodinglogc                    > [         TU ]  XU5        Ub1  [        R                  " U R                  R
                   S3[        SS9  S U l        S U l        g )Nz (loop) is deprecated and ignored   )
stacklevel)	super__init__warningswarn	__class____name__DeprecationWarningr   r   )selfr   r   r   r   r   s        cC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\zmq/auth/asyncio.pyr   AsyncioAuthenticator.__init__   sR     	C0MM>>**++KL"
     c                 *  #    U R                   b~  U R                   R                  5       I S h  vN nU R                  [        U5      ;   a3  U R                  R	                  5       nU R                  U5      I S h  vN   U R                   b  M}  g g  Na N7f)N)r   poll
zap_socketdictrecv_multiparthandle_zap_message)r   eventsmsgs      r   __handle_zap!AsyncioAuthenticator.__handle_zap*   sn     mm'==--//F$v,.oo446--c222	 mm'/ 3s(   +BBAB9B:BBBc                    > [         TU ]  5         [        5       U l        U R                  R	                  U R
                  [        R                  5        [        R                  " U R                  5       5      U l        g)zStart ZAP authenticationN)r   startr   r   registerr!   zmqPOLLINasyncioensure_future!_AsyncioAuthenticator__handle_zapr   r   r   s    r   r*   AsyncioAuthenticator.start1   sL    t

;++D,=,=,?@r   c                    > U R                   (       a  U R                   R                  5         U R                  (       a,  U R                  R                  U R                  5        SU l        [
        TU ]  5         g)zStop ZAP authenticationN)r   cancelr   
unregisterr!   r   stopr1   s    r   r6   AsyncioAuthenticator.stop8   sG    ;;KK ==MM$$T__5 DMr   )__poller__task)NNzutf-8N)returnN)r   
__module____qualname____firstlineno____doc__r   r   __annotations__r   strr   r0   r*   r6   __static_attributes____classcell__)r   s   @r   r	   r	      sn    ;vK ,0-(  	
  "3A r   r	   )r>   r.   r   typingr   r   r,   zmq.asyncior   baser   r	   __all__ r   r   <module>rH      s5        
  ,= ,^ "
"r   