code: def _sleep(current_sleep, max_sleep=_MAX_SLEEP, multiplier=_MULTIPLIER):
      
      actual_sleep = random.uniform(0.0, current_sleep)
      time.sleep(actual_sleep)
      return min(multiplier * current_sleep, max_sleep)
docs: Sleep and produce a new sleep time.
  
      .. _Exponential Backoff And Jitter: https://www.awsarchitectureblog.com/\
                                          2015/03/backoff.html
  
      Select a duration between zero and ``current_sleep``. It might seem
      counterintuitive to have so much jitter, but
      `Exponential Backoff And Jitter`_ argues that "full jitter" is
      the best strategy.
  
      Args:
          current_sleep (float): The current "max" for sleep interval.
          max_sleep (Optional[float]): Eventual "max" sleep time
          multiplier (Optional[float]): Multiplier for exponential backoff.
  
      Returns:
          float: Newly doubled ``current_sleep`` or ``max_sleep`` (whichever
          is smaller)