python (3.11.7)

(root)/
lib/
python3.11/
asyncio/
__pycache__/
selector_events.cpython-311.pyc

ebndZdZddlZddlZddlZddlZddlZddlZddlZ	ddl	Z	n
#e
$rdZ	YnwxYwddlmZddlm
Z
ddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZdZGddejZGddejejZGddeZGddeZdS)zEvent loop using a selector and related classes.

A selector is a "notify-when-ready" multiplexer.  For a subclass which
also includes support for signal handling, see the unix_events sub-module.
)BaseSelectorEventLoopN)base_events)	constants)events)futures)	protocols)sslproto)
transports)trsock)loggerc~	||}t|j|zS#t$rYdSwxYwNF)get_keyboolrKeyError)selectorfdeventkeys    K/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/asyncio/selector_events.py_test_selector_eventr sU(r""CJ&'''uus.
<<ceZdZdZd4fd	Zd4ddddZ	d4ddddejejddZ		d5d	Z
fd
ZdZdZ
d
ZdZdZdddejejfdZdddejejfdZddejejfdZdZdZdZdZdZdZdZdZdZdZd4dZdZd Z d!Z!d"Z"d#Z#d6d%Z$d&Z%d'Z&d(Z'd)Z(d*Z)d+Z*d,Z+d4d-Z,d.Z-d/Z.d0Z/d1Z0d2Z1d3Z2xZ3S)7rzJSelector event loop.

    See events.EventLoop for API specification.
    Nct|tj}t	jd|jj||_|	tj|_dS)NzUsing selector: %s)
super__init__	selectorsDefaultSelectorr
debug	__class____name__	_selector_make_self_pipeweakrefWeakValueDictionary_transports)selfrr s  rrzBaseSelectorEventLoop.__init__1sv
 022H)8+=+FGGG!"688extraserverc*t||||||SN)_SelectorSocketTransport)r'sockprotocolwaiterr*r+s      r_make_socket_transportz,BaseSelectorEventLoop._make_socket_transport;s!'dHf(-v77	7r(F)server_sideserver_hostnamer*r+ssl_handshake_timeoutssl_shutdown_timeoutc
ptj|||||||	|
}t||||||jS)N)r5r6r))r
SSLProtocolr._app_transport)r'rawsockr0
sslcontextr1r3r4r*r+r5r6ssl_protocols            r_make_ssl_transportz)BaseSelectorEventLoop._make_ssl_transport@s\ +(J"7!5	


	!w',V	=	=	=	=**r(c*t||||||Sr-)_SelectorDatagramTransport)r'r/r0addressr1r*s      r_make_datagram_transportz.BaseSelectorEventLoop._make_datagram_transportQs$)$h*165BB	Br(c4|rtd|rdS|t	|j"|jd|_dSdS)Nz!Cannot close a running event loop)
is_runningRuntimeError	is_closed_close_self_pipercloser")r'r s rrGzBaseSelectorEventLoop.closeVs??	DBCCC>>	F


>%N  """!DNNN&%r(c||j|jd|_|jd|_|xjdzc_dS)Nr)_remove_reader_ssockfilenorG_csock
_internal_fdsr's rrFz&BaseSelectorEventLoop._close_self_pipeastDK..00111ar(c2tj\|_|_|jd|jd|xjdz
c_||j|jdS)NFr)	socket
socketpairrJrLsetblockingrM_add_readerrK_read_from_selfrNs rr#z%BaseSelectorEventLoop._make_self_pipeis#)#4#6#6 T[&&&&&&a++--t/CDDDDDr(cdSr-r'datas  r_process_self_dataz(BaseSelectorEventLoop._process_self_dataqsr(c		|jd}|sdS||n#t$rYBt$rYdSwxYwR)NTi)rJrecvrYInterruptedErrorBlockingIOErrorrWs  rrTz%BaseSelectorEventLoop._read_from_selfts		
{''--E''----#


"



		s77
A	AAc|j}|dS	|ddS#t$r$|jrt	jddYdSYdSwxYw)Nz3Fail to write a null byte into the self-pipe socketTexc_info)rLsendOSError_debugr
r)r'csocks  r_write_to_selfz$BaseSelectorEventLoop._write_to_selfs=F	,JJu	,	,	,{
,0&*,,,,,,,
,
,
,	,s$'AAdcn|||j|||||||		dSr-)rSrK_accept_connection)r'protocol_factoryr/r;r+backlogr5r6s        r_start_servingz$BaseSelectorEventLoop._start_servingsK	
(?)4VW.0D	F	F	F	F	Fr(c
t|D]h}	|\}	}
|jrtjd||
|	|	dd|
i}|||	|||||}||#tttf$rYdSt$r}
|
jtj
tjtjtjfvr|d|
t%j|d|||t.j|j|||||||		nYd}
~
bd}
~
wwxYwdS)Nz#%r got a new connection from %r: %rFpeernamez&socket.accept() out of system resource)message	exceptionrP)rangeacceptrdr
rrR_accept_connection2create_taskr]r\ConnectionAbortedErrorrcerrnoEMFILEENFILEENOBUFSENOMEMcall_exception_handlerrTransportSocketrIrK
call_laterrACCEPT_RETRY_DELAYrl)r'rjr/r;r+rkr5r6_connaddrr*rrexcs              rriz(BaseSelectorEventLoop._accept_connectionsw#	)#	)A"
)![[]]
d;5L!F!'t555  '''2$T*11$dE:v)+?AA  ((((9$%57MN


ttt


9u|!&!>>>
//#K%("("8">">11
''

666OOI$@$($7$4dJ$+-B$8	::::
:::::
#	)#	)sA
BE7.	E77B5E22E7cKd}d}		|}|}
|r|||||
d||||		}	n||||
||}		|
d{VdS#t$r|	wxYw#t
tf$rt$r@}|jr.d|d}|||d<|	|	|d<||Yd}~dSYd}~dSd}~wwxYw)NT)r1r3r*r+r5r6)r1r*r+z3Error on transport creation for incoming connection)rorpr0	transport)	
create_futurer=r2
BaseExceptionrG
SystemExitKeyboardInterruptrdr{)
r'rjrr*r;r+r5r6r0rr1rcontexts
             rrsz)BaseSelectorEventLoop._accept_connection2s
	"	5''))H''))F	
# 44(Jv $E&*?)=	5??		!77(6!8##	
 


!!!

-.				5	5	5{

5N!$
'*2GJ'(+4GK(++G444444444

5

5

5

5

5

5	5s*AB"A,, BBC**/C%%C*cf|}t|tsQ	t|}n.#ttt
f$rtd|dwxYw	|j|}|std|d|dS#t$rYdSwxYw)NzInvalid file object: zFile descriptor z is used by transport )

isinstanceintrKAttributeError	TypeError
ValueErrorr&
is_closingrDr)r'rrKrs    r_ensure_fd_no_transportz-BaseSelectorEventLoop._ensure_fd_no_transports&#&&	K
KV]]__--"Iz:
K
K
K !?!?!?@@dJ
K	&(0I''))
&"%r%% %%&&&
&
&			DD	s!;+A&*
B""
B0/B0c|tj|||d}	|j|}|j|jc}\}}|j||tjz||f||	n8#t$r+|j|tj|dfYnwxYw|Sr-)
_check_closedrHandler"rrXmodifyr
EVENT_READcancelrregister	r'rcallbackargshandlermaskreaderwriters	         rrSz!BaseSelectorEventLoop._add_readersxtT::
	 .((,,C
&)Z"D"66N!!"dY-A&A#)6"2
4
4
4!

	4	4	4N##B	(<%+TN
4
4
4
4
4	4
B2CCct|rdS	|j|}|j|jc}\}}|t
jz}|s|j|n|j||d|f||	dSdS#t$rYdSwxYw)NFT)rEr"rrrXrr
unregisterrrrr'rrrrrs      rrIz$BaseSelectorEventLoop._remove_readers>>	5	.((,,C&)Z"D"66Y)))D
@))"----%%b$v???!

tu			55	B))
B76B7c|tj|||d}	|j|}|j|jc}\}}|j||tjz||f||	n8#t$r+|j|tjd|fYnwxYw|Sr-)rrrr"rrXrrEVENT_WRITErrrrs	         r_add_writerz!BaseSelectorEventLoop._add_writer*sxtT::
	 .((,,C
&)Z"D"66N!!"dY-B&B#)6"2
4
4
4!

	4	4	4N##B	(=%)6N
4
4
4
4
4	4
rct|rdS	|j|}|j|jc}\}}|t
jz}|s|j|n|j|||df||	dSdS#t$rYdSwxYw)Remove a writer callback.FNT)rEr"rrrXrrrrrrrs      r_remove_writerz$BaseSelectorEventLoop._remove_writer:s>>	5	.((,,C&)Z"D"66Y***D
@))"----%%b$???!

tu			55	rcN|||j||g|RdS)zAdd a reader callback.N)rrSr'rrrs    r
add_readerz BaseSelectorEventLoop.add_readerQ9$$R(((X-------r(cV||||S)zRemove a reader callback.)rrIr'rs  r
remove_readerz#BaseSelectorEventLoop.remove_readerV*$$R(((""2&&&r(cN|||j||g|RdS)zAdd a writer callback..N)rrrs    r
add_writerz BaseSelectorEventLoop.add_writer[rr(cV||||S)r)rrrs  r
remove_writerz#BaseSelectorEventLoop.remove_writer`rr(cKtj||jr'|dkrt	d	||S#ttf$rYnwxYw|}|	}|
||||j|||}|
tj|j|||d{VS)zReceive data from the socket.

        The return value is a bytes object representing the data received.
        The maximum amount of data to be received at once is specified by
        nbytes.
        rthe socket must be non-blockingrN)r_check_ssl_socketrd
gettimeoutrr[r]r\rrKrrS
_sock_recvadd_done_callback	functoolspartial_sock_read_done)r'r/nfutrrs      r	sock_recvzBaseSelectorEventLoop.sock_recves	%d+++;	@4??,,11>???	99Q<<!12			D	  ""
[[]]$$R(((!!"dosD!DDd2BvFFF	H	H	HyyyyyyAA/.A/c`||s||dSdSr-)	cancelledrr'rrrs    rrz%BaseSelectorEventLoop._sock_read_done{8>!1!1!3!3>r""""">r(c*|rdS	||}||dS#ttf$rYdSt
tf$rt$r }||Yd}~dSd}~wwxYwr-)	doner[
set_resultr]r\rrr
set_exception)r'rr/rrXrs      rrz BaseSelectorEventLoop._sock_recvs88::	F		!99Q<<D
NN4      !12			FF-.				#	#	#c"""""""""	#ABB2B

BcKtj||jr'|dkrt	d	||S#ttf$rYnwxYw|}|	}|
||||j|||}|
tj|j|||d{VS)zReceive data from the socket.

        The received data is written into *buf* (a writable buffer).
        The return value is the number of bytes written.
        rrrN)rrrdrr	recv_intor]r\rrKrrS_sock_recv_intorrrr)r'r/bufrrrs      rsock_recv_intoz$BaseSelectorEventLoop.sock_recv_intos	%d+++;	@4??,,11>???	>>#&&&!12			D	  ""
[[]]$$R(((!!"d&:CsKKd2BvFFF	H	H	Hyyyyyyrc*|rdS	||}||dS#ttf$rYdSt
tf$rt$r }||Yd}~dSd}~wwxYwr-)	rrrr]r\rrrr)r'rr/rnbytesrs      rrz%BaseSelectorEventLoop._sock_recv_intos88::	F		#^^C((F
NN6""""" !12			FF-.				#	#	#c"""""""""	#rcKtj||jr'|dkrt	d	||S#ttf$rYnwxYw|}|	}|
||||j|||}|
tj|j|||d{VS)aReceive a datagram from a datagram socket.

        The return value is a tuple of (bytes, address) representing the
        datagram received and the address it came from.
        The maximum amount of data to be received at once is specified by
        nbytes.
        rrrN)rrrdrrrecvfromr]r\rrKrrS_sock_recvfromrrrr)r'r/bufsizerrrs      r
sock_recvfromz#BaseSelectorEventLoop.sock_recvfroms	%d+++;	@4??,,11>???	==)))!12			D	  ""
[[]]$$R(((!!"d&93gNNd2BvFFF	H	H	Hyyyyyyrc*|rdS	||}||dS#ttf$rYdSt
tf$rt$r }||Yd}~dSd}~wwxYwr-)	rrrr]r\rrrr)r'rr/rresultrs      rrz$BaseSelectorEventLoop._sock_recvfroms88::	F		#]]7++F
NN6""""" !12			FF-.				#	#	#c"""""""""	#rrc.Ktj||jr'|dkrt	d|st|}	|||S#ttf$rYnwxYw|	}|
}|||||j
||||}|tj|j|||d{VS)zReceive data from the socket.

        The received data is written into *buf* (a writable buffer).
        The return value is a tuple of (number of bytes written, address).
        rrrN)rrrdrrlen
recvfrom_intor]r\rrKrrS_sock_recvfrom_intorrrr)r'r/rrrrrs       rsock_recvfrom_intoz(BaseSelectorEventLoop.sock_recvfrom_intos7	%d+++;	@4??,,11>???	XXF	%%c6222!12			D	  ""
[[]]$$R(((!!"d&>T3"(**d2BvFFF	H	H	HyyyyyysA--BBc,|rdS	|||}||dS#ttf$rYdSt
tf$rt$r }||Yd}~dSd}~wwxYwr-)	rrrr]r\rrrr)r'rr/rrrrs       rrz)BaseSelectorEventLoop._sock_recvfrom_intos88::	F		#''W55F
NN6""""" !12			FF-.				#	#	#c"""""""""	#sABB3BBc	VKtj||jr'|dkrt	d	||}n#ttf$rd}YnwxYw|t|krdS|	}|
}|||||j
||t||g}|t!j|j|||d{VS)Send data to the socket.

        The socket must be connected to a remote socket. This method continues
        to send data from data until either all data has been sent or an
        error occurs. None is returned on success. On error, an exception is
        raised, and there is no way to determine how much data, if any, was
        successfully processed by the receiving end of the connection.
        rrNr)rrrdrrrbr]r\rrrKrr
_sock_sendall
memoryviewrrr_sock_write_done)r'r/rXrrrrs       rsock_sendallz"BaseSelectorEventLoop.sock_sendallsC	%d+++;	@4??,,11>???			$AA!12			AAA	
D		>>F  ""
[[]]$$R(((!!"d&8#t",T"2"2QC99d3RGGG	I	I	IyyyyyysAA21A2c|rdS|d}	|||d}nQ#ttf$rYdStt
f$rt$r }||Yd}~dSd}~wwxYw||z
}|t|kr|	ddS||d<dSNr)
rrbr]r\rrrrrr)r'rr/viewposstartrrs        rrz#BaseSelectorEventLoop._sock_sendall&s88::	FA			$uvv,''AA!12			FF-.						c"""FFFFF		
CIINN4     CFFFs>BB,BBcKtj||jr'|dkrt	d	|||S#ttf$rYnwxYw|}|	}|
||||j||||}|
tj|j|||d{VS)rrrrN)rrrdrrsendtor]r\rrKrr_sock_sendtorrrr)r'r/rXr@rrrs       rsock_sendtoz!BaseSelectorEventLoop.sock_sendto<s$	%d+++;	@4??,,11>???	;;tW---!12			D	  ""
[[]]$$R(((!!"d&7dD")++d3RGGG	I	I	IyyyyyysAA0/A0c.|rdS	||d|}||dS#ttf$rYdSt
tf$rt$r }||Yd}~dSd}~wwxYwr)	rrrr]r\rrrr)r'rr/rXr@rrs       rrz"BaseSelectorEventLoop._sock_sendtoWs88::	F		D!W--A
NN1 !12			FF-.				#	#	#c"""""""""	#sABB4BBcKtj||jr'|dkrt	d|jtjks!tjrR|jtj	kr=|
||j|j|j|d{V}|d\}}}}}|
}||||	|d{V	d}S#d}wxYw)zTConnect to a remote socket at address.

        This method is a coroutine.
        rr)familytypeprotoloopN)rrrdrrrrPAF_INET	_HAS_IPv6AF_INET6_ensure_resolvedrrr
_sock_connect)r'r/r@resolvedrrs      rsock_connectz"BaseSelectorEventLoop.sock_connectfs&
	%d+++;	@4??,,11>???;&.((%)*.+*H*H!22$)4:3H#+1+Aq!Q  ""3g...	999999CC$CJJJJs$C//C3c|}	|||dn#ttf$re|||||j|||}|tj
|j||Yn<ttf$rt$r}||Yd}~nd}~wwxYwd}dS#d}wxYw)Nr)rKconnectrr]r\rr_sock_connect_cbrrrrrrrr)r'rr/r@rrrs       rrz#BaseSelectorEventLoop._sock_connectsG
[[]]	LL!!! 
NN4     !12		M		M		M

((,,,%%D)3g??F!!!$"7FKKK
M
M
M
M
M-.				#	#	#c""""""""	#
CCC$CJJJJs;AC6A3C/4C66C/C*%C6*C//C66C:c`||s||dSdSr-)rrrs    rrz&BaseSelectorEventLoop._sock_write_donerr(c|rdS	|tjtj}|dkrt|d|	|dnO#ttf$rYn<ttf$rt$r}||Yd}~nd}~wwxYwd}dS#d}wxYw)NrzConnect call failed )
r
getsockoptrP
SOL_SOCKETSO_ERRORrcrr]r\rrrr)r'rr/r@errrs      rrz&BaseSelectorEventLoop._sock_connect_cbs88::	F	//&"3V_EECaxxc#C'#C#CDDD
NN4     !12			D-.				#	#	#c""""""""	#
CCC$CJJJJs<AA2C2B>CB>B94C9B>>CC	cKtj||jr'|dkrt	d|}||||d{VS)aWAccept a connection.

        The socket must be bound to an address and listening for connections.
        The return value is a pair (conn, address) where conn is a new socket
        object usable to send and receive data on the connection, and address
        is the address bound to the socket on the other end of the connection.
        rrN)rrrdrrr_sock_accept)r'r/rs   rsock_acceptz!BaseSelectorEventLoop.sock_accepts	%d+++;	@4??,,11>???  ""#t$$$yyyyyyr(c|}	|\}}|d|||fdS#tt
f$re|||||j||}|	tj|j||YdSttf$rt$r }||Yd}~dSd}~wwxYw)NFr)rKrrrRrr]r\rrSrrrrrrrrr)r'rr/rrr@rrs        rrz"BaseSelectorEventLoop._sock_acceptsI
[[]]
	, KKMMMD'U###
NND'?+++++ !12	L	L	L((,,,%%b$*;S$GGF!!!$"66JJJ
L
L
L
L
L
L-.				#	#	#c"""""""""	#s,AA2D
D
*DD
cK|j|j=|}||d{V	||j|||dd{V	||r|||j|j<S#||r|||j|j<wxYw)NF)fallback)	r&_sock_fd
is_reading
pause_reading_make_empty_waiter
sock_sendfile_sock_reset_empty_waiterresume_reading)r'transpfileoffsetcountrs      r_sendfile_nativez&BaseSelectorEventLoop._sendfile_natives1V_-**,,'')))))))))	7++FL$5:,<<<<<<<<
<
&&(((
(%%'''06DV_--
&&(((
(%%'''06DV_-6666s$B22;C-cF|D]\}}|j|jc}\}}|tjzr4|2|jr||n|||tjzr4|2|jr||||dSr-)	fileobjrXrr
_cancelledrI
_add_callbackrr)r'
event_listrrrrrs       r_process_eventsz%BaseSelectorEventLoop._process_eventss#	/	/IC(+SX%G%ffi**
/v/A$/''0000&&v...i++
/0B$/''0000&&v...	/	/r(c||||dSr-)rIrKrG)r'r/s  r
_stop_servingz#BaseSelectorEventLoop._stop_servings/DKKMM***

r(r-NNN)r)4r!
__module____qualname____doc__rr2rSSL_HANDSHAKE_TIMEOUTSSL_SHUTDOWN_TIMEOUTr=rArGrFr#rYrTrfrlrirsrrSrIrrrrrrrrrrrrrrrrrrrrrrrr	rrrr!
__classcell__r s@rrr+s
9999997%)$777779=+ $t"+"A!*!?+++++$CGBBBB
	"	"	"	"	"   EEE





,,,&#'tS-6-L,5,JFFFFD#"+"A!*!?	,),),),)`D"+"A!*!?	)5)5)5)5V&&&$ * ....
'''
...
'''
,####!!! *###".###"2###">,6


2.####*


,,,"777///r(rceZdZdZeZdZdfd	ZdZdZ	dZ
dZdZd	Z
d
ZdZdZejfd
ZddZdZdZdZdZxZS)_SelectorTransportiNct||tj||jd<	||jd<n#t$r
d|jd<YnwxYwd|jvr=	||jd<n#tj	$r
d|jd<YnwxYw||_
||_d|_
||||_||_d|_d|_d|_|j|j||j|j<dS)NrPsocknamernFr)rrrr|_extragetsocknamercgetpeernamerPerrorrrKr
_protocol_connectedset_protocol_server_buffer_factory_buffer
_conn_lost_closing_paused_attachr&)r'rr/r0r*r+r s      rrz_SelectorTransport.__init__so
%%% & 6t < <H	+&*&6&6&8&8DK
##	+	+	+&*DK
###	+T[((
/*.*:*:*<*<J''<
/
/
/*.J'''
/



#( (###++--
<#L  """*.'''s$AA54A5BB;:B;c|jjg}|j|dn|jr|d|d|j|j|jst|jj	|jtj}|r|dn|dt|jj	|jtj}|rd}nd}|
}|d|d	|d
dd|S)
Nclosedclosingzfd=zread=pollingz	read=idlepollingidlezwrite=<z
, bufsize=>z<{}> )r r!rappendr8r
_looprErr"rrrget_write_buffer_sizeformatjoin)r'infor>staters     r__repr__z_SelectorTransport.__repr__s]'(:KK!!!!
]	#KK	""")$-))***:!$**>*>*@*@!*4:+?+/=):NPPG
)N++++K(((*4:+?+/=+4+@BBG
!0022GKK=%==7===>>>}}SXXd^^,,,r(c0|ddSr-)_force_closerNs rabortz_SelectorTransport.abort4s$r(c"||_d|_dSNT)	_protocolr2)r'r0s  rr3z_SelectorTransport.set_protocol7s!#'   r(c|jSr-)rOrNs rget_protocolz_SelectorTransport.get_protocol;s
~r(c|jSr-)r8rNs rrz_SelectorTransport.is_closing>s
}r(c<|o|jSr-)rr9rNs rrz_SelectorTransport.is_readingAs??$$$9T\)99r(c|sdSd|_|j|j|jrt
jd|dSdS)NTz%r pauses reading)rr9rCrIr
	get_debugr
rrNs rrz _SelectorTransport.pause_readingDsq  	F
!!$-000:!!	4L,d33333	4	4r(c|js|jsdSd|_||j|j|jrtjd|dSdS)NFz%r resumes reading)	r8r9rSr
_read_readyrCrUr
rrNs rrz!_SelectorTransport.resume_readingLsu=		F(8999:!!	5L-t44444	5	5r(c|jrdSd|_|j|j|jsQ|xjdz
c_|j|j|j|jddSdSNTr)	r8rCrIr
r6r7r	call_soon_call_connection_lostrNs rrGz_SelectorTransport.closeTs=	F

!!$-000|	COOq OOJ%%dm444J  !;TBBBBB	C	Cr(cv|j1|d|t||jdSdS)Nzunclosed transport )source)rResourceWarningrG)r'_warns  r__del__z_SelectorTransport.__del__^sL:!E000/$OOOOJ"!r(Fatal error on transportct|tr2|jrt	jd||dn$|j||||jd||dS)Nz%r: %sTr`)rorprr0)	rrcrCrUr
rr{rOrK)r'rros   r_fatal_errorz_SelectorTransport._fatal_errorcsc7##		z##%%
EXtWtDDDDJ--" ! N	//


	
#r(cP|jrdS|jr8|j|j|j|js&d|_|j|j|xjdz
c_|j|j	|dSrY)
r7r6clearrCrr
r8rIrZr[)r'rs  rrKz_SelectorTransport._force_closeqs?	F<	5L   J%%dm444}	5 DMJ%%dm4441
T7=====r(c	|jr|j||jd|_d|_d|_|j}||d|_dSdS#|jd|_d|_d|_|j}||d|_wxYwr-)r2rOconnection_lostrrGrCr4_detach)r'rr+s   rr[z(_SelectorTransport._call_connection_lost}s	$'
4..s333JDJ!DNDJ\F!   #"!
JDJ!DNDJ\F!   #####s!A99AC
c*t|jSr-)rr6rNs rrDz(_SelectorTransport.get_write_buffer_sizes4<   r(cZ|sdS|jj||g|RdSr-)rrCrSrs    rrSz_SelectorTransport._add_readers>  	F
r83d333333r()NN)ra)r!r#r$max_size	bytearrayr5rrrIrLr3rQrrrrrGwarningswarnr`rcrKr[rDrSr(r)s@rr+r+sEHO

E//////8---8   (((:::444555CCC%M

>
>
>$$$!!!4444444r(r+ceZdZdZejjZ		dfd	ZfdZ	dZ
dZdZdZ
d	Zd
ZdZdZfd
ZdZdZxZS)r.TNcd|_t|||||d|_d|_tj|j|j	|j
j||j	|j|j
|j|(|j	tj|ddSdSr)_read_ready_cbrr_eof
_empty_waiterr_set_nodelayrrCrZrOconnection_maderSr
rWr_set_result_unless_cancelled)r'rr/r0r1r*r+r s       rrz!_SelectorSocketTransport.__init__s#
tXuf===	!
	 ,,,
T^;TBBB
T-!]D,<	>	>	>J  !E!'
/
/
/
/
/r(ct|tjr
|j|_n|j|_t
|dSr-)rr	BufferedProtocol_read_ready__get_bufferrq_read_ready__data_receivedrr3)r'r0r s  rr3z%_SelectorSocketTransport.set_protocolsPh	 :;;	B"&">D"&"AD
X&&&&&r(c.|dSr-)rqrNs rrWz$_SelectorSocketTransport._read_readysr(c|jrdS	|jd}t|st	dn?#t
tf$rt$r!}||dYd}~dSd}~wwxYw	|j	
|}nR#ttf$rYdSt
tf$rt$r!}||dYd}~dSd}~wwxYw|s|
dS	|j|dS#t
tf$rt$r!}||dYd}~dSd}~wwxYw)Nz%get_buffer() returned an empty bufferz/Fatal error: protocol.get_buffer() call failed.$Fatal read error on socket transportz3Fatal error: protocol.buffer_updated() call failed.)r7rO
get_bufferrrDrrrrcrrr]r\_read_ready__on_eofbuffer_updated)r'rrrs    rryz0_SelectorSocketTransport._read_ready__get_buffers?	F		.++B//Cs88
L"#JKKK
L-.						F
H
H
HFFFFF	
	Z))#..FF!12			FF-.						c#IJJJFFFFF		$$&&&F	LN))&11111-.				L	L	LJ
L
L
L
L
L
L
L
L
L	LsM8ABA;;BBC.3C.
C))C.
D&&E"EE"c|jrdS	|j|j}nR#tt
f$rYdSttf$rt$r!}|	|dYd}~dSd}~wwxYw|s|
dS	|j|dS#ttf$rt$r!}|	|dYd}~dSd}~wwxYw)Nr~z2Fatal error: protocol.data_received() call failed.)
r7rr[rkr]r\rrrrcrrO
data_received)r'rXrs   rrzz3_SelectorSocketTransport._read_ready__data_receivedsp?	F	:??4=11DD!12			FF-.						c#IJJJFFFFF		$$&&&F	KN((.....-.				K	K	KI
K
K
K
K
K
K
K
K
K	Ks2+A:A:A55A:B22C.
C))C.c|jrtjd|	|j}n?#ttf$rt$r!}|	|dYd}~dSd}~wwxYw|r!|j
|jdS|dS)Nz%r received EOFz1Fatal error: protocol.eof_received() call failed.)
rCrUr
rrOeof_receivedrrrrcrIr
rG)r'	keep_openrs   rrz,_SelectorSocketTransport._read_ready__on_eofs:!!	2L*D111	3355II-.						H
J
J
JFFFFF	
	
J%%dm44444JJLLLLLsA

B%BBc t|tttfs$t	dt|j|jrtd|j	td|sdS|j
r;|j
tjkrtjd|xj
dz
c_
dS|js	|j|}||d}|sdSnQ#t$t&f$rYn>t(t*f$rt,$r!}||dYd}~dSd}~wwxYw|j|j|j|j||dS)N/data argument must be a bytes-like object, not z%Cannot call write() after write_eof()z(unable to write; sendfile is in progresssocket.send() raised exception.r%Fatal write error on socket transport)rbytesrlrrrr!rrrDrsr7r!LOG_THRESHOLD_FOR_CONNLOST_WRITESr
warningr6rrbr]r\rrrrcrCrr
_write_readyextend_maybe_pause_protocol)r'rXrrs    rwritez_SelectorSocketTransport.write
s$	: >??	<;#'::#6;;<<
<9	HFGGG)IJJJ	F?	)"MMM@AAAOOq OOF|	E
JOOD))ABBxF$%56


 12


 


!!#'NOOO

J""4=$2CDDD	
D!!!""$$$$$sC**D8=D8D33D8cD|js
Jd|jrdS	|j|j}|r
|jd|=||js|j|j|j|j	d|j
r|ddS|jr(|j
tjdSdSdS#t t"f$rYdSt$t&f$rt($r}|j|j|j||d|j |j|Yd}~dSYd}~dSd}~wwxYw)NzData should not be emptyr)r6r7rrb_maybe_resume_protocolrCrr
rsrr8r[rrshutdownrPSHUT_WRr]r\rrrrercr)r'rrs   rrz%_SelectorSocketTransport._write_ready4s|777777?	F	8
--A
%L!$'')))<
8
))$-888%1&11$777=8..t44444Y8J''77777
8
888) !12			DD-.				6	6	6J%%dm444L   c#JKKK!-"00555555555.-----		6sC11FFA/FFc|js|jrdSd|_|js&|jt
jdSdSrN)r8rrr6rrrPrrNs r	write_eofz"_SelectorSocketTransport.write_eofRsS=	DI	F	|	0J/////	0	0r(cdSrNrVrNs r
can_write_eofz&_SelectorSocketTransport.can_write_eofYstr(ct||j)|jt	ddSdS)NzConnection is closed by peer)rr[rsrConnectionError)r'rr s  rr[z._SelectorSocketTransport._call_connection_lost\sb
%%c***),, >??
A
A
A
A
A*)r(c|jtd|j|_|js|jd|jS)NzEmpty waiter is already set)rsrDrCrr6rrNs rrz+_SelectorSocketTransport._make_empty_waiterbsZ)<===!Z5577|	0))$///!!r(cd|_dSr-)rsrNs rrz,_SelectorSocketTransport._reset_empty_waiterjs!r(r")r!r#r$_start_tls_compatibler
_SendfileMode
TRY_NATIVE_sendfile_compatiblerr3rWryrzrrrrrr[rrr(r)s@rr.r.s* $2=48$(//////,'''''#L#L#LJKKK2*%%%%%%N888<000AAAAA""""""""""r(r.cLeZdZejZ		dfd	ZdZdZddZ	dZ
xZS)	r?Nc`t||||||_d|_|j|jj||j|j|j	|j
|(|jtj|ddSdSr)
rr_address_buffer_sizerCrZrOrurSr
rWrrv)r'rr/r0r@r1r*r s       rrz#_SelectorDatagramTransport.__init__rs
tXu555

T^;TBBB
T-!]D,<	>	>	>J  !E!'
/
/
/
/
/r(c|jSr-)rrNs rrDz0_SelectorDatagramTransport.get_write_buffer_sizes  r(c|jrdS	|j|j\}}|j||dS#ttf$rYdSt$r%}|j	|Yd}~dSd}~wttf$rt$r!}|
|dYd}~dSd}~wwxYw)Nz&Fatal read error on datagram transport)r7rrrkrOdatagram_receivedr]r\rcerror_receivedrrrrcr'rXrrs    rrWz&_SelectorDatagramTransport._read_readys?	F	9,,T];;JD$
N,,T488888 !12			DD	/	/	/N))#.........-.				M	M	Mc#KLLLLLLLLL	Ms)"A

C	C'BC%CCc t|tttfs$t	dt|j|sdS|jr)|d|jfvrtd|j|j}|j	rB|jr;|j	tjkrtj
d|xj	dz
c_	dS|js	|jdr|j|n|j||dS#t&t(f$r(|j|j|jYnkt2$r%}|j|Yd}~dSd}~wt8t:f$rt<$r!}||dYd}~dSd}~wwxYw|j t||f|xj!tE|z
c_!|#dS)Nrz!Invalid address: must be None or rrrn'Fatal write error on datagram transport)$rrrlrrrr!rrr7rrr
rr6r.rrbrr]r\rCrr

_sendto_readyrcrOrrrrrcrBrrrrs    rrz!_SelectorDatagramTransport.sendtosi$	: >??	<;#'::#6;;<<
<	F=	!D$-000 G
GGIII=D?	t}	)"MMM@AAAOOq OOF|	
;z*2JOOD))))J%%dD111#%56
J
J
J
&&t}d6HIIIII


--c222 12


 


!!BDDD
	
U4[[$/000SYY&""$$$$$s+AD6F1		F1E22F1F,,F1cD|jr=|j\}}|xjt|zc_	|jdr|j|n|j||n#ttf$r<|j
||f|xjt|z
c_Ynst$r%}|j
|Yd}~dSd}~wttf$rt $r!}||dYd}~dSd}~wwxYw|j=||js=|j|j|jr|ddSdSdS)Nrnr)r6popleftrrr.rrbrr]r\
appendleftrcrOrrrrrcrrCrr
r8r[rs    rrz(_SelectorDatagramTransport._sendto_readysl	--//JD$T*
;z*2JOOD))))J%%dD111#%56


''t555!!SYY.!!


--c222 12


 


!!BDDD
#l	,	
##%%%|	1J%%dm444}
1**400000	1	1
1
1s,ABA
D;	D;C<<D;D66D;r"r-)r!r#r$collectionsdequer5rrDrWrrr(r)s@rr?r?ns!'O59$(//////!!!999 *%*%*%*%X1111111r(r?)r%__all__rrvrrrPrmr$sslImportErrorrrrrr	r
rrlogr
r
BaseEventLoopr_FlowControlMixin	Transportr+r.r?rVr(r<module>rs*#



JJJJ
CCC(((BBBBBK5BBBJa4a4a4a4a45#-a4a4a4HW"W"W"W"W"1W"W"W"tl1l1l1l1l1!3l1l1l1l1l1s'11