Your IP : 3.12.152.183


Current Path : /opt/alt/python313/lib64/python3.13/asyncio/__pycache__/
Upload File :
Current File : //opt/alt/python313/lib64/python3.13/asyncio/__pycache__/proactor_events.cpython-313.pyc

�

1}gׂ���SrSrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	J
r
 SSK	Jr SSK	Jr SSK	J
r
 SS	K	Jr SS
K	Jr SSK	Jr SSK	Jr SS
KJr Sr"SS\R*\R,5r"SS\\R05r"SS\\R45r"SS\5r"SS\\R:5r"SS\\\R>5r "SS\\\R>5r!"SS\
RD5r#g)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)�loggerc���[R"U5URS'UR5URS'SUR;aUR5URS'gg![R
a8 URR5(a[R"SUSS9 N{f=f![R
a SURS'gf=f)N�socket�socknamezgetsockname() failed on %rT��exc_info�peername)r�TransportSocket�_extra�getsocknamer�error�_loop�	get_debugr
�warning�getpeername)�	transport�socks  �>/opt/alt/python313/lib64/python3.13/asyncio/proactor_events.py�_set_socket_extrars���!'�!7�!7��!=�I���X��C�'+�'7�'7�'9�	����$���)�)�)�	0�+/�+;�+;�+=�I���Z�(�*���<�<�C��?�?�$�$�&�&��N�N�,�d�T�
C��C���|�|�	0�+/�I���Z�(�	0�s$�A2�C�2A	B>�=B>�#C'�&C'c�^�\rSrSrSrSU4SjjrSrSrSrSr	Sr
S	r\R4S
jrSSjrSrS
rSrSrU=r$)�_ProactorBasePipeTransport�.z*Base class for pipe and socket transports.c�>�[TU]XQ5 URU5 X lUR	U5 X`lSUlSUlSUlSUl	SUl
SUlSUlSUl
UR
bUR
RU5 URR!UR"R$U5 Ub,URR![&R(US5 gg)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__s       �rr%�#_ProactorBasePipeTransport.__init__2s����
����%�������
����(�#��������������������
�',��$�!����<�<�#��L�L� � ��&��
�
���T�^�^�;�;�T�B����J�J� � ��!E�!E�!'��
/��c���URR/nURcURS5 O"UR(aURS5 URb,URSURR535 URbURSUR<35 URbURSUR<35 UR(a'URS[UR535 UR(aURS5 SRS	RU55$)
N�closed�closingzfd=zread=zwrite=zwrite_bufsize=zEOF writtenz<{}>� )
r>�__name__r'�appendr/�filenor+r,r*�lenr1�format�join)r8�infos  r�__repr__�#_ProactorBasePipeTransport.__repr__Is������'�'�(���:�:���K�K��!�
�]�]��K�K�	�"��:�:�!��K�K�#�d�j�j�/�/�1�2�3�4��>�>�%��K�K�%����1�2�3��?�?�&��K�K�&���� 3�4�5��<�<��K�K�.��T�\�\�):�(;�<�=�����K�K�
�&��}�}�S�X�X�d�^�,�,r@c� �XRS'g)N�pipe)r�r8rs  rr&�%_ProactorBasePipeTransport._set_extra[s��"���F�r@c��Xlg�N�r4)r8r:s  rr(�'_ProactorBasePipeTransport.set_protocol^s��!�r@c��UR$rSrT�r8s r�get_protocol�'_ProactorBasePipeTransport.get_protocolas���~�~�r@c��UR$rS)r/rWs r�
is_closing�%_ProactorBasePipeTransport.is_closingds���}�}�r@c�F�UR(agSUlU=RS-
slUR(d3URc&URRURS5 URb"URR5 SUlgg)NTr)	r/r.r*r,rr3�_call_connection_lostr+�cancelrWs r�close� _ProactorBasePipeTransport.closegsq���=�=����
����1����|�|���� 7��J�J� � ��!;�!;�T�B��>�>�%��N�N�!�!�#�!�D�N�&r@c�t�URb+U"SU<3[US9 URR5 gg)Nzunclosed transport )�source)r'�ResourceWarningr`)r8�_warns  r�__del__�"_ProactorBasePipeTransport.__del__rs5���:�:�!��'��x�0�/�$�O��J�J����"r@c�>�[U[5(a6URR5(a[R
"SXSS9 O*URR
UUUURS.5 URU5 g!URU5 f=f)Nz%r: %sTr)�message�	exceptionrr:)	�
isinstance�OSErrorrrr
�debug�call_exception_handlerr4�_force_close)r8�excris   r�_fatal_error�'_ProactorBasePipeTransport._fatal_errorws~��	#��#�w�'�'��:�:�'�'�)�)��L�L��4�4�H���
�
�1�1�&�!$�!%� $���	3��
���c�"��D���c�"�s�A5B	�	Bc�~�URbYURR5(d:UcURRS5 OURRU5 UR(aUR
(agSUlU=RS-
slUR(a!URR5 SUlUR(a!URR5 SUl	SUl
SUlURRURU5 g)NTrr)�
_empty_waiter�done�
set_result�
set_exceptionr/r0r.r,r_r+r-r*rr3r^)r8rps  rro�'_ProactorBasePipeTransport._force_close�s������)�$�2D�2D�2I�2I�2K�2K��{��"�"�-�-�d�3��"�"�0�0��5��=�=�T�9�9����
����1����?�?��O�O�"�"�$�"�D�O��>�>��N�N�!�!�#�!�D�N��������
�
���T�7�7��=r@c�.�UR(agURRU5 [URS5(aGURR5S:wa)URR
[R5 URR5 SUlURnUbURU5 SUl
SUlg![URS5(aGURR5S:wa)URR
[R5 URR5 SUlURnUbURU5 SUl
SUlf=f)N�shutdown���T)r0r4�connection_lost�hasattrr'rGrzr�	SHUT_RDWRr`r)�_detach)r8rpr=s   rr^�0_ProactorBasePipeTransport._call_connection_lost�s'���'�'��	0��N�N�*�*�3�/��t�z�z�:�.�.�4�:�:�3D�3D�3F�"�3L��
�
�#�#�F�$4�$4�5��J�J�����D�J��\�\�F��!����t�$�#���+/�D�(���t�z�z�:�.�.�4�:�:�3D�3D�3F�"�3L��
�
�#�#�F�$4�$4�5��J�J�����D�J��\�\�F��!����t�$�#���+/�D�(�s�C!�!B3Fc�h�URnURbU[UR5-
nU$rS)r-r*rH)r8�sizes  r�get_write_buffer_size�0_ProactorBasePipeTransport.get_write_buffer_size�s/���"�"���<�<�#��C����%�%�D��r@)r*r0r/r.r1r-r4r+r)r'r,�NNN)zFatal error on pipe transport)rE�
__module__�__qualname__�__firstlineno__�__doc__r%rLr&r(rXr[r`�warnings�warnrfrqror^r��__static_attributes__�
__classcell__�r>s@rr!r!.sV���4�48�$(�/�.-�$#�"���	"�%�M�M��

#�>�(0�(�r@r!c�\^�\rSrSrSrSU4SjjrSrSrSrSr	Sr
SS	jrS
rU=r
$)
�_ProactorReadPipeTransport�zTransport for read pipes.c�>�SUlSUl[TU]
XX4XV5 [	U5UlURRUR5 SUlg)Nr{TF)	�_pending_data_length�_pausedr$r%�	bytearray�_datarr3�
_loop_reading)	r8r9rr:r;r<r=�buffer_sizer>s	        �rr%�#_ProactorReadPipeTransport.__init__�sN���$&��!����
����X�u�E��{�+��
��
�
���T�/�/�0���r@c�T�UR(+=(a UR(+$rS)r�r/rWs r�
is_reading�%_ProactorReadPipeTransport.is_reading�s���<�<��5��
�
�$5�5r@c���UR(dUR(agSUlURR5(a[R
"SU5 gg)NTz%r pauses reading)r/r�rrr
rmrWs r�
pause_reading�(_ProactorReadPipeTransport.pause_reading�sB���=�=�D�L�L������:�:���!�!��L�L�,�d�3�"r@c���UR(dUR(dgSUlURc&URR	UR
S5 URnSUlUS:�a4URR	URURSUU5 URR5(a[R"SU5 gg)NFr{z%r resumes reading)r/r�r+rr3r�r��_data_receivedr�rr
rm)r8�lengths  r�resume_reading�)_ProactorReadPipeTransport.resume_reading�s����=�=���������>�>�!��J�J� � ��!3�!3�T�:��*�*��$&��!��B�;�
�J�J� � ��!4�!4�d�j�j��&�6I�6�R��:�:���!�!��L�L�-�t�4�"r@c�H�URR5(a[R"SU5 URR5nU(dUR5 gg![[4a e[anURUS5 SnAgSnAff=f)Nz%r received EOFz1Fatal error: protocol.eof_received() call failed.)rrr
rmr4�eof_received�
SystemExit�KeyboardInterrupt�
BaseExceptionrqr`)r8�	keep_openrps   r�
_eof_received�(_ProactorReadPipeTransport._eof_received�s����:�:���!�!��L�L�*�D�1�	����3�3�5�I���J�J�L����-�.�	���	�����H�
J���	�s�A+�+B!�B�B!c���UR(aURS:XdeX lgUS:XaUR5 g[UR[
R5(a#[
R"URU5 gURRU5 g![[4a e[anURUS5 SnAgSnAff=f)Nr{rz3Fatal error: protocol.buffer_updated() call failed.)
r�r�r�rkr4r	�BufferedProtocol�_feed_data_to_buffered_protor�r�r�rq�
data_received)r8�datar�rps    rr��)_ProactorReadPipeTransport._data_received�s����<�<��,�,��2�2�2�(.�%���Q�;���� ���d�n�n�i�&@�&@�A�A�
��6�6�t�~�~�t�L�
�N�N�(�(��.��� 1�2�
�� �
��!�!�#�#1�2���	
�s�,!B*�*C �C�C c��SnSnUb�URULd URcUR(deSUlUR5(aRUR5nUS:XaUS:�aUR	X25 gg[[
UR5SU5nOUR5 UR(aUS:�aUR	X25 ggUR(d?URRRURUR5UlUR(d%URRUR5 US:�aUR	X25 gg![ afnUR(dUR#US5 SnANKURR%5(a[&R("SSS9 SnAN�SnAf[*anUR-U5 SnAN�SnAf[.anUR#US5 SnAN�SnAf[0R2a UR(deN�f=f!US:�aUR	X25 ff=f)Nr{rz"Fatal read error on pipe transportz*Read error on pipe transport while closingTr)r+r/ru�resultr��bytes�
memoryviewr�r_r�r�	_proactor�	recv_intor'�add_done_callbackr��ConnectionAbortedErrorrqrr
rm�ConnectionResetErrorrorlr�CancelledError)r8�futr�r�rps     rr��(_ProactorReadPipeTransport._loop_readings�������.	2����~�~��,����1G�15���@�@�!%����8�8�:�:� �Z�Z�\�F���{��F��{��#�#�D�1��A!��D�J�J�!7���!@�A�D��J�J�L��}�}��2��{��#�#�D�1��)�<�<�!%���!5�!5�!?�!?��
�
�D�J�J�!W����<�<����0�0��1C�1C�D���{��#�#�D�1���#&�	,��=�=��!�!�#�'K�L�L����%�%�'�'����I�&*�,���#�	#����c�"�"���	I����c�#G�H�H���(�(�	��=�=��!�	����{��#�#�D�1��sz�A$F�AF�!AF�16I!�
I�
#G+�-I!�24G+�&I!�+
I�8H�	I!�
I�H2�-I!�2)I�I!�I�I!�!I;)r�r�r�r+)NNNirS)rEr�r�r�r�r%r�r�r�r�r�r�r�r�r�s@rr�r��s4���#�48�6;��6�4�&5�$� /�212�12r@r�c�^^�\rSrSrSrSrU4SjrSrS
SjrSr	Sr
S	rS
rSr
SrU=r$)�_ProactorBaseWritePipeTransportiHzTransport for write pipes.Tc�4>�[TU]"U0UD6 SUlgrS)r$r%rt�r8�args�kwr>s   �rr%�(_ProactorBaseWritePipeTransport.__init__Ns���
���$�%�"�%�!��r@c���[U[[[45(d![	S[U5R35eUR(a[S5eURb[S5eU(dgUR(aJUR[R:�a[R"S5 U=RS-
sl
gURc(UR beUR#[U5S9 gUR (d![U5UlUR%5 gUR R'U5 UR%5 g)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�)rkr�r�r��	TypeError�typerEr1�RuntimeErrorrtr.r�!LOG_THRESHOLD_FOR_CONNLOST_WRITESr
rr,r*�
_loop_writing�_maybe_pause_protocol�extend)r8r�s  r�write�%_ProactorBaseWritePipeTransport.writeRs���$��	�:� >�?�?����D�z�*�*�+�-�.�
.�����;�<�<����)��I�J�J����?�?����)�"M�"M�M����@�A��O�O�q� �O���?�?�"��<�<�'�'�'����E�$�K��0����$�T�?�D�L��&�&�(�
�L�L����%��&�&�(r@c��UbURcUR(agXRLdeSUlSUlU(aUR5 UcURnSUlU(d�UR(a&UR
R
URS5 UR(a)URR[R5 UR5 O�UR
RRURU5UlURR!5(dXURS:Xde[#U5UlURR%UR&5 UR)5 O%URR%UR&5 UR*b*URcUR*R-S5 ggg![.anUR1U5 SnAgSnAf[2anUR5US5 SnAgSnAff=f)Nrz#Fatal write error on pipe transport)r,r/r-r�r*rr3r^r1r'rzr�SHUT_WR�_maybe_resume_protocolr��sendrurHr�r�r�rtrvr�rorlrq)r8�fr�rps    rr��-_ProactorBaseWritePipeTransport._loop_writingxs���&	J��}����!8�T�]�]�����'�'�'�"�D�O�"#�D������
��|��|�|��#�����=�=��J�J�(�(��)C�)C�T�J��$�$��J�J�'�'����7��+�+�-�"&�*�*�"6�"6�";�";�D�J�J��"M������+�+�-�-��.�.�!�3�3�3�*-�d�)�D�'��O�O�5�5�d�6H�6H�I��.�.�0��O�O�5�5�d�6H�6H�I��!�!�-�$�/�/�2I��"�"�-�-�d�3�3J�-��#�	#����c�"�"���	J����c�#H�I�I��	J�s)�!H�GH�
I
�H!�!
I
�.I�I
c��g�NT�rWs r�
can_write_eof�-_ProactorBaseWritePipeTransport.can_write_eof����r@c�$�UR5 grS)r`rWs r�	write_eof�)_ProactorBaseWritePipeTransport.write_eof�s���
�
�r@c�&�URS5 grS�rorWs r�abort�%_ProactorBaseWritePipeTransport.abort�������$�r@c���URb[S5eURR5UlURcURRS5 UR$)NzEmpty waiter is already set)rtr�r�
create_futurer,rvrWs r�_make_empty_waiter�2_ProactorBaseWritePipeTransport._make_empty_waiter�sY�����)��<�=�=�!�Z�Z�5�5�7����?�?�"����)�)�$�/��!�!�!r@c��SUlgrS)rtrWs r�_reset_empty_waiter�3_ProactorBaseWritePipeTransport._reset_empty_waiter�s
��!��r@)r*rtr-r,�NN)rEr�r�r�r��_start_tls_compatibler%r�r�r�r�r�r�r�r�r�r�s@rr�r�Hs<���$� ��"�$)�L'J�R�� �"�"�"r@r�c�.^�\rSrSrU4SjrSrSrU=r$)�_ProactorWritePipeTransporti�c��>�[TU]"U0UD6 URRR	UR
S5UlURRUR5 g)N�)	r$r%rr��recvr'r+r��_pipe_closedr�s   �rr%�$_ProactorWritePipeTransport.__init__�sO���
���$�%�"�%����-�-�2�2�4�:�:�r�B������(�(��):�):�;r@c�Z�UR5(agUR5S:XdeUR(aURbegXRLdXR45eSUlURbUR[
55 gUR5 g)Nr@)�	cancelledr�r/r+r,ro�BrokenPipeErrorr`)r8r�s  rr��(_ProactorWritePipeTransport._pipe_closed�s����=�=�?�?���z�z�|�s�"�"�"��=�=��>�>�)�)�)���n�n�$�;�s�N�N�&;�;�$�����?�?�&����o�/�0��J�J�Lr@)r+)rEr�r�r�r%r�r�r�r�s@rr�r��s���<�

�
r@r�c�d^�\rSrSrSrSU4SjjrSrSrSrSSjr	SSjr
SS	jrS
rU=r
$)
�_ProactorDatagramTransporti�ic��>�X@lSUlSUl[TU]XX5US9 [
R"5UlURRUR5 g)Nr)r;r<)�_addressrt�_buffer_sizer$r%�collections�dequer*rr3r�)r8r9rr:�addressr;r<r>s       �rr%�#_ProactorDatagramTransport.__init__�sX����
�!������	����X�E��J�#�(�(�*����
�
���T�/�/�0r@c��[X5 grS�rrPs  rr&�%_ProactorDatagramTransport._set_extra��
���$�%r@c��UR$rS)r�rWs rr��0_ProactorDatagramTransport.get_write_buffer_size�s��� � � r@c�&�URS5 grSr�rWs rr�� _ProactorDatagramTransport.abort�r�r@c��[U[[[45(d[	S[U55eURb*USUR4;a[SUR35eUR(a[UR(aJUR[R:�a[R"S5 U=RS-
slgURR[U5U45 U=R[!U5S--
slUR"cUR%5 UR'5 g)Nz,data argument must be bytes-like object (%r)z!Invalid address: must be None or z!socket.sendto() raised exception.r�)rkr�r�r�r�r�r��
ValueErrorr.rr�r
rr*rFr�rHr,r�r�)r8r��addrs   r�sendto�!_ProactorDatagramTransport.sendto�s����$��	�:� >�?�?��J� ��J�(�
(��=�=�$��d�D�M�M�5J�)J��3�D�M�M�?�C�E�
E��?�?�t�}�}����)�"M�"M�M����B�C��O�O�q� �O��	
�����U�4�[�$�/�0����S��Y��]�*���?�?�"���� �	
�"�"�$r@c���UR(agXRLdeSUlU(aUR5 UR(a"UR(aIUR(a8UR
(a&URRURS5 gURR5up#U=R[U5-sl
URb6URRRURU5UlO4URRRURUUS9UlURR!UR"5 UR%5 g![&a%nUR(R+U5 SnAgSnAf[,anUR/US5 SnAgSnAff=f)N)rz'Fatal write error on datagram transport)r.r,r�r*r�r/rr3r^�popleftr�rHr�r�r'r
r�r�r�rlr4�error_received�	Exceptionrq)r8r�r�rrps     rr��(_ProactorDatagramTransport._loop_writing�s`��	*������/�/�)�)�)�"�D�O���
�
���<�<�D�O�O��
�
��=�=��J�J�(�(��)C�)C�T�J�����-�-�/�J�D�����T��*���}�}�(�"&�*�*�"6�"6�";�";�D�J�J�<@�#B���#'�*�*�"6�"6�"=�"=�d�j�j�>B�CG�#>�#I���
�O�O�-�-�d�.@�.@�A��'�'�)��
�	/��N�N�)�)�#�.�.���	N����c�#L�M�M��	N�s0�F�BF�-B1F�
G'�F>�>
G'�G"�"G'c���SnUR(a&U(aURRUW5 ggURULd URcUR(deSUlUbgUR5nUR(a(SnU(aURRUW5 ggURb
X@Rp2OUup#UR(a&U(aURRUW5 ggURb@URRRURUR5UlO?URRRURUR5UlURb%URRUR5 U(aURRUW5 gg![a%nURR!U5 SnANOSnAf["R$a UR(deNzf=f!U(aURRUW5 ff=frS)r.r4�datagram_receivedr+r/r�r�rr�r�r'�max_size�recvfromr�r�rlrrr�)r8r�r�r�resrps      rr��(_ProactorDatagramTransport._loop_reading!s�����'	=�����H����0�0��t�<��E�>�>�S�(�T�^�^�-C�-1�]�]�
<�<�"�D�N����j�j�l���=�=��D��0����0�0��t�<��-�=�=�,�!$�m�m�$�!$�J�D����� ����0�0��t�<���}�}�(�!%���!5�!5�!:�!:�4�:�:�;?�=�=�"J���"&���!5�!5�!>�!>�t�z�z�?C�}�}�"N����~�~�)����0�0��1C�1C�D�����0�0��t�<����	/��N�N�)�)�#�.�.���(�(�	��=�=��!�	������0�0��t�<��sN�G5�AG5�=/G5�BG5�2I�5
I�?H�I�)I�I�
I�I�&I4)r�r*r�rtr+r,r�rS)rEr�r�r�rr%r&r�r�r
r�r�r�r�r�s@rr�r��s7����H�59�$(�1�&�!� �%�4 *�D)=�)=r@r�c�$�\rSrSrSrSrSrSrg)�_ProactorDuplexPipeTransportiMzTransport for duplex pipes.c��g)NFr�rWs rr��*_ProactorDuplexPipeTransport.can_write_eofRs��r@c��[erS)�NotImplementedErrorrWs rr��&_ProactorDuplexPipeTransport.write_eofUs��!�!r@r�N)rEr�r�r�r�r�r�r�r�r@rrrMs��&��"r@rc�r^�\rSrSrSr\RRrSU4Sjjr	Sr
SrSrSr
U=r$)	�_ProactorSocketTransportiYz Transport for connected sockets.c�T>�[TU]XX4XV5 [R"U5 grS)r$r%r�_set_nodelayr7s       �rr%�!_ProactorSocketTransport.__init__`s"���
����X�u�E�� � ��&r@c��[X5 grSrrPs  rr&�#_ProactorSocketTransport._set_extraerr@c��gr�r�rWs rr��&_ProactorSocketTransport.can_write_eofhr�r@c���UR(dUR(agSUlURc*URR	[
R5 ggr�)r/r1r,r'rzrr�rWs rr��"_ProactorSocketTransport.write_eofksA���=�=�D�-�-�� ����?�?�"��J�J������/�#r@)r1r�)rEr�r�r�r�r�
_SendfileMode�
TRY_NATIVE�_sendfile_compatibler%r&r�r�r�r�r�s@rr"r"Ys9���+�$�2�2�=�=��48�$(�'�
&��0�0r@r"c�^�\rSrSrU4SjrS SjrS!SSSSSSS.SjjrS SjrS"S	jrS"S
jr	S"Sjr
U4SjrS
rSr
SrS#SjrSrSrSrSrSrSrSrSrS!SjrSrS$SjrSrSrSrSrU=r$)%risc�>�[TU]5 [R"SURR
5 XlXlSUl0Ul	URU5 UR5 [R"5[R"5La/[R "UR"R%55 gg)NzUsing proactor: %s)r$r%r
rmr>rEr��	_selector�_self_reading_future�_accept_futures�set_loop�_make_self_pipe�	threading�current_thread�main_thread�signal�
set_wakeup_fd�_csockrG)r8�proactorr>s  �rr%�BaseProactorEventLoop.__init__us����
�������)�8�+=�+=�+F�+F�G�!��!��$(��!�!������$�������#�#�%��)>�)>�)@�@�� � ����!3�!3�!5�6�Ar@Nc��[XX#XE5$rS)r")r8rr:r;r<r=s      r�_make_socket_transport�,BaseProactorEventLoop._make_socket_transport�s��'��H�(-�7�	7r@F)�server_side�server_hostnamer<r=�ssl_handshake_timeout�ssl_shutdown_timeoutc�`�[R"XX4XVU	U
S9n[XUXxS9 UR$)N)rCrD�r<r=)r
�SSLProtocolr"�_app_transport)r8�rawsockr:�
sslcontextr;rArBr<r=rCrD�ssl_protocols            r�_make_ssl_transport�)BaseProactorEventLoop._make_ssl_transport�s?�� �+�+��
��&;�%9�	;��
	!���',�	=��*�*�*r@c��[XX#XE5$rS)r�)r8rr:r�r;r<s      r�_make_datagram_transport�.BaseProactorEventLoop._make_datagram_transport�s��)�$�h�*0�9�	9r@c��[UXX45$rS)r�r8rr:r;r<s     r�_make_duplex_pipe_transport�1BaseProactorEventLoop._make_duplex_pipe_transport�s��+�D�,0�F�K�	Kr@c��[XX#U5$rS)r�rRs     r�_make_read_pipe_transport�/BaseProactorEventLoop._make_read_pipe_transport�s��)�$�h��N�Nr@c��[UXX45$rS)r�rRs     r�_make_write_pipe_transport�0BaseProactorEventLoop._make_write_pipe_transport�s��+�4�+/�6�J�	Jr@c�>�UR5(a[S5eUR5(ag[R"5[R
"5La[R"S5 UR5 UR5 URR5 SUl
SUl[TU]-5 g)Nz!Cannot close a running event loopr{)�
is_runningr��	is_closedr6r7r8r9r:�_stop_accept_futures�_close_self_piper�r`r1r$)r8r>s �rr`�BaseProactorEventLoop.close�s�����?�?����B�C�C��>�>�����#�#�%��)>�)>�)@�@�� � ��$�	
�!�!�#�����������������	��
�r@c��T# �URRX5IShv�N$N7frS)r�r�)r8r�ns   r�	sock_recv�BaseProactorEventLoop.sock_recv�s ����^�^�(�(��1�1�1�1���(�&�(c��T# �URRX5IShv�N$N7frS)r�r�)r8r�bufs   r�sock_recv_into�$BaseProactorEventLoop.sock_recv_into�s ����^�^�-�-�d�8�8�8�8�rec��T# �URRX5IShv�N$N7frS)r�r)r8r�bufsizes   r�
sock_recvfrom�#BaseProactorEventLoop.sock_recvfrom�s ����^�^�,�,�T�;�;�;�;�rec��z# �U(d[U5nURRXU5IShv�N$N7frS)rHr��
recvfrom_into)r8rrg�nbytess    r�sock_recvfrom_into�(BaseProactorEventLoop.sock_recvfrom_into�s.������X�F��^�^�1�1�$�V�D�D�D�D�s�2;�9�;c��T# �URRX5IShv�N$N7frS)r�r�)r8rr�s   r�sock_sendall�"BaseProactorEventLoop.sock_sendall�s ����^�^�(�(��4�4�4�4�rec��X# �URRXSU5IShv�N$N7f)Nr)r�r
)r8rr�r�s    r�sock_sendto�!BaseProactorEventLoop.sock_sendto�s$����^�^�*�*�4�q�'�B�B�B�B�s�!*�(�*c��# �UR(aUR5S:wa[S5eURR	X5IShv�N$N7f)Nrzthe socket must be non-blocking)�_debug�
gettimeoutrr��connect)r8rr�s   r�sock_connect�"BaseProactorEventLoop.sock_connect�sA����;�;�4�?�?�,��1��>�?�?��^�^�+�+�D�:�:�:�:�s�AA�A�Ac��T# �URRU5IShv�N$N7frS)r��acceptrPs  r�sock_accept�!BaseProactorEventLoop.sock_accept�s ����^�^�*�*�4�0�0�0�0�rec��# �UR5n[R"U5RnU(aUOUnU(dg[US5nU(a[X4-U5OUn	[X75nSn
[X�-
U5nUS::aU
U
S:�aURU5 $$URRXX85IShv�N X8-
nX�-
n
M\![[R4an[R
"S5eSnAff=f![a [R
"S5ef=fNj!U
S:�aURU5 ff=f7f)Nznot a regular filerl��)rG�AttributeError�io�UnsupportedOperationr�SendfileNotAvailableError�os�fstat�st_sizerl�min�seekr��sendfile)r8r�file�offset�countrG�err�fsize�	blocksize�end_pos�
total_sents           r�_sock_sendfile_native�+BaseProactorEventLoop._sock_sendfile_native�sP���	M��[�[�]�F�	M��H�H�V�$�,�,�E�#�E��	����	�;�/�	�05�#�f�n�e�,�5���V�#���
�
	"���� 0�)�<�	���>�%�
�A�~��	�	�&�!��	�n�n�-�-�d�&�L�L�L��#���'�
�
���� 7� 7�8�	M��6�6�7K�L�L��	M���	M��6�6�7K�L�L�	M��M���A�~��	�	�&�!��si�E�C� D�AE�9D4�E�(D4�D2�D4�D�0D�D�E�!D/�/E�2D4�4E�Ec��v# �UR5nUR5 UR5IShv�N URURX#USS9IShv�NUR5 U(aUR
5 $$NQN.!UR5 U(aUR
5 ff=f7f)NF)�fallback)r�r�r��
sock_sendfiler'r�r�)r8�transpr�r�r�r�s      r�_sendfile_native�&BaseProactorEventLoop._sendfile_native�s�����*�*�,�������'�'�)�)�)�	(��+�+�F�L�L�$��5:�,�<�<�
�&�&�(���%�%�'��
	*�<��
�&�&�(���%�%�'��s8�4B9�B�B9�B�B
�B�*B9�
B�*B6�6B9c��URb!URR5 SUlURR5 SUlURR5 SUlU=R
S-slg)Nr)r2r_�_ssockr`r;�
_internal_fdsrWs rr_�&BaseProactorEventLoop._close_self_pipesg���$�$�0��%�%�,�,�.�(,�D�%����������������������a��r@c���[R"5uUlUlURR	S5 URR	S5 U=R
S-
slg)NFr)r�
socketpairr�r;�setblockingr�rWs rr5�%BaseProactorEventLoop._make_self_pipesN��#)�#4�#4�#6� ���T�[�������&�������&����a��r@c�|�UbUR5 URULagURRURS5nXlURUR5 g![Ra g[[4a e[anURSUUS.5 SnAgSnAff=f)Niz.Error on reading from the event loop self pipe)rirjr9)
r�r2r�r�r�r��_loop_self_readingrr�r�r�r�rn)r8r�rps   rr��(BaseProactorEventLoop._loop_self_readings���	9��}����
��(�(��1�����#�#�D�K�K��6�A�)*�%�
���� 7� 7�8���(�(�	���-�.�	���	��'�'�K� ��)�
�
��	�s"�"A-�&A-�-B;�B;�B6�6B;c��URnUcgURS5 g![a+ UR(a[R
"SSS9 ggf=f)N�z3Fail to write a null byte into the self-pipe socketTr)r;r�rlrzr
rm)r8�csocks  r�_write_to_self�$BaseProactorEventLoop._write_to_self1sU�������=��	,��J�J�u����	,��{�{����0�&*�,��	,�s�$�0A�Ac	�T^^^^^^^^�SUUUUUUUU4SjjmTRT5 g)Nc� >�UbpUR5upTR(a[R"STX!5 T"5nTbTR	XTSSU0TT
TS9 OTRXSU0TS9 TR
5(agTRRT	5nUTRT	R5'URT5 g![a�nT	R5S:wa>TRSU[R"T	5S.5 T	R!5 SnAgTR(a[R"S	T	SS
9 SnAgSnAgSnAf["R$a T	R!5 gf=f)Nz#%r got a new connection from %r: %rTr)rAr<r=rCrDrFr{zAccept failed on a socket)rirjrzAccept failed on socket %rr)r�rzr
rmrLr?r]r�r�r3rGr�rlrnrrr`rr�)
r��connrr:rpr9�protocol_factoryr8r=rrCrDrJs
     ��������rr9�2BaseProactorEventLoop._start_serving.<locals>.loopHsj���#
*��=�!"����J�D��{�{����%J�%+�T�9�/�1�H�!�-��0�0� �J�D�#-�t�"4�V�2G�1E�	1�G��3�3� �#-�t�"4�V�4�E��>�>�#�#���N�N�)�)�$�/��78��$�$�T�[�[�]�3��#�#�D�)���

6��;�;�=�B�&��/�/�#>�%(�"(�"8�"8��">�1��
�J�J�L�L��[�[��L�L�!=�!%��6�!���,�,�
��
�
��
�s+�BC�C�
F
� A
E#�2'E#�#'F
�F
rS)r3)	r8r�rrJr=�backlogrCrDr9s	````` ``@r�_start_serving�$BaseProactorEventLoop._start_servingCs���
$	*�$	*�L	
���t�r@c��grSr�)r8�
event_lists  r�_process_events�%BaseProactorEventLoop._process_eventsps��r@c��URR5HnUR5 M URR5 grS)r3�valuesr_�clear)r8�futures  rr^�*BaseProactorEventLoop._stop_accept_futurests6���*�*�1�1�3�F��M�M�O�4����"�"�$r@c���URRUR5S5nU(aUR5 URRU5 UR
5 grS)r3�poprGr_r��
_stop_servingr`)r8rr�s   rr��#BaseProactorEventLoop._stop_servingysG���%�%�)�)�$�+�+�-��>����M�M�O����$�$�T�*��
�
�r@)r3r;r�r1r2r�r�rSr�)r)NN�dNN) rEr�r�r�r%r?rLrOrSrVrYr`rcrhrlrqrtrwr}r�r�r�r_r5r�r�r�r�r^r�r�r�r�s@rrrss����7�=A�26�7�9=�
+� �$��t�"&�!%�
+� CG�9�
BF�*.�K�
@D�(,�O�AE�)-�J��(2�9�<�E�5�C�;�
1�"�:
(� � �9�8,�&>A�-1�,0�+�Z
�%�
�r@r)$r��__all__r�r�rr�r9r6r��rrrrr	r
rr�logr
r�_FlowControlMixin�
BaseTransportr!�
ReadTransportr��WriteTransportr�r��DatagramTransportr��	Transportrr"�
BaseEventLooprr�r@r�<module>r�s���#��	�	�
��
������������0�$D��!=�!=�!+�!9�!9�D�NP2�!;�!+�!9�!9�P2�fk"�&@�&0�&?�&?�k"�\�"A��,~=�!;�!+�!=�!=�~=�B	"�#=�#B�#-�#7�#7�	"�0�9�>�)�3�3�0�4K�K�5�5�Kr@

?>