Your IP : 18.191.238.6


Current Path : /opt/alt/python39/lib64/python3.9/asyncio/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/asyncio/__pycache__/base_events.cpython-39.opt-2.pyc

a

R�f�!�@s�ddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZzddlZWney�dZYn0ddlmZddlmZddlmZddlmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlm Z dZ!dZ"dZ#e$ed�Z%dZ&e'�Z(dd�Z)dd�Z*dd�Z+d,dd�Z,d-dd�Z-dd�Z.e$ed ��r�d!d"�Z/nd#d"�Z/d$d%�Z0Gd&d'�d'ej1�Z2Gd(d)�d)ej3�Z4Gd*d+�d+ej5�Z6dS).�N�)�	constants)�
coroutines)�events)�
exceptions)�futures)�	protocols)�sslproto)�	staggered)�tasks)�
transports)�trsock)�logger)�
BaseEventLoop�Server�dg�?�AF_INET6i�QcCs0|j}tt|dd�tj�r$t|j�St|�SdS)N�__self__)Z	_callback�
isinstance�getattrr�Task�reprr�str)�handle�cb�r�8/opt/alt/python39/lib64/python3.9/asyncio/base_events.py�_format_handleJs
rcCs(|tjkrdS|tjkrdSt|�SdS)Nz<pipe>z<stdout>)�
subprocess�PIPE�STDOUTr)�fdrrr�_format_pipeSs


r"cCsJttd�std��n2z|�tjtjd�WntyDtd��Yn0dS)N�SO_REUSEPORTz)reuse_port not supported by socket modulerzTreuse_port not supported by socket module, SO_REUSEPORT defined but not implemented.)�hasattr�socket�
ValueError�
setsockopt�
SOL_SOCKETr#�OSError��sockrrr�_set_reuseport\s

r,c		Cs�ttd�sdS|dtjtjhvs(|dur,dS|tjkr>tj}n|tjkrPtj}ndS|durbd}nVt|t�rz|dkrzd}n>t|t�r�|dkr�d}n&zt	|�}Wnt
tfy�YdS0|tjkr�tj
g}tr�|�tj�n|g}t|t�r�|�d�}d|v�rdS|D]r}zVt�||�t�rH|tjk�rH|||d||||ffWS|||d||ffWSWnt�yvYn0�qdS)N�	inet_ptonr��Zidna�%)r$r%�IPPROTO_TCPZIPPROTO_UDP�SOCK_STREAM�
SOCK_DGRAMr�bytesr�int�	TypeErrorr&�	AF_UNSPEC�AF_INET�	_HAS_IPv6�appendr�decoder-r))	�host�port�family�type�protoZflowinfoZscopeidZafs�afrrr�_ipaddr_infogsN
�






rBcCs�t��}|D]*}|d}||vr(g||<||�|�qt|���}g}|dkr||�|dd|d��|dd|d�=|�dd�tj�tj	|��D��|S)Nrrcss|]}|dur|VqdS�Nr)�.0�arrr�	<genexpr>�s�z(_interleave_addrinfos.<locals>.<genexpr>)
�collections�OrderedDictr:�list�values�extend�	itertools�chain�
from_iterable�zip_longest)Z	addrinfosZfirst_address_family_countZaddrinfos_by_family�addrr>Zaddrinfos_listsZ	reorderedrrr�_interleave_addrinfos�s"
��rQcCs4|��s"|��}t|ttf�r"dSt�|���dSrC)�	cancelled�	exceptionr�
SystemExit�KeyboardInterruptrZ	_get_loop�stop)�fut�excrrr�_run_until_complete_cb�s
rY�TCP_NODELAYcCs@|jtjtjhvr<|jtjkr<|jtjkr<|�tjtj	d�dS�Nr)
r>r%r8rr?r2r@r1r'rZr*rrr�_set_nodelay�s
�
�r\cCsdSrCrr*rrrr\�scCs tdurt|tj�rtd��dS)Nz"Socket cannot be of type SSLSocket)�sslrZ	SSLSocketr6r*rrr�_check_ssl_socket�sr^c@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�_SendfileFallbackProtocolcCsht|tj�std��||_|��|_|��|_|j	|_
|��|�|�|j
r^|jj
��|_nd|_dS)Nz.transport should be _FlowControlMixin instance)rrZ_FlowControlMixinr6�
_transportZget_protocol�_protoZ
is_reading�_should_resume_readingZ_protocol_paused�_should_resume_writing�
pause_reading�set_protocol�_loop�
create_future�_write_ready_fut)�self�transprrr�__init__�s


z"_SendfileFallbackProtocol.__init__c�s2|j��rtd��|j}|dur$dS|IdHdS)NzConnection closed by peer)r`�
is_closing�ConnectionErrorrh)rirWrrr�drain�s
z_SendfileFallbackProtocol.draincCstd��dS)Nz?Invalid state: connection should have been established already.��RuntimeError)ri�	transportrrr�connection_made�sz)_SendfileFallbackProtocol.connection_madecCs@|jdur0|dur$|j�td��n|j�|�|j�|�dS)NzConnection is closed by peer)rh�
set_exceptionrmra�connection_lost)rirXrrrrt�s
�z)_SendfileFallbackProtocol.connection_lostcCs |jdurdS|jj��|_dSrC)rhr`rfrg�rirrr�
pause_writing�s
z'_SendfileFallbackProtocol.pause_writingcCs$|jdurdS|j�d�d|_dS)NF)rh�
set_resultrurrr�resume_writing�s
z(_SendfileFallbackProtocol.resume_writingcCstd��dS�Nz'Invalid state: reading should be pausedro)ri�datarrr�
data_receivedsz'_SendfileFallbackProtocol.data_receivedcCstd��dSryrorurrr�eof_receivedsz&_SendfileFallbackProtocol.eof_receivedc�sF|j�|j�|jr|j��|jdur2|j��|jrB|j��dSrC)	r`rerarb�resume_readingrh�cancelrcrxrurrr�restore	s


z!_SendfileFallbackProtocol.restoreN)�__name__�
__module__�__qualname__rkrnrrrtrvrxr{r|rrrrrr_�sr_c@sxeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
edd��Zdd�Z
dd�Zdd�Zdd�ZdS)rcCs@||_||_d|_g|_||_||_||_||_d|_d|_	dS)NrF)
rf�_sockets�
_active_count�_waiters�_protocol_factory�_backlog�_ssl_context�_ssl_handshake_timeout�_serving�_serving_forever_fut)ri�loop�sockets�protocol_factoryZssl_context�backlog�ssl_handshake_timeoutrrrrkszServer.__init__cCsd|jj�d|j�d�S)N�<z	 sockets=�>)�	__class__r�r�rurrr�__repr__%szServer.__repr__cCs|jd7_dSr[)r�rurrr�_attach(szServer._attachcCs.|jd8_|jdkr*|jdur*|��dS)Nrr)r�r��_wakeuprurrr�_detach,szServer._detachcCs,|j}d|_|D]}|��s|�|�qdSrC)r��donerw)ri�waiters�waiterrrrr�2s
zServer._wakeupc	CsJ|jr
dSd|_|jD].}|�|j�|j�|j||j||j|j�qdS�NT)	r�r�Zlistenr�rf�_start_servingr�r�r�)rir+rrrr�9s


�zServer._start_servingcCs|jSrC)rfrurrr�get_loopCszServer.get_loopcCs|jSrC)r�rurrr�
is_servingFszServer.is_servingcCs"|jdurdStdd�|jD��S)Nrcss|]}t�|�VqdSrC)r
ZTransportSocket)rD�srrrrFMr.z!Server.sockets.<locals>.<genexpr>)r��tuplerurrrr�Is
zServer.socketscCsn|j}|durdSd|_|D]}|j�|�qd|_|jdurX|j��sX|j��d|_|jdkrj|��dS)NFr)	r�rfZ
_stop_servingr�r�r�r~r�r�)rir�r+rrr�closeOs
�

zServer.closec�s|��t�d�IdHdS)Nr)r�r�sleeprurrr�
start_servingbszServer.start_servingc	�s�|jdurtd|�d���|jdur4td|�d���|��|j��|_zRz|jIdHWn6tjy�z|��|�	�IdHW�n�0Yn0Wd|_nd|_0dS)Nzserver z, is already being awaited on serve_forever()z
 is closed)
r�rpr�r�rfrgrZCancelledErrorr��wait_closedrurrr�
serve_foreverhs 

�
zServer.serve_foreverc�s<|jdus|jdurdS|j��}|j�|�|IdHdSrC)r�r�rfrgr:)rir�rrrr�}s

zServer.wait_closedN)r�r�r�rkr�r�r�r�r�r�r��propertyr�r�r�r�r�rrrrrs


rc@sheZdZdd�Zdd�Zdd�Zdd�d	d
�Zdd�Zd
d�Zd�ddd�dd�Z	d�ddddddd�dd�Z
d�dd�Zd�dd�Zd�dd�Z
d�dd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Zejfd=d>�Z d?d@�Z!dAdB�Z"ddC�dDdE�Z#ddC�dFdG�Z$ddC�dHdI�Z%dJdK�Z&dLdM�Z'dNdO�Z(ddC�dPdQ�Z)dRdS�Z*dTdU�Z+dVdW�Z,dXdXdXdXdY�dZd[�Z-d�d\d]�Z.d�dd^�d_d`�Z/dadb�Z0dcdd�Z1dedf�Z2d�dgdh�Z3d�ddXdXdXdddddddi�
djdk�Z4d�dldm�Z5d�dd^�dndo�Z6dpdq�Z7drds�Z8ddddt�dudv�Z9d�dXdXdXe:ddddw�dxdy�Z;dXe<j=dXdXdY�dzd{�Z>d|d}�Z?d�e<j@e<jAdd~dddddd�	d�d��ZBddd��d�d��ZCd�d��ZDd�d��ZEd�d��ZFeGjHeGjHeGjHdddXdddd��	d�d��ZIeGjHeGjHeGjHdddXdddd��	d�d��ZJd�d��ZKd�d��ZLd�d��ZMd�d��ZNd�d��ZOd�d��ZPd�d��ZQd�d��ZRd�d��ZSd�d��ZTd�d��ZUdS)�rcCs�d|_d|_d|_t��|_g|_d|_d|_d|_	t
�d�j|_
d|_|�t���d|_d|_d|_d|_d|_t��|_d|_d|_dS)NrF�	monotonicg�������?)�_timer_cancelled_count�_closed�	_stoppingrG�deque�_ready�
_scheduled�_default_executorZ
_internal_fds�
_thread_id�time�get_clock_infoZ
resolution�_clock_resolution�_exception_handler�	set_debugrZ_is_debug_mode�slow_callback_duration�_current_handle�
_task_factory�"_coroutine_origin_tracking_enabled�&_coroutine_origin_tracking_saved_depth�weakrefZWeakSet�
_asyncgens�_asyncgens_shutdown_called�_executor_shutdown_calledrurrrrk�s&

zBaseEventLoop.__init__c	Cs.d|jj�d|���d|���d|���d�	S)Nr�z	 running=z closed=z debug=r�)r�r��
is_running�	is_closed�	get_debugrurrrr��s���zBaseEventLoop.__repr__cCstj|d�S)N�r�)rZFuturerurrrrg�szBaseEventLoop.create_futureN)�namecCsN|��|jdur2tj|||d�}|jrJ|jd=n|�||�}t�||�|S)N)r�r����)�
_check_closedr�rr�_source_tracebackZ_set_task_name)ri�coror�Ztaskrrr�create_task�s

zBaseEventLoop.create_taskcCs"|durt|�std��||_dS)Nz'task factory must be a callable or None)�callabler6r�)ri�factoryrrr�set_task_factory�s
zBaseEventLoop.set_task_factorycCs|jSrC)r�rurrr�get_task_factory�szBaseEventLoop.get_task_factory)�extra�servercCst�dSrC��NotImplementedError)rir+�protocolr�r�r�rrr�_make_socket_transport�sz$BaseEventLoop._make_socket_transportFT)�server_side�server_hostnamer�r�r��call_connection_madecCst�dSrCr�)riZrawsockr��
sslcontextr�r�r�r�r�r�r�rrr�_make_ssl_transport�sz!BaseEventLoop._make_ssl_transportcCst�dSrCr�)rir+r��addressr�r�rrr�_make_datagram_transport�sz&BaseEventLoop._make_datagram_transportcCst�dSrCr��ri�piper�r�r�rrr�_make_read_pipe_transport�sz'BaseEventLoop._make_read_pipe_transportcCst�dSrCr�r�rrr�_make_write_pipe_transport�sz(BaseEventLoop._make_write_pipe_transportc	
�st�dSrCr�)
rir��args�shell�stdin�stdout�stderr�bufsizer��kwargsrrr�_make_subprocess_transport�sz(BaseEventLoop._make_subprocess_transportcCst�dSrCr�rurrr�_write_to_self�szBaseEventLoop._write_to_selfcCst�dSrCr�)ri�
event_listrrr�_process_events�szBaseEventLoop._process_eventscCs|jrtd��dS)NzEvent loop is closed)r�rprurrrr�szBaseEventLoop._check_closedcCs|jrtd��dS)Nz!Executor shutdown has been called)r�rprurrr�_check_default_executorsz%BaseEventLoop._check_default_executorcCs*|j�|�|��s&|�|j|���dSrC)r��discardr��call_soon_threadsafer��aclose�ri�agenrrr�_asyncgen_finalizer_hook	sz&BaseEventLoop._asyncgen_finalizer_hookcCs.|jrtjd|�d�t|d�|j�|�dS)Nzasynchronous generator z3 was scheduled after loop.shutdown_asyncgens() call��source)r��warnings�warn�ResourceWarningr��addr�rrr�_asyncgen_firstiter_hooks
�z&BaseEventLoop._asyncgen_firstiter_hookc�s�d|_t|j�sdSt|j�}|j��tjdd�|D�d|d��IdH}t||�D]*\}}t|t	�rT|�
d|��||d��qTdS)NTcSsg|]}|���qSr)r�)rDZagrrr�
<listcomp>$r.z4BaseEventLoop.shutdown_asyncgens.<locals>.<listcomp>)Zreturn_exceptionsr�z;an error occurred during closing of asynchronous generator )�messagerSZasyncgen)r��lenr�rI�clearr�_gather�zipr�	Exception�call_exception_handler)riZ
closing_agensZresults�resultr�rrr�shutdown_asyncgenss&


�
��z BaseEventLoop.shutdown_asyncgensc�s\d|_|jdurdS|��}tj|j|fd�}|��z|IdHW|��n
|��0dS)NT)�targetr�)r�r�rg�	threadingZThread�_do_shutdown�start�join)ri�future�threadrrr�shutdown_default_executor1s
z'BaseEventLoop.shutdown_default_executorc
CsXz |jjdd�|�|jd�Wn2tyR}z|�|j|�WYd}~n
d}~00dS)NT��wait)r��shutdownr�rwr�rs)rirZexrrrr>s
zBaseEventLoop._do_shutdowncCs(|��rtd��t��dur$td��dS)Nz"This event loop is already runningz7Cannot run the event loop while another loop is running)r�rprZ_get_running_looprurrr�_check_runningEs�zBaseEventLoop._check_runningc	Cs�|��|��|�|j�t��|_t��}tj	|j
|jd�zJt�
|�|��|jrLq^qLWd|_d|_t�
d�|�d�tj	|�n,d|_d|_t�
d�|�d�tj	|�0dS)N)�	firstiter�	finalizerF)r�r�_set_coroutine_origin_tracking�_debugr�	get_identr��sys�get_asyncgen_hooks�set_asyncgen_hooksr�r�rZ_set_running_loop�	_run_oncer�)riZold_agen_hooksrrr�run_foreverLs.
�


�

zBaseEventLoop.run_foreverc	Cs�|��|��t�|�}tj||d�}|r4d|_|�t�zFz|�	�Wn*|rp|�
�rp|��sp|���Yn0W|�
t�n|�
t�0|�
�s�td��|��S)Nr�Fz+Event loop stopped before Future completed.)r�rrZisfuturerZ
ensure_futureZ_log_destroy_pendingZadd_done_callbackrYrr�rRrSZremove_done_callbackrpr�)rirZnew_taskrrr�run_until_completecs"

z BaseEventLoop.run_until_completecCs
d|_dSr�)r�rurrrrV�szBaseEventLoop.stopcCsp|��rtd��|jrdS|jr,t�d|�d|_|j��|j��d|_	|j
}|durld|_
|jdd�dS)Nz!Cannot close a running event loopzClose %rTFr)r�rpr�rr�debugr�r�r�r�r�r
�ri�executorrrrr��s

zBaseEventLoop.closecCs|jSrC)r�rurrrr��szBaseEventLoop.is_closedcCs0|��s,|d|��t|d�|��s,|��dS)Nzunclosed event loop r�)r�r�r�r�)riZ_warnrrr�__del__�szBaseEventLoop.__del__cCs
|jduSrC)r�rurrrr��szBaseEventLoop.is_runningcCst��SrC)r�r�rurrrr��szBaseEventLoop.time)�contextcGs4|j|��||g|�Rd|i�}|jr0|jd=|S)Nrr�)�call_atr�r�)riZdelay�callbackrr��timerrrr�
call_later�s�zBaseEventLoop.call_latercGsZ|��|jr"|��|�|d�t�|||||�}|jrB|jd=t�|j	|�d|_	|S)Nrr�T)
r�r�
_check_thread�_check_callbackrZTimerHandler��heapq�heappushr�)ri�whenrrr�rrrrr�szBaseEventLoop.call_atcGsB|��|jr"|��|�|d�|�|||�}|jr>|jd=|S)N�	call_soonr�)r�rr r!�
_call_soonr��rirrr�rrrrr%�s
zBaseEventLoop.call_sooncCsDt�|�st�|�r$td|�d���t|�s@td|�d|����dS)Nzcoroutines cannot be used with z()z"a callable object was expected by z(), got )rZiscoroutineZiscoroutinefunctionr6r�)rir�methodrrrr!�s
�
���zBaseEventLoop._check_callbackcCs.t�||||�}|jr|jd=|j�|�|S)Nr�)rZHandler�r�r:)rirr�rrrrrr&s
zBaseEventLoop._call_sooncCs,|jdurdSt��}||jkr(td��dS)NzMNon-thread-safe operation invoked on an event loop other than the current one)r�rrrp)riZ	thread_idrrrr 	s	

�zBaseEventLoop._check_threadcGsB|��|jr|�|d�|�|||�}|jr6|jd=|��|S)Nr�r�)r�rr!r&r�r�r'rrrr�sz"BaseEventLoop.call_soon_threadsafecGsh|��|jr|�|d�|durL|j}|��|durLtjjdd�}||_tj|j	|g|�R�|d�S)N�run_in_executorZasyncio)Zthread_name_prefixr�)
r�rr!r�r��
concurrentr�ThreadPoolExecutorZwrap_futureZsubmit)rir�funcr�rrrr)%s��zBaseEventLoop.run_in_executorcCs&t|tjj�st�dtd�||_dS)Nz{Using the default executor that is not an instance of ThreadPoolExecutor is deprecated and will be prohibited in Python 3.9�)rr*rr+r�r��DeprecationWarningr�rrrr�set_default_executor5s�z"BaseEventLoop.set_default_executorcCs�|�d|��g}|r$|�d|���|r8|�d|���|rL|�d|���|r`|�d|���d�|�}t�d|�|��}t�||||||�}	|��|}
d|�d	|
d
d�d|	��}|
|jkr�t�|�n
t�|�|	S)
N�:zfamily=ztype=zproto=zflags=�, zGet address info %szGetting address info z took g@�@z.3fzms: )	r:rrrr�r%�getaddrinfor��info)rir<r=r>r?r@�flags�msg�t0�addrinfo�dtrrr�_getaddrinfo_debug>s&


z BaseEventLoop._getaddrinfo_debugr�r>r?r@r4c
�s2|jr|j}ntj}|�d|||||||�IdHSrC)rr9r%r2r))rir<r=r>r?r@r4Zgetaddr_funcrrrr2Vs�zBaseEventLoop.getaddrinfoc�s|�dtj||�IdHSrC)r)r%�getnameinfo)riZsockaddrr4rrrr;`s
�zBaseEventLoop.getnameinfo)�fallbackc
�s�|jr|��dkrtd��t|�|�||||�z|�||||�IdHWStjyv}z|sb�WYd}~n
d}~00|�||||�IdHS)Nrzthe socket must be non-blocking)	rZ
gettimeoutr&r^�_check_sendfile_params�_sock_sendfile_nativer�SendfileNotAvailableError�_sock_sendfile_fallback)rir+�file�offset�countr<rXrrr�
sock_sendfileds��zBaseEventLoop.sock_sendfilec�st�d|�d|�d���dS)Nz-syscall sendfile is not available for socket z
 and file z combination�rr?�rir+rArBrCrrrr>ss
��z#BaseEventLoop._sock_sendfile_nativec

�s�|r|�|�|rt|tj�ntj}t|�}d}z�|rNt|||�}|dkrNq�t|�d|�}|�d|j|�IdH}	|	szq�|�||d|	��IdH||	7}q2|W|dkr�t	|d�r�|�||�Sn&|dk�r�t	|d��r�|�||�0dS)Nr�seek)
rG�minrZ!SENDFILE_FALLBACK_READBUFFER_SIZE�	bytearray�
memoryviewr)�readintoZsock_sendallr$)
rir+rArBrC�	blocksize�buf�
total_sent�view�readrrrr@zs6
��
��z%BaseEventLoop._sock_sendfile_fallbackcCs�dt|dd�vrtd��|jtjks,td��|durbt|t�sLtd�|���|dkrbtd�|���t|t�sztd�|���|dkr�td�|���dS)N�b�modez$file should be opened in binary modez+only SOCK_STREAM type sockets are supportedz+count must be a positive integer (got {!r})rz0offset must be a non-negative integer (got {!r}))	rr&r?r%r2rr5r6�formatrFrrrr=�s2
��
����z$BaseEventLoop._check_sendfile_paramsc�sDg}|�|�|\}}}}}	d}
z�tj|||d�}
|
�d�|dur�|D]t\}}}}}z|
�|�Wq�WqHty�}z8d|�d|j����}
t|j|
�}|�|�WYd}~qHd}~00qH|���|�	|
|	�IdH|
WSt�y }z*|�|�|
du�r
|
�
��WYd}~n(d}~0|
du�r8|
�
��Yn0dS)N�r>r?r@Fz*error while attempting to bind on address �: )r:r%�setblocking�bindr)�strerror�lower�errno�pop�sock_connectr�)rirZ	addr_infoZlocal_addr_infosZ
my_exceptionsr>�type_r@�_r�r+ZladdrrXr5rrr�
_connect_sock�sB



���"


zBaseEventLoop._connect_sock)
r]r>r@r4r+�
local_addrr�r��happy_eyeballs_delay�
interleavec
	�sz|
dur|std��|
dur0|r0|s,td��|}
|durD|sDtd��|durTt|�|durh|
durhd}
|dusz|du�r|dur�td���j||f|tj||�d�IdH}|s�td��|	dur�j|	|tj||�d�IdH��s�td��nd�|
r�t||
�}g�|du�rV|D]B}z ���|��IdH}W�q�Wnt�yNY�qYn0�qn.tj	���fdd	�|D�|�d
�IdH\}}}|du�r.dd��D��t
��dk�r��d
�nJt�d
��t�fdd	��D���r�d
�td�
d�dd	��D�����n.|du�rtd��|jtjk�r.td|�����j||||
|d�IdH\}}�j�rr|�d�}t�d|||||�||fS)Nz+server_hostname is only meaningful with sslz:You must set server_hostname when using ssl without a host�1ssl_handshake_timeout is only meaningful with sslr�8host/port and sock can not be specified at the same time�r>r?r@r4r��!getaddrinfo() returned empty listc3s |]}t��j�|��VqdSrC)�	functools�partialr_)rDr7)r�laddr_infosrirrrF!s��z2BaseEventLoop.create_connection.<locals>.<genexpr>r�cSsg|]}|D]}|�qqSrr)rD�subrXrrrr�'r.z3BaseEventLoop.create_connection.<locals>.<listcomp>rc3s|]}t|��kVqdSrC�r�rDrX)�modelrrrF-r.zMultiple exceptions: {}r1css|]}t|�VqdSrCrkrlrrrrF2r.z5host and port was not specified and no sock specified�"A Stream Socket was expected, got )r�r%z%r connected to %s:%r: (%r, %r))r&r^�_ensure_resolvedr%r2r)rQr_r
Zstaggered_racer�r�allrSrr?�_create_connection_transportr�get_extra_inforr)rir�r<r=r]r>r@r4r+r`r�r�rarb�infosr7r^rqr�r)rrirmrir�create_connection�s���
��


�
��

�
���

�zBaseEventLoop.create_connectionc	�s�|�d�|�}|��}|rHt|t�r*dn|}	|j|||	||||d�}
n|�|||�}
z|IdHWn|
���Yn0|
|fS)NF�r�r�r�)rVrgr�boolr�r�r�)rir+r�r]r�r�r�r�r�r�rqrrrrqMs"
�z*BaseEventLoop._create_connection_transportc
�s�|��rtd��t|dtjj�}|tjjur:td|����|tjjur�z|�||||�IdHWStj	y�}z|sv�WYd}~n
d}~00|s�td|����|�
||||�IdHS)NzTransport is closingZ_sendfile_compatiblez(sendfile is not supported for transport zHfallback is disabled and native sendfile is not supported for transport )rlrprrZ
_SendfileModeZUNSUPPORTEDZ
TRY_NATIVE�_sendfile_nativerr?�_sendfile_fallback)rirqrArBrCr<rRrXrrr�sendfilegs4������zBaseEventLoop.sendfilec�st�d��dS)Nz!sendfile syscall is not supportedrE)rirjrArBrCrrrrw�s�zBaseEventLoop._sendfile_nativec
�s||r|�|�|rt|d�nd}t|�}d}t|�}�z|r�t|||�}|dkr�|W|dkrvt|d�rv|�||�|��IdHSt|�d|�}	|�d|j|	�IdH}
|
s�|W|dkr�t|d�r�|�||�|��IdHS|�	�IdH|�
|	d|
��||
7}q8W|dk�r4t|d��r4|�||�|��IdHn4|dk�rht|d��rh|�||�|��IdH0dS)Ni@rrG)rGrHrIr_r$rrJr)rKrn�write)rirjrArBrCrLrMrNr@rOrPrrrrx�s@
	���z BaseEventLoop._sendfile_fallbackruc
�s�tdurtd��t|tj�s*td|����t|dd�sFtd|�d���|��}tj|||||||dd�}|�	�|�
|�|�|j|�}	|�|j
�}
z|IdHWn,ty�|��|	��|
���Yn0|jS)Nz"Python ssl module is not availablez@sslcontext is expected to be an instance of ssl.SSLContext, got Z_start_tls_compatibleFz
transport z  is not supported by start_tls())r�r�)r]rprZ
SSLContextr6rrgr	ZSSLProtocolrdrer%rrr}�
BaseExceptionr�r~Z_app_transport)rirqr�r�r�r�r�r�Zssl_protocolZ
conmade_cbZ	resume_cbrrr�	start_tls�s>	��
��
zBaseEventLoop.start_tls)r>r@r4�
reuse_address�
reuse_port�allow_broadcastr+c �s|
dur�|
jtjkr"td|
�����s>�s>|s>|s>|s>|s>|	r~t��||||||	d�}d�dd�|��D��}td|�d���|
�d�d}
�n�s��s�|d	kr�td
��||fdff}�n�ttd��r�|tj	k�r���fD]}|dur�t
|t�s�td
��qڈ�rx�d	dv�rxz"t
�t�
��j��r.t���WnFt�yDYn4t�yv}zt�d�|�WYd}~n
d}~00||f��fff}n�i}d	�fd�ffD]�\}}|du�r�t
|t��r�t|�dk�s�td��|j||tj|||d�IdH}|�std��|D]:\}}}}}||f}||v�r0ddg||<||||<�q�q���fdd�|��D�}|�sjtd��g}|tu�r�|�r�td��ntjdtdd�|D]�\\}}\}}d}
d}
zxtj|tj|d�}
|�r�t|
�|	�r�|
�tjtj d�|
�d���r|
�!|���r*|	�s&|�"|
|�IdH|}
Wn`t�yn}z(|
du�rP|
�#�|�$|�WYd}~n.d}~0|
du�r�|
�#��Yn0�q��q�|d	�|�}|�%�}|�&|
||
|�}|j'�r��r�t�(d��||�nt�)d�||�z|IdHWn|�#��Yn0||fS)NzA UDP Socket was expected, got )r`�remote_addrr>r@r4r}r~rr1css$|]\}}|r|�d|��VqdS)�=Nr)rD�k�vrrrrF�r.z9BaseEventLoop.create_datagram_endpoint.<locals>.<genexpr>zKsocket modifier keyword arguments can not be used when sock is specified. (�)Frzunexpected address family)NN�AF_UNIXzstring is expected)r�z2Unable to check or remove stale UNIX socket %r: %rrr-z2-tuple is expectedrerfcs8g|]0\}}�r|ddus�r,|ddus||f�qS)rNrr)rD�keyZ	addr_pair�r`r�rrr�&s�z:BaseEventLoop.create_datagram_endpoint.<locals>.<listcomp>zcan not get address informationz~Passing `reuse_address=True` is no longer supported, as the usage of SO_REUSEPORT in UDP poses a significant security concern.zdThe *reuse_address* parameter has been deprecated as of 3.5.10 and is scheduled for removal in 3.11.)�
stacklevelrTz@Datagram endpoint local_addr=%r remote_addr=%r created: (%r, %r)z2Datagram endpoint remote_addr=%r created: (%r, %r))*r?r%r3r&�dictr�itemsrVr$r�rrr6�stat�S_ISSOCK�os�st_mode�remove�FileNotFoundErrorr)r�errorr�r�ro�_unsetr�r�r.r,r'r(ZSO_BROADCASTrWr\r�r:rgr�rr3r) rir�r`r�r>r@r4r}r~rr+ZoptsZproblemsZr_addrZaddr_pairs_inforP�errZ
addr_infos�idxrsZfamr^Zpror�r�rZ
local_addressZremote_addressrXr�r�rqrr�r�create_datagram_endpoint�s���������

��
�
�

���
�




���z&BaseEventLoop.create_datagram_endpointc
�s^|dd�\}}t|||||g|dd��R�}	|	dur>|	gS|j||||||d�IdHSdS)Nr-r:)rBr2)
rir�r>r?r@r4r�r<r=r3rrrrots �zBaseEventLoop._ensure_resolvedc�s8|j||f|tj||d�IdH}|s4td|�d���|S)N)r>r?r4r�zgetaddrinfo(z) returned empty list)ror%r2r))rir<r=r>r4rsrrr�_create_server_getaddrinfo�s�z(BaseEventLoop._create_server_getaddrinfor)	r>r4r+r�r]r}r~r�r�c	�s�t|t�rtd��|dur*|dur*td��|dur:t|�|dusL�du�rL|dur\td��|	durxtjdkovtjdk}	g}
|dkr�dg}n$t|t	�s�t|t
jj�s�|g}n|}����fdd�|D�}t
j|d	�i�IdH}ttj�|��}d
}�z8|D�]}|\}}}}}zt�|||�}Wn6tj�yV�j�rNtjd|||dd
�Yq�Yn0|
�|�|	�rz|�tjtjd�|
�r�t|�t�r�|tjk�r�ttd��r�|�tj tj!d�z|�"|�Wq�t#�y}z(t#|j$d||j%�&�f�d�WYd}~q�d}~00q�d}W|�sJ|
D]}|�'��qn|�sH|
D]}|�'��q80n4|du�r^td��|j(tj)k�rztd|����|g}
|
D]}|�*d
��q�t+�|
||||�}|�r�|�,�t
�-d�IdH�j�r�t�.d|�|S)Nz*ssl argument must be an SSLContext or Nonercrd�posix�cygwinr/csg|]}�j|���d��qS))r>r4)r�)rDr<�r>r4r=rirrr��s�
�z/BaseEventLoop.create_server.<locals>.<listcomp>r�Fz:create_server() failed to create socket.socket(%r, %r, %r)T��exc_info�IPPROTO_IPV6z0error while attempting to bind on address %r: %sz)Neither host/port nor sock were specifiedrnrz
%r is serving)/rrvr6r&r^r�r�r�platformrrG�abc�Iterablerr��setrLrMrNr%r�rr�warningr:r'r(ZSO_REUSEADDRr,r9rr$r�ZIPV6_V6ONLYrWr)rZrXrYr�r?r2rVrr�r�r3)rir�r<r=r>r4r+r�r]r}r~r�r�r�ZhostsZfsrsZ	completed�resrAZsocktyper@Z	canonnameZsar�r�rr�r�
create_server�s�
��
��
�


�������
�zBaseEventLoop.create_server)r]r�c�s�|jtjkrtd|����|dur.|s.td��|dur>t|�|j|||dd|d�IdH\}}|jr~|�d�}t�	d|||�||fS)Nrnrcr/T)r�r�r%z%r handled: (%r, %r))
r?r%r2r&r^rqrrrrr)rir�r+r]r�rqr�rrr�connect_accepted_sockets �
�
z%BaseEventLoop.connect_accepted_socketc�sd|�}|��}|�|||�}z|IdHWn|���Yn0|jr\t�d|��||�||fS)Nz Read pipe %r connected: (%r, %r))rgr�r�rrr�fileno�rir�r�r�r�rqrrr�connect_read_pipe s
�zBaseEventLoop.connect_read_pipec�sd|�}|��}|�|||�}z|IdHWn|���Yn0|jr\t�d|��||�||fS)Nz!Write pipe %r connected: (%r, %r))rgr�r�rrrr�r�rrr�connect_write_pipe0s
�z BaseEventLoop.connect_write_pipecCs�|g}|dur"|�dt|����|durJ|tjkrJ|�dt|����n8|durf|�dt|����|dur�|�dt|����t�d�|��dS)Nzstdin=zstdout=stderr=zstdout=zstderr=� )r:r"rr rrr)rir5r�r�r�r3rrr�_log_subprocess@szBaseEventLoop._log_subprocess)	r�r�r��universal_newlinesr�r��encoding�errors�textc	�s�t|ttf�std��|r"td��|s.td��|dkr>td��|rJtd��|	durZtd��|
durjtd��|�}
d}|jr�d	|}|�||||�|j|
|d
||||fi|��IdH}|jr�|dur�t�d||�||
fS)Nzcmd must be a string� universal_newlines must be Falsezshell must be Truer�bufsize must be 0�text must be False�encoding must be None�errors must be Nonezrun shell command %rT�%s: %r)	rr4rr&rr�r�rr3)rir��cmdr�r�r�r�r�r�r�r�r�r�r��	debug_logrqrrr�subprocess_shellMs6��zBaseEventLoop.subprocess_shellc	�s�|rtd��|rtd��|dkr(td��|r4td��|	durDtd��|
durTtd��|f|}|�}d}|jr�d|��}|�||||�|j||d	||||fi|
��IdH}|jr�|dur�t�d
||�||fS)Nr�zshell must be Falserr�r�r�r�zexecute program Fr�)r&rr�r�rr3)rir�Zprogramr�r�r�r�r�r�r�r�r�r�r�Z
popen_argsr�r�rqrrr�subprocess_execqs6

��zBaseEventLoop.subprocess_execcCs|jSrC)r�rurrr�get_exception_handler�sz#BaseEventLoop.get_exception_handlercCs(|durt|�std|����||_dS)Nz+A callable object or None is expected, got )r�r6r�)riZhandlerrrr�set_exception_handler�s
�z#BaseEventLoop.set_exception_handlerc	Cs|�d�}|sd}|�d�}|dur6t|�||jf}nd}d|vr`|jdur`|jjr`|jj|d<|g}t|�D]�}|dvr|qn||}|dkr�d�t�|��}d	}||�	�7}n2|dkr�d�t�|��}d
}||�	�7}nt
|�}|�|�d|���qntj
d�|�|d
�dS)Nr�z!Unhandled exception in event looprSFZsource_tracebackZhandle_traceback>r�rSr/z+Object created at (most recent call last):
z+Handle created at (most recent call last):
rU�
r�)�getr?�
__traceback__r�r��sortedr�	traceback�format_list�rstriprr:rr�)	rirr�rSr�Z	log_linesr��value�tbrrr�default_exception_handler�s<

���z'BaseEventLoop.default_exception_handlercCs�|jdurRz|�|�Wq�ttfy0�Yq�tyNtjddd�Yq�0n�z|�||�Wn�ttfyz�Ynrty�}zZz|�d||d��Wn6ttfy��Yn ty�tjddd�Yn0WYd}~n
d}~00dS)Nz&Exception in default exception handlerTr�z$Unhandled error in exception handler)r�rSrzeException in default exception handler while handling an unexpected error in custom exception handler)r�r�rTrUr{rr�)rirrXrrrr��s4
���z$BaseEventLoop.call_exception_handlercCs|jr
dS|j�|�dSrC)�
_cancelledr�r:�rirrrr�
_add_callbackszBaseEventLoop._add_callbackcCs|�|�|��dSrC)r�r�r�rrr�_add_callback_signalsafes
z&BaseEventLoop._add_callback_signalsafecCs|jr|jd7_dSr[)r�r�r�rrr�_timer_handle_cancelled!sz%BaseEventLoop._timer_handle_cancelledc	Cs�t|j�}|tkr`|j|tkr`g}|jD]}|jr<d|_q*|�|�q*t�|�||_d|_n4|jr�|jdjr�|jd8_t�	|j�}d|_q`d}|j
s�|jr�d}n*|jr�|jdj}t
td||���t�}|j�|�}|�|�|��|j}|j�r:|jd}|j|k�r�q:t�	|j�}d|_|j
�|�q�t|j
�}t|�D]�}	|j
��}|j�rf�qL|j�r�zJ||_|��}
|��|��|
}||jk�r�t�dt|�|�Wd|_nd|_0n|���qLd}dS)NFrrzExecuting %s took %.3f seconds)r�r��_MIN_SCHEDULED_TIMER_HANDLESr��%_MIN_CANCELLED_TIMER_HANDLES_FRACTIONr�r:r"�heapify�heappopr�r�Z_whenrH�maxr��MAXIMUM_SELECT_TIMEOUTZ	_selectorZselectr�r��range�popleftrr�Z_runr�rr�r)riZsched_countZ
new_scheduledrZtimeoutr$r�Zend_timeZntodo�ir6r8rrrr&sh
��





�zBaseEventLoop._run_oncecCsHt|�t|j�krdS|r2t��|_t�tj�nt�|j�||_dSrC)rvr�r�#get_coroutine_origin_tracking_depthr��#set_coroutine_origin_tracking_depthrZDEBUG_STACK_DEPTH�riZenabledrrrrts���z,BaseEventLoop._set_coroutine_origin_trackingcCs|jSrC)rrurrrr��szBaseEventLoop.get_debugcCs ||_|��r|�|j|�dSrC)rr�r�rr�rrrr��szBaseEventLoop.set_debug)N)N)NNN)NN)NN)N)r)rN)N)NN)FN)rN)NN)NN)Vr�r�r�rkr�rgr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrVr�r�r�r�rr�r�rrr%r!r&r r�r)r/r9r2r;rDr>r@r=r_rtrqryrwrxr|r�r�r%r2ror�r7Z
AI_PASSIVEr�r�r�r�r�rrr�r�r�r�r�r�r�r�r�rrr�r�rrrrr�s���
�
�
�
�
		
&	
	�

�
%���
�/�/���	��z� �%�"29Nr)rr)r)7rG�collections.abcZconcurrent.futuresr*rgr"rLr�r%r�rrr�r�rr�r�r]�ImportErrorr/rrrrrrr	r
rrr
�logr�__all__r�r�r$r9r��objectr�rr"r,rBrQrYr\r^�Protocolr_ZAbstractServerrZAbstractEventLooprrrrr�<module>sd

		
;


Do

?>