Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
idna / lib / python2.7 / site-packages / os_win / utils / io / namedpipe.pyc
Size: Mime:
ó
̍EYc@s¿ddlZddlZddlmZddlmZddlmZddl	m
Z
ddl	mZddlm
Z
ejdƒZejd	ƒZejeƒZd
efd„ƒYZdS(iÿÿÿÿN(tpatcher(tlog(t_(t	constants(t
exceptions(tioutilst	threadingttimetNamedPipeHandlercBs³eZdZdZddddd„Zd„Zd„Zd„Zd„Z	d„Z
d„Zd	„Zd
„Z
d„Zdd„Zd
„Zd„Zd„Zd„Zd„ZRS(s=Handles asyncronous I/O operations on a specified named pipe.icCsz||_||_||_||_||_tjƒ|_g|_d|_
tjƒ|_t
jƒ|_|jƒdS(N(t
_pipe_namet_input_queuet
_output_queuet_log_file_patht_connect_eventRtEventt_stoppedt_workerstNonet_pipe_handletLockt_lockRtIOUtilst_ioutilst_setup_io_structures(tselft	pipe_nametinput_queuetoutput_queuet
connect_eventtlog_file((sN/home/tvault/.virtenv/lib/python2.7/site-packages/os_win/utils/io/namedpipe.pyt__init__&s							cCsy­|jƒ|jr1t|jddƒ|_n|jg}|jrb|jrb|j|jƒnxG|D]?}t	j
d|ƒ}|jtƒ|j
ƒ|jj|ƒqiWWnZtk
r	}tdƒi|jd6|d6}tj|ƒ|jƒtj|ƒ‚nXdS(NtabittargetsPNamed pipe handler failed to initialize. Pipe Name: %(pipe_name)s Error: %(err)sRterr(t
_open_pipeRtopent_log_file_handlet_read_from_pipeR
R
tappendt_write_to_pipeRtThreadt	setDaemontTruetstartRt	ExceptionRR	tLOGterrortstopRtOSWinException(RtjobstjobtworkerR!tmsg((sN/home/tvault/.virtenv/lib/python2.7/site-packages/os_win/utils/io/namedpipe.pyR+7s&
	


	


cCs€|jjƒ|js#|jƒnxM|jD]B}x9|jƒrn|tjƒk	rn|jƒ|jdƒq6Wq-Wg|_dS(Ngà?(	RtsetRt_cleanup_handlestis_aliveRtcurrent_threadt
_cancel_iotjoin(RR3((sN/home/tvault/.virtenv/lib/python2.7/site-packages/os_win/utils/io/namedpipe.pyR/Qs
	

cCs’|jƒ|jr,|jjƒd|_n|jjr]|jj|jjƒd|j_n|jjrŽ|jj|jjƒd|j_ndS(N(	t_close_pipeR$tcloseRt
_r_overlappedthEventRtclose_handlet
_w_overlapped(R((sN/home/tvault/.virtenv/lib/python2.7/site-packages/os_win/utils/io/namedpipe.pyR6gs
	
cCs‹|jjtjƒ|_|jjtjƒ|_|jjƒ|_|jjƒ|_|jj	|j
ƒ|_|jj	ƒ|_d|_dS(N(Rt
get_bufferRtSERIAL_CONSOLE_BUFFER_SIZEt	_r_buffert	_w_buffertget_new_overlapped_structureR=R@tget_completion_routinet_read_callbackt_r_completion_routinet_w_completion_routineRR$(R((sN/home/tvault/.virtenv/lib/python2.7/site-packages/os_win/utils/io/namedpipe.pyRvs			c
Csa|jj|jƒ|jj|jdtjtjBdtjtjBdtj	dtj
ƒ|_dS(s:Opens a named pipe in overlapped mode for asyncronous I/O.tdesired_accesst
share_modetcreation_dispositiontflags_and_attributesN(Rtwait_named_pipeR	R#RtGENERIC_READt
GENERIC_WRITEtFILE_SHARE_READtFILE_SHARE_WRITEt
OPEN_EXISTINGtFILE_FLAG_OVERLAPPEDR(R((sN/home/tvault/.virtenv/lib/python2.7/site-packages/os_win/utils/io/namedpipe.pyR"…s			cCs,|jr(|jj|jƒd|_ndS(N(RRR?R(R((sN/home/tvault/.virtenv/lib/python2.7/site-packages/os_win/utils/io/namedpipe.pyR;s	cCsN|jrJ|jj|j|jdtƒ|jj|j|jdtƒndS(Ntignore_invalid_handle(RRt	cancel_ioR=R*R@(R((sN/home/tvault/.virtenv/lib/python2.7/site-packages/os_win/utils/io/namedpipe.pyR9•s
	cCs)|j|jj|j|j|jƒdS(N(t_start_io_workerRtreadRCR=RH(R((sN/home/tvault/.virtenv/lib/python2.7/site-packages/os_win/utils/io/namedpipe.pyR% scCs/|j|jj|j|j|j|jƒdS(N(RWRtwriteRDR@RIt_get_data_to_write(R((sN/home/tvault/.virtenv/lib/python2.7/site-packages/os_win/utils/io/namedpipe.pyR'¦s
cCs¤z‚y]xV|jjƒs^|r6|ƒ}|sBq	qBnt|ƒ}||j||||ƒq	WWntk
r€|jjƒnXWd|j|jƒWdQXXdS(N(RtisSettlenRR,R5RR6(Rtfunctbufftoverlapped_structuretcompletion_routinetbuff_update_funct	num_bytes((sN/home/tvault/.virtenv/lib/python2.7/site-packages/os_win/utils/io/namedpipe.pyRW­s		

cCsQ|jj|j|ƒ}|jr4|jj|ƒn|jrM|j|ƒndS(N(Rtget_buffer_dataRCRtputR$t
_write_to_log(RRbtdata((sN/home/tvault/.virtenv/lib/python2.7/site-packages/os_win/utils/io/namedpipe.pyRGÀs			cCskx/|jjƒp|jjƒs1tjdƒqW|jjƒ}|rg|jj|j	|ƒt
|ƒSdS(Nii(RR[R
RtsleepR
tgetRtwrite_buffer_dataRDR\(RRf((sN/home/tvault/.virtenv/lib/python2.7/site-packages/os_win/utils/io/namedpipe.pyRZÉs!
cCs|jjƒrdSyI|jjƒt|ƒ}|tjkrK|jƒn|jj|ƒWnt	k
r||jj
ƒnXdS(N(RR[R$ttellR\RtMAX_CONSOLE_LOG_FILE_SIZEt_rotate_logsRYR,R5(RRftlog_size((sN/home/tvault/.virtenv/lib/python2.7/site-packages/os_win/utils/io/namedpipe.pyReÓs

cCs„|jjƒ|jjƒ|jd}tjj|ƒrO|jtj|ƒn|jtj	|j|ƒt
|jddƒ|_dS(Ns.1Ri(R$tflushR<Rtostpathtexistst_retry_if_file_in_usetremovetrenameR#(Rtlog_archive_path((sN/home/tvault/.virtenv/lib/python2.7/site-packages/os_win/utils/io/namedpipe.pyRlßs



cOs|d}xotrwy|||ŽSWq	tk
rs}|jtjkrm||jkrm|d7}tjdƒqt‚q	Xq	WdS(Nii(R*tWindowsErrorterrnotEACCESt_MAX_LOG_ROTATE_RETRIESRRg(Rtftargstkwargstretry_countR!((sN/home/tvault/.virtenv/lib/python2.7/site-packages/os_win/utils/io/namedpipe.pyRrðs	
N(t__name__t
__module__t__doc__RyRRR+R/R6RR"R;R9R%R'RWRGRZReRlRr(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/os_win/utils/io/namedpipe.pyR!s&												
		(RwRoteventletRtoslo_logRtloggingtos_win._i18nRtos_winRRtos_win.utils.ioRtoriginalRRt	getLoggerR~R-tobjectR(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/os_win/utils/io/namedpipe.pyt<module>s