code: func NewCountTimer(interval time.Duration, count int, fn timer.Func) *timer.Timer {
  	if fn == nil {
  		panic("pitaya/timer: nil timer function")
  	}
  	if interval <= 0 {
  		panic("non-positive interval for NewTimer")
  	}
  
  	t := timer.NewTimer(fn, interval, count)
  	// add to manager
  	timer.Manager.ChCreatedTimer <- t
  	return t
  }
docs: // NewCountTimer returns a new Timer containing a function that will be called
  // with a period specified by the duration argument. After count times, timer
  // will be stopped automatically, It adjusts the intervals for slow receivers.
  // The duration d must be greater than zero; if not, NewCountTimer will panic.
  // Stop the timer to release associated resources.