*jm7 n S r SrSSKrSSKrSSKrSSKrSSKJr SSK J r SSK Jr SSK Jr SS K J r \ R r\ R r\ R r\ R" r\R$ S- r " S S5 r\rS rS rS rS rS rS rSS.S jr SSKr\R( =rrg! \ a gf = f)z.A Future class similar to the one in PEP 3148.)Futurewrap_futureisfuture N)GenericAlias )base_futures)events) exceptions)format_helpersc \ rS rSrSr\rSrSrSr Sr SrSrSr SrSS.S jrS rS r\" \5 r\S 5 r\R. S 5 rS rS rSS jrS rS rS rS rS rSS.S jr S r!S r"S r#S r$\$r%Sr&g)r a This class is *almost* compatible with concurrent.futures.Future. Differences: - This class is not thread-safe. - result() and exception() do not take a timeout argument and raise an exception when the future isn't done yet. - Callbacks registered with add_done_callback() are always called via the event loop's call_soon(). - This class is not compatible with the wait() and as_completed() methods in the concurrent.futures package. (In Python 3.4 or later we may be able to unify the implementations.) NFloopc Uc [ R " 5 U l OXl / U l U R R 5 ( a0 [ R " [ R " S5 5 U l gg)zInitialize the future. The optional event_loop argument allows explicitly setting the event loop object used by the future. If it's not provided, the future uses the default event loop. Nr ) r get_event_loop_loop _callbacks get_debugr extract_stacksys _getframe_source_tracebackselfr s 6/opt/alt/python313/lib64/python3.13/asyncio/futures.py__init__Future.__init__H s\ <..0DJJ::!!%3%A%A a &"D" " c . [ R " U 5 $ N)r _future_reprr s r __repr__Future.__repr__X s ((..r c U R ( d g U R nU R R S3UU S.nU R ( a U R US' U R R U5 g )Nz exception was never retrieved)message exceptionfuturesource_traceback)_Future__log_traceback _exception __class____name__r r call_exception_handler)r exccontexts r __del__Future.__del__[ sl ## oo >>**++IJ !!*.*@*@G&' ))'2r c U R $ r )r* r" s r _log_tracebackFuture._log_tracebackm s ###r c 6 U( a [ S5 eSU l g )Nz'_log_traceback can only be set to FalseF) ValueErrorr* )r vals r r4 r5 q s FGG$r c : U R nUc [ S5 eU$ )z-Return the event loop the Future is bound to.z!Future object is not initialized.)r RuntimeErrorr s r get_loopFuture.get_loopw s! zz<BCCr c U R b U R nSU l U$ U R c [ R " 5 nU$ [ R " U R 5 nU$ )zCreate the CancelledError to raise if the Future is cancelled. This should only be called once when handling a cancellation since it erases the saved context exception value. N)_cancelled_exc_cancel_messager CancelledError)r r/ s r _make_cancelled_errorFuture._make_cancelled_error~ sf *%%C"&DJ'++-C ++D,@,@AC r c ~ SU l U R [ :w a g[ U l Xl U R 5 g)zCancel the future and schedule callbacks. If the future is already done or cancelled, return False. Otherwise, change the future's state to cancelled, schedule the callbacks and return True. FT)r* _state_PENDING _CANCELLEDr? _Future__schedule_callbacks)r msgs r cancel Future.cancel s7 %;;(" "!!#r c U R SS nU( d g/ U R SS&