File "proactor_events.cpython-34.pyc"

Full Path: /home/attunedd/public_html/byp/izo/con7ext_sym404/rintoar.txt/opt/alt/python34/lib64/python3.4/asyncio/__pycache__/proactor_events.cpython-34.pyc
File size: 17.59 KB
MIME-type: text/x-bytecode.python
Charset: 8 bit


j fN@s_dZdgZddlZddlZddlmZddlmZddlmZddlmZdd	lm	Z	dd
lm
Z
ddlmZGdd
d
e
j
e
jZGdddee
jZGdddee
jZGdddeZGdddeee
jZGdddeee
jZGdddejZdS)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)compat)	constants)futures)sslproto)
transports)loggercseZdZdZdddfddZddZddZd	d
ZddZe	j
rud
dZndddZddZ
ddZddZS)_ProactorBasePipeTransportz*Base class for pipe and socket transports.Ncstj|||j|||_||_||_d|_d|_d|_d|_	d|_
d|_d|_|jdk	r|jj
n|jj|jj||dk	r|jjtj|dndS)NrF)super__init__
_set_extra_sock	_protocol_server_buffer	_read_fut
_write_fut_pending_write
_conn_lost_closing_eof_writtenZ_attach_loop	call_soonZconnection_maderZ_set_result_unless_cancelled)selfloopsockprotocolwaiterextraserver)	__class__</opt/alt/python34/lib64/python3.4/asyncio/proactor_events.pyr
s$
										z#_ProactorBasePipeTransport.__init__cCs|jjg}|jdkr.|jdn|jrG|jdn|jdk	rs|jd|jjn|jdk	r|jd|jn|jdk	r|jd|jn|jrt	|j}|jd|n|j
r|jdndd	j|S)
Nclosedclosingzfd=%szread=%szwrite=%rzwrite_bufsize=%szEOF writtenz<%s> )r"__name__rappendrfilenorrrlenrjoin)rinfobufsizer#r#r$__repr__/s"			z#_ProactorBasePipeTransport.__repr__cCs||jd<dS)Npipe)_extra)rrr#r#r$rBsz%_ProactorBasePipeTransport._set_extracCs|jS)N)r)rr#r#r$
is_closingEsz%_ProactorBasePipeTransport.is_closingcCs|jr
dSd|_|jd7_|jrW|jdkrW|jj|jdn|jdk	r|jjd|_ndS)NTr)	rrrrrr_call_connection_lostrcancel)rr#r#r$closeHs		
z _ProactorBasePipeTransport.closecCs4|jdk	r0tjd|t|jndS)Nzunclosed transport %r)rwarningswarnResourceWarningr5)rr#r#r$__del__Wsz"_ProactorBasePipeTransport.__del__zFatal error on pipe transportcCst|ttfrC|jjrrtjd||ddqrn/|jji|d6|d6|d6|jd6|j	|dS)Nz%r: %sexc_infoTmessage	exceptionZ	transportr)

isinstanceBrokenPipeErrorConnectionResetErrorr	get_debugr
debugcall_exception_handlerr_force_close)rexcr;r#r#r$_fatal_error\sz'_ProactorBasePipeTransport._fatal_errorcCs|jr
dSd|_|jd7_|jrG|jjd|_n|jri|jjd|_nd|_d|_|jj|j	|dS)NTrr)
rrrr4rrrrrr3)rrDr#r#r$rCis			
	
		z'_ProactorBasePipeTransport._force_closecCsz|jj|Wdt|jdr?|jjtjn|jjd|_|j}|dk	r|j	d|_nXdS)Nshutdown)
rZconnection_losthasattrrrFsocketZ	SHUT_RDWRr5rZ_detach)rrDr!r#r#r$r3xs
		
z0_ProactorBasePipeTransport._call_connection_lostcCs2|j}|jdk	r.|t|j7}n|S)N)rrr+)rsizer#r#r$get_write_buffer_sizes	z0_ProactorBasePipeTransport.get_write_buffer_size)r(
__module____qualname____doc__r
r/rr2r5rZPY34r9rErCr3rJr#r#)r"r$rs	
rcsXeZdZdZdddfddZddZddZdd	d
ZS)_ProactorReadPipeTransportzTransport for read pipes.Ncs?tj||||||d|_|jj|jdS)NF)rr
_pausedrr
_loop_reading)rrrrrr r!)r"r#r$r
s	z#_ProactorReadPipeTransport.__init__cCs_|jrtdn|jr0tdnd|_|jjr[tjd|ndS)Nz#Cannot pause_reading() when closingzAlready pausedTz%r pauses reading)rRuntimeErrorrOrr@r
rA)rr#r#r$
pause_readings			z(_ProactorReadPipeTransport.pause_readingcCsm|jstdnd|_|jr.dS|jj|j|j|jjritj	d|ndS)Nz
Not pausedFz%r resumes reading)
rOrQrrrrPrr@r
rA)rr#r#r$resume_readings			z)_ProactorReadPipeTransport.resume_readingcCs%|jr
dSd}zy|dk	rj|j|ksR|jdkrL|jsRtd|_|j}n|jr}d}dS|dkrdS|jjj|jd|_Wnt	k
r}zF|js|j
|dn%|jjrtj
dddnWYdd}~Xntk
rE}z|j|WYdd}~Xnktk
ry}z|j
|dWYdd}~Xn7tjk
r|jsnYnX|jj|jWd|r|jj|nS|dk	r |jjrtj
d|n|jj}|s |jq nXdS)Niz"Fatal read error on pipe transportz*Read error on pipe transport while closingr:Tz%r received EOF)rOrrAssertionErrorresultr	_proactorrecvrConnectionAbortedErrorrEr@r
rAr?rCOSErrorrCancelledErroradd_done_callbackrPrZ
data_receivedZeof_receivedr5)rfutdatarDZ	keep_openr#r#r$rPsJ			"	"	z(_ProactorReadPipeTransport._loop_reading)r(rKrLrMr
rRrSrPr#r#)r"r$rNs	
rNc@sXeZdZdZddZddddZddZd	d
ZddZdS)
_ProactorBaseWritePipeTransportzTransport for write pipes.cCst|tttfs0tdt|n|jrHtdn|sRdS|jr|jt	j
kr}tjdn|jd7_dS|j
dkr|jdkst|jdt|n?|jst||_|jn|jj||jdS)Nz#data argument must be byte-ish (%r)zwrite_eof() already calledzsocket.send() raised exception.rr^)r=bytes	bytearray
memoryview	TypeErrortyperrQrrZ!LOG_THRESHOLD_FOR_CONNLOST_WRITESr
warningrrrU
_loop_writing_maybe_pause_protocolextend)rr^r#r#r$writes(			
z%_ProactorBaseWritePipeTransport.writeNcCsy7||jkstd|_d|_|r=|jn|dkr^|j}d|_n|s|jr|jj|jdn|j	r|j
jtj
n|jn|jjj|j
||_|jjs#|jdkstt||_|jj|j|jn|jj|jWnftk
rk}z|j|WYdd}~Xn5tk
r}z|j|dWYdd}~XnXdS)Nrz#Fatal write error on pipe transport)rrUrrVrrrrr3rrrFrHSHUT_WRZ_maybe_resume_protocolrWsenddoner+r\rfrgr?rCrZrE)rfr^rDr#r#r$rfs4		
			

z-_ProactorBaseWritePipeTransport._loop_writingcCsdS)NTr#)rr#r#r$
can_write_eof(sz-_ProactorBaseWritePipeTransport.can_write_eofcCs|jdS)N)r5)rr#r#r$	write_eof+sz)_ProactorBaseWritePipeTransport.write_eofcCs|jddS)N)rC)rr#r#r$abort.sz%_ProactorBaseWritePipeTransport.abort)	r(rKrLrMrirfrnrorpr#r#r#r$r_s##r_cs.eZdZfddZddZS)_ProactorWritePipeTransportcsHtj|||jjj|jd|_|jj|jdS)N)	rr
rrWrXrrr\_pipe_closed)rargskw)r"r#r$r
3sz$_ProactorWritePipeTransport.__init__cCs|jrdS|jdks(t|jrJ|jdksFtdS||jksnt||jfd|_|jdk	r|jtn
|jdS)NrT)	Z	cancelledrVrUrrrrCr>r5)rr]r#r#r$rs8s	$	z(_ProactorWritePipeTransport._pipe_closed)r(rKrLr
rsr#r#)r"r$rq2srqc@s.eZdZdZddZddZdS)_ProactorDuplexPipeTransportzTransport for duplex pipes.cCsdS)NFr#)rr#r#r$rnMsz*_ProactorDuplexPipeTransport.can_write_eofcCs
tdS)N)NotImplementedError)rr#r#r$roPsz&_ProactorDuplexPipeTransport.write_eofN)r(rKrLrMrnror#r#r#r$rvHsrvc@s:eZdZdZddZddZddZdS)	_ProactorSocketTransportz Transport for connected sockets.cCs||jd<y|j|jd<WnCtjtfk
ri|jjretjd|ddnYnXd|jkry|j	|jd<Wqtjtfk
r|jjrtjd|ddnYqXndS)NrHZsocknamezgetsockname() failed on %rr:Tpeernamezgetpeername() failed on %r)
r1ZgetsocknamerHerrorAttributeErrorrr@r
reZgetpeername)rrr#r#r$rYs
		z#_ProactorSocketTransport._set_extracCsdS)NTr#)rr#r#r$rnisz&_ProactorSocketTransport.can_write_eofcCsH|js|jrdSd|_|jdkrD|jjtjndS)NT)rrrrrFrHrj)rr#r#r$rols
	z"_ProactorSocketTransport.write_eofN)r(rKrLrMrrnror#r#r#r$rxTsrxcsKeZdZfddZdddddZdddddd	dd
dddZddd
dZddddZddddZfddZ	ddZ
ddZddZddZ
ddZdd Zd!d"Zdd#d$Zd%d&Zddd'd(Zd)d*Zd+d,Zd-d.ZS)/rcsbtjtjd|jj||_||_d|_i|_	|j
||jdS)NzUsing proactor: %s)rr
r
rAr"r(rW	_selector_self_reading_future_accept_futuresZset_loop_make_self_pipe)rZproactor)r"r#r$r
vs
				
zBaseProactorEventLoop.__init__NcCst||||||S)N)rx)rrrrr r!r#r#r$_make_socket_transportsz,BaseProactorEventLoop._make_socket_transportserver_sideFserver_hostnamer r!c
Cs\tjstdntj||||||}	t|||	d|d||	jS)NzOProactor event loop requires Python 3.5 or newer (ssl.MemoryBIO) to support SSLr r!)rZ_is_sslproto_availablerwZSSLProtocolrxZ_app_transport)
rZrawsockr
sslcontextrrrr r!Zssl_protocolr#r#r$_make_ssl_transports
z)BaseProactorEventLoop._make_ssl_transportcCst|||||S)N)rv)rrrrr r#r#r$_make_duplex_pipe_transportsz1BaseProactorEventLoop._make_duplex_pipe_transportcCst|||||S)N)rN)rrrrr r#r#r$_make_read_pipe_transportsz/BaseProactorEventLoop._make_read_pipe_transportcCst|||||S)N)rq)rrrrr r#r#r$_make_write_pipe_transportsz0BaseProactorEventLoop._make_write_pipe_transportcso|jrtdn|jr+dS|j|j|jjd|_d|_tjdS)Nz!Cannot close a running event loop)	Z
is_runningrQ	is_closed_stop_accept_futures_close_self_piperWr5r|r)r)r"r#r$r5s


		zBaseProactorEventLoop.closecCs|jj||S)N)rWrX)rrnr#r#r$	sock_recvszBaseProactorEventLoop.sock_recvcCs|jj||S)N)rWrk)rrr^r#r#r$sock_sendallsz"BaseProactorEventLoop.sock_sendallcCsvytj||WnHtk
r^}z(tjd|}|j||SWYdd}~XnX|jj||SdS)Nr)rZ_check_resolved_address
ValueErrorrZFutureZ
set_exceptionrWZconnect)rrZaddresserrr]r#r#r$sock_connects
z"BaseProactorEventLoop.sock_connectcCs|jj|S)N)rWaccept)rrr#r#r$sock_acceptsz!BaseProactorEventLoop.sock_acceptcCs
tdS)N)rw)rr#r#r$_socketpairsz!BaseProactorEventLoop._socketpaircCsg|jdk	r(|jjd|_n|jjd|_|jjd|_|jd8_dS)Nr)r}r4_ssockr5_csock
_internal_fds)rr#r#r$rs

	
	z&BaseProactorEventLoop._close_self_pipecCs[|j\|_|_|jjd|jjd|jd7_|j|jdS)NFr)rrrZsetblockingrr_loop_self_reading)rr#r#r$rs
z%BaseProactorEventLoop._make_self_pipecCsy5|dk	r|jn|jj|jd}Wn_tjk
rPdSYn`tk
r}z'|jidd6|d6|d6WYdd}~XnX||_|j	|j
dS)Niz.Error on reading from the event loop self piper;r<r)rVrWrXrrr[	ExceptionrBr}r\r)rrmrDr#r#r$rs
		z(BaseProactorEventLoop._loop_self_readingcCs|jjddS)Ns)rrk)rr#r#r$_write_to_selfsz$BaseProactorEventLoop._write_to_selfcs5dfddjdS)Ncsy|dk	r|j\}}jrCtjd||n}dk	rj||dddi|d6dqj||di|d6dnjrdSjj}Wnt	k
rZ}zhj
dkr&jidd	6|d
6d6jn"jrHtjdd
dnWYdd}~Xn?t
jk
rxjYn!X|jj
<|jdS)Nz#%r got a new connection from %r: %rrTr ryr!rzAccept failed on a socketr;r<rHzAccept failed on socket %rr:)rVZ_debugr
rArrrrWrrZr*rBr5rr[r~r\)rmZconnZaddrrrD)rprotocol_factoryrr!rrr#r$rs>					
		"z2BaseProactorEventLoop._start_serving.<locals>.loop)r)rrrrr!r#)rrrr!rrr$_start_servings$$z$BaseProactorEventLoop._start_servingcCsdS)Nr#)rZ
event_listr#r#r$_process_eventssz%BaseProactorEventLoop._process_eventscCs5x!|jjD]}|jqW|jjdS)N)r~valuesr4clear)rZfuturer#r#r$rsz*BaseProactorEventLoop._stop_accept_futurescCs(|j|jj||jdS)N)rrW
_stop_servingr5)rrr#r#r$r#s
z#BaseProactorEventLoop._stop_serving)r(rKrLr
rrrrrr5rrrrrrrrrrrrrr#r#)r"r$rts4


()rM__all__rHr6rrrrrr	logr
Z_FlowControlMixinZ
BaseTransportrZ
ReadTransportrNZWriteTransportr_rqZ	TransportrvrxZ
BaseEventLooprr#r#r#r$<module>s0	zMS