
    k7i
                     6   S SK JrJrJr  S SKJrJr  S SKJrJ	r	  S\\   S\4S jr
S\S\4   S\4S	 jrS
\S\S\S\S\4
S jr\" S5      rS\S\\\   S4   S
\S\S\S\S\\\\4   4   S\S\S\4S jrS\S\\\   S4   S
\S\S\S\S\4   S\S\S\4S jrg)    )	AwaitableCallable	Coroutine)AnyTypeVar)asleepsleep	awaitablereturnc                 "   #    U I Sh  vN $  N7f)zO
Equivalent to await awaitable, converted to await awaitable by async_to_sync.
N )r
   s    W/home/james-whalen/.local/lib/python3.13/site-packages/key_value/shared/code_gen/run.pyawait_awaitabler      s      ??s   function.c                     U " 5       $ )zE
Equivalent to function(), converted to function() by async_to_sync.
r   )r   s    r   run_functionr      s     :    initial_delay	max_delayexponential_baseattemptc                 &    XU-  -  n[        XA5      $ )zBCalculate the delay for a given attempt using exponential backoff.)min)r   r   r   r   delays        r   _calculate_delayr      s    w67Eu  r   Tmax_retriesretry_on	operationargskwargsc                   #    Sn[        U S-   5       H  n	 U" U0 UD6I Sh  vN s  $    U(       a  UeSn[        U5      e N! U a3  n
U
nX:  a&  [        X#XI5      n[        U5      I Sh  vN     Sn
A
Mc  e Sn
A
ff = f7fz&Execute an operation with retry logic.N   z(Retry operation failed without exception)ranger   r   RuntimeErrorr   r   r   r   r   r   r    r!   last_exceptionr   er   msgs                r   async_retry_operationr+      s      (,Nq)		"D3F333 * 
4C
s
 4 	N$(CS]Um## 	sO   A?AAAA?AA<	!A7*A-+A70A?6A77A<<A?c                     Sn[        U S-   5       H  n	 U" U0 UD6s  $    U(       a  UeSn[        U5      e! U a*  n
U
nX:  a  [        X#XI5      n[        U5         Sn
A
MP  e Sn
A
ff = fr#   )r%   r   r	   r&   r'   s                r   retry_operationr-   >   s     (,Nq)		d-f-- * 
4C
s
  	N$(CS]e 	s   7A'A"!A""A'N)collections.abcr   r   r   typingr   r   key_value.shared.code_gen.sleepr   r	   r   r   floatintr   r   tupletype	Exceptionr+   r-   r   r   r   <module>r6      sj   : :  9Ys^  8CH- # !E !e !u !_b !gl ! CLDOS()  	
  YsC{334   @DOS()  	
  Q   r   