This commit is contained in:
2023-12-04 13:56:39 +01:00
parent ac4d42620a
commit 8e0418791d

View File

@ -72,23 +72,27 @@ func InputDispatcher() {
log.Printf("Message arrived in inputDispatcher, topic: %s\n", mqttMessage.Topic)
message := handler.MessageT { time.Now(), mqttMessage.Topic, string(mqttMessage.Payload) }
archiverChannel <- message
handleMessage(message)
}
}
}
for _, mapping := range config.Config.TopicMappings {
log.Printf("Testing %s -> %s", mapping.Topics, mapping.Handler)
for _, subscribedTopic := range mapping.Topics {
log.Printf("Testing %s in %s", message.Topic, subscribedTopic)
if mqtt.TopicMatchesSubscription(message.Topic, subscribedTopic) {
log.Printf("Handle message in handler %s", mapping.Handler)
handler, exists := handlerMap[mapping.Handler]
if exists {
handler.Handle(message)
} else {
log.Printf("Handler not found, message is lost")
}
} else {
log.Printf("no match")
}
func handleMessage(message handler.MessageT) {
for _, mapping := range config.Config.TopicMappings {
log.Printf("Testing %s -> %s", mapping.Topics, mapping.Handler)
for _, subscribedTopic := range mapping.Topics {
log.Printf("Testing %s in %s", message.Topic, subscribedTopic)
if mqtt.TopicMatchesSubscription(message.Topic, subscribedTopic) {
log.Printf("Handle message in handler %s", mapping.Handler)
handler, exists := handlerMap[mapping.Handler]
if exists {
handler.Handle(message)
return
} else {
log.Printf("Handler not found, message is lost")
}
} else {
log.Printf("no match")
}
}
}