Viewing File: /opt/alt/python35/lib64/python3.5/idlelib/__pycache__/rpc.cpython-35.opt-2.pyc



]0Q@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddZddZdddZGdd	d	ejZd
dZdZGd
ddejZiZe	jdZe	jdZGdddeZGdddeZddZGdddeZ Gdddej!eZ"GdddeZ#GdddeZ$ddZ%dd Z&Gd!d"d"eZ'd#d$Z(dS)%NcCstj|}|S)N)marshalloads)mscor(/opt/alt/python35/lib64/python3.5/rpc.py
unpickle_code/srcCstj|}t|ffS)N)rdumpsr)rrrrrpickle_code4sr
cCs2tj}t||}|j||jS)N)ioBytesIOCodePicklerdumpgetvalue)objprotocolfprrrr	9s
r	c@s/eZdZejeiZejejdS)r
N)	__name__
__module____qualname__typesCodeTyper
dispatch_tableupdatecopyregrrrrr
?sr
iz	127.0.0.1c@sOeZdZdddZddZddZdd	Zd
dZdS)	RPCServerNcCs,|dkrt}tjj|||dS)N)
RPCHandlersocketserver	TCPServer__init__)selfaddrZhandlerclassrrrr!HszRPCServer.__init__cCsdS)Nr)r"rrrserver_bindMszRPCServer.server_bindcCs|jj|jdS)N)socketconnectserver_address)r"rrrserver_activateQszRPCServer.server_activatecCs|j|jfS)N)r%r')r"rrrget_requestZszRPCServer.get_requestcCsyWntk
rYntj}tdddd|tdd|tdtjjd|td|d|tdt|d|tj	d|td	d|tddd|t
jd
YnXdS)N
-(filezUnhandled server exception!z
Thread: %szClient Address: z	Request: z#
*** Unrecoverable, server exiting!r)
SystemExitsys
__stderr__print	threadingcurrent_threadnamerepr	traceback	print_excos_exit)r"requestZclient_addresserfrrrhandle_error^s
	zRPCServer.handle_error)rrrr!r$r(r)r<rrrrrFs
	rc@sreZdZdZddddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZddZ
ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+Zd,ZdZd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Z d9d:Z!dS);SocketIOrNcCs^tj|_|dk	r$||_||_|dkr?t}||_i|_i|_dS)N)	r2r3
sockthread	debuggingsockobjecttableobjtable	responsescvars)r"r@rBr?rrrr!s				zSocketIO.__init__cCs,|j}d|_|dk	r(|jdS)N)r@close)r"r@rrrrEs		zSocketIO.closecCstjddS)Nr)r8r9)r"rrrexithookszSocketIO.exithookcGsi|js
dS|jdttjj}x"|D]}|dt|}q4Wt|dtjdS)N r-)	r?locationstrr2r3r4r1r/r0)r"argssarrrdebugs	 
zSocketIO.debugcCs||j|<dS)N)rB)r"oidobjectrrrregisterszSocketIO.registercCs'y|j|=Wntk
r"YnXdS)N)rBKeyError)r"rNrrr
unregisters
zSocketIO.unregistercCs'|jd|y|\}\}}}}Wntk
rDdSYnX||jkredd|ffS|j|}|dkri}	t||	d|	fS|dkri}
t||
d|
fSt||sdd|ffSt||}y~|d	kr6|||}t|tr,t	|}d|fS|d
krbt
j||||ffdSdd|fSWntk
rYnt
k
rYntk
rYnstk
r}
zd
|
fSWYdd}
~
XnEd}t||||fdtjtjdtjdSYnXdS)Nz
localcall:ERRORBad request formatzUnknown object id: %r__methods__OK__attributes__zUnsupported method name: %rCALLQUEUEQUEUEDzUnsupported message type: %sCALLEXCzU*** Internal Error: rpc.py:SocketIO.localcall()

 Object: %s 
 Method: %s 
 Args: %s
r-	EXCEPTION)rSrT)rZN)r\N)rM	TypeErrorrB_getmethods_getattributeshasattrgetattr
isinstanceRemoteObject	remoteref
request_queueputr.KeyboardInterruptOSError	Exceptionr1r/r0r6r7)r"seqr:howrN
methodnamerJkwargsrmethods
attributesmethodretexmsgrrr	localcallsT
	








 zSocketIO.localcallcCs8|jd|||j||||}|j|S)Nzremotecall:asynccall: )rM	asynccallasyncreturn)r"rNrlrJrmrjrrr
remotecallszSocketIO.remotecallcCs8|jd|||j||||}|j|S)Nzremotequeue:asyncqueue: )rM
asyncqueuerv)r"rNrlrJrmrjrrrremotequeueszSocketIO.remotequeuecCsd||||ff}|j}tj|jkrRtj}||j|<|jd||||||j||f|S)NrXz
asynccall:%d:)newseqr2r3r>	ConditionrDrM
putmessage)r"rNrlrJrmr:rjcvarrrrrus
zSocketIO.asynccallcCsd||||ff}|j}tj|jkrRtj}||j|<|jd||||||j||f|S)NrYzasyncqueue:%d:)rzr2r3r>r{rDrMr|)r"rNrlrJrmr:rjr}rrrrxs
zSocketIO.asyncqueuecCsG|jd||j|dd}|jd|||j|S)Nz#asyncreturn:%d:call getresponse(): waitg?zasyncreturn:%d:response: )rMgetresponsedecoderesponse)r"rjresponserrrrvszSocketIO.asyncreturncCs|\}}|dkr|S|dkr,dS|dkrI|jddS|dkrp|jd|jdS|dkr|jd|t||d	kr|jd
||t||dS)NrVrZr\zdecoderesponse: EXCEPTIONEOFzdecoderesponse: EOFrSzdecoderesponse: Internal ERROR:r[zdecoderesponse: Call Exception:)rMdecode_interrupthookRuntimeErrorSystemError)r"rrkwhatrrrrs&


zSocketIO.decoderesponsecCs
tdS)N)EOFError)r"rrrrszSocketIO.decode_interrupthookcCsDy|jddddWn#tk
r?|jddSYnXdS)Nmyseqr~g?zmainloop:return)rrrM)r"rrrmainloops


zSocketIO.mainloopcCsO|j||}|dk	rK|\}}|dkrK||j|f}|S)NrV)_getresponse_proxify)r"rr~rrkrrrrrszSocketIO.getresponsecCsHt|trt||jSt|trDtt|j|S|S)N)rbRemoteProxyRPCProxyrNlistmapr)r"rrrrr's
zSocketIO._proxifycCs|jd|tj|jkrQx|j||}|dk	r(|Sq(Wn}|j|}|jx||jkr|jqkW|j|}|jd||f|j|=|j|=|j	|SdS)Nz_getresponse:myseq:z-_getresponse:%s: thread woke up: response: %s)
rMr2r3r>pollresponserDacquirerCr~release)r"rr~rr}rrrr/s"


	


zSocketIO._getresponsecCs|jd|_}|S)N)nextseq)r"rjrrrrzEszSocketIO.newseqcCs|jd|dyt|}Wn4tjk
r[tdt|dtjYnXtj	dt
||}xt
|dkryDtjg|jgg\}}}|jj
|dt}Wn$ttfk
rtdYnX||d}q{WdS)Nzputmessage:%d:rzCannot pickle:r-z<izsocket no longer exists)rMr	pickle
PicklingErrorr1r5r/r0structpacklenselectr@sendBUFSIZEAttributeErrorr]rh)r"messagerKrwxnrrrr|Is$ zSocketIO.putmessagecCs|jt|j|jkrtj|jjggg|\}}}t|dkredSy|jjt}Wnt	k
rt
YnXt|dkrt
|j|7_|j|jS)Nr)_stage0rbuffbufneedrr@filenorecvrrhr_stage1)r"r~rrrrKrrr
pollpacket]s
-

zSocketIO.pollpacketcCss|jdkrot|jdkro|jdd}|jdd|_tjd|d|_d|_dS)Nrrz<i)bufstaterrrunpackr)r"rKrrrrms
$zSocketIO._stage0cCsp|jdkrlt|j|jkrl|jd|j}|j|jd|_d|_d|_|SdS)Nrrr)rrrr)r"packetrrrrts'		zSocketIO._stage1cCs|j|}|dkrdSytj|}Wnmtjk
rtddtjtdt|dtjtj	dtjtddtjYnX|S)Nz-----------------------r-zcannot unpickle packet:)
rrrUnpicklingErrorr1r/r0r5r6print_stack)r"r~rrrrrpollmessage|szSocketIO.pollmessagec
Csxytjd}Wntjk
r-Yn,X|\}}|d|ff}|j|y#|j|}|dkr{dSWn5tk
r|jdSYntk
rdSYnX|\}}|d}|j	d||f|dkr[|j	d||j
||}|j	d||f|dkrI|j||fq|dkrqq||krk|S|jj|d}	|	dk	r|	j||j
|<|	j|	jqqWdS)	NrrVzpollresponse:%d:myseq:%srXrYzpollresponse:%d:localcall:call:z%pollresponse:%d:localcall:response:%s)rXrY)response_queuegetqueueEmptyr|rr
handle_EOFrrMrtrDrrCnotifyr)
r"rr~ZqmsgrjrrZresqrkcvrrrrsL



	
	



zSocketIO.pollresponsecCsq|j|jdxI|jD]>}|j|}|jd|j|<|j|jq!W|jdS)Nrr)rN)EOFhookrMrDrrCrrrF)r"keyrrrrrs





zSocketIO.handle_EOFcCsdS)Nr)r"rrrrszSocketIO.EOFhook)"rrrrr!rErFrMrPrRrtrwryrurxrvrrrrrrrzr|rrrrrrrrrrrrrrr=}s>.


I
r=c@seZdZdS)rcN)rrrrrrrrcsrccCs t|}|t|<t|S)N)idrAr)rrNrrrrds
rdc@seZdZddZdS)rcCs
||_dS)N)rN)r"rNrrrr!szRemoteProxy.__init__N)rrrr!rrrrrsrc@s@eZdZdZdZddZddZddZd	S)
rFz#ScCs6||_tj||tjj||||dS)N)Zcurrent_handlerr=r!rBaseRequestHandler)r"r@r#Zsvrrrrr!s	zRPCHandler.__init__cCs|jdS)N)r)r"rrrhandleszRPCHandler.handlecCs
t||S)N)r)r"rNrrrget_remote_proxyszRPCHandler.get_remote_proxyN)rrrr?rHr!rrrrrrrs
rc@sReZdZdZdZdZejejddZ	ddZ
dd	Zd
S)	RPCClientFz#CrcCs9tj|||_|jj||jjddS)Nr)r%listening_sockbindlisten)r"addressfamilytyperrrr!szRPCClient.__init__cCsw|jj\}}|jr4td|dtj|dtkrWtj||ntd|dtjt	dS)Nz****** Connection request from r-rz** Invalid host: )
racceptr?r1r/r0	LOCALHOSTr=r!rh)r"Zworking_sockrrrrrs	zRPCClient.acceptcCs
t||S)N)r)r"rNrrrrszRPCClient.get_remote_proxyN)rrrr?rHrr%AF_INETSOCK_STREAMr!rrrrrrrs
rc@sLeZdZdZdZddZddZddZdd	ZdS)
rNcCs||_||_dS)N)sockiorN)r"rrNrrrr!#s	zRPCProxy.__init__cCs|jdkr|j|jj|rAt|j|j|S|jdkrZ|j||jkr|jj|jd|fi}|St	|dS)N__getattribute__)
_RPCProxy__methods_RPCProxy__getmethodsrMethodProxyrrN_RPCProxy__attributes_RPCProxy__getattributesrwr)r"r4valuerrr__getattr__'s

zRPCProxy.__getattr__cCs%|jj|jdfi|_dS)NrW)rrwrNr)r"rrrZ__getattributes5szRPCProxy.__getattributescCs%|jj|jdfi|_dS)NrU)rrwrNr)r"rrrZ__getmethods9szRPCProxy.__getmethods)	rrrrrr!rrrrrrrrsrcCspx9t|D]+}t||}t|r
d||<q
Wt|trlx|jD]}t||qUWdS)Nr)dirracallablerbr	__bases__r^)rrnr4attrsuperrrrr^=sr^cCs@x9t|D]+}t||}t|s
d||<q
WdS)Nr)rrar)rror4rrrrr_Hsr_c@s(eZdZddZddZdS)rcCs||_||_||_dS)N)rrNr4)r"rrNr4rrrr!Ps		zMethodProxy.__init__cOs%|jj|j|j||}|S)N)rrwrNr4)r"rJrmrrrr__call__Us!zMethodProxy.__call__N)rrrr!rrrrrrNsrcCs|dkrdSdt_t|}ytjj|WnLtk
rd}|j|d}|j|d}tjj|YnXtjjd|t_dS)Nasciibackslashreplacestrictr*)	builtins_r5r/stdoutwriteUnicodeEncodeErrorencodedecode)rtextencodingbytesrrrdisplayhook]s	
r))r/r8rr%rrrrr2rr6rrrrrr
r	Picklerr
rrr rrAQueuererrOr=rcrdrrrrrr^r_rrrrrr<module>sH
2j
Back to Directory File Manager