+
     Biׂ                        R t Rt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^RI	H
t
 ^RI	Ht ^RI	Ht ^RI	Ht ^RI	Ht ^RI	Ht ^R	I	Ht ^R
I	Ht ^RIHt R t ! R R]P*                  ]P,                  4      t ! R R]]P0                  4      t ! R R]]P4                  4      t ! R R]4      t ! R R]]P:                  4      t ! R R]]]P>                  4      t  ! R R]]]P>                  4      t! ! R R]
PD                  4      t#R# )zEvent 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.
BaseProactorEventLoopN)base_events)	constants)futures)
exceptions)	protocols)sslproto)
transports)trsock)loggerc                    \         P                  ! V4      V P                  R &    VP                  4       V P                  R&   RV P                  9  d!    VP                  4       V P                  R&   R# R#   \        P
                   d=    T P                  P                  4       '       d   \        P                  ! RTRR7        Li ; i  \        P
                   d    RT P                  R&    R# i ; i)socketsocknamezgetsockname() failed on %rTexc_infopeernameN)r
   TransportSocket_extragetsocknamer   error_loop	get_debugr   warninggetpeername)	transportsocks   &&./usr/lib/python3.14/asyncio/proactor_events.py_set_socket_extrar      s    !'!7!7!=IXC'+'7'7'9	$ )))	0+/+;+;+=IZ( * << C??$$&&NN,dTCC || 	0+/IZ(	0s)   A5 C	 54C*CC	$C10C1c                      a a ] tR t^.t oRtRV 3R lltR tR tR tR t	R t
R t]P                  3R	 ltRR
 ltR tR tR tRtVtV ;t# )_ProactorBasePipeTransportz*Base class for pipe and socket transports.c                  < \         SV `  WQ4       V P                  V4       W n        V P	                  V4       W`n        R V n        R V n        R V n        ^ V n	        ^ V n
        RV n        RV n        RV n        V P
                  e   V P
                  P                  V 4       V P                  P!                  V P"                  P$                  V 4       Ve.   V P                  P!                  \&        P(                  VR 4       R # R # )NF)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   &&&&&&&r   r"   #_ProactorBasePipeTransport.__init__2   s    %
(#',$!<<#LL  &

T^^;;TBJJ  !E!E!'/     c                   V P                   P                  .pV P                  f   VP                  R4       M#V P                  '       d   VP                  R4       V P                  e-   VP                  RV P                  P                  4        24       V P                  e    VP                  RV P                  : 24       V P                  e    VP                  RV P                  : 24       V P                  '       d(   VP                  R\        V P                  4       24       V P                  '       d   VP                  R4       RP                  R	P                  V4      4      # )
Nclosedclosingzfd=zread=zwrite=zwrite_bufsize=zEOF writtenz<{}> )r;   __name__r$   appendr,   filenor(   r)   r'   lenr.   formatjoin)r5   infos   & r   __repr__#_ProactorBasePipeTransport.__repr__I   s   ''(::KK!]]]KK	"::!KK#djj//1234>>%KK%123??&KK& 345<<<KK.T\\):(;<=KK&}}SXXd^,,r=   c                "    WP                   R &   R# )pipeN)r   r5   r   s   &&r   r#   %_ProactorBasePipeTransport._set_extra[   s    "Fr=   c                    Wn         R # Nr1   )r5   r7   s   &&r   r%   '_ProactorBasePipeTransport.set_protocol^   s    !r=   c                    V P                   # rP   rQ   r5   s   &r   get_protocol'_ProactorBasePipeTransport.get_protocola   s    ~~r=   c                    V P                   # rP   )r,   rT   s   &r   
is_closing%_ProactorBasePipeTransport.is_closingd   s    }}r=   c                \   V P                   '       d   R # RV n         V ;P                  ^,          un        V P                  '       g5   V P                  f'   V P                  P                  V P                  R 4       V P                  e$   V P                  P                  4        R V n        R # R # NT)	r,   r+   r'   r)   r   r0   _call_connection_lostr(   cancelrT   s   &r   close _ProactorBasePipeTransport.closeg   su    ===1||| 7JJ  !;!;TB>>%NN!!#!DN &r=   c                    V P                   e0   V! RV : 2\        V R7       V P                   P                  4        R # R # )Nzunclosed transport )source)r$   ResourceWarningr^   )r5   _warns   &&r   __del__"_ProactorBasePipeTransport.__del__r   s5    ::!'x0/$OJJ "r=   c           
     P    \        V\        4      '       d;   V P                  P                  4       '       d   \        P
                  ! R WRR7       M-V P                  P                  RVRVRV RV P                  /4       V P                  V4       R#   T P                  T4       i ; i)z%r: %sTr   message	exceptionr   r7   N)	
isinstanceOSErrorr   r   r   debugcall_exception_handlerr1   _force_close)r5   excrg   s   &&&r   _fatal_error'_ProactorBasePipeTransport._fatal_errorw   s    	##w''::''))LL44H

11w	3  c"Dc"s   5B AB B%c                   V P                   e\   V P                   P                  4       '       g<   Vf   V P                   P                  R 4       MV P                   P                  V4       V P                  '       d   V P
                  '       d   R # RV n        V ;P                  ^,          un        V P                  '       d"   V P                  P                  4        R V n        V P                  '       d"   V P                  P                  4        R V n	        ^ V n
        R V n        V P                  P                  V P                  V4       R # r[   )_empty_waiterdone
set_resultset_exceptionr,   r-   r+   r)   r]   r(   r*   r'   r   r0   r\   )r5   rn   s   &&r   rm   '_ProactorBasePipeTransport._force_close   s    )$2D2D2I2I2K2K{""--d3""005===T9991???OO""$"DO>>>NN!!#!DN

T77=r=   c                @   V P                   '       d   R #  V P                  P                  V4       \        V P                  R4      '       dI   V P                  P                  4       R8w  d*   V P                  P                  \        P                  4       V P                  P                  4        R V n        V P                  pVe   VP                  V 4       R V n
        RV n         R #   \        T P                  R4      '       dI   T P                  P                  4       R8w  d*   T P                  P                  \        P                  4       T P                  P                  4        R T n        T P                  pTe   TP                  T 4       R T n
        RT n         i ; i)NshutdownT)r-   r1   connection_losthasattrr$   rD   rx   r   	SHUT_RDWRr^   r&   _detach)r5   rn   r:   s   && r   r\   0_ProactorBasePipeTransport._call_connection_lost   s*   '''	0NN**3/ tzz:..4::3D3D3F"3L

##F$4$45JJDJ\\F!t$#+/D( tzz:..4::3D3D3F"3L

##F$4$45JJDJ\\F!t$#+/D(s   C' 'B6Fc                r    V P                   pV P                  e   V\        V P                  4      ,          pV# rP   )r*   r'   rE   )r5   sizes   & r   get_write_buffer_size0_ProactorBasePipeTransport.get_write_buffer_size   s/    ""<<#C%%Dr=   )r'   r-   r,   r+   r.   r*   r1   r(   r&   r$   r)   NNN)zFatal error on pipe transport)rB   
__module____qualname____firstlineno____doc__r"   rI   r#   r%   rU   rX   r^   warningswarnrd   ro   rm   r\   r   __static_attributes____classdictcell____classcell__r;   __classdict__s   @@r   r   r   .   sR     4/.-$#"	" %MM 
#>(0( r=   r   c                   b   a a ] tR t^t oRtR
V 3R lltR tR tR tR t	R t
RR ltR	tVtV ;t# )_ProactorReadPipeTransportzTransport for read pipes.c                   < RV n         RV n        \        SV `  WW4WV4       \	        V4      V n        V P                  P                  V P                  4       RV n        R# )   TFNry   )	_pending_data_length_pausedr!   r"   	bytearray_datar   r0   _loop_reading)	r5   r6   r   r7   r8   r9   r:   buffer_sizer;   s	   &&&&&&&&r   r"   #_ProactorReadPipeTransport.__init__   sN    $&!XuE{+


T//0r=   c                V    V P                   '       * ;'       d    V P                  '       * # rP   )r   r,   rT   s   &r   
is_reading%_ProactorReadPipeTransport.is_reading   s    <<55$55r=   c                    V P                   '       g   V P                  '       d   R # RV n        V P                  P                  4       '       d   \        P
                  ! RV 4       R # R # )NTz%r pauses reading)r,   r   r   r   r   rk   rT   s   &r   pause_reading(_ProactorReadPipeTransport.pause_reading   sF    ===DLLL ::!!LL,d3 "r=   c                   V P                   '       g   V P                  '       g   R # RV n        V P                  f'   V P                  P	                  V P
                  R 4       V P                  pRV n        VR8  d5   V P                  P	                  V P                  V P                  R V V4       V P                  P                  4       '       d   \        P                  ! RV 4       R # R # )NFz%r resumes readingry   )r,   r   r(   r   r0   r   r   _data_receivedr   r   r   rk   )r5   lengths   & r   resume_reading)_ProactorReadPipeTransport.resume_reading   s    ===>>!JJ  !3!3T:**$&!B; JJ  !4!4djj&6I6R::!!LL-t4 "r=   c                V   V P                   P                  4       '       d   \        P                  ! R V 4        V P                  P                  4       pT'       g   T P                  4        R# R#   \        \        3 d    h \         d   pT P                  TR4        Rp?R# Rp?ii ; i)z%r received EOFz1Fatal error: protocol.eof_received() call failed.N)r   r   r   rk   r1   eof_received
SystemExitKeyboardInterruptBaseExceptionro   r^   )r5   	keep_openrn   s   &  r   _eof_received(_ProactorReadPipeTransport._eof_received   s    ::!!LL*D1	335I JJL  -. 	 	HJ	s   A/ /B(
B(B##B(c                   V P                   '       d	   W n        R # V^ 8X  d   V P                  4        R # \        V P                  \
        P                  4      '       d%    \
        P                  ! V P                  V4       R # V P                  P                  V4       R #   \        \        3 d    h \         d   pT P                  TR4        R p?R # R p?ii ; i)Nz3Fatal error: protocol.buffer_updated() call failed.)r   r   r   ri   r1   r   BufferedProtocol_feed_data_to_buffered_protor   r   r   ro   data_received)r5   datar   rn   s   &&& r   r   )_ProactorReadPipeTransport._data_received   s    <<< )/%Q; dnni&@&@AA66t~~tL NN((.  12   !!##12 	s   !B C:C;CCc                   RpRp Ve   RV n         VP                  4       '       dW   VP                  4       pV^ 8X  d    VR8  d   V P                  W24       R# R# \	        \        V P                  4      RV 4      pMVP                  4        V P                  '       d    VR8  d   V P                  W24       R# R# V P                  '       g@   V P                  P                  P                  V P                  V P                  4      V n         V P                  '       g&   V P                   P                  V P                  4       TR8  d   T P                  Y24       R# R#   \          dl   pT P                  '       g   T P#                  TR4        Rp?LPT P                  P%                  4       '       d   \&        P(                  ! RRR7        Rp?LRp?i\*         d   pT P-                  T4        Rp?LRp?i\.         d   pT P#                  TR4        Rp?LRp?i\0        P2                   d    T P                  '       g   h  ELi ; i  TR8  d   T P                  Y24       i i ; i)r   Nz"Fatal read error on pipe transportz*Read error on pipe transport while closingTr   ry   )r(   rs   resultr   bytes
memoryviewr   r]   r,   r   r   	_proactor	recv_intor$   add_done_callbackr   ConnectionAbortedErrorro   r   r   rk   ConnectionResetErrorrm   rj   r   CancelledError)r5   futr   r   rn   s   &&   r   r   (_ProactorReadPipeTransport._loop_reading  s   .	2 "&88:: ZZ\F{F {##D1 A !DJJ!7!@AD JJL}}}2 {##D1 ) <<<!%!5!5!?!?

DJJ!W <<<001C1CD{##D1 # & 	,===!!#'KLL%%''I&*,# 	#c"" 	Ic#GHH(( 	=== !	 {##D1 s    E  E  AE  <E  ?E  7I  I	+$GI G4GI I	I	G50I 5I	I	HI I	1I	I	I I		I I')r   r   r   r(   )NNNi   rP   )rB   r   r   r   r   r"   r   r   r   r   r   r   r   r   r   r   s   @@r   r   r      s0     #64&5$ /212 12r=   r   c                   h   a a ] tR tRt oRtRtV 3R ltR tRR ltR t	R t
R	 tR
 tR tRtVtV ;t# )_ProactorBaseWritePipeTransportiH  zTransport for write pipes.Tc                6   < \         SV `  ! V/ VB  R V n        R # rP   )r!   r"   rr   r5   argskwr;   s   &*,r   r"   (_ProactorBaseWritePipeTransport.__init__N  s    $%"%!r=   c                   \        V\        \        \        34      '       g"   \	        R \        V4      P                   24      hV P                  '       d   \        R4      hV P                  e   \        R4      hV'       g   R# V P                  '       dQ   V P                  \        P                  8  d   \        P                  ! R4       V ;P                  ^,          un
        R# V P                  f   V P!                  \        V4      R7       R# V P"                  '       g#   \        V4      V n        V P%                  4        R# V P"                  P'                  V4       V P%                  4        R# )z/data argument must be a bytes-like object, not zwrite_eof() already calledNz(unable to write; sendfile is in progresszsocket.send() raised exception.)r   )ri   r   r   r   	TypeErrortyperB   r.   RuntimeErrorrr   r+   r   !LOG_THRESHOLD_FOR_CONNLOST_WRITESr   r   r)   _loop_writingr'   _maybe_pause_protocolextend)r5   r   s   &&r   write%_ProactorBaseWritePipeTransport.writeR  s   $	: >??Dz**+-. . ;<<)IJJ???)"M"MM@AOOq O ??" E$K0$T?DL&&( LL%&&(r=   c                |    Ve#   V P                   f   V P                  '       d   R # R V n         ^ V n        V'       d   VP                  4        Vf   V P                  pR V n        V'       g   V P                  '       d'   V P
                  P                  V P                  R 4       V P                  '       d*   V P                  P                  \        P                  4       V P                  4        MV P
                  P                  P                  V P                  V4      V n         V P                   P!                  4       '       gG   \#        V4      V n        V P                   P%                  V P&                  4       V P)                  4        M%V P                   P%                  V P&                  4       V P*                  e.   V P                   f   V P*                  P-                  R 4       R # R # R #   \.         d   pT P1                  T4        R p?R # R p?i\2         d   pT P5                  TR4        R p?R # R p?ii ; i)Nz#Fatal write error on pipe transport)r)   r,   r*   r   r'   r   r0   r\   r.   r$   rx   r   SHUT_WR_maybe_resume_protocolr   sendrs   rE   r   r   r   rr   rt   r   rm   rj   ro   )r5   fr   rn   s   &&& r   r   -_ProactorBaseWritePipeTransport._loop_writingx  s   &	J}!8T]]] "DO"#D
|||#===JJ(()C)CTJ$$$JJ''7 ++-"&**"6"6";";DJJ"M++--*-d)D'OO55d6H6HI..0OO55d6H6HI!!-$//2I""--d3 3J-# 	#c"" 	Jc#HII	JsM   #G. G. .G. -G. ?7G. 7BG. B"G. .H;9HH;H;H66H;c                    R # T rT   s   &r   can_write_eof-_ProactorBaseWritePipeTransport.can_write_eof      r=   c                &    V P                  4        R # rP   )r^   rT   s   &r   	write_eof)_ProactorBaseWritePipeTransport.write_eof  s    

r=   c                (    V P                  R 4       R # rP   rm   rT   s   &r   abort%_ProactorBaseWritePipeTransport.abort      $r=   c                    V P                   e   \        R4      hV P                  P                  4       V n         V P                  f   V P                   P                  R 4       V P                   # )NzEmpty waiter is already set)rr   r   r   create_futurer)   rt   rT   s   &r   _make_empty_waiter2_ProactorBaseWritePipeTransport._make_empty_waiter  sY    )<==!ZZ557??"))$/!!!r=   c                    R V n         R # rP   )rr   rT   s   &r   _reset_empty_waiter3_ProactorBaseWritePipeTransport._reset_empty_waiter  s
    !r=   )r'   rr   r*   r)   NN)rB   r   r   r   r   _start_tls_compatibler"   r   r   r   r   r   r   r   r   r   r   r   s   @@r   r   r   H  s>     $ "$)L'JR "" "r=   r   c                   8   a a ] tR tRt oV 3R ltR tRtVtV ;t# )_ProactorWritePipeTransporti  c                   < \         SV `  ! V/ VB  V P                  P                  P	                  V P
                  ^4      V n        V P                  P                  V P                  4       R# )   N)	r!   r"   r   r   recvr$   r(   r   _pipe_closedr   s   &*,r   r"   $_ProactorWritePipeTransport.__init__  sO    $%"%--224::rB(():):;r=   c                    VP                  4       '       d   R # V P                  '       d   R # R V n        V P                  e   V P	                  \        4       4       R # V P                  4        R # rP   )	cancelledr,   r(   r)   rm   BrokenPipeErrorr^   )r5   r   s   &&r   r   (_ProactorWritePipeTransport._pipe_closed  sG    ==??===??&o/0JJLr=   )r(   )	rB   r   r   r   r"   r   r   r   r   r   s   @@r   r   r     s     <
 r=   r   c                   j   a a ] tR tRt oR
tRV 3R lltR tR tR tRR lt	RR lt
RR ltR	tVtV ;t# )_ProactorDatagramTransporti  c                   < W@n         R V n        ^ V n        \        SV `  WW5VR7       \
        P                  ! 4       V n        V P                  P                  V P                  4       R # )N)r8   r9   )_addressrr   _buffer_sizer!   r"   collectionsdequer'   r   r0   r   )r5   r6   r   r7   addressr8   r9   r;   s   &&&&&&&r   r"   #_ProactorDatagramTransport.__init__  sX    ! 	XEJ #((*

T//0r=   c                    \        W4       R # rP   r   rM   s   &&r   r#   %_ProactorDatagramTransport._set_extra  
    $%r=   c                    V P                   # rP   )r   rT   s   &r   r   0_ProactorDatagramTransport.get_write_buffer_size  s       r=   c                (    V P                  R 4       R # rP   r   rT   s   &r   r    _ProactorDatagramTransport.abort  r   r=   c                   \        V\        \        \        34      '       g   \	        R \        V4      4      hV P                  e,   VRV P                  39  d   \        RV P                   24      hV P                  '       dc   V P                  '       dQ   V P                  \        P                  8  d   \        P                  ! R4       V ;P                  ^,          un        R# V P                  P                  \        V4      V34       V ;P                  \!        V4      ^,           ,          un        V P"                  f   V P%                  4        V P'                  4        R# )z,data argument must be bytes-like object (%r)Nz!Invalid address: must be None or z!socket.sendto() raised exception.)ri   r   r   r   r   r   r   
ValueErrorr+   r   r   r   r   r'   rC   r   rE   r)   r   r   )r5   r   addrs   &&&r   sendto!_ProactorDatagramTransport.sendto  s   $	: >??J J( ( ==$dDMM5J)J3DMM?CE E ???t}}})"M"MMBCOOq O 	U4[$/0SY]*??"  	""$r=   c                    V P                   '       d   R # R V n        V'       d   VP                  4        V P                  '       d%   V P                   '       dM   V P                  '       d;   V P
                  '       d'   V P                  P                  V P                  R 4       R # V P                  P                  4       w  r#V ;P                  \        V4      ,          un
        V P                  e7   V P                  P                  P                  V P                  V4      V n        M7V P                  P                  P                  V P                  VVR7      V n        V P                  P!                  V P"                  4       V P%                  4        R #   \&         d'   pT P(                  P+                  T4        R p?R # R p?i\,         d   pT P/                  TR4        R p?R # R p?ii ; i)N)r  z'Fatal write error on datagram transport)r+   r)   r   r'   r   r,   r   r0   r\   popleftr   rE   r   r   r$   r  r   r   r   rj   r1   error_received	Exceptionro   )r5   r   r   r  rn   s   &&   r   r   (_ProactorDatagramTransport._loop_writing  s\   	* #DO

<<<DOOO===JJ(()C)CTJ--/JDT*}}("&**"6"6";";DJJ<@#B #'**"6"6"="=djj>BCG #> #I OO--d.@.@A'')  	/NN))#.. 	Nc#LMM	NsR   F F !F F F +F =&F %B9F G, GG,G,G''G,c                   R p V P                   '       d*    V'       d   V P                  P                  VX4       R # R # R V n        Vem   VP	                  4       pV P
                  '       d,   R p V'       d   V P                  P                  VX4       R # R # V P                  e   Y@P                  r2MVw  r#V P                   '       d*    V'       d   V P                  P                  VX4       R # R # V P                  eA   V P                  P                  P                  V P                  V P                  4      V n        M?V P                  P                  P                  V P                  V P                  4      V n        V P                  e&   V P                  P                  V P                  4       T'       d   T P                  P                  TX4       R # R #   \         d&   pT P                  P!                  T4        R p?LSR p?i\"        P$                   d    T P
                  '       g   h  Li ; i  T'       d   T P                  P                  TX4       i i ; irP   )r+   r1   datagram_receivedr(   r   r,   r   r   r   r   r$   max_sizerecvfromr   r   rj   r  r   r   )r5   r   r   r  resrn   s   &&    r   r   (_ProactorDatagramTransport._loop_reading!  s   '	=H 00t< ? "DNjjl===D0 00t< - ==,!$mm$!$JD  00t<  }}(!%!5!5!:!:4::;?=="J "&!5!5!>!>tzz?C}}"N ~~)001C1CD00t<   	/NN))#..(( 	=== !	 00t< s_   G ,G ,G 0G 1BG >3H5 H2$H?H5 H2H2.H2/H5 1H22H5 5'I)r   r'   r   rr   r(   r)   i   r   rP   )rB   r   r   r   r  r"   r#   r   r   r  r   r   r   r   r   r   s   @@r   r   r     s3     H1&! %4 *D)= )=r=   r   c                   0   a  ] tR tRt o RtR tR tRtV tR# )_ProactorDuplexPipeTransportiM  zTransport for duplex pipes.c                    R # )Fr   rT   s   &r   r   *_ProactorDuplexPipeTransport.can_write_eofR  s    r=   c                    \         hrP   )NotImplementedErrorrT   s   &r   r   &_ProactorDuplexPipeTransport.write_eofU  s    !!r=   r   N)	rB   r   r   r   r   r   r   r   r   )r   s   @r   r  r  M  s      &" "r=   r  c                   x   a a ] tR tRt oRt]P                  P                  tRV 3R llt	R t
R tR tRtVtV ;t# )	_ProactorSocketTransportiY  z Transport for connected sockets.c                V   < \         SV `  WW4WV4       \        P                  ! V4       R # rP   )r!   r"   r   _set_nodelayr4   s   &&&&&&&r   r"   !_ProactorSocketTransport.__init__`  s"    XuE  &r=   c                    \        W4       R # rP   r  rM   s   &&r   r#   #_ProactorSocketTransport._set_extrae  r  r=   c                    R # r   r   rT   s   &r   r   &_ProactorSocketTransport.can_write_eofh  r   r=   c                    V P                   '       g   V P                  '       d   R # RV n        V P                  f,   V P                  P	                  \
        P                  4       R # R # r[   )r,   r.   r)   r$   rx   r   r   rT   s   &r   r   "_ProactorSocketTransport.write_eofk  sF    ===D--- ??"JJ/ #r=   )r.   r   )rB   r   r   r   r   r   _SendfileMode
TRY_NATIVE_sendfile_compatibler"   r#   r   r   r   r   r   r   s   @@r   r!  r!  Y  s5      +$22=='
&0 0r=   r!  c                     a a ] tR tRt oV 3R ltR%R ltR&RRRRRRR	RR
RRR/R lltR%R ltR'R ltR'R lt	R'R lt
V 3R ltR tR tR tR(R ltR tR tR tR tR tR tR tR tR&R ltR tR)R  ltR! tR" tR# tR$tVtV ;t # )*r   is  c                  < \         SV `  4        \        P                  ! R VP                  P
                  4       Wn        Wn        RV n        / V n	        VP                  V 4       V P                  4        \        P                  ! 4       \        P                  ! 4       J d1   \        P                   ! V P"                  P%                  4       4       R# R# )zUsing proactor: %sN)r!   r"   r   rk   r;   rB   r   	_selector_self_reading_future_accept_futuresset_loop_make_self_pipe	threadingcurrent_threadmain_threadsignalset_wakeup_fd_csockrD   )r5   proactorr;   s   &&r   r"   BaseProactorEventLoop.__init__u  s    )8+=+=+F+FG!!$(!!$##%)>)>)@@  !3!3!56 Ar=   Nc                    \        WW#WE4      # rP   )r!  )r5   r   r7   r8   r9   r:   s   &&&&&&r   _make_socket_transport,BaseProactorEventLoop._make_socket_transport  s    'H(-7 	7r=   server_sideFserver_hostnamer9   r:   ssl_handshake_timeoutssl_shutdown_timeoutc               l    \         P                  ! WW4WVV	V
R 7      p\        WVWxR7       VP                  # ))rB  rC  r9   r:   )r   SSLProtocolr!  _app_transport)r5   rawsockr7   
sslcontextr8   r@  rA  r9   r:   rB  rC  ssl_protocols   &&&&&$$$$$$ r   _make_ssl_transport)BaseProactorEventLoop._make_ssl_transport  s?      ++
&;%9	;
 	!',	=***r=   c                    \        WW#WE4      # rP   )r   )r5   r   r7   r   r8   r9   s   &&&&&&r   _make_datagram_transport.BaseProactorEventLoop._make_datagram_transport  s    )$h*09 	9r=   c                    \        V WW44      # rP   )r  r5   r   r7   r8   r9   s   &&&&&r   _make_duplex_pipe_transport1BaseProactorEventLoop._make_duplex_pipe_transport  s    +D,0FK 	Kr=   c                    \        WW#V4      # rP   )r   rQ  s   &&&&&r   _make_read_pipe_transport/BaseProactorEventLoop._make_read_pipe_transport  s    )$hNNr=   c                    \        V WW44      # rP   )r   rQ  s   &&&&&r   _make_write_pipe_transport0BaseProactorEventLoop._make_write_pipe_transport  s     +4+/6J 	Jr=   c                  < V P                  4       '       d   \        R 4      hV P                  4       '       d   R# \        P                  ! 4       \        P
                  ! 4       J d   \        P                  ! R4       V P                  4        V P                  4        V P                  P                  4        RV n
        RV n        \        SV `-  4        R# )z!Cannot close a running event loopNry   )
is_runningr   	is_closedr5  r6  r7  r8  r9  _stop_accept_futures_close_self_piper   r^   r0  r!   )r5   r;   s   &r   r^   BaseProactorEventLoop.close  s    ??BCC>>##%)>)>)@@  $ 	!!# 	r=   c                T   "   V P                   P                  W4      G R j  xL
 #  L5irP   )r   r   )r5   r   ns   &&&r   	sock_recvBaseProactorEventLoop.sock_recv  s      ^^((1111   (&(c                T   "   V P                   P                  W4      G R j  xL
 #  L5irP   )r   r   )r5   r   bufs   &&&r   sock_recv_into$BaseProactorEventLoop.sock_recv_into  s      ^^--d8888rd  c                T   "   V P                   P                  W4      G R j  xL
 #  L5irP   )r   r  )r5   r   bufsizes   &&&r   sock_recvfrom#BaseProactorEventLoop.sock_recvfrom  s      ^^,,T;;;;rd  c                |   "   V'       g   \        V4      pV P                  P                  WV4      G R j  xL
 #  L5irP   )rE   r   recvfrom_into)r5   r   rf  nbytess   &&&&r   sock_recvfrom_into(BaseProactorEventLoop.sock_recvfrom_into  s.     XF^^11$VDDDDs   3<:<c                T   "   V P                   P                  W4      G R j  xL
 #  L5irP   )r   r   )r5   r   r   s   &&&r   sock_sendall"BaseProactorEventLoop.sock_sendall  s      ^^((4444rd  c                X   "   V P                   P                  W^ V4      G Rj  xL
 #  L5i)    N)r   r  )r5   r   r   r   s   &&&&r   sock_sendto!BaseProactorEventLoop.sock_sendto  s$     ^^**4q'BBBBs   !*(*c                   "   V P                   '       d!   VP                  4       ^ 8w  d   \        R4      hV P                  P	                  W4      G Rj  xL
 #  L5i)rv  zthe socket must be non-blockingN)_debug
gettimeoutr
  r   connect)r5   r   r   s   &&&r   sock_connect"BaseProactorEventLoop.sock_connect  sC     ;;;4??,1>??^^++D::::s   AAAAc                T   "   V P                   P                  V4      G R j  xL
 #  L5irP   )r   acceptrM   s   &&r   sock_accept!BaseProactorEventLoop.sock_accept  s      ^^**40000rd  c                  "    VP                  4       p \        P                  ! T4      P                  pT'       d   TMTpT'       g   ^ # \        TR4      pT'       d   \        Y4,           T4      MTp	\        Y74      p^ p
  \        Y,
          T4      pT^ 8:  d   T
T
^ 8  d   TP                  T4       # # T P                  P                  YY84      G Rj  xL
  Y8,          pY,          p
Kk    \        \        P                  3 d   p\        P
                  ! R 4      hRp?ii ; i  \         d    \        P
                  ! R 4      hi ; i Lt  T
^ 8  d   TP                  T4       i i ; i5i)znot a regular fileNl    )rD   AttributeErrorioUnsupportedOperationr   SendfileNotAvailableErrorosfstatst_sizerj   minseekr   sendfile)r5   r   fileoffsetcountrD   errfsize	blocksizeend_pos
total_sents   &&&&&      r   _sock_sendfile_native+BaseProactorEventLoop._sock_sendfile_native  sK    	M[[]F	MHHV$,,E #E		;/	05#fne,5V#

	" 0)<	>%
 A~		&! 	 nn--d&LLL#'
+  7 78 	M667KLL	M  	M667KLL	M M A~		&! ss   E*C,  D% E*E*	7E*E E*6E E
E ,D"DD""E*%"EE*
E E''E*c                  "   VP                  4       pVP                  4        VP                  4       G R j  xL
   V P                  VP                  W#VRR7      G R j  xL
 VP                  4        V'       d   VP                  4        # #  LU L/  TP                  4        T'       d   TP                  4        i i ; i5i)NF)fallback)r   r   r   sock_sendfiler$   r   r   )r5   transpr  r  r  r   s   &&&&& r   _sendfile_native&BaseProactorEventLoop._sendfile_native  s     **,'')))	(++FLL$5: , < < &&(%%'  	*< &&(%%' s8   4B>BB>"B BB "+B>B +B;;B>c                   V P                   e"   V P                   P                  4        R V n         V P                  P                  4        R V n        V P                  P                  4        R V n        V ;P
                  ^,          un        R # rP   )r1  r]   _ssockr^   r:  _internal_fdsrT   s   &r   r^  &BaseProactorEventLoop._close_self_pipe  sg    $$0%%,,.(,D%ar=   c                    \         P                  ! 4       w  V n        V n        V P                  P	                  R 4       V P                  P	                  R 4       V ;P
                  ^,          un        R# )FN)r   
socketpairr  r:  setblockingr  rT   s   &r   r4  %BaseProactorEventLoop._make_self_pipe  sN    #)#4#4#6 T[&&ar=   c           	         Ve   VP                  4        V P                  VJd   R # V P                  P                  V P                  R4      pWn        VP                  V P                  4       R #   \        P                   d     R # \        \        3 d    h \         d#   pT P                  RRRTRT /4        R p?R # R p?ii ; i)Ni   rg   z.Error on reading from the event loop self piperh   r6   )r   r1  r   r   r  r   _loop_self_readingr   r   r   r   r   rl   )r5   r   rn   s   && r   r  (BaseProactorEventLoop._loop_self_reading  s    	9}
((1 ##DKK6A )*% 7 78 (( 	-. 	 	''KS)  	s.   $A1 &A1 1C	C
C#C$CCc                    V P                   pVf   R #  VP                  R4       R #   \         d2    T P                  '       d   \        P
                  ! RRR7        R #  R # i ; i)N    z3Fail to write a null byte into the self-pipe socketTr   )r:  r   rj   rz  r   rk   )r5   csocks   & r   _write_to_self$BaseProactorEventLoop._write_to_self1  s\     =	,JJu 	,{{{ 0&*, , 	,s   ' A#A#"A#c           	     V   a aaaaaaa RVVV VVVVV3R lloS P                  S4       R # )Nc                 R  <  V ey   V P                  4       w  rSP                  '       d   \        P                  ! RSW!4       S! 4       pSe   SP	                  WSRRV/SS
SR7       MSP                  WRV/SR7       SP                  4       '       d   R # SP                  P                  S	4      p V SP                  S	P                  4       &   V P                  S4       R #   \         d   pS	P                  4       R8w  dB   SP                  RRRTR	\        P                  ! S	4      /4       S	P!                  4         R p?R # SP                  '       d    \        P                  ! R
S	RR7        R p?R #  R p?R # R p?i\"        P$                   d    S	P!                  4         R # i ; i)Nz#%r got a new connection from %r: %rTr   )r@  r9   r:   rB  rC  rE  rg   zAccept failed on a socketrh   r   zAccept failed on socket %rr   ry   )r   rz  r   rk   rK  r>  r\  r   r  r2  rD   r   rj   rl   r
   r   r^   r   r   )r   connr  r7   rn   r6   protocol_factoryr5   r:   r   rB  rC  rI  s   &    r   r6   2BaseProactorEventLoop._start_serving.<locals>.loopH  sz   #*=!"JD{{{%J%+T9/1H!-00 JD#-t"4V2G1E	 1 G 33 #-t"4V 4 E >>##NN))$/ 78$$T[[]3##D)  
6;;=B&//!#>#S &"8"8">1 
 JJLL[[[LL!=!%6 6 ! ,, 

s7   BC" C" "F&-AE:E:E::F&F&%F&rP   )r0   )	r5   r  r   rI  r:   backlogrB  rC  r6   s	   fffff&ff@r   _start_serving$BaseProactorEventLoop._start_servingC  s    
$	* $	*L 	tr=   c                    R # rP   r   )r5   
event_lists   &&r   _process_events%BaseProactorEventLoop._process_eventsp  s    r=   c                    V P                   P                  4        F  pVP                  4        K  	  V P                   P                  4        R # rP   )r2  valuesr]   clear)r5   futures   & r   r]  *BaseProactorEventLoop._stop_accept_futurest  s6    **113FMMO 4""$r=   c                    V P                   P                  VP                  4       R 4      pV'       d   VP                  4        V P                  P                  V4       VP                  4        R # rP   )r2  poprD   r]   r   _stop_servingr^   )r5   r   r  s   && r   r  #BaseProactorEventLoop._stop_servingy  sG    %%))$++->MMO$$T*

r=   )r2  r:  r   r0  r1  r  r   rP   r   )rv  )NNd   NN)!rB   r   r   r   r"   r>  rK  rN  rR  rU  rX  r^   rb  rg  rk  rp  rs  rw  r}  r  r  r  r^  r4  r  r  r  r  r]  r  r   r   r   r   s   @@r   r   r   s  s     77
+ +26+ +  $+ #'	+
 "&+9
K
OJ(29<E5C;
1":
(  98,$+Z%
 r=   )r   )$r   __all__r  r  r   r   r8  r5  r    r   r   r   r   r   r   r	   r
   logr   r   _FlowControlMixinBaseTransportr   ReadTransportr   WriteTransportr   r   DatagramTransportr   	Transportr  r!  BaseEventLoopr   r   r=   r   <module>r     s   # 	 	              0$D!=!=!+!9!9DNP2!;!+!9!9P2fk"&@&0&?&?k"\"A ,~=!;!+!=!=~=B	"#=#B#-#7#7	"09>)3304KK55 Kr=   