35 lines
719 B
Go
35 lines
719 B
Go
package daemon
|
|
|
|
import (
|
|
`os`
|
|
`time`
|
|
|
|
`r00t2.io/gobroke/conf`
|
|
`r00t2.io/goutils/logging`
|
|
)
|
|
|
|
// NewUpdater returns a new Updater.
|
|
func NewUpdater(cfg *conf.Config, log logging.Logger) (updater *Updater, err error) {
|
|
|
|
var u Updater = Updater{
|
|
cfg: cfg,
|
|
log: log,
|
|
doneChan: make(chan bool, 1),
|
|
stopChan: make(chan os.Signal),
|
|
reloadChan: make(chan os.Signal),
|
|
isStopping: false,
|
|
}
|
|
|
|
log.Debug("daemon.NewUpdater: Initializing new Updater.")
|
|
|
|
// This will start the timer immediately, but we restart it at the beginning of Updater.Start().
|
|
// It just shouldn't be nil.
|
|
u.timer = time.NewTimer(cfg.Freq)
|
|
|
|
updater = &u
|
|
|
|
log.Debug("daemon.NewUpdater: Updater initialized.")
|
|
|
|
return
|
|
}
|