code: func (m *CoreOSMachine) PeriodicRefresh(interval time.Duration, stop <-chan struct{}) {
  	ticker := time.NewTicker(interval)
  	for {
  		select {
  		case <-stop:
  			log.Debug("Halting CoreOSMachine.PeriodicRefresh")
  			ticker.Stop()
  			return
  		case <-ticker.C:
  			m.Refresh()
  		}
  	}
  }
docs: // PeriodicRefresh updates the current state of the CoreOSMachine at the
  // interval indicated. Operation ceases when the provided channel is closed.