From 0120491f6551545b19114de049713c7e928ebc01 Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期三, 20 一月 2021 15:43:04 +0800
Subject: [PATCH] 去掉CommonReply,统一使用Reply结构,减少消息解封装

---
 micronode.go |   61 +++++++-----------------------
 1 files changed, 14 insertions(+), 47 deletions(-)

diff --git a/micronode.go b/micronode.go
index 0b033db..03316b9 100644
--- a/micronode.go
+++ b/micronode.go
@@ -121,25 +121,7 @@
 		Body: rb,
 	}
 	ms.printLog("2:", time.Since(t))
-	t = time.Now()
-	mi,err := ms.handle.Request(serverId, msgR, milliSecs)
-	if mi == nil || err != nil {
-		return nil, err
-	}
-	ms.printLog("3:", time.Since(t))
-	t = time.Now()
-	ri := new(Reply)
-	err = json.Unmarshal(mi.Body, ri)
-	if err != nil {
-		ms.printLog("unmarshal mi.Body err:", err)
-		ri = &Reply{
-			Success: false,
-			Msg: "鏈嶅姟璇锋眰澶辫触",
-			Data: "鏈嶅姟璇锋眰澶辫触",
-		}
-	}
-	ms.printLog("4:", time.Since(t))
-	return ri, nil
+	return ms.handle.Request(serverId, msgR, milliSecs)
 }
 
 func (ms *MicroNode) RequestTopic(serverId string, request Request, milliSecs int) (*Reply,error) {
@@ -149,20 +131,7 @@
 		Body: rb,
 	}
 
-	mi, err := ms.handle.Request(serverId, msgR, milliSecs)
-	if err != nil {
-		return nil, err
-	}
-	var ri *Reply
-	err = json.Unmarshal(mi.Body, ri)
-	if err != nil {
-		ri = &Reply{
-			Success: false,
-			Msg: "鏈嶅姟璇锋眰澶辫触",
-			Data: "鏈嶅姟璇锋眰澶辫触",
-		}
-	}
-	return ri, nil
+	return ms.handle.Request(serverId, msgR, milliSecs)
 }
 
 //鑾峰彇鏈満涓煇涓�涓富棰樼殑 key  锛堢粨鏋滃彧鏈変竴涓厓绱狅級
@@ -195,16 +164,21 @@
 		ms.printLog("requestCenter reply:", cr, "err:", err)
 		return nil, err
 	}
-	if cr.Status == REPLY_SUCCESS && cr.Body != nil {
-		var list []RegisteredClient
-		err = json.Unmarshal(cr.Body, &list)
+	if cr.Success {
+		rd,err := json.Marshal(cr.Data)
 		if err == nil {
-			return list, nil
+			var list []RegisteredClient
+			err = json.Unmarshal(rd, &list)
+			if err == nil {
+				return list, nil
+			} else {
+				ms.printLog("unmarshal to RegisteredClient list err:", err)
+			}
 		} else {
-			ms.printLog("unmarshal to RegisteredClient list err:", err)
+			return nil, fmt.Errorf("marshal reply.Data err:%s", err.Error())
 		}
 	} else {
-		ms.printLog("request center failed,status:", cr.Status, "desc:", cr.Desc)
+		ms.printLog("request center failed,status:", cr.Success, "msg:", cr.Msg, " data:", cr.Data)
 	}
 	return nil, fmt.Errorf("GetRegisteredClient list failed")
 }
@@ -234,14 +208,7 @@
 			Data: "璇锋眰鐨勬帴鍙d笉瀛樺湪锛岃妫�鏌rl",
 		}
 	}
-	rd,err := json.Marshal(*ri)
-	if err != nil {
-		ms.printLog("marshal *ri err:", err)
-	}
-	rMsg := MsgInfo{
-		Body: rd,
-	}
-	retErr := ms.handle.Reply(p, rMsg)
+	retErr := ms.handle.Reply(p, ri)
 	if retErr != nil {
 		ms.printLog("retErr:", retErr)
 	}

--
Gitblit v1.8.0