
    i                     n    d dl Z d dlmZ d dlmZmZmZ d dlZ ej                  e	      Z
 G d de      Zy)    N)Optional)RetryOptionsBaseEvaluateResponseCallbackTypeClientResponsec                        e Zd ZdZ	 	 	 	 	 	 	 	 ddedededeee      deeee	         deee
      d	ed
ee   ddf fdZ	 ddedee   defdZ xZS )JitterRetryz3https://github.com/inyutin/aiohttp_retry/issues/44.Nattemptsstart_timeoutmax_timeoutstatuses
exceptionsmethodsretry_all_server_errorsevaluate_response_callbackreturnc	                 L    t         	|   ||||||       || _        || _        y )N)r	   r   r   r   r   r   )super__init___start_timeout_max_timeout)
selfr	   r
   r   r   r   r   r   r   	__class__s
            x/var/www/catia.catastroantioquia-mas.com/valormas/lib/python3.12/site-packages/pinecone/openapi_support/retry_aiohttp.pyr   zJitterRetry.__init__   s;     	!$;'A 	 	
 &3#.    attemptresponsec                     t         j                  d| d|        	 t        j                  dd      }| j                  d|dz
  z  z  }t        ||z   | j                        S )Nz!JitterRetry get_timeout: attempt=z, response=r   皙?      )loggerdebugrandomuniformr   minr   )r   r   r   jittertimeouts        r   get_timeoutzJitterRetry.get_timeout#   sb    
 	8	XJWX63'%%w{);<7V#T%6%677r   )   r   g      @NNNTN)N)__name__
__module____qualname____doc__intfloatr   settype	Exceptionstrboolr   r   r   r(   __classcell__)r   s   @r   r   r   	   s    = " '+59&*(,MQ// / 	/
 3s8$/ Si12/ #c(#/ "&/ %--I$J/ 
/4 .2	8	8 >*	8 
		8r   r   )r#   typingr   aiohttp_retryr   r   r   logging	getLoggerr*   r!   r    r   r   <module>r;      s3      X X 			8	$#8" #8r   