| | |
| | | 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) { |
| | |
| | | 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 (结果只有一个元素) |
| | |
| | | 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") |
| | | } |
| | |
| | | Data: "请求的接口不存在,请检查url", |
| | | } |
| | | } |
| | | 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) |
| | | } |