+//-------------------------------------------------------------------
+//
+//-------------------------------------------------------------------
+func (c *Control) RESTQueryHandler() (models.SubscriptionList, error) {
+ xapp.Logger.Debug("RESTQueryHandler() called")
+
+ c.CntRecvMsg++
+
+ return c.registry.QueryHandler()
+}
+
+//-------------------------------------------------------------------
+//
+//-------------------------------------------------------------------
+func (c *Control) ReadE2Subscriptions() error {
+ var err error
+ var subIds []uint32
+ var register map[uint32]*Subscription
+ for i := 0; dbRetryForever == "true" || i < dbTryCount; i++ {
+ xapp.Logger.Debug("Reading E2 subscriptions from db")
+ subIds, register, err = c.ReadAllSubscriptionsFromSdl()
+ if err != nil {
+ xapp.Logger.Error("%v", err)
+ <-time.After(1 * time.Second)
+ } else {
+ c.registry.subIds = subIds
+ c.registry.register = register
+ go c.HandleUncompletedSubscriptions(register)
+ return nil
+ }
+ }
+ xapp.Logger.Debug("Continuing without retring")
+ return err
+}
+
+//-------------------------------------------------------------------
+//
+//-------------------------------------------------------------------
+func (c *Control) ReadRESTSubscriptions() error {
+
+ xapp.Logger.Debug("ReadRESTSubscriptions()")
+ var err error
+ var restSubscriptions map[string]*RESTSubscription
+ for i := 0; dbRetryForever == "true" || i < dbTryCount; i++ {
+ xapp.Logger.Debug("Reading REST subscriptions from db")
+ restSubscriptions, err = c.ReadAllRESTSubscriptionsFromSdl()
+ if err != nil {
+ xapp.Logger.Error("%v", err)
+ <-time.After(1 * time.Second)
+ } else {
+ // Fix REST subscriptions ongoing status after restart
+ for restSubId, restSubscription := range restSubscriptions {
+ restSubscription.SubReqOngoing = false
+ restSubscription.SubDelReqOngoing = false
+ err := c.WriteRESTSubscriptionToSdl(restSubId, restSubscription)
+ if err != nil {
+ xapp.Logger.Error("WriteRESTSubscriptionToSdl() failed:%s", err.Error())
+ }
+ }
+ c.registry.restSubscriptions = restSubscriptions
+ return nil
+ }
+ }
+ xapp.Logger.Debug("Continuing without retring")
+ return err
+}
+