Files
Shadowsocks-For-WHMCS/Server/shadowsocks/eventloop.pyc

50 lines
8.6 KiB
Plaintext
Raw Normal View History

2016-05-27 11:18:25 +08:00
<EFBFBD><EFBFBD>
T#zUc@s,ddkZddkZddkZddkZddkZddklZddddddd d
gZd Zd Z d Z
dZ dZ dZ hde6de 6de
6de 6de 6d e 6Zdefd<00><00>YZdefd<00><00>YZdefd<00><00>YZdefd<00><00>YZd<00>Zd<00>ZdS(i<><69><EFBFBD><EFBFBD>N(t defaultdictt EventLoopt POLL_NULLtPOLL_INtPOLL_OUTtPOLL_ERRtPOLL_HUPt POLL_NVALt EVENT_NAMESiiiiii t EpollLoopcBs5eZd<00>Zd<00>Zd<00>Zd<00>Zd<00>ZRS(cCsti<00>|_dS(N(tselecttepollt_epoll(tself((s&/home/wwwroot/shadowsocks/eventloop.pyt__init__;scCs|ii|<00>S(N(R tpoll(R ttimeout((s&/home/wwwroot/shadowsocks/eventloop.pyR>scCs|ii||<00>dS(N(R tregister(R tfdtmode((s&/home/wwwroot/shadowsocks/eventloop.pytadd_fdAscCs|ii|<00>dS(N(R t
unregister(R R((s&/home/wwwroot/shadowsocks/eventloop.pyt remove_fdDscCs|ii||<00>dS(N(R tmodify(R RR((s&/home/wwwroot/shadowsocks/eventloop.pyt modify_fdGs(t__name__t
__module__RRRRR(((s&/home/wwwroot/shadowsocks/eventloop.pyR 9s
    t
KqueueLoopcBsDeZdZd<00>Zd<00>Zd<00>Zd<00>Zd<00>Zd<00>ZRS(icCsti<00>|_h|_dS(N(R
tkqueuet_kqueuet_fds(R ((s&/home/wwwroot/shadowsocks/eventloop.pyROscCs<>g}|t@o#|iti|ti|<00><00>n|t@o#|iti|ti|<00><00>nx$|D]}|ii|gd<00>qiWdS(Ni( RtappendR
tkeventtKQ_FILTER_READRtKQ_FILTER_WRITERtcontrol(R RRtflagsteventste((s&/home/wwwroot/shadowsocks/eventloop.pyt_controlSs # #cCs<>|djo
d}n|iidti|<00>}td<00><00>}xe|D]]}|i}|iti jo||ct
O<qH|iti jo||ct O<qHqHW|i <00>S(NicSstS((R(((s&/home/wwwroot/shadowsocks/eventloop.pyt<lambda>`s(tNoneRR#Rt
MAX_EVENTSRtidenttfilterR
R!RR"Rt iteritems(R RR%tresultsR&R((s&/home/wwwroot/shadowsocks/eventloop.pyR\s 
 cCs'||i|<|i||ti<00>dS(N(RR'R
t KQ_EV_ADD(R RR((s&/home/wwwroot/shadowsocks/eventloop.pyRis cCs+|i||i|ti<00>|i|=dS(N(R'RR
t KQ_EV_DELETE(R R((s&/home/wwwroot/shadowsocks/eventloop.pyRmscCs!|i|<00>|i||<00>dS(N(RR(R RR((s&/home/wwwroot/shadowsocks/eventloop.pyRqs ( RRR*RR'RRRR(((s&/home/wwwroot/shadowsocks/eventloop.pyRKs   t
SelectLoopcBs5eZd<00>Zd<00>Zd<00>Zd<00>Zd<00>ZRS(cCs(t<00>|_t<00>|_t<00>|_dS(N(tsett_r_listt_w_listt_x_list(R ((s&/home/wwwroot/shadowsocks/eventloop.pyRxs  cCs<>ti|i|i|i|<00>\}}}td<00><00>}xR|tf|tf|tfgD]/}x&|dD]}||c|dO<qlWq[W|i<00>S(NcSstS((R(((s&/home/wwwroot/shadowsocks/eventloop.pyR(<00>sii( R
R3R4R5RRRRtitems(R RtrtwtxR.tpR((s&/home/wwwroot/shadowsocks/eventloop.pyR}s" cCsa|t@o|ii|<00>n|t@o|ii|<00>n|t@o|ii|<00>ndS(N(RR3taddRR4RR5(R RR((s&/home/wwwroot/shadowsocks/eventloop.pyR<00>s    cCsp||ijo|ii|<00>n||ijo|ii|<00>n||ijo|ii|<00>ndS(N(R3tremoveR4R5(R R((s&/home/wwwroot/shadowsocks/eventloop.pyR<00>s cCs!|i|<00>|i||<00>dS(N(RR(R RR((s&/home/wwwroot/shadowsocks/eventloop.pyR<00>s (RRRRRRR(((s&/home/wwwroot/shadowsocks/eventloop.pyR1vs
   cBsSeZd<00>Zdd<00>Zd<00>Zd<00>Zd<00>Zd<00>Zd<00>Z d<00>Z
RS( cCs<>ttd<00>ot<00>|_d}nYttd<00>ot<00>|_d}n3ttd<00>ot<00>|_d}n td<00><00>h|_g|_t |_
t i d|<00>dS(NR RR
s6can not find any available functions in select packagesusing event model: %s( thasattrR
R t_implRR1t Exceptiont_fd_to_ft _handlerstFalsetstoppingtloggingtdebug(R tmodel((s&/home/wwwroot/shadowsocks/eventloop.pyR<00>s 
 
 
    cCsG|ii|<00>}g}|D]#\}}||i|||fq~S(N(R>RR@(R RR%t_[1]Rtevent((s&/home/wwwroot/shadowsocks/eventloop.pyR<00>scCs0|i<00>}||i|<|ii||<00>dS(N(tfilenoR@R>R(R tfRR((s&/home/wwwroot/shadowsocks/eventloop.pyR;<00>s  cCs-|i<00>}d|i|<|ii|<00>dS(N(RIR)R@R>R(R RJR((s&/home/wwwroot/shadowsocks/eventloop.pyR<<00>s  cCs#|i<00>}|ii||<00>dS(N(RIR>R(R RJRR((s&/home/wwwroot/shadowsocks/eventloop.pyR<00>s cCs|ii|<00>dS(N(RAR(R thandler((s&/home/wwwroot/shadowsocks/eventloop.pyt add_handler<65>scCs|ii|<00>dS(N(RAR<(R RK((s&/home/wwwroot/shadowsocks/eventloop.pytremove_handler<65>sc
Csx<>|ip<>y|id<00>}Wnqttfj
o_}t|<00>tijotid|<00>qq<>tid|<00>ddk }|i
<00>qnXx`|i D]U}y||<00>Wq<57>ttfj
o,}ti|<00>ddk }|i
<00>q<>Xq<58>WqWdS(Nispoll:%si<73><69><EFBFBD><EFBFBD>( RCRtOSErrortIOErrorterrno_from_exceptionterrnotEPIPERDterrort tracebackt print_excRA(R R%R&RTRK((s&/home/wwwroot/shadowsocks/eventloop.pytrun<75>s(
 

  N( RRRR)RR;R<RRLRMRV(((s&/home/wwwroot/shadowsocks/eventloop.pyR<00>s       cCs6t|d<00>o|iS|io |idSdSdS(sKProvides the errno from an Exception object.
There are cases that the errno attribute was not set so we pull
the errno out of the args but if someone instatiates an Exception
without any args you will get a tuple error. So this function
abstracts all that behavior to give you a safe way to get the
errno.
RQiN(R=RQtargsR)(R&((s&/home/wwwroot/shadowsocks/eventloop.pyRP<00>s

 cCs1|ititi<00>}ti|ti|<00><00>S(N(t
getsockopttsockett
SOL_SOCKETtSO_ERRORRStoststrerror(tsockt error_number((s&/home/wwwroot/shadowsocks/eventloop.pytget_sock_error<6F>s(R\RYR
RQRDt collectionsRt__all__RRRRRRRtobjectR RR1RRPR`(((s&/home/wwwroot/shadowsocks/eventloop.pyt<module>s4     
+%D