| | |
| | | } |
| | | } |
| | | |
| | | func (h *BHBus) Request(serverId string, req *MsgInfo, milliSecs int) (resp *MsgInfo, err error) { |
| | | func (h *BHBus) Request(serverId string, req *MsgInfo, milliSecs int) (*MsgInfo, error) { |
| | | //1.首先需要通过topic拿到本机对应的NetNode |
| | | rNodes, err := h.GetNetNodeByTopic(serverId, &req.SrcProc, req.Topic) |
| | | h.printLog("topic", req.Topic, "rNodes:", rNodes, "err:", err) |
| | |
| | | |
| | | n := h.sockWorker.sock.SendandrecvTimeout(rNodes, data,&ret, milliSecs) |
| | | h.printLog("Request n: ", n, " len(ret): ", len(ret)) |
| | | |
| | | if n > 0 && len(ret) > 0 { |
| | | if err = json.Unmarshal(ret[0].Data, resp); err == nil { |
| | | return resp, nil |
| | | var resp MsgInfo |
| | | if err = json.Unmarshal(ret[0].Data, &resp); err == nil { |
| | | return &resp, nil |
| | | } else { |
| | | h.printLog("unmarshal ret[0].Data err:", err) |
| | | return nil, err |