| | |
| | | return errors.New("reply return false") |
| | | } |
| | | |
| | | func (h *BHBus) RequestCenter(req *bhome_msg.MsgRequestTopic) (*Reply, error) { |
| | | |
| | | return nil, errors.New("") |
| | | func (h *BHBus) RequestCenter() ([]*bhome_msg.MsgQueryProcReply_Info, error) { |
| | | dest := &bhome_msg.BHAddress{} |
| | | topic := &bhome_msg.MsgQueryProc{} |
| | | rep := &bhome_msg.MsgQueryProcReply{} |
| | | if bhsgo.QueryProcs(dest, topic, rep, h.conf.sendTimeOut) { |
| | | return rep.ProcList, nil |
| | | } else { |
| | | return nil, errors.New("QueryProcs ret flase") |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | return netNodes |
| | | } |
| | | |
| | | func (ms *MicroNode) GetRegisteredClient() ([]RegisteredClient,error) { |
| | | r := bhome_msg.MsgRequestTopic{} |
| | | cr, err := ms.handle.RequestCenter(&r) |
| | | if err != nil { |
| | | ms.printLog("requestCenter reply:", cr, "err:", err) |
| | | return nil, err |
| | | } |
| | | if cr.Success { |
| | | rd,err := json.Marshal(cr.Data) |
| | | if err == 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 { |
| | | return nil, fmt.Errorf("marshal reply.Data err:%s", err.Error()) |
| | | } |
| | | } else { |
| | | ms.printLog("request center failed,status:", cr.Success, "msg:", cr.Msg, " data:", cr.Data) |
| | | } |
| | | return nil, fmt.Errorf("GetRegisteredClient list failed") |
| | | func (ms *MicroNode) GetRegisteredClient() ([]*bhome_msg.MsgQueryProcReply_Info,error) { |
| | | return ms.handle.RequestCenter() |
| | | } |
| | | |
| | | func (ms *MicroNode) serve(ctx context.Context, msgR *MsgReq) { |