
    i                     Z    d dl Z d dlmZ d dlZ ej                  e      Z G d de      Zy)    N)Retryc                   (     e Zd ZdZdef fdZ xZS )JitterRetryu?  
    Retry with exponential back‑off with jitter.

    The Retry class is being extended as built-in support for jitter was added only in urllib3 2.0.0.
    Jitter logic is following the official implementation with a constant jitter factor: https://github.com/urllib3/urllib3/blob/main/src/urllib3/util/retry.py
    returnc                     t         |          }t        j                         dz  }||z  }t        j	                  d| d| d       |S )Ng      ?zCalculating retry backoff: z
 (jitter: ))superget_backoff_timerandomloggerdebug)selfbackoff_valuejitter	__class__s      x/var/www/catia.catastroantioquia-mas.com/valormas/lib/python3.12/site-packages/pinecone/openapi_support/retry_urllib3.pyr
   zJitterRetry.get_backoff_time   sM    024'2=/F8STUV    )__name__
__module____qualname____doc__floatr
   __classcell__)r   s   @r   r   r      s    %  r   r   )r   urllib3.util.retryr   logging	getLoggerr   r   r    r   r   <module>r      s,     $ 			8	$% r   