code: func (acsSession *session) waitForDuration(delay time.Duration) bool {
  	reconnectTimer := time.NewTimer(delay)
  	select {
  	case <-reconnectTimer.C:
  		return true
  	case <-acsSession.ctx.Done():
  		reconnectTimer.Stop()
  		return false
  	}
  }
docs: // waitForDuration waits for the specified duration of time. If the wait is interrupted,
  // it returns a false value. Else, it returns true, indicating completion of wait time.