package main import ( "context" "log" "os" "os/signal" "sync" ) var srvaddr = "localhost:8888" var patientIf = "localhost:8084" func main() { stop := make(chan os.Signal, 1) signal.Notify(stop, os.Interrupt) wg := &sync.WaitGroup{} // register(srvaddr) // fmt.Println("Enter ref: ") // // var then variable name then variable type // var ref string // // Taking input from user // fmt.Scanln(&ref) // fmt.Println("Enter psk: ") // var psk string // fmt.Scanln(&psk) // complete(srvaddr, ref, psk) // listMeta(srvaddr) // enableService(srvaddr, "wbx:visitelijst") // subscribePatients(srvaddr, "wbx:visitelijst", patients) // listSubscriptions(srvaddr, "wbx:visitelijst") srv := NewServer(patientIf) srv.LoadData("./data/data.db") go func() { wg.Add(1) srv.ListenAndServe() }() <-stop go func() { log.Println("Shutdown server...") srv.Shutdown(context.Background()) wg.Done() log.Println("Server.shutdown...") }() wg.Wait() }