| | |
| | | package mc |
| | | package bhomeclient |
| | | |
| | | import ( |
| | | "basic.com/valib/bhomebus.git" |
| | |
| | | return netNodes |
| | | } |
| | | |
| | | func (ms *MicroNode) GetRegisteredClient() ([]RegisteredClient,error) { |
| | | r := MsgInfo{ |
| | | SrcProc: *ms.procInfo, |
| | | MsgType: MesgType_ReqRep, |
| | | Topic: TOPIC_QUERYPROC, |
| | | } |
| | | cr, err := ms.handle.RequestCenter(&r) |
| | | if err != nil { |
| | | return nil, err |
| | | } |
| | | if cr.Status == REPLY_SUCCESS && cr.Body != nil { |
| | | var list []RegisteredClient |
| | | err = json.Unmarshal(cr.Body, &list) |
| | | if err == nil { |
| | | return list, nil |
| | | } else { |
| | | ms.printLog("unmarshal to RegisteredClient list err:", err) |
| | | } |
| | | } else { |
| | | ms.printLog("request center failed,status:", cr.Status, "desc:", cr.Desc) |
| | | } |
| | | return nil, fmt.Errorf("GetRegisteredClient list failed") |
| | | } |
| | | |
| | | func (ms *MicroNode) serve(msgR *MsgInfo, p int) { |
| | | var reqBody Request |
| | | err := json.Unmarshal(msgR.Body, &reqBody) |
| | |
| | | return ms.handle.Pub(nodes, pi) |
| | | } |
| | | |
| | | func (ms *MicroNode) Subscribe(topics []string) chan []byte { |
| | | ch := make(chan []byte) |
| | | return ch |
| | | func (ms *MicroNode) Subscribe(topics []string) { |
| | | ms.handle.Sub(topics) |
| | | } |
| | | |
| | | //free handle |