CasperSecurity

Current Path : /usr/lib/python3.10/asyncio/__pycache__/
Upload File :
Current File : //usr/lib/python3.10/asyncio/__pycache__/proactor_events.cpython-310.pyc

o

`�wi�@sXdZdZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddl	mZddl	mZddl	m
Z
dd	l	mZdd
l	mZddl	mZddl	mZdd
lmZdd�ZGdd�dejej�ZGdd�deej�ZGdd�deej�ZGdd�de�ZGdd�deej�ZGdd�deeej�Z Gdd�deeej�Z!Gdd�de
j"�Z#dS) z�Event loop using a proactor and related classes.

A proactor is a "notify-on-completion" multiplexer.  Currently a
proactor is only implemented on Windows with IOCP.
)�BaseProactorEventLoop�N�)�base_events)�	constants)�futures)�
exceptions)�	protocols)�sslproto)�
transports)�trsock)�loggercCs�t�|�|jd<z	|��|jd<Wntjy(|j��r&tj	d|dd�Ynwd|jvrIz
|�
�|jd<WdStjyHd|jd<YdSwdS)N�socket�socknamezgetsockname() failed on %rT��exc_info�peername)r�TransportSocket�_extra�getsocknamer
�error�_loop�	get_debugr�warning�getpeername)�	transport�sock�r�./usr/lib/python3.10/asyncio/proactor_events.py�_set_socket_extras"
���
��rcs�eZdZdZ		d�fdd�	Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
ejfdd�Z
ddd�Zdd�Zdd�Zdd�Z�ZS)�_ProactorBasePipeTransportz*Base class for pipe and socket transports.Ncs�t��||�|�|�||_|�|�||_d|_d|_d|_d|_	d|_
d|_d|_d|_
|jdur9|j��|j�|jj|�|durQ|j�tj|d�dSdS)NrF)�super�__init__�
_set_extra�_sock�set_protocol�_server�_buffer�	_read_fut�
_write_fut�_pending_write�
_conn_lost�_closing�_called_connection_lost�_eof_written�_attachr�	call_soon�	_protocol�connection_mader�_set_result_unless_cancelled��self�loopr�protocol�waiter�extra�server��	__class__rrr!2s*




��z#_ProactorBasePipeTransport.__init__cCs�|jjg}|jdur|�d�n|jr|�d�|jdur(|�d|j�����|jdur6|�d|j���|jdurD|�d|j���|jrR|�dt	|j����|j
rZ|�d�d�d	�|��S)
N�closed�closingzfd=zread=zwrite=zwrite_bufsize=zEOF writtenz<{}>� )
r;�__name__r#�appendr+�filenor'r(r&�lenr-�format�join)r4�inforrr�__repr__Is 






z#_ProactorBasePipeTransport.__repr__cCs||jd<dS)N�pipe)r�r4rrrrr"[�z%_ProactorBasePipeTransport._set_extracCs
||_dS�N�r0)r4r6rrrr$^�
z'_ProactorBasePipeTransport.set_protocolcC�|jSrJrK�r4rrr�get_protocola�z'_ProactorBasePipeTransport.get_protocolcCrMrJ)r+rNrrr�
is_closingdrPz%_ProactorBasePipeTransport.is_closingcCs`|jrdSd|_|jd7_|js|jdur|j�|jd�|jdur.|j��d|_dSdS)NTr)	r+r*r&r(rr/�_call_connection_lostr'�cancelrNrrr�closegs


�z _ProactorBasePipeTransport.closecCs0|jdur|d|��t|d�|j��dSdS)Nzunclosed transport )�source)r#�ResourceWarningrT)r4�_warnrrr�__del__rs
�z"_ProactorBasePipeTransport.__del__�Fatal error on pipe transportc	Csnz0t|t�r|j��rtjd||dd�n|j�||||jd��W|�|�dSW|�|�dS|�|�w)Nz%r: %sTr)�message�	exceptionrr6)	�
isinstance�OSErrorrrr�debug�call_exception_handlerr0�_force_close)r4�excrZrrr�_fatal_errorws

�
��z'_ProactorBasePipeTransport._fatal_errorcCs�|jdur|j��s|dur|j�d�n|j�|�|jr#|jr#dSd|_|jd7_|jr8|j��d|_|j	rC|j	��d|_	d|_
d|_|j�
|j|�dS)NTrr)�
_empty_waiter�done�
set_result�
set_exceptionr+r,r*r(rSr'r)r&rr/rR)r4rarrrr`�s"

z'_ProactorBasePipeTransport._force_closec	Cs�|jrdSz6|j�|�Wt|jd�r!|j��dkr!|j�tj�|j�	�d|_|j
}|dur7|��d|_
d|_dSt|jd�rP|j��dkrP|j�tj�|j�	�d|_|j
}|durf|��d|_
d|_w)N�shutdown���T)r,r0�connection_lost�hasattrr#rArgr
�	SHUT_RDWRrTr%�_detach)r4rar9rrrrR�s,

�
z0_ProactorBasePipeTransport._call_connection_lostcCs"|j}|jdur|t|j�7}|SrJ)r)r&rB)r4�sizerrr�get_write_buffer_size�s
z0_ProactorBasePipeTransport.get_write_buffer_size�NNN)rY)r?�
__module__�__qualname__�__doc__r!rFr"r$rOrQrT�warnings�warnrXrbr`rRrn�
__classcell__rrr:rr.s �
rcsXeZdZdZ		d�fdd�	Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	ddd�Z
�ZS)�_ProactorReadPipeTransportzTransport for read pipes.N�csDd|_d|_t��||||||�t|�|_|j�|j�d|_dS)NrhTF)	�_pending_data_length�_pausedr r!�	bytearray�_datarr/�
_loop_reading)r4r5rr6r7r8r9�buffer_sizer:rrr!�s

z#_ProactorReadPipeTransport.__init__cCs|jo|jSrJ)ryr+rNrrr�
is_reading�sz%_ProactorReadPipeTransport.is_readingcCs4|js|jrdSd|_|j��rt�d|�dSdS)NTz%r pauses reading)r+ryrrrr^rNrrr�
pause_reading�s

�z(_ProactorReadPipeTransport.pause_readingcCs~|js|jsdSd|_|jdur|j�|jd�|j}d|_|dkr0|j�|j|jd|�|�|j�	�r=t
�d|�dSdS)NFrhz%r resumes reading)r+ryr'rr/r|rx�_data_receivedr{rrr^)r4�lengthrrr�resume_reading�s

�z)_ProactorReadPipeTransport.resume_readingc
Cs~|j��rt�d|�z|j��}Wn"ttfy�ty4}z
|�	|d�WYd}~dSd}~ww|s=|�
�dSdS)Nz%r received EOFz1Fatal error: protocol.eof_received() call failed.)rrrr^r0�eof_received�
SystemExit�KeyboardInterrupt�
BaseExceptionrbrT)r4�	keep_openrarrr�
_eof_received�s 
����z(_ProactorReadPipeTransport._eof_receivedc
Cs�|jr|jdks
J�||_dS|dkr|��dSt|jtj�rMz
t�|j|�WdStt	fy4�t
yL}z
|�|d�WYd}~dSd}~ww|j�|�dS)Nrhrz3Fatal error: protocol.buffer_updated() call failed.)
ryrxr�r\r0r�BufferedProtocol�_feed_data_to_buffered_protor�r�r�rb�
data_received)r4�datar�rarrrr��s(���z)_ProactorReadPipeTransport._data_receivedc
Cs�d}d}z�za|durD|j|us|jdur|jsJ�d|_|��r@|��}|dkr8WW|dkr6|�||�dSdS|jd|�}n|��|jrWWW|dkrU|�||�dSdS|jse|jj	�
|j|j�|_Wnbty�}z|jsx|�
|d�n|j��r�tjddd�WYd}~nId}~wty�}z|�|�WYd}~n3d}~wty�}z|�
|d�WYd}~nd}~wtjy�|jsƂYnw|js�|j�|j�W|dkr�|�||�dSdS|dkr�|�||�ww)Nrhrz"Fatal read error on pipe transportz*Read error on pipe transport while closingTr)r'r+rd�resultr�r{rSryr�	_proactor�	recv_intor#�ConnectionAbortedErrorrbrrr^�ConnectionResetErrorr`r]r�CancelledError�add_done_callbackr|)r4�futr�r�rarrrr|sh�"�����
���������z(_ProactorReadPipeTransport._loop_reading)NNNrwrJ)r?rprqrrr!r~rr�r�r�r|rurrr:rrv�s�
rvcs^eZdZdZdZ�fdd�Zdd�Zddd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Z�Z
S)�_ProactorBaseWritePipeTransportzTransport for write pipes.Tcst�j|i|��d|_dSrJ)r r!rc�r4�args�kwr:rrr!Ms
z(_ProactorBaseWritePipeTransport.__init__cCs�t|tttf�stdt|�j����|jrtd��|j	dur"td��|s&dS|j
r=|j
tjkr4t
�d�|j
d7_
dS|jdurS|jdusIJ�|jt|�d�dS|jsat|�|_|��dS|j�|�|��dS)Nz/data argument must be a bytes-like object, not zwrite_eof() already calledz(unable to write; sendfile is in progresszsocket.send() raised exception.r)r�)r\�bytesrz�
memoryview�	TypeError�typer?r-�RuntimeErrorrcr*r�!LOG_THRESHOLD_FOR_CONNLOST_WRITESrrr(r&�
_loop_writing�_maybe_pause_protocol�extend)r4r�rrr�writeQs2��



z%_ProactorBaseWritePipeTransport.writeNc
Cs�z�|dur|jdur|jrWdS||jusJ�d|_d|_|r#|��|dur-|j}d|_|sI|jr:|j�|jd�|jrD|j	�
tj�|�
�n.|jj�|j	|�|_|j��sp|jdks_J�t|�|_|j�|j�|��n|j�|j�|jdur�|jdur�|j�d�WdSWdSWdSty�}z|�|�WYd}~dSd}~wty�}z
|�|d�WYd}~dSd}~ww)Nrz#Fatal write error on pipe transport)r(r+r)r�r&rr/rRr-r#rgr
�SHUT_WR�_maybe_resume_protocolr��sendrdrBr�r�r�rcrer�r`r]rb)r4�fr�rarrrr�wsD



����z-_ProactorBaseWritePipeTransport._loop_writingcC�dS�NTrrNrrr�
can_write_eof��z-_ProactorBaseWritePipeTransport.can_write_eofcCs|��dSrJ)rTrNrrr�	write_eof�sz)_ProactorBaseWritePipeTransport.write_eofcC�|�d�dSrJ�r`rNrrr�abort�rIz%_ProactorBaseWritePipeTransport.abortcCs:|jdur	td��|j��|_|jdur|j�d�|jS)NzEmpty waiter is already set)rcr�r�
create_futurer(rerNrrr�_make_empty_waiter�s

z2_ProactorBaseWritePipeTransport._make_empty_waitercCs
d|_dSrJ)rcrNrrr�_reset_empty_waiter�rLz3_ProactorBaseWritePipeTransport._reset_empty_waiter�NN)r?rprqrr�_start_tls_compatibler!r�r�r�r�r�r�r�rurrr:rr�Gs
&)r�cs$eZdZ�fdd�Zdd�Z�ZS)�_ProactorWritePipeTransportcs8t�j|i|��|jj�|jd�|_|j�|j�dS)N�)	r r!rr��recvr#r'r��_pipe_closedr�r:rrr!�sz$_ProactorWritePipeTransport.__init__cCsx|��rdS|��dksJ�|jr|jdusJ�dS||jus&J||jf��d|_|jdur6|�t��dS|��dS)N�)�	cancelledr�r+r'r(r`�BrokenPipeErrorrT)r4r�rrrr��s
z(_ProactorWritePipeTransport._pipe_closed)r?rprqr!r�rurrr:rr��sr�cs\eZdZdZ		d�fdd�	Zdd�Zdd�Zd	d
�Zddd�Zdd
d�Z	ddd�Z
�ZS)�_ProactorDatagramTransportiNcs>||_d|_t�j|||||d�t��|_|j�|j	�dS)N)r7r8)
�_addressrcr r!�collections�dequer&rr/r|)r4r5rr6�addressr7r8r:rrr!�s

z#_ProactorDatagramTransport.__init__cC�t||�dSrJ�rrHrrrr"�rIz%_ProactorDatagramTransport._set_extracCstdd�|jD��S)Ncss�|]	\}}t|�VqdSrJ)rB)�.0r��_rrr�	<genexpr>�s�zC_ProactorDatagramTransport.get_write_buffer_size.<locals>.<genexpr>)�sumr&rNrrrrn�sz0_ProactorDatagramTransport.get_write_buffer_sizecCr�rJr�rNrrrr��rIz _ProactorDatagramTransport.abortcCs�t|tttf�stdt|���|sdS|jdur'|d|jfvr'td|j����|jrA|jrA|jt	j
kr8t�d�|jd7_dS|j
�t|�|f�|jdurT|��|��dS)Nz,data argument must be bytes-like object (%r)z!Invalid address: must be None or z!socket.sendto() raised exception.r)r\r�rzr�r�r�r��
ValueErrorr*rr�rrr&r@r(r�r�)r4r��addrrrr�sendto�s&�
�

z!_ProactorDatagramTransport.sendtoc
Cs"zR|jrWdS||jusJ�d|_|r|��|jr |jr.|jr.|jr+|j�|jd�WdS|j�	�\}}|jdurE|jj
�|j|�|_n|jj
j
|j||d�|_Wn1tyk}z
|j�|�WYd}~dSd}~wty�}z
|�|d�WYd}~dSd}~ww|j�|j�|��dS)N)r�z'Fatal write error on datagram transport)r*r(r�r&r�r+rr/rR�popleftr�r�r#r�r]r0�error_received�	Exceptionrbr�r�r�)r4r�r�r�rarrrr��s<
������z(_ProactorDatagramTransport._loop_writingc
Cs�d}z�z�|jrWW|r|j�||�dSdS|j|us%|jdur#|js%J�d|_|durT|��}|jrDd}WW|rB|j�||�dSdS|jdurP||j}}n|\}}|jrfWW|rd|j�||�dSdS|jdurw|jj�	|j
|j�|_n|jj�|j
|j�|_Wn%t
y�}z|j�|�WYd}~nd}~wtjy�|js��Yn
w|jdur�|j�|j�W|r�|j�||�dSdS|r�|j�||�wwrJ)r*r0�datagram_receivedr'r+r�r�rr�r�r#�max_size�recvfromr]r�rr�r�r|)r4r�r�r��resrarrrr| sf$����
��
�������
���z(_ProactorDatagramTransport._loop_readingrorJ)r?rprqr�r!r"rnr�r�r�r|rurrr:rr��s�

!r�c@s eZdZdZdd�Zdd�ZdS)�_ProactorDuplexPipeTransportzTransport for duplex pipes.cCr�)NFrrNrrrr�Qr�z*_ProactorDuplexPipeTransport.can_write_eofcCst�rJ)�NotImplementedErrorrNrrrr�Tr�z&_ProactorDuplexPipeTransport.write_eofN)r?rprqrrr�r�rrrrr�Lsr�csFeZdZdZejjZ		d�fdd�	Zdd�Z	dd�Z
d	d
�Z�ZS)�_ProactorSocketTransportz Transport for connected sockets.Ncs$t��||||||�t�|�dSrJ)r r!r�_set_nodelayr3r:rrr!_sz!_ProactorSocketTransport.__init__cCr�rJr�rHrrrr"drIz#_ProactorSocketTransport._set_extracCr�r�rrNrrrr�gr�z&_ProactorSocketTransport.can_write_eofcCs6|js|jrdSd|_|jdur|j�tj�dSdSr�)r+r-r(r#rgr
r�rNrrrr�js
�z"_ProactorSocketTransport.write_eofro)
r?rprqrrr�
_SendfileMode�
TRY_NATIVE�_sendfile_compatibler!r"r�r�rurrr:rr�Xs�r�cseZdZ�fdd�Z		d3dd�Z	d4dddddd�dd	�Z	d3d
d�Z		d5dd
�Z		d5dd�Z		d5dd�Z	�fdd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd4d&d'�Zd(d)�Z	*	d6d+d,�Zd-d.�Zd/d0�Zd1d2�Z�ZS)7rcslt���t�d|jj�||_||_d|_i|_	|�
|�|��t�
�t��ur4t�|j���dSdS)NzUsing proactor: %s)r r!rr^r;r?r��	_selector�_self_reading_future�_accept_futures�set_loop�_make_self_pipe�	threading�current_thread�main_thread�signal�
set_wakeup_fd�_csockrA)r4�proactorr:rrr!ts

�zBaseProactorEventLoop.__init__NcC�t||||||�SrJ)r�)r4rr6r7r8r9rrr�_make_socket_transport��
�z,BaseProactorEventLoop._make_socket_transportF)�server_side�server_hostnamer8r9�ssl_handshake_timeoutc	Cs0tj|||||||	d�}
t|||
||d�|
jS)N)r��r8r9)r	�SSLProtocolr��_app_transport)r4�rawsockr6�
sslcontextr7r�r�r8r9r��ssl_protocolrrr�_make_ssl_transport�s��z)BaseProactorEventLoop._make_ssl_transportcCr�rJ)r�)r4rr6r�r7r8rrr�_make_datagram_transport�r�z.BaseProactorEventLoop._make_datagram_transportcC�t|||||�SrJ)r��r4rr6r7r8rrr�_make_duplex_pipe_transport�s�z1BaseProactorEventLoop._make_duplex_pipe_transportcCr�rJ)rvr�rrr�_make_read_pipe_transport�sz/BaseProactorEventLoop._make_read_pipe_transportcCr�rJ)r�r�rrr�_make_write_pipe_transport�s�z0BaseProactorEventLoop._make_write_pipe_transportcsj|��rtd��|��rdSt��t��urt�d�|��|�	�|j
��d|_
d|_t
���dS)Nz!Cannot close a running event looprh)�
is_runningr��	is_closedr�r�r�r�r��_stop_accept_futures�_close_self_piper�rTr�r rNr:rrrT�s

zBaseProactorEventLoop.closec���|j�||�IdHSrJ)r�r�)r4r�nrrr�	sock_recv���zBaseProactorEventLoop.sock_recvc�r�rJ)r�r�)r4r�bufrrr�sock_recv_into�r�z$BaseProactorEventLoop.sock_recv_intoc�r�rJ)r�r�)r4rr�rrr�sock_sendall�r�z"BaseProactorEventLoop.sock_sendallc�r�rJ)r��connect)r4rr�rrr�sock_connect�r�z"BaseProactorEventLoop.sock_connectc�s�|j�|�IdHSrJ)r��acceptrHrrr�sock_accept�s�z!BaseProactorEventLoop.sock_acceptc
�s�z|��}Wnttjfy}zt�d��d}~wwzt�|�j}Wnt	y0t�d��w|r5|n|}|s;dSt
|d�}|rIt
|||�n|}	t
||�}d}
z.	t
|	||�}|dkrl|
W|
dkrk|�|�SS|j�
||||�IdH||7}|
|7}
qT|
dkr�|�|�ww)Nznot a regular filerl��)rA�AttributeError�io�UnsupportedOperationr�SendfileNotAvailableError�os�fstat�st_sizer]�min�seekr��sendfile)r4r�file�offset�countrA�err�fsize�	blocksize�end_pos�
total_sentrrr�_sock_sendfile_native�sD�
��
�

����z+BaseProactorEventLoop._sock_sendfile_nativec�sn�|��}|��|��IdHz|j|j|||dd�IdHW|��|r*|��SS|��|r6|��ww)NF)�fallback)r~rr��
sock_sendfiler#r�r�)r4�transprrrr�rrr�_sendfile_native�s ��
��
�z&BaseProactorEventLoop._sendfile_nativecCsL|jdur
|j��d|_|j��d|_|j��d|_|jd8_dS)Nr)r�rS�_ssockrTr��
_internal_fdsrNrrrr��s



z&BaseProactorEventLoop._close_self_pipecCs:t��\|_|_|j�d�|j�d�|jd7_dS)NFr)r
�
socketpairrr��setblockingrrNrrrr��sz%BaseProactorEventLoop._make_self_pipec
Cs�z|dur	|��|j|urWdS|j�|jd�}Wn/tjy%YdSttfy.�t	yI}z|�
d||d��WYd}~dSd}~ww||_|�|j�dS)Niz.Error on reading from the event loop self pipe)rZr[r5)
r�r�r�r�rrr�r�r�r�r_r��_loop_self_reading)r4r�rarrrr s(
���z(BaseProactorEventLoop._loop_self_readingcCsR|j}|dur	dSz|�d�WdSty(|jr%tjddd�YdSYdSw)N�z3Fail to write a null byte into the self-pipe socketTr)r�r�r]�_debugrr^)r4�csockrrr�_write_to_self s���z$BaseProactorEventLoop._write_to_self�dcs(d�������fdd�	�����dS)Nc
sJzE|dur7|��\}}�jrt�d�||���}�dur,�j||�dd|i��d�n�j||d|i�d����r>WdS�j���}WnQt	y�}z7��
�dkrd��d|t�
��d�����n�jrvtjd	�dd
�WYd}~dSWYd}~dSWYd}~dSd}~wtjy����YdSw|�j��
�<|���dS)Nz#%r got a new connection from %r: %rTr)r�r8r9r�r�rhzAccept failed on a socket)rZr[r
zAccept failed on socket %rr)r�r"rr^r�r�r�r�rr]rAr_rrrTrr�r�r�)r��connr�r6ra�r5�protocol_factoryr4r9rr�r�rrr56sR����
�����z2BaseProactorEventLoop._start_serving.<locals>.looprJ)r/)r4r(rr�r9�backlogr�rr'r�_start_serving2s%z$BaseProactorEventLoop._start_servingcCsdSrJr)r4�
event_listrrr�_process_events]sz%BaseProactorEventLoop._process_eventscCs&|j��D]}|��q|j��dSrJ)r��valuesrS�clear)r4�futurerrrr�as
z*BaseProactorEventLoop._stop_accept_futurescCs6|j�|��d�}|r|��|j�|�|��dSrJ)r��poprArSr��
_stop_servingrT)r4rr/rrrr1fs
z#BaseProactorEventLoop._stop_servingrorJr�)NNr%N)r?rprqr!r�r�r�r�r�r�rTr�r�rrrrrr�r�r r$r*r,r�r1rurrr:rrrsP

���
�
�
�
�


�+r)$rr�__all__rr	r
rsr�r�r��rrrrrr	r
r�logrr�_FlowControlMixin�
BaseTransportr�
ReadTransportrv�WriteTransportr�r��DatagramTransportr��	Transportr�r��
BaseEventLooprrrrr�<module>sX���n���
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY