From b1dc3bfe7b9ef852fdf9ca23fdd6646ca65d463d Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期三, 30 十二月 2020 11:22:56 +0800 Subject: [PATCH] 修改Subcribe接口 --- micronode.go | 29 ++++++++++++++++++++++++++--- 1 files changed, 26 insertions(+), 3 deletions(-) diff --git a/micronode.go b/micronode.go index 87e9fad..46731d7 100644 --- a/micronode.go +++ b/micronode.go @@ -191,6 +191,30 @@ return netNodes } +func (ms *MicroNode) GetRegisteredClient() ([]RegisteredClient,error) { + r := MsgInfo{ + SrcProc: *ms.procInfo, + MsgType: MesgType_ReqRep, + Topic: TOPIC_QUERYPROC, + } + cr, err := ms.handle.RequestCenter(&r) + if err != nil { + return nil, err + } + if cr.Status == REPLY_SUCCESS && cr.Body != nil { + var list []RegisteredClient + err = json.Unmarshal(cr.Body, &list) + if err == nil { + return list, nil + } else { + ms.printLog("unmarshal to RegisteredClient list err:", err) + } + } else { + ms.printLog("request center failed,status:", cr.Status, "desc:", cr.Desc) + } + return nil, fmt.Errorf("GetRegisteredClient list failed") +} + func (ms *MicroNode) serve(msgR *MsgInfo, p int) { var reqBody Request err := json.Unmarshal(msgR.Body, &reqBody) @@ -235,9 +259,8 @@ return ms.handle.Pub(nodes, pi) } -func (ms *MicroNode) Subscribe(topics []string) chan []byte { - ch := make(chan []byte) - return ch +func (ms *MicroNode) Subscribe(topics []string) { + ms.handle.Sub(topics) } //free handle -- Gitblit v1.8.0