-func parseArgs() {
- // TODO: arguments should be validated (filename; xm-url; sbi-if)
- args = make(map[string]*string)
- args["nbi"] = flag.String("nbi", "httpGetter", "Northbound interface module to be used. Valid values are: 'httpGetter'")
- args["sbi"] = flag.String("sbi", "nngpush", "Southbound interface module to be used. Valid values are: 'nngpush | nngpub'")
- args["rpe"] = flag.String("rpe", "rmrpush", "Route Policy Engine to be used. Valid values are: 'rmrpush | rmrpub'")
- args["sdl"] = flag.String("sdl", "file", "Datastore enginge to be used. Valid values are: 'file'")
- args["xm-url"] = flag.String("xm-url", "http://localhost:3000/xapps", "HTTP URL where xApp Manager exposes the entire xApp List")
- args["sbi-if"] = flag.String("sbi-if", "0.0.0.0", "IPv4 address of interface where Southbound socket to be opened")
- args["filename"] = flag.String("filename", "/db/rt.json", "Absolute path of file where the route information to be stored")
- args["loglevel"] = flag.String("loglevel", "INFO", "INFO | WARN | ERROR | DEBUG")
- flag.Parse()
+func SetupCloseHandler() {
+ c := make(chan os.Signal, 2)
+ signal.Notify(c, os.Interrupt, syscall.SIGTERM)
+ go func() {
+ <-c
+ xapp.Logger.Info("\r- Ctrl+C pressed in Terminal")
+ os.Exit(0)
+ }()