+
+func updateSubscription(data *rtmgr.XappList) {
+
+ var subdata models.XappSubscriptionData
+ var id int32
+ var matchingsubid, deletecount uint8
+ id = int32(data.SubscriptionID)
+ subdata.SubscriptionID = &id
+ for _, subs := range rtmgr.Subs {
+ if int32(data.SubscriptionID) == subs.SubID {
+ matchingsubid++
+ }
+ }
+
+ for deletecount < matchingsubid {
+ for _, subs := range rtmgr.Subs {
+ if int32(data.SubscriptionID) == subs.SubID {
+ subdata.SubscriptionID = &subs.SubID
+ subdata.Address = &subs.Fqdn
+ subdata.Port = &subs.Port
+ xapp.Logger.Debug("Deletion Subscription List has %v", subdata)
+ delSubscription(&rtmgr.Subs, &subdata)
+ break
+ }
+ }
+ deletecount++
+ }
+
+ for _, items := range data.FqdnList {
+ subdata.Address = items.Address
+ subdata.Port = items.Port
+ xapp.Logger.Debug("Adding Subscription List has %v", subdata)
+ addSubscription(&rtmgr.Subs, &subdata)
+ }
+
+}