code: function(elapsed_time, min_interval, max_interval, clamp_time) {
              if (elapsed_time >= clamp_time) return parseFloat(max_interval);
              return Math.min(max_interval * Math.pow(elapsed_time/parseFloat(clamp_time), 3) + min_interval, max_interval);
          }
docs: Returns a wait time (sec) based on the current time elapsed, as mapped
  onto a cubic easing function.
  
  elapsed_time: number of seconds that have elapsed since the first
  call to getRetryInterval()
  
  min_interval: minimum return value of this method; also the interval
  returned when elapsed_time = 0
  
  max_interval: maximum return value of this method; also the interval
  returned when elapsed_time >= clamp_time
  
  clamp_time: total duration over which to calculate a wait time; while
  elapsed_time < clamp_time, the return value will be less than
  max_interval; when elapsed_time >= clamp_time, the return value will
  always be max_interval