text: Title: question about max_time
  Body: It appears that `max_time` sets a time limit for the time spent retrying, that does not include the initial try.  If that is correct, if all I have is, for example, the total time budget for an API call, then  I have to subtract the maximum time the initial attempt take from `max_time` to make sure that the total time spent = `(initial attempt + all retries) < time_budget`.  Is that the intent of the code?  
  
  By way of context, we assumed that `max_time` could be set to our `time_budget` for the total time spent calling an API, but this assumption seemed to be incorrect.