diff --git a/netclient/functions/daemon.go b/netclient/functions/daemon.go index 6ed95edc..dba4e151 100644 --- a/netclient/functions/daemon.go +++ b/netclient/functions/daemon.go @@ -181,35 +181,8 @@ func MessageQueue(ctx context.Context, network string) { ncutils.Log("netclient go routine started for " + network) var cfg config.ClientConfig cfg.Network = network - /* - var configPath = fmt.Sprintf("%snetconfig-%s", ncutils.GetNetclientPathSpecific(), network) - fileInfo, err := os.Stat(configPath) - if err != nil { - ncutils.Log("could not stat config file: " + configPath) - } - // speed up UDP rest - if time.Now().After(fileInfo.ModTime().Add(time.Minute)) { - sleepTime := 2 - ncutils.Log("pulling latest config for " + cfg.Network) - for { - _, err := Pull(network, true) - if err == nil { - break - } else { - ncutils.PrintLog("error pulling config for "+network+": "+err.Error(), 1) - } - if sleepTime > 3600 { - sleepTime = 3600 - } - ncutils.Log("failed to pull for network " + network) - ncutils.Log(fmt.Sprintf("waiting %d seconds to retry...", sleepTime)) - time.Sleep(time.Second * time.Duration(sleepTime)) - sleepTime = sleepTime * 2 - } - } + initialPull(cfg.Network) - time.Sleep(time.Second << 1) - */ cfg.ReadConfig() ncutils.Log("daemon started for network: " + network) client := SetupMQTT(&cfg, false) @@ -538,6 +511,34 @@ func Hello(cfg *config.ClientConfig, network string) { // == Private == +func initialPull(network string) { + ncutils.Log("pulling latest config for " + network) + var configPath = fmt.Sprintf("%snetconfig-%s", ncutils.GetNetclientPathSpecific(), network) + fileInfo, err := os.Stat(configPath) + if err != nil { + ncutils.Log("could not stat config file: " + configPath) + return + } + // speed up UDP rest + if !fileInfo.ModTime().IsZero() && time.Now().After(fileInfo.ModTime().Add(time.Minute)) { + sleepTime := 2 + for { + _, err := Pull(network, true) + if err == nil { + break + } + if sleepTime > 3600 { + sleepTime = 3600 + } + ncutils.Log("failed to pull for network " + network) + ncutils.Log(fmt.Sprintf("waiting %d seconds to retry...", sleepTime)) + time.Sleep(time.Second * time.Duration(sleepTime)) + sleepTime = sleepTime * 2 + } + time.Sleep(time.Second << 1) + } +} + func publish(cfg *config.ClientConfig, dest string, msg []byte) error { // setup the keys trafficPrivKey, err := auth.RetrieveTrafficKey(cfg.Node.Network)