| | |
| | | package bhsgo |
| | | |
| | | import ( |
| | | bh "bhshmq/proto/source/bhome_msg" |
| | | "fmt" |
| | | "testing" |
| | | "time" |
| | | "unsafe" |
| | | |
| | | bh "basic.com/valib/bhshmq.git/proto/source/bhome_msg" |
| | | ) |
| | | |
| | | func ServerCallback(src unsafe.Pointer, proc_id *string, req *bh.MsgRequestTopic) { |
| | |
| | | proc_id := "test_proc" |
| | | proc := bh.ProcInfo{} |
| | | proc.ProcId = []byte(proc_id) |
| | | fmt.Println("proc id: ", proc.ProcId) |
| | | reply := bh.MsgCommonReply{} |
| | | |
| | | StartWorker(ClientCallback, ServerCallback, SubDataCallback) |
| | | defer Cleanup() |
| | | |
| | | r := Register(&proc, &reply, 1000) |
| | | if r { |
| | | fmt.Println("register ok") |
| | | } else { |
| | | fmt.Println("register failed") |
| | | return |
| | | } |
| | | r = Unregister(&proc, &reply, 1000) |
| | | if r { |
| | | fmt.Println("Unregister ok") |
| | | } else { |
| | | fmt.Println("Unregister failed") |
| | | } |
| | | |
| | | r = Register(&proc, &reply, 1000) |
| | | if r { |
| | | fmt.Println("register ok") |
| | | } else { |
| | |
| | | t.Log("register error") |
| | | return |
| | | } |
| | | |
| | | StartWorker(ClientCallback, ServerCallback, SubDataCallback) |
| | | |
| | | r = HeartbeatEasy(1000) |
| | | if r { |
| | |
| | | } else { |
| | | fmt.Println("reg topics failed") |
| | | } |
| | | |
| | | req := bh.MsgRequestTopic{} |
| | | time.Sleep(time.Second * 1) |
| | | req.Topic = []byte("topic0") |
| | |
| | | |
| | | pid := "" |
| | | rr := bh.MsgRequestTopicReply{} |
| | | for i := 0; i < 10000; i++ { |
| | | if Request(&req, &pid, &rr, 3000) { |
| | | dest := bh.BHAddress{} |
| | | |
| | | queryProc := bh.MsgQueryProc{} |
| | | queryReply := bh.MsgQueryProcReply{} |
| | | |
| | | QueryProcs(&dest, &queryProc, &queryReply, 3000) |
| | | fmt.Println("query result:", string(queryReply.ProcList[0].Proc.ProcId)) |
| | | |
| | | for i := 0; i < 10; i++ { |
| | | if Request(&dest, &req, &pid, &rr, 3000) { |
| | | fmt.Println("server:" + pid + ", reply:" + string(rr.Data)) |
| | | } else { |
| | | e, s := GetLastError() |