File "connection.cpython-37.pyc"

Full Path: /home/attunedd/public_html/byp/izo/con7ext_sym404/rintoar.txt/opt/alt/python37/lib64/python3.7/multiprocessing/__pycache__/connection.cpython-37.pyc
File size: 24.4 KB
MIME-type: text/x-bytecode.python
Charset: 8 bit

B

 fBz@sddddgZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZddl
mZm
Z
dd	lmZejZy$ddlZdd
lmZmZmZmZWn$ek
rejdkr‚dZYnXdZd
ZeZdZdgZeedrdZedg7ZejdkrdZedg7ZefddZ ddZ!ddZ"ddZ#ddZ$GdddZ%erhGddde%Z&Gdd d e%Z'Gd!dde(Z)dOd"dZ*ejdkrdPd$dZ+n
dQd%dZ+Gd&d'd'e(Z,d(d)Z-ejdkrGd*d+d+e(Z.d,d-Z/d.Z0d/Z1d0Z2d1Z3d2d3Z4d4d5Z5Gd6d7d7e(Z6d8d9Z7d:d;Z8Gd<d=d=e)Z9d>d?Z:ejdkrtd@dAZ;ej<ej=hZ>dRdBdZ?n,ddl@Z@ee@dCre@jAZBne@jCZBdSdDdZ?ejdkrdEdFZDdGdHZEeFe'eDdIdJZGdKdLZHeFe&eGndMdFZDdNdHZEeFe'eDdS)TClientListenerPipewaitN)util)AuthenticationErrorBufferTooShort)	reduction)
WAIT_OBJECT_0WAIT_ABANDONED_0WAIT_TIMEOUTINFINITEwin32i g4@AF_INETAF_UNIXAF_PIPEcCst|S)N)time	monotonic)timeoutr?/opt/alt/python37/lib64/python3.7/multiprocessing/connection.py
_init_timeout;srcCst|kS)N)rr)trrr_check_timeout>srcCsX|dkrdS|dkr&tjdtdS|dkrLtjdtttfddStd	d
S)z?
    Return an arbitrary free address for the given family
    r)Z	localhostrrz	listener-)prefixdirrz\\.\pipe\pyc-%d-%d-zunrecognized familyN)	tempfileZmktemprZget_temp_dirosgetpidnext
_mmap_counter
ValueError)familyrrrarbitrary_addressEsr%cCsJtjdkr|dkrtd|tjdkrF|dkrFtt|sFtd|dS)zD
    Checks if the family is valid for the current environment.
    rrzFamily %s is not recognized.rN)sysplatformr#hasattrsocket)r$rrr_validate_familySs

r*cCsTt|tkrdSt|tkr*|dr*dSt|tks@t|rDdStd|dS)z]
    Return the types of the address

    This can be 'AF_INET', 'AF_UNIX', or 'AF_PIPE'
    rz\\rrzaddress type of %r unrecognizedN)typetuplestr
startswithris_abstract_socket_namespacer#)addressrrraddress_type_sr1c@seZdZdZd+ddZddZddZd	d
ZddZd
dZ	e
ddZe
ddZe
ddZ
ddZddZd,ddZddZd-ddZd.d d!Zd"d#Zd/d%d&Zd'd(Zd)d*ZdS)0_ConnectionBaseNTcCs>|}|dkrtd|s(|s(td||_||_||_dS)Nrzinvalid handlez6at least one of `readable` and `writable` must be True)	__index__r#_handle	_readable	_writable)selfhandlereadablewritablerrr__init__usz_ConnectionBase.__init__cCs|jdk	r|dS)N)r4_close)r7rrr__del__s
z_ConnectionBase.__del__cCs|jdkrtddS)Nzhandle is closed)r4OSError)r7rrr
_check_closeds
z_ConnectionBase._check_closedcCs|jstddS)Nzconnection is write-only)r5r>)r7rrr_check_readablesz_ConnectionBase._check_readablecCs|jstddS)Nzconnection is read-only)r6r>)r7rrr_check_writablesz_ConnectionBase._check_writablecCs"|jrd|_n|tddS)NFzbad message length)r6r5closer>)r7rrr_bad_message_lengthsz#_ConnectionBase._bad_message_lengthcCs
|jdkS)z True if the connection is closedN)r4)r7rrrclosedsz_ConnectionBase.closedcCs|jS)z"True if the connection is readable)r5)r7rrrr9sz_ConnectionBase.readablecCs|jS)z"True if the connection is writable)r6)r7rrrr:sz_ConnectionBase.writablecCs||jS)z+File descriptor or handle of the connection)r?r4)r7rrrfilenosz_ConnectionBase.filenocCs$|jdk	r z|Wdd|_XdS)zClose the connectionN)r4r<)r7rrrrBs
z_ConnectionBase.closercCs||t|}|jdkr.tt|}t|}|dkrFtd||krVtd|dkrh||}n&|dkrztdn|||krtd|||||dS)z,Send the bytes data from a bytes-like objectrrzoffset is negativezbuffer length < offsetNzsize is negativezbuffer length < offset + size)r?rA
memoryviewitemsizebyteslenr#_send_bytes)r7bufoffsetsizemnrrr
send_bytess"


z_ConnectionBase.send_bytescCs$|||t|dS)zSend a (picklable) objectN)r?rArJ_ForkingPicklerdumps)r7objrrrsendsz_ConnectionBase.sendcCsJ|||dk	r(|dkr(td||}|dkrB||S)z7
        Receive bytes data as a bytes object.
        Nrznegative maxlength)r?r@r#_recv_bytesrCgetvalue)r7Z	maxlengthrKrrr
recv_bytess
z_ConnectionBase.recv_bytesc	Cs||t|}|j}|t|}|dkr>tdn||krNtd|}|}|||krvt|	|
d||||||||SQRXdS)zq
        Receive bytes data into a writeable bytes-like object.
        Return the number of bytes read.
        rznegative offsetzoffset too largeN)r?r@rFrGrIr#rUtellr	rVseekreadinto)r7rKrLrNrGZbytesizeresultrMrrrrecv_bytes_intos"


z_ConnectionBase.recv_bytes_intocCs&|||}t|S)zReceive a (picklable) object)r?r@rUrQloads	getbuffer)r7rKrrrrecvsz_ConnectionBase.recvcCs||||S)z/Whether there is any input available to be read)r?r@_poll)r7rrrrpollsz_ConnectionBase.pollcCs|S)Nr)r7rrr	__enter__sz_ConnectionBase.__enter__cCs|dS)N)rB)r7exc_type	exc_valueexc_tbrrr__exit__sz_ConnectionBase.__exit__)TT)rN)N)r)r`)__name__
__module____qualname__r4r;r=r?r@rArCpropertyrDr9r:rErBrPrTrWr\r_rbrcrgrrrrr2rs(





r2c@sDeZdZdZdZejfddZddZddd	Z	d
dZ
dd
ZdS)PipeConnectionz
        Connection class based on a Windows named pipe.
        Overlapped I/O is used, so the handles must have been created
        with FILE_FLAG_OVERLAPPED.
        FcCs||jdS)N)r4)r7Z_CloseHandlerrrr<szPipeConnection._closec	Cstj|j|dd\}}zHy,|tjkrBt|jgdt}|tksBtWn|	YnXWd|
d\}}X|dks|t|t|kstdS)NT)
overlappedFr)_winapiZ	WriteFiler4ERROR_IO_PENDINGWaitForMultipleObjectseventrrAssertionErrorcancelGetOverlappedResultrI)r7rKoverrwaitresZnwrittenrrrrJs
zPipeConnection._send_bytesNc	
Cs|jrd|_tS|dkr dnt|d}ytj|j|dd\}}zHy,|tjkrnt|j	gdt
}|tksntWn|
YnXWd|d\}}|dkrt}|||S|tjkr|||SXWn:tk
r}z|jtjkrtnWdd}~XYnXtddS)NFT)rmrz.shouldn't get here; expected KeyboardInterrupt)_got_empty_messageioBytesIOminrnReadFiler4rorprqrrrrrsrtwriter^ZERROR_MORE_DATA_get_more_datar>winerrorERROR_BROKEN_PIPEEOFErrorRuntimeError)	r7maxsizeZbsizerurvrwZnreadferrrrU&s6


zPipeConnection._recv_bytescCs.|jst|jddkrdStt|g|S)NrT)ryrn
PeekNamedPiper4boolr)r7rrrrraFszPipeConnection._pollcCs|}t}||t|jd}|dks6t|dk	rVt|||krV|	tj
|j|dd\}}|d\}}|dkst||kst|||S)NrrT)rm)r^rzr{r~rnrr4rrrIrCr}rt)r7rurrKrleftrvZrbytesrrrrLs
zPipeConnection._get_more_data)N)rhrirj__doc__ryrnCloseHandler<rJrUrarrrrrrls
 rlc@s|eZdZdZer,ejfddZejZ	ej
Znej
fddZejZ	ejZe	fddZefddZd	d
Zddd
ZddZdS)
Connectionzo
    Connection class based on an arbitrary file descriptor (Unix only), or
    a socket handle (Windows).
    cCs||jdS)N)r4)r7r<rrrr<cszConnection._closecCs||jdS)N)r4)r7r<rrrr<hscCs<t|}x.||j|}||8}|dkr(P||d}q
WdS)Nr)rIr4)r7rKr~	remainingrOrrr_sendmszConnection._sendcCsft}|j}|}xN|dkr`|||}t|}|dkrL||krDtntd||||8}qW|S)Nrzgot end of file during message)rzr{r4rIrr>r~)r7rMreadrKr8rchunkrOrrr_recvvs


zConnection._recvcCsDt|}td|}|dkr2||||n|||dS)Nz!ii@)rIstructZpackr)r7rKrOheaderrrrrJs
zConnection._send_bytesNcCs:|d}td|\}|dk	r0||kr0dS||S)Nz!i)rrZunpackrV)r7rrKrMrrrrUs

zConnection._recv_bytescCst|g|}t|S)N)rr)r7rrrrrraszConnection._poll)N)rhrirjrrn_multiprocessingZclosesocketr<rTZ_writer_Z_readrrBr~rrrrJrUrarrrrr\s	
rc@sReZdZdZdddZddZdd	Zed
dZedd
Z	ddZ
ddZdS)rz
    Returns a listener object.

    This is a wrapper for a bound socket which is 'listening' for
    connections, or for a Windows named pipe.
    NrcCsp|p|rt|pt}|pt|}t||dkr>t|||_nt||||_|dk	rft|tsft	d||_
dS)Nrzauthkey should be a byte string)r1default_familyr%r*PipeListener	_listenerSocketListener
isinstancerH	TypeError_authkey)r7r0r$backlogauthkeyrrrr;szListener.__init__cCs>|jdkrtd|j}|jr:t||jt||j|S)zz
        Accept a connection on the bound socket or named pipe of `self`.

        Returns a `Connection` object.
        Nzlistener is closed)rr>acceptrdeliver_challengeanswer_challenge)r7crrrrs

zListener.acceptcCs |j}|dk	rd|_|dS)zA
        Close the bound socket or named pipe of `self`.
        N)rrB)r7ZlistenerrrrrBszListener.closecCs|jjS)N)r_address)r7rrrr0szListener.addresscCs|jjS)N)r_last_accepted)r7rrr
last_acceptedszListener.last_acceptedcCs|S)Nr)r7rrrrcszListener.__enter__cCs|dS)N)rB)r7rdrerfrrrrgszListener.__exit__)NNrN)rhrirjrr;rrBrkr0rrcrgrrrrrs
	cCsh|p
t|}t||dkr&t|}nt|}|dk	rHt|tsHtd|dk	rdt||t|||S)z=
    Returns a connection to the address of a `Listener`
    rNzauthkey should be a byte string)	r1r*
PipeClientSocketClientrrHrrr)r0r$rrrrrrs


TcCsj|r>t\}}|d|dt|}t|}n$t\}}t|dd}t|dd}||fS)zL
        Returns pair of connection objects at either end of a pipe
        TF)r:)r9)r)Z
socketpairsetblockingrdetachrpipe)duplexs1s2c1c2Zfd1Zfd2rrrrs

c

Cstd}|r*tj}tjtjB}tt}}ntj}tj}dt}}t||tjBtj	Btj
tjBtjBd||tj
tj}t||dtjtjtjtj}t|tjddtj|dd}|d\}	}
|
dkstt||d}t||d}||fS)	zL
        Returns pair of connection objects at either end of a pipe
        rrrNT)rm)r:)r9)r%rnPIPE_ACCESS_DUPLEXGENERIC_READ
GENERIC_WRITEBUFSIZEZPIPE_ACCESS_INBOUNDCreateNamedPipeFILE_FLAG_OVERLAPPEDFILE_FLAG_FIRST_PIPE_INSTANCEPIPE_TYPE_MESSAGEPIPE_READMODE_MESSAGE	PIPE_WAITNMPWAIT_WAIT_FOREVERNULL
CreateFile
OPEN_EXISTINGSetNamedPipeHandleStateConnectNamedPipertrrrl)
rr0ZopenmodeaccessZobsizeZibsizeZh1Zh2rm_rvrrrrrr
s4



c@s*eZdZdZd
ddZddZddZd	S)rzO
    Representation of a socket which is bound to an address and listening
    rcCsttt||_yRtjdkr2|jtjtjd|jd|j	||j
||j|_Wn t
k
r|jYnX||_d|_|dkrt|stj|tj|fdd|_nd|_dS)NposixrTrr)argsexitpriority)r)getattr_socketrnameZ
setsockoptZ
SOL_SOCKETZSO_REUSEADDRrZbindZlistenZgetsocknamerr>rBZ_familyrrr/Finalizeunlink_unlink)r7r0r$rrrrr;=s$



zSocketListener.__init__cCs&|j\}|_|dt|S)NT)rrrrrr)r7srrrrVs
zSocketListener.acceptcCs0z|jWd|j}|dk	r*d|_|XdS)N)rrBr)r7rrrrrB[szSocketListener.closeN)r)rhrirjrr;rrBrrrrr9s
rc	CsDt|}ttt|"}|d||t|SQRXdS)zO
    Return a connection object connected to the socket given by `address`
    TN)r1r)rrZconnectrr)r0r$rrrrres


rc@s8eZdZdZdddZd
ddZdd	Zed
dZdS)rz0
        Representation of a named pipe
        NcCsL||_|jddg|_d|_td|jtj|tj|j|jfdd|_	dS)NT)firstz listener created with address=%rr)rr)
r_new_handle
_handle_queuerr	sub_debugrr_finalize_pipe_listenerrB)r7r0rrrrr;yszPipeListener.__init__Fc
CsHtjtjB}|r|tjO}t|j|tjtjBtjBtj	t
t
tjtjS)N)
rnrrrrrrrrZPIPE_UNLIMITED_INSTANCESrrr)r7rflagsrrrrs

zPipeListener._new_handlec
Cs|j||jd}ytj|dd}Wn0tk
r^}z|jtjkrNWdd}~XYn\Xz<yt	|j
gdt}Wn |t
|YnXWd|d\}}|dkstXt|S)NrT)rmF)rappendrpoprnrr>rZ
ERROR_NO_DATArprqrrsrrtrrrl)r7r8rurresrrvrrrrs"
zPipeListener.acceptcCs(td|x|D]}t|qWdS)Nz closing listener with address=%r)rrrnr)Zqueuer0r8rrrrs
z$PipeListener._finalize_pipe_listener)N)F)	rhrirjrr;rrstaticmethodrrrrrrus


rc
Cst}x~y6t|dt|tjtjBdtjtjtjtj}Wn>t	k
r|}z |j
tjtjfksjt
|rlWdd}~XYqXPqWt|tjddt|S)zU
        Return a connection object connected to the pipe given by `address`
        irN)rrnZ
WaitNamedPiperrrrrrr>rZERROR_SEM_TIMEOUTZERROR_PIPE_BUSYrrrrl)r0rhrrrrrs"
rs#CHALLENGE#s	#WELCOME#s	#FAILURE#cCsddl}t|ts$tdt|tt}|	t
||||d}|
d}||krl|	tn|	ttddS)Nrz Authkey must be bytes, not {0!s}md5zdigest received was wrong)hmacrrHr#formatr+rurandomMESSAGE_LENGTHrP	CHALLENGEnewdigestrWWELCOMEFAILUREr)
connectionrrmessagerresponserrrrs



rcCsddl}t|ts$tdt||d}|dtttksNt	d||ttd}|
||d}|||d}|t
krtddS)Nrz Authkey must be bytes, not {0!s}rzmessage = %rrzdigest sent was rejected)rrrHr#rr+rWrIrrrrrrPrr)rrrrrrrrrrs

 

rc@s$eZdZddZddZddZdS)ConnectionWrappercCs:||_||_||_x"dD]}t||}t|||qWdS)N)rErBrbrWrP)_conn_dumps_loadsrsetattr)r7connrRr]attrrSrrrr;s

zConnectionWrapper.__init__cCs||}|j|dS)N)rrrP)r7rSrrrrrTs
zConnectionWrapper.sendcCs|j}||S)N)rrWr)r7rrrrr_s
zConnectionWrapper.recvN)rhrirjr;rTr_rrrrrsrcCst|fdddddS)Nrzutf-8)	xmlrpclibrRencode)rSrrr
_xml_dumpssrcCst|d\\}}|S)Nzutf-8)rr]decode)rrSmethodrrr
_xml_loadssrc@seZdZddZdS)XmlListenercCs"ddlmat|}t|ttS)Nr)
xmlrpc.clientclientrrrrrr)r7rSrrrr
s
zXmlListener.acceptN)rhrirjrrrrrr	srcOsddlmatt||ttS)Nr)rrrrrrr)rkwdsrrr	XmlClientsrcCst|}g}x|rt|d|}|tkr,Pn\t|krHtt|krVnn
|t8}n2t|krrtt|krnn
|t8}ntd|||||dd}d}qW|S)NFzShould not get hererr)	listrnrpr
rrIrrr)ZhandlesrLreadyrrrr_exhaustive_waits 
 
rc
sl|dkrt}n|dkrd}nt|dd}t|}ig}tt}zFx0|D]&}yt|d}Wn tk
r||<YqTXyt|dd\}}Wn8t	k
r}zd|j
}}|tkrʂWdd}~XYnX|tjkr|
|||j<qT|rntdddkrny|d	\}	}Wn*t	k
rT}z
|j
}Wdd}~XYnX|snt|d
rnd|_|d}qTWt|}Wdx|D]}|qWx|D]}y|d\}	}Wn6t	k
r}z|j
}|tkrWdd}~XYnX|tjkr|j}||dkrt|d
rd|_qWXfdd|Dfd
d|DS)z
        Wait till an object in object_list is ready/readable.

        Returns list of those objects in object_list which are ready/readable.
        Nrig?rET)rFryc3s|]}|VqdS)Nr).0r)waithandle_to_objrr	<genexpr>|szwait.<locals>.<genexpr>csg|]}|kr|qSrr)ro)
ready_objectsrr
<listcomp>}szwait.<locals>.<listcomp>)rintrsetrAttributeErrorr3rnr}r>r
_ready_errorsrorrqr&Zgetwindowsversionrtr(ryaddrkeysrsZERROR_OPERATION_ABORTEDupdate)
object_listrZov_listZ
ready_handlesrrErurvrrr)rrrr1sh








PollSelectorc	Cstx}x|D]}||tjqW|dk	r8t|}x@||}|rVdd|DS|dk	r:|t}|dkr:|Sq:WWdQRXdS)z
        Wait till an object in object_list is ready/readable.

        Returns list of those objects in object_list which are ready/readable.
        NcSsg|]\}}|jqSr)Zfileobj)rkeyZeventsrrrrszwait.<locals>.<listcomp>r)
_WaitSelectorregister	selectorsZ
EVENT_READrrZselect)rrZselectorrSZdeadlinerrrrrs

c	CsN|}t|tjtj*}ddlm}||}t||j	|j
ffSQRXdS)Nr)resource_sharer)rEr)ZfromfdrZSOCK_STREAMrrZ	DupSocketrebuild_connectionr9r:)rr8rrdsrrrreduce_connections

rcCs|}t|||S)N)rr)rr9r:ZsockrrrrsrcCsB|jrtjnd|jrtjndB}t||}t||j|jffS)Nr)	r9rnZFILE_GENERIC_READr:ZFILE_GENERIC_WRITEr
Z	DupHandlerErebuild_pipe_connection)rrdhrrrreduce_pipe_connectionsrcCs|}t|||S)N)rrl)rr9r:r8rrrrsrcCs t|}t||j|jffS)N)r
ZDupFdrErr9r:)rdfrrrrscCs|}t|||S)N)rr)rr9r:fdrrrrs)NN)T)T)N)N)I__all__rzrr&r)rrr	itertoolsrrrrr	contextr
ZForkingPicklerrQrnrrr
rImportErrorr'rZCONNECTION_TIMEOUTcountr"rZfamiliesr(rrr%r*r1r2rlrobjectrrrrrrrrrrrrrrrrrrrrZERROR_NETNAME_DELETEDrrrr
rZSelectSelectorrrrrrrrrr<module>
s




PJ=

,,8	P