
    f                     d    d Z ddlZddlZddlmZmZ ddlZddlmZ ddl	m
Z
  G d de
      ZdgZy)	zOZAP Authenticator integrated with the asyncio IO loop.

.. versionadded:: 15.2
    N)AnyOptional)Poller   )Authenticatorc            	            e Zd ZU dZee   ed<   eed<   	 	 	 	 dded   dededef fd	Z	dd
Z
d fdZd fdZ xZS )AsyncioAuthenticatorz1ZAP authentication for use in the asyncio IO loop_AsyncioAuthenticator__poller_AsyncioAuthenticator__taskcontextzzmq.Contextloopencodinglogc                     t         |   |||       |3t        j                  | j                  j
                   dt        d       d | _        d | _        y )Nz (loop) is deprecated and ignored   )
stacklevel)	super__init__warningswarn	__class____name__DeprecationWarningr
   r   )selfr   r   r   r   r   s        K/var/www/cvtools/html/venv/lib/python3.12/site-packages/zmq/auth/asyncio.pyr   zAsyncioAuthenticator.__init__   sT     	(C0MM>>**++KL"
     c                    K   | j                   z| j                   j                          d {   }| j                  t        |      v r3| j                  j	                         }| j                  |       d {    | j                   yy y 7 ]7 w)N)r
   poll
zap_socketdictrecv_multiparthandle_zap_message)r   eventsmsgs      r   __handle_zapz!AsyncioAuthenticator.__handle_zap*   sp     mm'==--//F$v,.oo446--c222	 mm'/ 3s(   *BB
A	B6B7BBBc                     t         |           t               | _        | j                  j	                  | j
                  t        j                         t        j                  | j                               | _        y)zStart ZAP authenticationN)r   startr   r
   registerr   zmqPOLLINasyncioensure_future!_AsyncioAuthenticator__handle_zapr   r   r   s    r   r'   zAsyncioAuthenticator.start1   sL    t

;++D,=,=,?@r   c                     | j                   r| j                   j                          | j                  r,| j                  j                  | j                         d| _        t
        |           y)zStop ZAP authenticationN)r   cancelr
   
unregisterr   r   stopr.   s    r   r2   zAsyncioAuthenticator.stop8   sG    ;;KK ==MM$$T__5 DMr   )NNzutf-8N)returnN)r   
__module____qualname____doc__r   r   __annotations__r   strr   r-   r'   r2   __classcell__)r   s   @r   r	   r	      si    ;vK ,0-(  	
 "3A r   r	   )r6   r+   r   typingr   r   r)   zmq.asyncior   baser   r	   __all__ r   r   <module>r?      s5        
  ,= ,^ "
"r   