+
+ src_addr, src_port, err := c.rtmgrClient.SplitSource(params.Src)
+ if err != nil {
+ xapp.Logger.Error("Failed to update routing-manager about the subscription request with reason: %s", err)
+ return
+ }
+
+ /* Create transatcion records for every subscription request */
+ xact_key := Transaction_key{new_sub_id, CREATE}
+ xact_value := Transaction{*src_addr, *src_port, params.Payload}
+ err = c.tracker.Track_transaction(xact_key, &xact_value)
+ if err != nil {
+ xapp.Logger.Error("Failed to create a transaction record due to %v", err)
+ return
+ }
+
+ /* Update routing manager about the new subscription*/
+ sub_route_action := subRouteInfo{CREATE, *src_addr, *src_port, new_sub_id }
+ go c.rtmgrClient.SubscriptionRequestUpdate()
+ SubscriptionReqChan <- sub_route_action
+
+ // Setting new subscription ID in the RMR header
+ params.SubId = int(new_sub_id)
+