+
+func (rmr *RmrSender) Consume(msg *xapp.RMRParams) (err error) {
+ a1.Logger.Debug("In the Consume function")
+ id := xapp.Rmr.GetRicMessageName(msg.Mtype)
+ a1.Logger.Debug("Message received: name=%s meid=%s subId=%d txid=%s len=%d", id, msg.Meid.RanName, msg.SubId, msg.Xid, msg.PayloadLen)
+
+ switch id {
+
+ case "A1_POLICY_RESP":
+ a1.Logger.Debug("Recived policy responose")
+ payload := msg.Payload
+ a1.Logger.Debug("message recieved : %s", payload)
+ var result map[string]interface{}
+ err := json.Unmarshal([]byte(payload), &result)
+ if err != nil {
+ a1.Logger.Error("Unmarshal error : %+v", err)
+ return err
+ }
+ a1.Logger.Debug("message recieved for %d and %d with status : %s", result["policy_type_id"], result["policy_instance_id"], result["status"])
+ rmr.policyManager.SetPolicyInstanceStatus(int(result["policy_type_id"].(float64)), int(result["policy_instance_id"].(float64)), result["status"].(string))
+ default:
+ xapp.Logger.Error("Unknown message type '%d', discarding", msg.Mtype)
+ }
+
+ defer func() {
+ rmr.rmrclient.Free(msg.Mbuf)
+ msg.Mbuf = nil
+ }()
+ return
+}
+
+func (rmr *RmrSender) RmrRecieveStart() {
+ a1.Logger.Debug("Inside RmrRecieveStart function ")
+ rmr.rmrclient.Start(rmr)
+ a1.Logger.Debug("Reciever started")
+}