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



]:N
@sdZddlZddlZddlZddlZdZdZdZdZdZ	dZ
d	Zd
ZdZ
e	e
eee
gZe	de
d
edede
diZejdZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdd d eZd!d"Zdd#d$Zejd%d&Zded'd(Z Gd)d*d*eZ!Gd+d,d,eZ"dS)-z"Brian Quinlan (brian@sweetapp.com)NFIRST_COMPLETEDFIRST_EXCEPTION
ALL_COMPLETED
_AS_COMPLETEDPENDINGRUNNING	CANCELLEDCANCELLED_AND_NOTIFIEDFINISHEDpendingrunning	cancelledfinishedzconcurrent.futuresc@seZdZdS)ErrorN)__name__
__module____qualname__rr*/opt/alt/python35/lib64/python3.5/_base.pyr,src@seZdZdS)CancelledErrorN)rrrrrrrr0src@seZdZdS)TimeoutErrorN)rrrrrrrr4src@s@eZdZddZddZddZddZd	S)
_WaitercCstj|_g|_dS)N)	threadingEventeventfinished_futures)selfrrr__init__:sz_Waiter.__init__cCs|jj|dS)N)rappend)rfuturerrr
add_result>sz_Waiter.add_resultcCs|jj|dS)N)rr)rrrrr
add_exceptionAsz_Waiter.add_exceptioncCs|jj|dS)N)rr)rrrrr
add_cancelledDsz_Waiter.add_cancelledN)rrrrr r!r"rrrrr8srcsXeZdZfddZfddZfddZfddZS)	_AsCompletedWaitercs&tt|jtj|_dS)N)superr#rrLocklock)r)	__class__rrrJsz_AsCompletedWaiter.__init__c
s8|j(tt|j||jjWdQRXdS)N)r&r$r#r rset)rr)r'rrr Ns
z_AsCompletedWaiter.add_resultc
s8|j(tt|j||jjWdQRXdS)N)r&r$r#r!rr()rr)r'rrr!Ss
z _AsCompletedWaiter.add_exceptionc
s8|j(tt|j||jjWdQRXdS)N)r&r$r#r"rr()rr)r'rrr"Xs
z _AsCompletedWaiter.add_cancelled)rrrrr r!r"rr)r'rr#Gsr#csFeZdZfddZfddZfddZS)_FirstCompletedWaitercs!tj||jjdS)N)r$r rr()rr)r'rrr `sz _FirstCompletedWaiter.add_resultcs!tj||jjdS)N)r$r!rr()rr)r'rrr!dsz#_FirstCompletedWaiter.add_exceptioncs!tj||jjdS)N)r$r"rr()rr)r'rrr"hsz#_FirstCompletedWaiter.add_cancelled)rrrr r!r"rr)r'rr)]sr)csdeZdZfddZddZfddZfddZfd	d
ZS)_AllCompletedWaitercs2||_||_tj|_tjdS)N)num_pending_callsstop_on_exceptionrr%r&r$r)rr+r,)r'rrros		z_AllCompletedWaiter.__init__c
Cs:|j*|jd8_|js/|jjWdQRXdS)N)r&r+rr()rrrr_decrement_pending_callsus
	z,_AllCompletedWaiter._decrement_pending_callscstj||jdS)N)r$r r.)rr)r'rrr {sz_AllCompletedWaiter.add_resultcs7tj||jr)|jjn
|jdS)N)r$r!r,rr(r.)rr)r'rrr!s	z!_AllCompletedWaiter.add_exceptioncstj||jdS)N)r$r"r.)rr)r'rrr"sz!_AllCompletedWaiter.add_cancelled)rrrrr.r r!r"rr)r'rr*ls
r*c@s4eZdZddZddZddZdS)_AcquireFuturescCst|dt|_dS)Nkey)sortedidfutures)rr3rrrrsz_AcquireFutures.__init__cCs%x|jD]}|jjq
WdS)N)r3
_conditionacquire)rrrrr	__enter__sz_AcquireFutures.__enter__cGs%x|jD]}|jjq
WdS)N)r3r4release)rargsrrrr__exit__sz_AcquireFutures.__exit__N)rrrrr6r9rrrrr/sr/cCs|tkrt}n|tkr0t}nktdd|D}|tkrjt|dd}n1|tkrt|dd}ntd|x|D]}|j	j
|qW|S)Ncss$|]}|jttgkVqdS)N)_stater	r
).0frrr	<genexpr>sz._create_and_install_waiters.<locals>.<genexpr>r,TFzInvalid return condition: %r)rr#rr)sumrr*r
ValueError_waitersr)fsreturn_whenwaiter
pending_countr<rrr_create_and_install_waiterss
rEc	csx|dk	r|tj}t|}t|7tdd|D}||}t|t}WdQRXz|EdHx|r<|dkrd}n>|tj}|dkrtdt|t|f|jj||j	$|j
}g|_
|jjWdQRXx |D]}|V|j|qWq}WWdx/|D]'}|j
|jj|WdQRXqHWXdS)Ncss*|] }|jttgkr|VqdS)N)r:r	r
)r;r<rrrr=szas_completed.<locals>.<genexpr>rz%d (of %d) futures unfinished)timer(r/rErrlenrwaitr&rclearremover4r@)	rAtimeoutend_timerrrCwait_timeoutrr<rrras_completeds:

			
		


rNDoneAndNotDoneFuturesz
done not_donecCs1t|tdd|D}t||}|tkrU|rUt||S|tkr|rtdd|Drt||St|t|krt||St||}WdQRX|jj	|x/|D]'}|j
|jj|WdQRXqW|j
|jt|t||S)Ncss*|] }|jttgkr|VqdS)N)r:r	r
)r;r<rrrr=szwait.<locals>.<genexpr>css4|]*}|jr|jdk	r|VqdS)N)r
	exception)r;r<rrrr=	s)r/r(rrOranyrGrErrHr4r@rJupdater)rArKrBdonenot_donerCr<rrrrHs"





rHc@seZdZddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZdddZdddZ
ddZddZddZdS)FuturecCs@tj|_t|_d|_d|_g|_g|_dS)N)	r	Conditionr4rr:_result
_exceptionr@_done_callbacks)rrrrrs				zFuture.__init__cCsKxD|jD]9}y||Wq
tk
rBtjd|Yq
Xq
WdS)Nz!exception calling callback for %r)rY	ExceptionLOGGERrP)rcallbackrrr_invoke_callbacks&s

zFuture._invoke_callbackscCs|j|jtkr|jrRd|jjt|t|j|jjjfSd|jjt|t|j|jjjfSd|jjt|t|jfSWdQRXdS)Nz<%s at %#x state=%s raised %s>z <%s at %#x state=%s returned %s>z<%s at %#x state=%s>)	r4r:r
rXr'rr2_STATE_TO_DESCRIPTION_MAPrW)rrrr__repr__-s"
			
		
		zFuture.__repr__c
Csg|jM|jttgkr#dS|jttgkr<dSt|_|jjWdQRX|jdS)NFT)r4r:rr
rr	
notify_allr])rrrrcancelAs
	
z
Future.cancelc
Cs(|j|jttgkSWdQRXdS)N)r4r:rr	)rrrrr
Ts
zFuture.cancelledc	Cs"|j|jtkSWdQRXdS)N)r4r:r)rrrrrYs
zFuture.runningcCs+|j|jtttgkSWdQRXdS)N)r4r:rr	r
)rrrrrS^s
zFuture.donecCs |jr|jn|jSdS)N)rXrW)rrrr__get_resultcs	zFuture.__get_resultcCsK|j1|jtttgkr6|jj|dSWdQRX||dS)N)r4r:rr	r
rYr)rfnrrradd_done_callbackis

zFuture.add_done_callbackNc
Cs|j|jttgkr+tn|jtkrD|jS|jj||jttgkrutn"|jtkr|jStWdQRXdS)N)	r4r:rr	rr
_Future__get_resultrHr)rrKrrrresultzs


z
Future.resultc
Cs|j|jttgkr+tn|jtkrA|jS|jj||jttgkrrtn|jtkr|jStWdQRXdS)N)	r4r:rr	rr
rXrHr)rrKrrrrPs
zFuture.exceptioncCs|j|jtkrGt|_x|jD]}|j|q,WdS|jtkrct|_dStj	dt
||jtdWdQRXdS)NFTz!Future %s in unexpected state: %szFuture in unexpected state)r4r:rr	r@r"rrr[criticalr2RuntimeError)rrCrrrset_running_or_notify_cancels
				
z#Future.set_running_or_notify_cancelc
Cs_|jE||_t|_x|jD]}|j|q&W|jjWdQRX|jdS)N)r4rWr
r:r@r r`r])rrfrCrrr
set_results
		zFuture.set_resultc
Cs_|jE||_t|_x|jD]}|j|q&W|jjWdQRX|jdS)N)r4rXr
r:r@r!r`r])rrPrCrrr
set_exceptions
		zFuture.set_exception)rrrrr]r_rar
rrSrerdrfrPrirjrkrrrrrUs	"(
rUc@s[eZdZddZddddddZd	d
dZdd
ZddZdS)ExecutorcOs
tdS)N)NotImplementedError)rrcr8kwargsrrrsubmits	zExecutor.submitrKN	chunksizer-cs]dk	rtjfddt|Dfdd}|S)Ncs"g|]}j|qSr)ro)r;r8)rcrrr
<listcomp>$s	z Executor.map.<locals>.<listcomp>c3sjzGx@D]8}dkr*|jVq
|jtjVq
WWdxD]}|jqQWXdS)N)rfrFra)r)rLrArKrrresult_iterator(s
 
z%Executor.map.<locals>.result_iterator)rFzip)rrcrKrp	iterablesrrr)rLrcrArrKrmaps
"
zExecutor.mapTcCsdS)Nr)rrHrrrshutdown4szExecutor.shutdowncCs|S)Nr)rrrrr6AszExecutor.__enter__cCs|jdddS)NrHTF)rv)rexc_typeexc_valexc_tbrrrr9DszExecutor.__exit__)rrrrorurvr6r9rrrrrls
)
rl)#
__author__collectionsloggingrrFrrrrrrrr	r
_FUTURE_STATESr^	getLoggerr[rZrrrobjectrr#r)r*r/rErN
namedtuplerOrHrUrlrrrr<module>sN	:1
Back to Directory File Manager