| | |
| | | //获取topic对应的key |
| | | //如果传了serverId不为空,则获取指定机器上的topic-key |
| | | //如果server为空,则获取所有节点上topic-key |
| | | func (h *BHBus) GetNetNodeByTopic(serverId string,srcProc *ProcInfo, topic string) ([]bhome_msg.BHAddress,error) { |
| | | |
| | | return nil, nil |
| | | func (h *BHBus) GetNetNodeByTopic(serverId string,srcProc *ProcInfo, topic string) ([]*bhome_msg.MsgQueryTopicReply_BHNodeAddress,error) { |
| | | dest := bhome_msg.BHAddress{} |
| | | reqTopic := bhome_msg.MsgQueryTopic{ |
| | | Topic: []byte(topic), |
| | | } |
| | | rep := bhome_msg.MsgQueryTopicReply{} |
| | | if bhsgo.QueryTopicAddress(&dest, &reqTopic, &rep, h.conf.sendTimeOut) { |
| | | return rep.NodeAddress, nil |
| | | } |
| | | if rep.Errmsg != nil { |
| | | h.printLog("QueryTopicAddress errCode:", rep.Errmsg.ErrCode, "errMsg:", string(rep.Errmsg.ErrString)) |
| | | return nil, errors.New(string(rep.Errmsg.ErrString)) |
| | | } |
| | | return nil, errors.New("bhsgo.QueryTopicAddress ret false") |
| | | } |
| | | |
| | | func (h *BHBus) Request(serverId string, req *bhome_msg.MsgRequestTopic, milliSecs int) (*Reply, error) { |
| | |
| | | } |
| | | } |
| | | |
| | | func (h *BHBus) RequestOnly(req *bhome_msg.MsgRequestTopic, destArr []bhome_msg.BHAddress) ([]byte, error) { |
| | | func (h *BHBus) RequestOnly(req *bhome_msg.MsgRequestTopic, destArr []*bhome_msg.MsgQueryTopicReply_BHNodeAddress) ([]byte, error) { |
| | | dest := bhome_msg.BHAddress{} |
| | | if destArr != nil && len(destArr) > 0 { |
| | | dest = destArr[0] |
| | | if destArr[0].Addr != nil { |
| | | dest = *(destArr[0].Addr) |
| | | } |
| | | } |
| | | pid := "" |
| | | r := bhome_msg.MsgRequestTopicReply{} |