Viewing File: /opt/alt/python38/lib64/python3.8/concurrent/futures/__pycache__/_base.cpython-38.opt-2.pyc

U

,aY
@spdZddlZddlZddlZddlZdZdZdZdZdZ	dZ
d	Zd
ZdZ
e	e
eee
gZe	de
d
edede
diZedZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdd d eZGd!d"d"eZd#d$Zd%d&Zd3d'd(Ze d)d*Z!defd+d,Z"Gd-d.d.eZ#Gd/d0d0eZ$Gd1d2d2e%Z&dS)4z"Brian Quinlan (brian@sweetapp.com)NFIRST_COMPLETEDFIRST_EXCEPTION
ALL_COMPLETED
_AS_COMPLETEDPENDINGRUNNING	CANCELLEDCANCELLED_AND_NOTIFIEDFINISHEDpendingrunning	cancelledfinishedzconcurrent.futuresc@seZdZdS)ErrorN__name__
__module____qualname__rr=/opt/alt/python38/lib64/python3.8/concurrent/futures/_base.pyr,src@seZdZdS)CancelledErrorNrrrrrr0src@seZdZdS)TimeoutErrorNrrrrrr4src@seZdZdS)InvalidStateErrorNrrrrrr8src@s,eZdZddZddZddZddZd	S)
_WaitercCst|_g|_dSN)	threadingZEventeventfinished_futuresselfrrr__init__>s
z_Waiter.__init__cCs|j|dSrrappendrfuturerrr
add_resultBsz_Waiter.add_resultcCs|j|dSrr!r#rrr
add_exceptionEsz_Waiter.add_exceptioncCs|j|dSrr!r#rrr
add_cancelledHsz_Waiter.add_cancelledN)rrrr r%r&r'rrrrr<srcs@eZdZfddZfddZfddZfddZZS)	_AsCompletedWaitercstt|t|_dSr)superr(r rLocklockr	__class__rrr Nsz_AsCompletedWaiter.__init__c	s0|j tt|||jW5QRXdSr)r+r)r(r%rsetr#r,rrr%Rsz_AsCompletedWaiter.add_resultc	s0|j tt|||jW5QRXdSr)r+r)r(r&rr.r#r,rrr&Wsz _AsCompletedWaiter.add_exceptionc	s0|j tt|||jW5QRXdSr)r+r)r(r'rr.r#r,rrr'\sz _AsCompletedWaiter.add_cancelled)rrrr r%r&r'
__classcell__rrr,rr(Ksr(cs4eZdZfddZfddZfddZZS)_FirstCompletedWaitercst||jdSr)r)r%rr.r#r,rrr%dsz _FirstCompletedWaiter.add_resultcst||jdSr)r)r&rr.r#r,rrr&hsz#_FirstCompletedWaiter.add_exceptioncst||jdSr)r)r'rr.r#r,rrr'lsz#_FirstCompletedWaiter.add_cancelled)rrrr%r&r'r/rrr,rr0asr0csHeZdZfddZddZfddZfddZfd	d
ZZS)_AllCompletedWaitercs$||_||_t|_tdSr)num_pending_callsstop_on_exceptionrr*r+r)r )rr2r3r,rrr ss
z_AllCompletedWaiter.__init__c	Cs4|j$|jd8_|js&|jW5QRXdS)N)r+r2rr.rrrr_decrement_pending_callsysz,_AllCompletedWaiter._decrement_pending_callscst||dSr)r)r%r5r#r,rrr%sz_AllCompletedWaiter.add_resultcs*t||jr|jn|dSr)r)r&r3rr.r5r#r,rrr&sz!_AllCompletedWaiter.add_exceptioncst||dSr)r)r'r5r#r,rrr'sz!_AllCompletedWaiter.add_cancelled)	rrrr r5r%r&r'r/rrr,rr1ps
r1c@s$eZdZddZddZddZdS)_AcquireFuturescCst|td|_dS)N)key)sortedidfutures)rr:rrrr sz_AcquireFutures.__init__cCs|jD]}|jqdSr)r:
_conditionacquirer#rrr	__enter__s
z_AcquireFutures.__enter__cGs|jD]}|jqdSr)r:r;release)rargsr$rrr__exit__s
z_AcquireFutures.__exit__N)rrrr r=r@rrrrr6sr6cCs|tkrt}nZ|tkr t}nJtdd|D}|tkrHt|dd}n"|tkr^t|dd}ntd||D]}|j	
|qn|S)Ncss|]}|jttfkVqdSr_stater	r
.0frrr	<genexpr>sz._create_and_install_waiters.<locals>.<genexpr>T)r3FzInvalid return condition: %r)rr(rr0sumrr1r
ValueError_waitersr")fsreturn_whenwaiterZ
pending_countrErrr_create_and_install_waiterssrMc	csP|rL|d}|D]}||q|j|j|W5QRX~|VqdS)N)remover;rIpop)rJrLref_collectrEZfutures_setrrr_yield_finished_futuressrRc	csB|dk	r|t}t|}t|}t|*tdd|D}||}t|t}W5QRXt|}zt|||fdEdH|r|dkrd}n(|t}|dkrtdt||f|j
||j|j}g|_|j
W5QRX|t||||fdEdHq|W5|D]$}|j|j	
|W5QRXqXdS)Ncss |]}|jttfkr|VqdSrrArCrrrrFszas_completed.<locals>.<genexpr>)rQrz%d (of %d) futures unfinished)time	monotonicr.lenr6rMrlistr;rIrOrRrrwaitr+rclearreverse)	rJtimeoutend_timeZ
total_futuresrrrLrEZwait_timeoutrrras_completedsL
r\DoneAndNotDoneFuturesz
done not_donec
Cs
t|tdd|D}t||}|tkrJ|rJt||W5QRS|tkr~|r~tdd|Dr~t||W5QRSt|t|krt||W5QRSt||}W5QRX|j	||D]"}|j
|j|W5QRXq|
|jt|t||S)Ncss |]}|jttfkr|VqdSrrArCrrrrF!szwait.<locals>.<genexpr>css&|]}|s|dk	r|VqdSr)r
	exceptionrCrrrrF(s)r6r.rr]ranyrUrMrrWr;rIrOupdater)rJrZrKdoneZnot_donerLrErrrrWs"
rWc@seZdZddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZdddZdddZ
ddZddZddZdS) FuturecCs,t|_t|_d|_d|_g|_g|_dSr)	rZ	Conditionr;rrB_result
_exceptionrI_done_callbacksrrrrr <s
zFuture.__init__c	Cs>|jD]2}z||Wqtk
r6td|YqXqdSNz!exception calling callback for %r)re	ExceptionLOGGERr^)rcallbackrrr_invoke_callbacksEs

zFuture._invoke_callbacksc
Cs|j|jtkrx|jrHd|jjt|t|j|jjjfW5QRSd|jjt|t|j|jjjfW5QRSd|jjt|t|jfW5QRSQRXdS)Nz<%s at %#x state=%s raised %s>z <%s at %#x state=%s returned %s>z<%s at %#x state=%s>)	r;rBr
rdr-rr9_STATE_TO_DESCRIPTION_MAPrcrrrr__repr__Ls(
zFuture.__repr__c	Csf|jN|jttfkr$W5QRdS|jttfkr@W5QRdSt|_|jW5QRX|dS)NFT)r;rBrr
rr	
notify_allrjrrrrcancel`sz
Future.cancelc
Cs,|j|jttfkW5QRSQRXdSr)r;rBrr	rrrrr
sszFuture.cancelledc
Cs(|j|jtkW5QRSQRXdSr)r;rBrrrrrrxszFuture.runningc
Cs.|j|jtttfkW5QRSQRXdSr)r;rBrr	r
rrrrra}szFuture.donecCs$|jrz
|jW5d}Xn|jSdSr)rdrcrrrrZ__get_results

zFuture.__get_resultc	Csn|j0|jtttfkr2|j|W5QRdSW5QRXz||Wn tk
rht	d|YnXdSrf)
r;rBrr	r
rer"rgrhr^)rfnrrradd_done_callbackszFuture.add_done_callbackNc
Csz|j|jttfkr tn"|jtkrB|W5QRWZS|j||jttfkrdtn(|jtkr|W5QRWStW5QRXW5d}XdSr)	r;rBrr	rr
_Future__get_resultrWrrrZrrrresults

z
Future.resultc
Cs|j||jttfkrtn|jtkr:|jW5QRS|j||jttfkr\tn"|jtkrx|jW5QRStW5QRXdSr)	r;rBrr	rr
rdrWrrrrrrr^s

zFuture.exceptionc	Cs|jt|jtkr<t|_|jD]}||qW5QRdS|jtkrZt|_W5QRdSt	dt
||jtdW5QRXdS)NFTz!Future %s in unexpected state: %szFuture in unexpected state)r;rBrr	rIr'rrrhZcriticalr9RuntimeError)rrLrrrset_running_or_notify_cancels


z#Future.set_running_or_notify_cancelc	Csl|jT|jttthkr*td|j|||_t|_|jD]}|	|q<|j
W5QRX|dSNz{}: {!r})r;rBrr	r
rformatrcrIr%rmrj)rrsrLrrr
set_result
s
zFuture.set_resultc	Csl|jT|jttthkr*td|j|||_t|_|jD]}|	|q<|j
W5QRX|dSrv)r;rBrr	r
rrwrdrIr&rmrj)rr^rLrrr
set_exceptions
zFuture.set_exception)N)N)rrrr rjrlrnr
rrarqrprsr^rurxryrrrrrb9s	

#
"(rbc@sDeZdZddZde_dddddZdd
dZdd
ZddZdS)ExecutorcOs\t|dkrnD|stdn6d|kr>ddl}|jdtddntdt|dtdS)	Nz:descriptor 'submit' of 'Executor' object needs an argumentrorz.Passing 'fn' as keyword argument is deprecated)
stacklevelz6submit expected at least 1 positional argument, got %dr4)rU	TypeErrorwarningswarnDeprecationWarningNotImplementedError)r?kwargsr~rrrsubmit.s	

zExecutor.submitz($self, fn, /, *args, **kwargs)Nr4)rZ	chunksizecsBdk	rtfddt|Dfdd}|S)Ncsg|]}jf|qSr)r)rDr?)rorrr
<listcomp>`sz Executor.map.<locals>.<listcomp>c	3s\zBr@dkr&Vq
tVq
W5D]}|qHXdSr)rnrYrPrsrSrT)r$)r[rJrZrrresult_iteratordsz%Executor.map.<locals>.result_iterator)rSrTzip)rrorZr	iterablesrr)r[rorJrrZrmapGs

zExecutor.mapTcCsdSrr)rrWrrrshutdownsszExecutor.shutdowncCs|Srrrrrrr=szExecutor.__enter__cCs|jdddS)NT)rWF)r)rexc_typeZexc_valZexc_tbrrrr@szExecutor.__exit__)T)	rrrr__text_signature__rrr=r@rrrrrz+s,

rzc@seZdZdS)BrokenExecutorNrrrrrrsr)N)'
__author__collectionsZloggingrrSrrrrrrrr	r
Z_FUTURE_STATESrkZ	getLoggerrhrgrrrrobjectrr(r0r1r6rMrRr\
namedtupler]rWrbrzrtrrrrr<module>sh		

>1s]
Back to Directory File Manager