|
@@ -39,8 +39,9 @@ func Daemon() error {
|
|
if err != nil {
|
|
if err != nil {
|
|
return errors.New("no comm networks exist")
|
|
return errors.New("no comm networks exist")
|
|
}
|
|
}
|
|
- for _, net := range commsNetworks {
|
|
|
|
- client := setupMQTT(false)
|
|
|
|
|
|
+ for net := range commsNetworks {
|
|
|
|
+ ncutils.PrintLog("started comms network daemon, "+net, 1)
|
|
|
|
+ client := setupMQTT(false, net)
|
|
defer client.Disconnect(250)
|
|
defer client.Disconnect(250)
|
|
}
|
|
}
|
|
wg := sync.WaitGroup{}
|
|
wg := sync.WaitGroup{}
|
|
@@ -108,13 +109,13 @@ func PingServer(cfg *config.ClientConfig) error {
|
|
// == Private ==
|
|
// == Private ==
|
|
|
|
|
|
// setupMQTT creates a connection to broker and return client
|
|
// setupMQTT creates a connection to broker and return client
|
|
-func setupMQTT(publish bool) mqtt.Client {
|
|
|
|
|
|
+func setupMQTT(publish bool, networkName string) mqtt.Client {
|
|
var cfg *config.ClientConfig
|
|
var cfg *config.ClientConfig
|
|
- cfg.Network = ncutils.COMMS_NETWORK_NAME
|
|
|
|
|
|
+ cfg.Network = networkName
|
|
cfg.ReadConfig()
|
|
cfg.ReadConfig()
|
|
opts := mqtt.NewClientOptions()
|
|
opts := mqtt.NewClientOptions()
|
|
server := getServerAddress(cfg)
|
|
server := getServerAddress(cfg)
|
|
- opts.AddBroker(server + ":1883")
|
|
|
|
|
|
+ opts.AddBroker(server + ":1883") // TODO get the appropriate port of the comms mq server
|
|
id := ncutils.MakeRandomString(23)
|
|
id := ncutils.MakeRandomString(23)
|
|
opts.ClientID = id
|
|
opts.ClientID = id
|
|
opts.SetDefaultPublishHandler(All)
|
|
opts.SetDefaultPublishHandler(All)
|
|
@@ -136,12 +137,6 @@ func setupMQTT(publish bool) mqtt.Client {
|
|
if err != nil {
|
|
if err != nil {
|
|
ncutils.Log("could not run pull, server unreachable: " + err.Error())
|
|
ncutils.Log("could not run pull, server unreachable: " + err.Error())
|
|
ncutils.Log("waiting to retry...")
|
|
ncutils.Log("waiting to retry...")
|
|
- /*
|
|
|
|
- //Consider putting in logic to restart - daemon may take long time to refresh
|
|
|
|
- time.Sleep(time.Minute * 5)
|
|
|
|
- ncutils.Log("restarting netclient")
|
|
|
|
- daemon.Restart()
|
|
|
|
- */
|
|
|
|
}
|
|
}
|
|
ncutils.Log("connection re-established with mqtt server")
|
|
ncutils.Log("connection re-established with mqtt server")
|
|
})
|
|
})
|
|
@@ -282,18 +277,19 @@ func getServerAddress(cfg *config.ClientConfig) string {
|
|
return server.Address
|
|
return server.Address
|
|
}
|
|
}
|
|
|
|
|
|
-func getCommsNetworks() ([]string, error) {
|
|
|
|
- var response []string
|
|
|
|
|
|
+func getCommsNetworks() (map[string]bool, error) {
|
|
var cfg config.ClientConfig
|
|
var cfg config.ClientConfig
|
|
networks, err := ncutils.GetSystemNetworks()
|
|
networks, err := ncutils.GetSystemNetworks()
|
|
if err != nil {
|
|
if err != nil {
|
|
- return response, nil
|
|
|
|
|
|
+ return nil, err
|
|
}
|
|
}
|
|
|
|
+ var response = make(map[string]bool, 1)
|
|
for _, network := range networks {
|
|
for _, network := range networks {
|
|
cfg.Network = network
|
|
cfg.Network = network
|
|
cfg.ReadConfig()
|
|
cfg.ReadConfig()
|
|
- commNetwork := cfg.Node.CommID
|
|
|
|
|
|
+ response[cfg.Node.CommID] = true
|
|
}
|
|
}
|
|
|
|
+ return response, nil
|
|
}
|
|
}
|
|
|
|
|
|
// == Message Caches ==
|
|
// == Message Caches ==
|