diff options
| author | xengineering <me@xengineering.eu> | 2025-12-20 14:11:13 +0100 |
|---|---|---|
| committer | xengineering <me@xengineering.eu> | 2025-12-20 14:11:13 +0100 |
| commit | 224d52d1033d8ccce5087c9bee5a63457830a13a (patch) | |
| tree | cfd0b61e66258a0121ef20d4572561aee84b8db3 /mqtt.go | |
| parent | d6fa255b1df26a12329a614601a027e074aabeb2 (diff) | |
| download | sia-server-224d52d1033d8ccce5087c9bee5a63457830a13a.tar sia-server-224d52d1033d8ccce5087c9bee5a63457830a13a.tar.zst sia-server-224d52d1033d8ccce5087c9bee5a63457830a13a.zip | |
Use default config
The default config JSON is embedded as bytes into the executable.
Instead of constants the default values are now parsed from these
embedded bytes.
Diffstat (limited to 'mqtt.go')
| -rw-r--r-- | mqtt.go | 18 |
1 files changed, 7 insertions, 11 deletions
@@ -9,9 +9,6 @@ import ( ) const ( - BROKER = `tcp://127.0.0.1:1883` - CLIENT_ID = `siaserver` - TOPIC_PREFIX = `sia` QOS = byte(1) RETAINED = true MQTT_CONNECT_TIMEOUT = 1 * time.Second @@ -28,14 +25,12 @@ type MQTTMessage struct { Payload []byte } -func init() { - mqttServerHealthTopic = fmt.Sprintf("%s/server/health", TOPIC_PREFIX) -} +func MQTTRun(config MQTTConfig, tx chan MQTTMessage) { + mqttServerHealthTopic = fmt.Sprintf("%s/server/health", config.TopicPrefix) -func MQTTRun(tx chan MQTTMessage) { opts := mqtt.NewClientOptions() - opts.AddBroker(BROKER) - opts.SetClientID(CLIENT_ID) + opts.AddBroker(config.Broker) + opts.SetClientID(config.ClientID) opts.SetCleanSession(true) opts.SetOnConnectHandler(MQTTOnConnectHandler) opts.SetConnectionLostHandler(MQTTConnectionLostHandler) @@ -56,12 +51,13 @@ func MQTTRun(tx chan MQTTMessage) { defer client.Disconnect(MQTT_DISCONNECT_TIMEOUT_US) for message := range tx { - client.Publish(message.Topic, QOS, RETAINED, message.Payload) + topic := fmt.Sprintf("%s/%s", config.TopicPrefix, message.Topic) + client.Publish(topic, QOS, RETAINED, message.Payload) } } func MQTTOnConnectHandler(c mqtt.Client) { - log.Printf("Connected to MQTT broker (%s)", BROKER) + log.Printf("Connected to MQTT broker.") c.Publish(mqttServerHealthTopic, QOS, true, []byte(`good`)) } |
