From 913063a73b9ffb0d0a1cf3515cec9326102e86e1 Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期二, 29 十二月 2020 16:34:51 +0800
Subject: [PATCH] 添加请求注册中心的RequestCenter方法,以及获取本机所有已注册进程列表

---
 micronode.go |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/micronode.go b/micronode.go
index 87e9fad..e9048cd 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)

--
Gitblit v1.8.0