a
    "RhSg                     @   sj  d Z ddlZddlZddlZddlZddlZddlZddlmZ G dd dZ	G dd de	Z
G d	d
 d
ZG dd dZG dd dZG dd deZdae ZG dd dejZe Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zd!d" Zd#d$ Zd%d& Zd'd( ZeZ eZ!eZ"eZ#zdd)l$mZmZmZmZ W n e%yT   Y n0 eZ&eZ'eZ(eZ)dS )*)AbstractEventLoopPolicyAbstractEventLoopAbstractServerHandleTimerHandleget_event_loop_policyset_event_loop_policyget_event_loopset_event_loopnew_event_loopget_child_watcherset_child_watcher_set_running_loopget_running_loop_get_running_loop    N   )format_helpersc                   @   sB   e Zd ZdZdddZdd Zdd Zd	d
 Zdd Zdd Z	dS )r   )	_callback_args
_cancelled_loop_source_traceback_repr__weakref___contextNc                 C   s\   |d u rt  }|| _|| _|| _|| _d| _d | _| j rRt	
td| _nd | _d S )NFr   )contextvarsZcopy_contextr   r   r   r   r   r   	get_debugr   extract_stacksys	_getframer   )selfcallbackargsloopcontext r%   6/opt/python-3.9.24/usr/lib/python3.9/asyncio/events.py__init__   s    
zHandle.__init__c                 C   sl   | j jg}| jr|d | jd ur:|t| j| j | jrh| jd }|d|d  d|d   |S )N	cancelledzcreated at r   :r   )		__class____name__r   appendr   r   _format_callback_sourcer   r   )r    infoframer%   r%   r&   
_repr_info.   s    



zHandle._repr_infoc                 C   s(   | j d ur| j S |  }dd|S )Nz<{}> )r   r1   formatjoin)r    r/   r%   r%   r&   __repr__:   s    
zHandle.__repr__c                 C   s0   | j s,d| _ | j r t| | _d | _d | _d S NT)r   r   r   reprr   r   r   r    r%   r%   r&   cancel@   s    

zHandle.cancelc                 C   s   | j S N)r   r8   r%   r%   r&   r(   K   s    zHandle.cancelledc              
   C   s   z| j j| jg| jR   W n| ttfy4    Y nf ty } zNt| j| j}d| }||| d}| j	rx| j	|d< | j
| W Y d }~n
d }~0 0 d } d S )NzException in callback )message	exceptionhandleZsource_traceback)r   runr   r   
SystemExitKeyboardInterruptBaseExceptionr   r.   r   r   call_exception_handler)r    exccbmsgr$   r%   r%   r&   _runN   s"    

"zHandle._run)N)
r,   
__module____qualname__	__slots__r'   r1   r5   r9   r(   rF   r%   r%   r%   r&   r      s   
r   c                       sv   e Zd ZddgZd fdd	Z fddZdd	 Zd
d Zdd Zdd Z	dd Z
dd Z fddZdd Z  ZS )r   
_scheduled_whenNc                    s0   t  |||| | jr | jd= || _d| _d S )Nr)   F)superr'   r   rK   rJ   )r    whenr!   r"   r#   r$   r+   r%   r&   r'   g   s
    zTimerHandle.__init__c                    s0   t   }| jrdnd}||d| j  |S )N   r   zwhen=)rL   r1   r   insertrK   )r    r/   posrN   r%   r&   r1   o   s    
zTimerHandle._repr_infoc                 C   s
   t | jS r:   )hashrK   r8   r%   r%   r&   __hash__u   s    zTimerHandle.__hash__c                 C   s   t |tr| j|jk S tS r:   
isinstancer   rK   NotImplementedr    otherr%   r%   r&   __lt__x   s    
zTimerHandle.__lt__c                 C   s$   t |tr | j|jk p| |S tS r:   rU   r   rK   __eq__rV   rW   r%   r%   r&   __le__}   s    
zTimerHandle.__le__c                 C   s   t |tr| j|jkS tS r:   rT   rW   r%   r%   r&   __gt__   s    
zTimerHandle.__gt__c                 C   s$   t |tr | j|jkp| |S tS r:   rZ   rW   r%   r%   r&   __ge__   s    
zTimerHandle.__ge__c                 C   s>   t |tr:| j|jko8| j|jko8| j|jko8| j|jkS tS r:   )rU   r   rK   r   r   r   rV   rW   r%   r%   r&   r[      s    



zTimerHandle.__eq__c                    s    | j s| j|  t   d S r:   )r   r   _timer_handle_cancelledrL   r9   r8   rN   r%   r&   r9      s    zTimerHandle.cancelc                 C   s   | j S r:   )rK   r8   r%   r%   r&   rM      s    zTimerHandle.when)N)r,   rG   rH   rI   r'   r1   rS   rY   r\   r]   r^   r[   r9   rM   __classcell__r%   r%   rN   r&   r   b   s   r   c                   @   sL   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dS )r   c                 C   s   t d S r:   NotImplementedErrorr8   r%   r%   r&   close   s    zAbstractServer.closec                 C   s   t d S r:   ra   r8   r%   r%   r&   get_loop   s    zAbstractServer.get_loopc                 C   s   t d S r:   ra   r8   r%   r%   r&   
is_serving   s    zAbstractServer.is_servingc                    s   t d S r:   ra   r8   r%   r%   r&   start_serving   s    zAbstractServer.start_servingc                    s   t d S r:   ra   r8   r%   r%   r&   serve_forever   s    zAbstractServer.serve_foreverc                    s   t d S r:   ra   r8   r%   r%   r&   wait_closed   s    zAbstractServer.wait_closedc                    s   | S r:   r%   r8   r%   r%   r&   
__aenter__   s    zAbstractServer.__aenter__c                    s   |    |  I d H  d S r:   )rc   rh   )r    rC   r%   r%   r&   	__aexit__   s    zAbstractServer.__aexit__N)r,   rG   rH   rc   rd   re   rf   rg   rh   ri   rj   r%   r%   r%   r&   r      s   r   c                   @   sr  e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd ZddddZddddZddddZdd Zdd Zddd d!Zddd"d#Zd$d% Zd&d' Zd(d(d(d(d)d*d+Zdwd,d-Zdxdd(d(d(ddddddd.
d/d0Zdyejejdd1ddddd2d3	d4d5Zdzd2d6d7d8Zd9ddd:d;d<Zd{ddddd=d>d?Zd|dd1ddd2d@dAdBZd}d(d(d(dddddCdDdEZ dFdG Z!dHdI Z"e#j$e#j$e#j$dJdKdLZ%e#j$e#j$e#j$dJdMdNZ&dOdP Z'dQdR Z(dSdT Z)dUdV Z*dWdX Z+dYdZ Z,d[d\ Z-d]d^ Z.d_d` Z/d~dd6dadbZ0dcdd Z1dedf Z2dgdh Z3didj Z4dkdl Z5dmdn Z6dodp Z7dqdr Z8dsdt Z9dudv Z:dS )r   c                 C   s   t d S r:   ra   r8   r%   r%   r&   run_forever   s    zAbstractEventLoop.run_foreverc                 C   s   t d S r:   ra   )r    futurer%   r%   r&   run_until_complete   s    z$AbstractEventLoop.run_until_completec                 C   s   t d S r:   ra   r8   r%   r%   r&   stop   s    zAbstractEventLoop.stopc                 C   s   t d S r:   ra   r8   r%   r%   r&   
is_running   s    zAbstractEventLoop.is_runningc                 C   s   t d S r:   ra   r8   r%   r%   r&   	is_closed   s    zAbstractEventLoop.is_closedc                 C   s   t d S r:   ra   r8   r%   r%   r&   rc      s    	zAbstractEventLoop.closec                    s   t d S r:   ra   r8   r%   r%   r&   shutdown_asyncgens   s    z$AbstractEventLoop.shutdown_asyncgensc                    s   t d S r:   ra   r8   r%   r%   r&   shutdown_default_executor   s    z+AbstractEventLoop.shutdown_default_executorc                 C   s   t d S r:   ra   )r    r=   r%   r%   r&   r_     s    z)AbstractEventLoop._timer_handle_cancelledN)r$   c                G   s   | j d|g|R d|iS )Nr   r$   )
call_laterr    r!   r$   r"   r%   r%   r&   	call_soon  s    zAbstractEventLoop.call_soonc                G   s   t d S r:   ra   )r    delayr!   r$   r"   r%   r%   r&   rs     s    zAbstractEventLoop.call_laterc                G   s   t d S r:   ra   )r    rM   r!   r$   r"   r%   r%   r&   call_at  s    zAbstractEventLoop.call_atc                 C   s   t d S r:   ra   r8   r%   r%   r&   time  s    zAbstractEventLoop.timec                 C   s   t d S r:   ra   r8   r%   r%   r&   create_future  s    zAbstractEventLoop.create_future)namec                C   s   t d S r:   ra   )r    cororz   r%   r%   r&   create_task  s    zAbstractEventLoop.create_taskc                G   s   t d S r:   ra   rt   r%   r%   r&   call_soon_threadsafe  s    z&AbstractEventLoop.call_soon_threadsafec                 G   s   t d S r:   ra   )r    executorfuncr"   r%   r%   r&   run_in_executor  s    z!AbstractEventLoop.run_in_executorc                 C   s   t d S r:   ra   )r    r~   r%   r%   r&   set_default_executor!  s    z&AbstractEventLoop.set_default_executorr   )familytypeprotoflagsc                   s   t d S r:   ra   )r    hostportr   r   r   r   r%   r%   r&   getaddrinfo&  s    zAbstractEventLoop.getaddrinfoc                    s   t d S r:   ra   )r    Zsockaddrr   r%   r%   r&   getnameinfo*  s    zAbstractEventLoop.getnameinfo)
sslr   r   r   sock
local_addrserver_hostnamessl_handshake_timeouthappy_eyeballs_delay
interleavec       
            s   t d S r:   ra   )r    protocol_factoryr   r   r   r   r   r   r   r   r   r   r   r   r%   r%   r&   create_connection-  s    z#AbstractEventLoop.create_connectiond   T)	r   r   r   backlogr   reuse_address
reuse_portr   rf   c       	            s   t d S r:   ra   )r    r   r   r   r   r   r   r   r   r   r   r   rf   r%   r%   r&   create_server6  s    3zAbstractEventLoop.create_server)fallbackc                   s   t d S r:   ra   )r    	transportfileoffsetcountr   r%   r%   r&   sendfilek  s    zAbstractEventLoop.sendfileF)server_sider   r   c                   s   t d S r:   ra   )r    r   protocolZ
sslcontextr   r   r   r%   r%   r&   	start_tlss  s    	zAbstractEventLoop.start_tls)r   r   r   r   c                   s   t d S r:   ra   )r    r   pathr   r   r   r   r%   r%   r&   create_unix_connection~  s    z(AbstractEventLoop.create_unix_connection)r   r   r   r   rf   c                   s   t d S r:   ra   )r    r   r   r   r   r   r   rf   r%   r%   r&   create_unix_server  s    z$AbstractEventLoop.create_unix_server)r   r   r   r   r   allow_broadcastr   c                   s   t d S r:   ra   )r    r   r   Zremote_addrr   r   r   r   r   r   r   r%   r%   r&   create_datagram_endpoint  s    !z*AbstractEventLoop.create_datagram_endpointc                    s   t d S r:   ra   r    r   piper%   r%   r&   connect_read_pipe  s    z#AbstractEventLoop.connect_read_pipec                    s   t d S r:   ra   r   r%   r%   r&   connect_write_pipe  s    z$AbstractEventLoop.connect_write_pipe)stdinstdoutstderrc                   s   t d S r:   ra   )r    r   cmdr   r   r   kwargsr%   r%   r&   subprocess_shell  s    z"AbstractEventLoop.subprocess_shellc                   s   t d S r:   ra   )r    r   r   r   r   r"   r   r%   r%   r&   subprocess_exec  s    z!AbstractEventLoop.subprocess_execc                 G   s   t d S r:   ra   r    fdr!   r"   r%   r%   r&   
add_reader  s    zAbstractEventLoop.add_readerc                 C   s   t d S r:   ra   r    r   r%   r%   r&   remove_reader  s    zAbstractEventLoop.remove_readerc                 G   s   t d S r:   ra   r   r%   r%   r&   
add_writer  s    zAbstractEventLoop.add_writerc                 C   s   t d S r:   ra   r   r%   r%   r&   remove_writer   s    zAbstractEventLoop.remove_writerc                    s   t d S r:   ra   )r    r   nbytesr%   r%   r&   	sock_recv  s    zAbstractEventLoop.sock_recvc                    s   t d S r:   ra   )r    r   bufr%   r%   r&   sock_recv_into  s    z AbstractEventLoop.sock_recv_intoc                    s   t d S r:   ra   )r    r   datar%   r%   r&   sock_sendall  s    zAbstractEventLoop.sock_sendallc                    s   t d S r:   ra   )r    r   addressr%   r%   r&   sock_connect  s    zAbstractEventLoop.sock_connectc                    s   t d S r:   ra   )r    r   r%   r%   r&   sock_accept  s    zAbstractEventLoop.sock_acceptc                   s   t d S r:   ra   )r    r   r   r   r   r   r%   r%   r&   sock_sendfile  s    zAbstractEventLoop.sock_sendfilec                 G   s   t d S r:   ra   )r    sigr!   r"   r%   r%   r&   add_signal_handler  s    z$AbstractEventLoop.add_signal_handlerc                 C   s   t d S r:   ra   )r    r   r%   r%   r&   remove_signal_handler  s    z'AbstractEventLoop.remove_signal_handlerc                 C   s   t d S r:   ra   )r    factoryr%   r%   r&   set_task_factory"  s    z"AbstractEventLoop.set_task_factoryc                 C   s   t d S r:   ra   r8   r%   r%   r&   get_task_factory%  s    z"AbstractEventLoop.get_task_factoryc                 C   s   t d S r:   ra   r8   r%   r%   r&   get_exception_handler*  s    z'AbstractEventLoop.get_exception_handlerc                 C   s   t d S r:   ra   )r    handlerr%   r%   r&   set_exception_handler-  s    z'AbstractEventLoop.set_exception_handlerc                 C   s   t d S r:   ra   r    r$   r%   r%   r&   default_exception_handler0  s    z+AbstractEventLoop.default_exception_handlerc                 C   s   t d S r:   ra   r   r%   r%   r&   rB   3  s    z(AbstractEventLoop.call_exception_handlerc                 C   s   t d S r:   ra   r8   r%   r%   r&   r   8  s    zAbstractEventLoop.get_debugc                 C   s   t d S r:   ra   )r    Zenabledr%   r%   r&   	set_debug;  s    zAbstractEventLoop.set_debug)r   )NN)NN)r   N)N)N)NN)r   N);r,   rG   rH   rk   rm   rn   ro   rp   rc   rq   rr   r_   ru   rs   rw   rx   ry   r|   r}   r   r   r   r   r   socket	AF_UNSPEC
AI_PASSIVEr   r   r   r   r   r   r   r   
subprocessPIPEr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rB   r   r   r%   r%   r%   r&   r      s   
 
 5	  ! %r   c                   @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )r   c                 C   s   t d S r:   ra   r8   r%   r%   r&   r   B  s    z&AbstractEventLoopPolicy.get_event_loopc                 C   s   t d S r:   ra   r    r#   r%   r%   r&   r	   L  s    z&AbstractEventLoopPolicy.set_event_loopc                 C   s   t d S r:   ra   r8   r%   r%   r&   r
   P  s    z&AbstractEventLoopPolicy.new_event_loopc                 C   s   t d S r:   ra   r8   r%   r%   r&   r   X  s    z)AbstractEventLoopPolicy.get_child_watcherc                 C   s   t d S r:   ra   )r    watcherr%   r%   r&   r   \  s    z)AbstractEventLoopPolicy.set_child_watcherN)r,   rG   rH   r   r	   r
   r   r   r%   r%   r%   r&   r   ?  s
   
r   c                   @   sB   e Zd ZdZG dd dejZdd Zdd Zdd	 Z	d
d Z
dS )BaseDefaultEventLoopPolicyNc                   @   s   e Zd ZdZdZdS )z!BaseDefaultEventLoopPolicy._LocalNF)r,   rG   rH   r   _set_calledr%   r%   r%   r&   _Localp  s   r   c                 C   s   |   | _d S r:   )r   _localr8   r%   r%   r&   r'   t  s    z#BaseDefaultEventLoopPolicy.__init__c                 C   sX   | j jd u r2| j js2t t u r2| |   | j jd u rPtdt j	 | j jS )Nz,There is no current event loop in thread %r.)
r   r   r   	threadingcurrent_threadmain_threadr	   r
   RuntimeErrorrz   r8   r%   r%   r&   r   w  s    z)BaseDefaultEventLoopPolicy.get_event_loopc                 C   s   d| j _|| j _d S r6   )r   r   r   r   r%   r%   r&   r	     s    z)BaseDefaultEventLoopPolicy.set_event_loopc                 C   s   |   S r:   )_loop_factoryr8   r%   r%   r&   r
     s    z)BaseDefaultEventLoopPolicy.new_event_loop)r,   rG   rH   r   r   localr   r'   r   r	   r
   r%   r%   r%   r&   r   a  s   r   c                   @   s   e Zd ZdZdS )_RunningLoop)NNN)r,   rG   rH   loop_pidr%   r%   r%   r&   r     s   r   c                  C   s   t  } | d u rtd| S )Nzno running event loop)r   r   r#   r%   r%   r&   r     s    r   c                  C   s&   t j\} }| d ur"|t kr"| S d S r:   )_running_loopr   osgetpid)Zrunning_looppidr%   r%   r&   r     s    
r   c                 C   s   | t  ft_d S r:   )r   r   r   r   r   r%   r%   r&   r     s    r   c                  C   sB   t * td u r ddlm}  |  aW d    n1 s40    Y  d S )Nr   DefaultEventLoopPolicy)_lock_event_loop_policy r   r   r%   r%   r&   _init_event_loop_policy  s    r   c                   C   s   t d u rt  t S r:   )r   r   r%   r%   r%   r&   r     s    r   c                 C   s   | a d S r:   )r   )Zpolicyr%   r%   r&   r     s    r   c                  C   s   t  } | d ur| S t  S r:   )r   r   r   )Zcurrent_loopr%   r%   r&   r     s    
r   c                 C   s   t  |  d S r:   )r   r	   r   r%   r%   r&   r	     s    r	   c                   C   s
   t   S r:   )r   r
   r%   r%   r%   r&   r
     s    r
   c                   C   s
   t   S r:   )r   r   r%   r%   r%   r&   r     s    r   c                 C   s   t  | S r:   )r   r   )r   r%   r%   r&   r     s    r   )r   r   r   r   )*__all__r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Lockr   r   r   r   r   r   r   r   r   r   r   r	   r
   r   r   Z_py__get_running_loopZ_py__set_running_loopZ_py_get_running_loopZ_py_get_event_loopZ_asyncioImportErrorZ_c__get_running_loopZ_c__set_running_loopZ_c_get_running_loopZ_c_get_event_loopr%   r%   r%   r&   <module>   sT   J@*  u"9
	