code: func (r *rudimentaryErrorBackoff) OnError(error) {
  	r.lastErrorTimeLock.Lock()
  	defer r.lastErrorTimeLock.Unlock()
  	d := time.Since(r.lastErrorTime)
  	if d < r.minPeriod {
  		// If the time moves backwards for any reason, do nothing
  		time.Sleep(r.minPeriod - d)
  	}
  	r.lastErrorTime = time.Now()
  }
docs: // OnError will block if it is called more often than the embedded period time.
  // This will prevent overly tight hot error loops.