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



]N@sddlZddlZddlZddlZddlZddlZddlmZmZm	Z	m
Z
mZmZm
Z
mZmZmZmZmZmZee
ee
eeehZyeWnek
riZYnXddZGdddeZeeefZddZd	d
ZddZ d
dZ!ddddZ"ddddZ#e#Z$ddddddZ%GdddZ&Gddde&Z'ddZ(ddddZ)ej*d krGd!d"d"Z+Gd#d$d$e&Z,dS)%N)
EALREADYEINPROGRESSEWOULDBLOCK
ECONNRESETEINVALENOTCONN	ESHUTDOWNEISCONNEBADFECONNABORTEDEPIPEEAGAIN	errorcodec
CsOytj|SWn7tttfk
rJ|tkr>t|Sd|SYnXdS)NzUnknown error %s)osstrerror
ValueError
OverflowError	NameErrorr)errr-/opt/alt/python35/lib64/python3.5/asyncore.py	_strerrorDsrc@seZdZdS)ExitNowN)__name__
__module____qualname__rrrrrLsrcCs;y|jWn&tk
r%Yn|jYnXdS)N)handle_read_event_reraised_exceptionshandle_error)objrrrreadQs
r cCs;y|jWn&tk
r%Yn|jYnXdS)N)handle_write_eventrr)rrrrwriteYs
r"cCs;y|jWn&tk
r%Yn|jYnXdS)N)handle_expt_eventrr)rrrr
_exceptionas
r$cCsyn|tj@r|j|tj@r1|j|tj@rH|j|tjtjBtj	B@rm|j
Wnttk
r}z/|jdt
kr|jn
|j
WYdd}~Xn&tk
rYn|jYnXdS)Nr)selectPOLLINrPOLLOUTr!POLLPRIr#POLLHUPPOLLERRPOLLNVALhandle_closeOSErrorargs
_DISCONNECTEDrr)rflagserrr	readwriteis"







r2gc	Cs|dkrt}|rg}g}g}xt|jD]m\}}|j}|j}|rt|j||r|jr|j||s|r=|j|q=Wg|ko|ko|knrtj|dSt	j	||||\}}}x6|D].}|j
|}|dkr2qt|qWx6|D].}|j
|}|dkrkqGt|qGWx6|D].}|j
|}|dkrqt
|qWdS)N)
socket_maplistitemsreadablewritableappend	acceptingtimesleepr%getr r"r$)	timeoutmaprwr1fdrZis_rZis_wrrrpoll}sD

'
!


rBcCs|dkrt}|dk	r.t|d}tj}|rxt|jD]k\}}d}|jr|tjtjBO}|j	r|j
r|tjO}|rS|j||qSW|j|}x?|D]7\}}|j
|}|dkrqt||qWdS)Nir)r3intr%rBr4r5r6r&r(r7r9r'registerr<r2)r=r>ZpollsterrArr0r?rrrpoll2s(
rEg>@FcCs|dkrt}|r0ttdr0t}nt}|dkr_xJ|r[|||qEWn0x-|r|dkr||||d}qbWdS)NrBr)r3hasattrr%rErB)r=Zuse_pollr>countZpoll_funrrrloops		
rIc@seZdZdZdZdZdZdZdZe	dhZ
ddddZddZeZ
ddd	Zdd
dZejejdd
ZdddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'd(Z d)d*Z!d+d,Z"d-d.Z#d/d0Z$d1d2Z%d3d4Z&d5d6Z'd7d8Z(d9d:Z)d;d<Z*d=d>Z+d?d@Z,dS)A
dispatcherFNwarningcCs|dkrt|_n	||_d|_|r|jd|j||d|_y|j|_Wqtk
r}z:|j	dt
tfkrd|_n|j|WYdd}~XqXn	d|_
dS)NrTF)r3_map_filenosetblocking
set_socket	connectedgetpeernameaddrr-r.rrdel_channelsocket)selfsockr>rrrr__init__s 		
	
zdispatcher.__init__cCs|jjd|jjg}|jr?|jr?|jdn|jrU|jd|jdk	ry|jd|jWn(tk
r|jt|jYnXddj	|t
|fS)N.Z	listeningrPz%s:%dz<%s at %#x> )	__class__rrr9rRr8rP	TypeErrorreprjoinid)rUstatusrrr__repr__s	

zdispatcher.__repr__cCs&|dkr|j}|||j<dS)N)rLrM)rUr>rrradd_channels	zdispatcher.add_channelcCs>|j}|dkr|j}||kr1||=d|_dS)N)rMrL)rUr>rArrrrSs		zdispatcher.del_channelcCs?||f|_tj||}|jd|j|dS)Nr)Zfamily_and_typerTrNrO)rUfamilytyperVrrr
create_sockets
zdispatcher.create_socketcCs)||_|j|_|j|dS)N)rTfilenorMra)rUrVr>rrrrO s	zdispatcher.set_socketcCsRy9|jjtjtj|jjtjtjdBWntk
rMYnXdS)NrF)rT
setsockopt
SOL_SOCKETSO_REUSEADDR
getsockoptr-)rUrrrset_reuse_addr&s	
zdispatcher.set_reuse_addrcCsdS)NTr)rUrrrr67szdispatcher.readablecCsdS)NTr)rUrrrr7:szdispatcher.writablecCs:d|_tjdkr*|dkr*d}|jj|S)NTnt)r9rnamerTlisten)rUnumrrrrnAs	zdispatcher.listencCs||_|jj|S)N)rRrTbind)rUrRrrrrpGs	zdispatcher.bindcCsd|_d|_|jj|}|tttfksT|tkratj	dkra||_
dS|dtfkr||_
|jnt
|t|dS)NFTrkcer)rkrq)rP
connectingrT
connect_exrrrrrrmrRr	handle_connect_eventr-r)rUaddressrrrrconnectKs				
zdispatcher.connectcCsy|jj\}}Wn]tk
r1dSYnRtk
rx}z(|jdtttfkrcdSWYdd}~XnX||fSdS)Nr)rTacceptr[r-r.rrr
)rUconnrRwhyrrrrwYs
zdispatcher.acceptcCsy|jj|}|SWn`tk
r|}z@|jdtkrFdS|jdtkrg|jdSWYdd}~XnXdS)Nr)rTsendr-r.rr/r,)rUdataresultryrrrrzgs
zdispatcher.sendcCs~y.|jj|}|s)|jdS|SWnItk
ry}z)|jdtkrd|jdSWYdd}~XnXdS)Nr)rTrecvr,r-r.r/)rUZbuffer_sizer{ryrrrr~ts

zdispatcher.recvcCsd|_d|_d|_|j|jdk	ry|jjWnAtk
r}z!|jdtt	fkrvWYdd}~XnXdS)NFr)
rPr9rrrSrTcloser-r.rr
)rUryrrrrs			
zdispatcher.closecCstjjdt|dS)Nzlog: %s
)sysstderrr"str)rUmessagerrrlogszdispatcher.loginfocCs'||jkr#td||fdS)Nz%s: %s)ignore_log_typesprint)rUrrcrrrlog_infoszdispatcher.log_infocCsM|jr|jn3|js?|jr2|j|jn
|jdS)N)r9
handle_acceptrPrrrthandle_read)rUrrrrs	
		

zdispatcher.handle_read_eventcCs\|jjtjtj}|dkr<t|t||jd|_d|_dS)NrTF)	rTrirgSO_ERRORr-rhandle_connectrPrr)rUrrrrrts
	zdispatcher.handle_connect_eventcCs7|jr
dS|js)|jr)|j|jdS)N)r9rPrrrthandle_write)rUrrrr!s			
zdispatcher.handle_write_eventcCsB|jjtjtj}|dkr4|jn
|jdS)Nr)rTrirgrr,handle_expt)rUrrrrr#s
zdispatcher.handle_expt_eventcCsnt\}}}}yt|}Wndt|}YnX|jd||||fd|jdS)Nz)<__repr__(self) failed for object at %0x>z:uncaptured python exception, closing channel %s (%s:%s %s)error)compact_tracebackr\r^rr,)rUniltvtbinfoZ	self_reprrrrrszdispatcher.handle_errorcCs|jdddS)Nz!unhandled incoming priority eventrK)r)rUrrrrszdispatcher.handle_exptcCs|jdddS)Nzunhandled read eventrK)r)rUrrrrszdispatcher.handle_readcCs|jdddS)Nzunhandled write eventrK)r)rUrrrrszdispatcher.handle_writecCs|jdddS)Nzunhandled connect eventrK)r)rUrrrrszdispatcher.handle_connectcCs)|j}|dk	r%|j|dS)N)rwhandle_accepted)rUZpairrrrrszdispatcher.handle_acceptcCs|j|jdddS)Nzunhandled accepted eventrK)rr)rUrVrRrrrrs
zdispatcher.handle_acceptedcCs|jdd|jdS)Nzunhandled close eventrK)rr)rUrrrr,szdispatcher.handle_close)-rrrdebugrPr9rrclosingrR	frozensetrrWr`__str__rarSrTAF_INETSOCK_STREAMrdrOrjr6r7rnrprvrwrzr~rrrrrtr!r#rrrrrrrr,rrrrrJsL 
	
rJc@sReZdZddddZddZddZdd	Zd
dZdS)dispatcher_with_sendNcCs tj|||d|_dS)Nr})rJrW
out_buffer)rUrVr>rrrrWszdispatcher_with_send.__init__cCs?d}tj||jdd}|j|d|_dS)Nri)rJrzr)rUZnum_sentrrr
initiate_sendsz"dispatcher_with_send.initiate_sendcCs|jdS)N)r)rUrrrrsz!dispatcher_with_send.handle_writecCs|jpt|jS)N)rPlenr)rUrrrr7szdispatcher_with_send.writablecCs>|jr |jdt||j||_|jdS)Nz
sending %s)rrr\rr)rUr{rrrrzs	zdispatcher_with_send.send)rrrrWrrr7rzrrrrrs
rcCstj\}}}g}|s-tdxD|rs|j|jjj|jjjt|j	f|j
}q0W~|d\}}}djdd|D}|||f|||fS)Nztraceback does not existrFrYcSsg|]}d|qS)z
[%s|%s|%s]r).0xrrr
<listcomp>)s	z%compact_traceback.<locals>.<listcomp>)rexc_infoAssertionErrorr8tb_framef_codeco_filenameco_namer	tb_linenotb_nextr])rrtbrfilefunctionlinerrrrrs	
rcCs|dkrt}xt|jD]}y|jWq%tk
r}z$|jdtkrdn	|smWYdd}~Xq%tk
rYq%|sYq%Xq%W|jdS)Nr)	r3r4valuesrr-r.r
rclear)r>Z
ignore_allrrrr	close_all,s 
rposixc@sseZdZddZddZddZddZd	d
dZeZeZ	dd
Z
ddZd	S)file_wrappercCstj||_dS)N)rduprA)rUrArrrrWQszfile_wrapper.__init__cCs1|jdkr#tjd|t|jdS)Nrzunclosed file %r)rAwarningswarnResourceWarningr)rUrrr__del__Tszfile_wrapper.__del__cGstj|j|S)N)rr rA)rUr.rrrr~Yszfile_wrapper.recvcGstj|j|S)N)rr"rA)rUr.rrrrz\szfile_wrapper.sendNcCs9|tjkr)|tjkr)|r)dStddS)Nrz-Only asyncore specific behaviour implemented.)rTrgrNotImplementedError)rUlevelZoptnamebuflenrrrri_s
zfile_wrapper.getsockoptcCs0|jdkrdStj|jd|_dS)NrrFr)rArr)rUrrrrjszfile_wrapper.closecCs|jS)N)rA)rUrrrrepszfile_wrapper.fileno)rrrrWrr~rzrir r"rrerrrrrLsrc@s+eZdZdddZddZdS)file_dispatcherNcCsbtj|d|d|_y|j}Wntk
r@YnX|j|tj|ddS)NTF)rJrWrPreAttributeErrorset_filerset_blocking)rUrAr>rrrrWus	

zfile_dispatcher.__init__cCs/t||_|jj|_|jdS)N)rrTrerMra)rUrArrrrszfile_dispatcher.set_file)rrrrWrrrrrrssr)-r%rTrr:rrerrnorrrrrrrr	r
rrr
rrr/r3rr	ExceptionrKeyboardInterrupt
SystemExitrr r"r$r2rBrEZpoll3rIrJrrrrmrrrrrr<module>1s>X
','
Back to Directory File Manager