示例#1
0
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()
}
示例#2
0
文件: console.go 项目: hycxa/gommo
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)
			}
		}
	}
}