package main import "log" import "os" import "os/signal" import "udi/mqtt" import "udi/config" import "udi/counter" import "udi/dispatcher" func main() { log.SetPrefix("UDI: ") log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile) log.Println("UDI starting") config.LoadConfiguration() dispatcher.InitDispatcher() go dispatcher.InputDispatcher() mqtt.StartMqttClient() defer mqtt.StopMqttClient() counter.InitCounter() log.Println("UDI running") c := make(chan os.Signal, 1) signal.Notify(c, os.Interrupt, os.Kill) <-c log.Println("Terminating UDI") }