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