-func (e *E2t) sendSubscriptionResponse(sub_id uint16) (err error) {
- payload, err := e.GeneratePayload(sub_id)
+func (e E2t) Consume(rp *xapp.RMRParams) (err error) {
+ switch rp.Mtype {
+ case C.RIC_SUB_REQ:
+ err = e.handleSubscriptionRequest(rp)
+ case C.RIC_SUB_DEL_REQ:
+ err = e.handleSubscriptionDeleteRequest(rp)
+ default:
+ err = errors.New("Message Type " + strconv.Itoa(rp.Mtype) + " is discarded")
+ xapp.Logger.Error("Unknown message type: %v", err)
+ }
+ return
+}
+
+func (e E2t) handleSubscriptionRequest(request *xapp.RMRParams) (err error) {
+ payloadSeqNum, err := e.GetSubscriptionRequestSequenceNumber(request.Payload)
+ if err != nil {
+ xapp.Logger.Error("Unable to get Subscription Sequence Number from Payload due to: " + err.Error())
+ }
+ xapp.Logger.Info("Subscription Request Received: RMR SUBSCRIPTION_ID: %v | PAYLOAD SEQUENCE_NUMBER: %v", payloadSeqNum, payloadSeqNum)
+ payload, err := e.GenerateRequestPayload(payloadSeqNum)