package main import ( "bufio" "log" "msw/core" "os" "strings" ) func main() { core.Start() for { reader := bufio.NewReaderSize(os.Stdin, 1024*16) line, err := reader.ReadString('\n') if err != nil { log.Println("Error reading input:", err) continue } line = strings.TrimSpace(line) parts := strings.Split(line, " ") if len(parts) == 0 { continue } command := parts[0] args := parts[1:] switch command { case "": continue case "exit": log.Println("Exiting main loop") return case "discover": core.Discover(args...) case "conns": core.PrintConns() case "restart": core.RestartSelf() default: log.Println("Unknown command:", command) } } }