func StartNode(listenStr string) { nodeAcceptor = NewAcceptor(listenStr, NewNodeAgent) nodeConnector = NewConnector(NewNodeAgent) myInfo = nodeInfo{Cookie: "THIS_IS_A_COOKIE", ID: GenerateNID()} ext.LogInfo("MY_INFO\t%v", myInfo) regCmd() }
func (c *console) Run() { defer c.Stopped() re := regexp.MustCompile(`[\w\:\.]+`) prompt := C.CString("god> ") defer C.free(unsafe.Pointer(prompt)) var line string for !c.StopRequested() { cline := C.readline(prompt) defer C.free(unsafe.Pointer(cline)) if cline == nil { fmt.Printf("\n") break } C.add_history(cline) line = C.GoString(cline) args := re.FindAllString(line, -1) if len(args) > 0 { f := c.funcs[args[0]] if f != nil { var ret interface{} ext.PCall( func() { ret = f(args[1:]) }) ext.LogInfo("RUN_COMMAND\t%s\t%s\t%v\n", args[0], args[1:], ret) } } } }