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    
Size: Mime:
ó
 ‹EYc@skddlZddlZddlZddlZddlZddlZdZeedƒrod„Z	e	Zn<yddl
Z
e
jZWn ek
rªd„Z
e
ZnXddlmZmZddlmZmZmZmZeZdZdZd	„Zd
efd„ƒYZeedd
„d
„dƒZdefd„ƒYZd„Z defd„ƒYZ!dS(iÿÿÿÿNt	setitimercCstjtj|ƒdS(N(tsignalRtITIMER_REAL(tseconds((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pytalarm_itimer
scCstjtj|ƒƒdS(N(Rtalarmtmathtceil(R((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pytalarm_signals(ttimertIOClosed(t	greenletstclear_sys_exc_infot	monotonictsixtreadtwritecCsdS(sP Used to de-fang a callback that may be triggered by a loop in BaseHub.wait
    N((tfileno((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pytclosed_callbackst
FdListenercBs)eZd„Zd„ZeZd„ZRS(cCsg|tks|tkst‚||_||_||_||_||_t|_	t
jƒ|_
dS(sŠ The following are required:
        cb - the standard callback, which will switch into the
            listening greenlet to indicate that the event waited upon
            is ready
        tb - a 'throwback'. This is typically greenlet.throw, used
            to raise a signal into the target greenlet indicating that
            an event was obsoleted by its underlying filehandle being
            repurposed.
        mark_as_closed - if any listener is obsoleted, this is called
            (in the context of some other client greenlet) to alert
            underlying filehandle-wrapping objects that they've been
            closed.
        N(tREADtWRITEtAssertionErrortevtypeRtcbttbtmark_as_closedtFalsetspenttgreenlett
getcurrent(tselfRRRRR((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyt__init__(s						cCs,dt|ƒj|j|j|j|jfS(Ns%s(%r, %r, %r, %r)(ttypet__name__RRRR(R((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyt__repr__?scCs2t|_|jdk	r%|jƒnt|_dS(N(RRRtNonetTrueR(R((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pytdefangDs	
(R"t
__module__R R#t__str__R&(((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyR&s		icCsdS(N(R$(tx((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyt<lambda>Kst
DebugListenercBs eZd„Zd„ZeZRS(cCsDtjƒ|_tjƒ|_tt|ƒj|||||ƒdS(N(t	tracebacktformat_stacktwhere_calledRRtsuperR+R (RRRRRR((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyR Ssc	Cs;d|j|j|j|j|j|jdj|jƒfS(Ns:DebugListener(%r, %r, %r, %r, %r, %r)
%sEndDebugFdListenert(RRRRRRtjoinR.(R((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyR#Xs(R"R'R R#R((((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyR+Qs			cCs/ddl}tdt|j|ƒƒƒ‚dS(NiÿÿÿÿsBlocking detector ALARMED at(tinspecttRuntimeErrortstrtgetframeinfo(tsignumtframeR2((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyt
alarm_handlerdstBaseHubcBsFeZdZeefZeZeZd d„Z	d„Z
d„Zd„Zd„Z
d„Zd„Zd„Zd	„Zd
„Zd„Zd„Zd
„Zd d„Zd„Zd„Zd„Zed„Zd„Zd„Zd„Zd„Zd„Z d„Z!d„Z"d„Z#d„Z$d„Z%d„Z&d„Z'd„Z(RS(!s Base hub class for easing the implementation of subclasses that are
    specific to a particular underlying event architecture. cCsÂiit6it6|_iit6it6|_g|_|dkrOtj}n||_tj|j	ƒ|_t
|_t
|_g|_
g|_t|_d|_t|_t
|_d|_dS(Nii(RRt	listenerstsecondariestclosedR$R
tclockRtrunRtstoppingtrunningttimerstnext_timersRtlclassttimers_canceledR%tdebug_exceptionstdebug_blockingtdebug_blocking_resolution(RR=((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyR rs 										cCs>tjtjtƒ}|tkr-||_nt|jƒdS(N(RtSIGALRMR8t_old_signal_handlert	arm_alarmRG(Rttmp((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pytblock_detect_pre†scCsBt|dƒr1|jr1tjtj|jƒntjdƒdS(NRIi(thasattrRIRRHR(R((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pytblock_detect_postŽs	cCs‘|j|||||ƒ}|j|}||krƒtr`td||||||fƒ‚n|j|j|gƒj|ƒn
|||<|S(s– Signals an intent to or write a particular file descriptor.

        The *evtype* argument is either the constant READ or WRITE.

        The *fileno* argument is the file number of the file of interest.

        The *cb* argument is the callback which will be called when the file
        is ready for reading/writing.

        The *tb* argument is the throwback used to signal (into the greenlet)
        that the file was closed.

        The *mark_as_closed* is used in the context of the event hub to
        prepare a Python object as being closed, pre-empting further
        close operations from accidentally shutting down the wrong OS thread.
        sPSecond simultaneous %s on fileno %s detected.  Unless you really know what you're doing, make sure that only one greenthread can %s any particular socket.  Consider using a pools.Pool. If you do know what you're doing and want to disable this error, call eventlet.debug.hub_prevent_multiple_readers(False) - MY THREAD=%s; THAT THREAD=%s(RCR:tg_prevent_multiple_readersR3R;t
setdefaulttappend(RRRRRRtlistenertbucket((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pytadd”s
 #
cCsát}xktj|jƒD]W\}}||krx2||D]&}t}|jj|ƒ|jƒq<W||=qqWxftj|jƒD]R\}}||kr‡||}t}|jj|ƒ|j	|ƒ|jƒq‡q‡W|S(sÀ We've received an indication that 'fileno' has been obsoleted.
            Any current listeners must be defanged, and notifications to
            their greenlets queued up to send.
        (
RRt	iteritemsR;R%R<RQR&R:tremove(RRtfoundRRSRR((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyt	_obsolete¹s 

cCsdS(sÈ We might want to do something when a fileno is closed.
            However, currently it suffices to obsolete listeners only
            when we detect an old fileno being recycled, on open.
        N((RR((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pytnotify_closeÓscCs¤|jr
dS|j}|j}|j|j|dƒ||j|kr |j|j|dƒ}|sldS|jdƒ|j||<|s |j||=q ndS(Ni(RRRR:tpopR$R;tget(RRRRRtsec((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyRVÚs			cCs|j|ƒdS(së If a file descriptor is returned by the OS as the result of some
            open call (or equivalent), that signals that it might be being
            recycled.

            Catch the case where the fd was previously in use.
        N(RX(RR((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pytmark_as_reopenedëscCsÓg}|j|jtj|tƒƒ|j|jtj|tƒƒ|j|jtj|dƒƒ|j|jtj|dƒƒxF|D]>}y|j|ƒWqt	k
rÊ|j
tjƒƒqXqWdS(sQ Completely remove all listeners for this fileno.  For internal use
        only.N(((
RQR:RRZtnoopRtextendR;Rt	Exceptiontsquelch_generic_exceptiontsystexc_info(RRR:RR((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pytremove_descriptorôs    

cCs;|jjƒ}|jjs7|jttjdƒƒndS(sÑ Triggered from the main run loop. If a listener's underlying FD was
            closed somehow, throw an exception back to the trampoline, which should
            be able to manage it appropriately.
        sOperation on closed fileN(R<RZRtdeadRR
terrnotENOTCONN(RRR((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyt	close_onescCsC|jjr?tj|j|jjƒ}||j_||_ndS(N(RReR>tparent(Rtnew((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pytensure_greenletscCsÇtjƒ}||jk	s'tdƒ‚t|ddƒ}|dk	rpy|ƒWqp|jtjƒƒqpXn|jƒy%|jj	|k	rž|j|_	nWnt
k
r²nXtƒ|jjƒS(Ns'Cannot switch to MAINLOOP from MAINLOOPt
switch_out(
RRRtgetattrR$RaRbRcRkRit
ValueErrorRtswitch(RtcurRl((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyRos 

cCs€tj|Œtjjd|fƒtjjƒy|j|ƒWn7tk
r{}tjjd|fƒtjjƒnXdS(NsRemoving descriptor: %r
s(Exception while removing descriptor! %r
(R,tprint_exceptionRbtstderrRtflushRdR`(RRRcte((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pytsquelch_exception)s

cCstdƒ‚dS(NsImplement this in a subclass(tNotImplementedError(RR((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pytwait3scCsdS(NgN@((R((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyt
default_sleep6scCs|j}|sdS|ddS(Ni(RAR$(Rtt((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pytsleep_until9s	cOs<|jrtdƒ‚nz
t|_t|_xñ|js	x|jrR|jƒq<W|jƒ|jrs|j	ƒn|j
|jƒƒ|jrœ|jƒn|jƒ|j
ƒ}|dkrÍ|jƒ}n||jƒ}|dkrù|j|ƒq0|jdƒq0Wd|_|j2|j2Wdt|_t|_XdS(s/Run the runloop until abort is called.
        sAlready running!iN(R@R3R%RR?R<Rhtprepare_timersRFRLtfire_timersR=RNRzR$RxRwRDRARB(Rtatkwtwakeup_whent
sleep_time((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyR>?s6			
	
	

		cCs`|jrt|_n|r\|jtjƒk	s<tdƒ‚|jdd„ƒ|jƒndS(smStop the runloop. If run is executing, it will exit after
        completing the next runloop iteration.

        Set *wait* to True to cause abort to switch to the hub immediately and
        wait until it's finished processing.  Waiting for the hub will only
        work from the main greenthread; all other greenthreads will become
        unreachable.
        s5Can't abort with wait from inside the hub's greenlet.icSsdS(N(R$(((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyR*usN(R@R%R?RRRtschedule_call_globalRo(RRw((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pytabortfs			cCs1|jr-tj|ŒtjjƒtƒndS(N(RER,RqRbRrRsR(RRc((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyRazs	

cCs1|jr-tj|ŒtjjƒtƒndS(N(RER,RqRbRrRsR(RR	Rc((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pytsquelch_timer_exception€s	

cCs-|jƒ|j}|jj||fƒ|S(N(R=RRBRQ(RR	tscheduled_time((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyt	add_timer†scCsÂ|jd7_t|jƒt|jƒ}|dkr¾|d|jkr¾d|_g|jD]}|djs]|^q]|_g|jD]}|djs‰|^q‰|_tj|jƒndS(Niièii(RDtlenRARBtcalledtheapqtheapify(RR	t
len_timersRy((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyttimer_canceled‹s	,,cCs]tj}|j}x=|jD]2}|djrA|jd8_q|||ƒqW|j2dS(Ni(RˆtheappushRARBR‡RD(RRŒRytitem((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyR{”s		
cOs)tj||||Ž}|j|ƒ|S(szSchedule a callable to be called after 'seconds' seconds have
        elapsed. Cancel the timer if greenlet has exited.
            seconds: The number of seconds to wait.
            cb: The callable to call after the given time.
            *args: Arguments to pass to the callable when called.
            **kw: Keyword arguments to pass to the callable when called.
        (R	t
LocalTimerR…(RRRtargsR~Ry((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pytschedule_call_localžs
cOs)tj||||Ž}|j|ƒ|S(s³Schedule a callable to be called after 'seconds' seconds have
        elapsed. The timer will NOT be canceled if the current greenlet has
        exited before the timer fires.
            seconds: The number of seconds to wait.
            cb: The callable to call after the given time.
            *args: Arguments to pass to the callable when called.
            **kw: Keyword arguments to pass to the callable when called.
        (R	tTimerR…(RRRRR~Ry((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyRªs	
cCs¾|j}tj}x¥|r¹|d}|d}|d}||krIPn||ƒy&|jrq|jd8_n|ƒWq|jk
r’‚q|j|tjƒƒt	ƒqXqWdS(Nii(
RARˆtheappopR‡RDtSYSTEM_EXCEPTIONSRƒRbRcR(RtwhenRyR’tnexttexpR	((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyR|·s$			



	cCs|jtjƒS(N(R:Rtvalues(R((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pytget_readersÓscCs|jtjƒS(N(R:RR—(R((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pytget_writersÖscCst|jƒt|jƒS(N(R†RARB(thub((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pytget_timers_countÙscCs|rt|_n	t|_dS(N(R+RCR(Rtvalue((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pytset_debug_listenersÜscCs
||_dS(N(RE(RRœ((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pytset_timer_exceptionsâsN()R"R't__doc__tKeyboardInterruptt
SystemExitR“RRR$R RLRNRTRXRYRVR]RdRhRkRoRuRwRxRzR>RR‚RaRƒR…R‹R{RRR|R˜R™R›RRž(((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyR9isF			%							
			
			'						
		
					("RfRˆRRRbR,R$RJRMRtitimerRtImportErrorRt
eventlet.hubsR	R
teventlet.supportRRRR
RR%RORRRtobjectRR^R+R8R9(((sF/home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/hubs/hub.pyt<module>s4		

	
"	%