code: func resetOrReuseTimer(t *time.Timer, d time.Duration, sawTimeout bool) *time.Timer {
  	if t == nil {
  		return time.NewTimer(d)
  	}
  	if !t.Stop() && !sawTimeout {
  		<-t.C
  	}
  	t.Reset(d)
  	return t
  }
docs: // resetOrReuseTimer avoids allocating a new timer if one is already in use.
  // Not safe for multiple threads.