mirror of
https://github.com/gravitl/netmaker.git
synced 2025-02-27 17:42:57 +08:00
updated to run a daemon per different comms
This commit is contained in:
parent
4cc293ee89
commit
095f1002dd
2 changed files with 12 additions and 16 deletions
|
@ -39,8 +39,9 @@ func Daemon() error {
|
|||
if err != nil {
|
||||
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)
|
||||
}
|
||||
wg := sync.WaitGroup{}
|
||||
|
@ -108,13 +109,13 @@ func PingServer(cfg *config.ClientConfig) error {
|
|||
// == Private ==
|
||||
|
||||
// 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
|
||||
cfg.Network = ncutils.COMMS_NETWORK_NAME
|
||||
cfg.Network = networkName
|
||||
cfg.ReadConfig()
|
||||
opts := mqtt.NewClientOptions()
|
||||
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)
|
||||
opts.ClientID = id
|
||||
opts.SetDefaultPublishHandler(All)
|
||||
|
@ -136,12 +137,6 @@ func setupMQTT(publish bool) mqtt.Client {
|
|||
if err != nil {
|
||||
ncutils.Log("could not run pull, server unreachable: " + err.Error())
|
||||
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")
|
||||
})
|
||||
|
@ -282,18 +277,19 @@ func getServerAddress(cfg *config.ClientConfig) string {
|
|||
return server.Address
|
||||
}
|
||||
|
||||
func getCommsNetworks() ([]string, error) {
|
||||
var response []string
|
||||
func getCommsNetworks() (map[string]bool, error) {
|
||||
var cfg config.ClientConfig
|
||||
networks, err := ncutils.GetSystemNetworks()
|
||||
if err != nil {
|
||||
return response, nil
|
||||
return nil, err
|
||||
}
|
||||
var response = make(map[string]bool, 1)
|
||||
for _, network := range networks {
|
||||
cfg.Network = network
|
||||
cfg.ReadConfig()
|
||||
commNetwork := cfg.Node.CommID
|
||||
response[cfg.Node.CommID] = true
|
||||
}
|
||||
return response, nil
|
||||
}
|
||||
|
||||
// == Message Caches ==
|
||||
|
|
|
@ -121,7 +121,7 @@ func publish(cfg *config.ClientConfig, dest string, msg []byte, qos byte) error
|
|||
return err
|
||||
}
|
||||
|
||||
client := setupMQTT(true)
|
||||
client := setupMQTT(true, cfg.Node.CommID)
|
||||
defer client.Disconnect(250)
|
||||
encrypted, err := ncutils.Chunk(msg, serverPubKey, trafficPrivKey)
|
||||
if err != nil {
|
||||
|
|
Loading…
Reference in a new issue