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