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
|
||
|
}
|