liuxiaolong
2021-05-20 b0598b2b53dc72ca7e259b993c1a13cf7de1e59a
bhsgo实现QueryProcs
2个文件已修改
38 ■■■■ 已修改文件
hbusc.go 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
micronode.go 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hbusc.go
@@ -274,9 +274,15 @@
    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")
    }
}
micronode.go
@@ -158,30 +158,8 @@
    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) {