-
- datach := make(chan *models.XappCallbackData, 10)
- subschan := make(chan *models.XappSubscriptionData, 10)
- subdelchan := make(chan *models.XappSubscriptionData, 10)
- subupdatechan := make(chan *rtmgr.XappList, 10)
- e2taddchan := make(chan *models.E2tData, 10)
- associateranchan := make(chan models.RanE2tMap, 10)
- disassociateranchan := make(chan models.RanE2tMap, 10)
- e2tdelchan := make(chan *models.E2tDeleteData, 10)
- xapp.Logger.Info("Launching Rest Http service")
- go func() {
- r.LaunchRest(&nbiif, datach, subschan, subupdatechan, subdelchan, e2taddchan, associateranchan, disassociateranchan, e2tdelchan)
- }()
-
- go func() {
- for {
- data, err := r.RecvXappCallbackData(datach)
- if err != nil {
- xapp.Logger.Error("cannot get data from rest api dute to: " + err.Error())
- } else if data != nil {
- xapp.Logger.Debug("Fetching all xApps deployed in xApp Manager through GET operation.")
- alldata, err1 := httpGetXApps(xmurl)
- if alldata != nil && err1 == nil {
- m.Lock()
- sdlEngine.WriteXApps(fileName, alldata)
- m.Unlock()
- triggerSBI <- true
- }
- }
- }
- }()
-
- go func() {
- for {
- data := <-subschan
- xapp.Logger.Debug("received XApp subscription data")
- addSubscription(&rtmgr.Subs, data)
- triggerSBI <- true
- }
- }()
-
- go func() {
- for {
- data := <-subdelchan
- xapp.Logger.Debug("received XApp subscription delete data")
- delSubscription(&rtmgr.Subs, data)
- triggerSBI <- true
- }
- }()
-
- go func() {
- for {
- data := <-subupdatechan
- xapp.Logger.Debug("received XApp subscription Merge data")
- updateSubscription(data)
- triggerSBI <- true
- }
- }()
-
- go func() {
- for {
-
- data, meiddata, _ := r.RecvNewE2Tdata(e2taddchan)
- if data != nil {
- xapp.Logger.Debug("received create New E2T data")
- m.Lock()
- sdlEngine.WriteNewE2TInstance(fileName, data, meiddata)
- m.Unlock()
- triggerSBI <- true
- }
- }
- }()
-
- go func() {
- for {
- data := <-associateranchan
- xapp.Logger.Debug("received associate RAN list to E2T instance mapping from E2 Manager")
- m.Lock()
- sdlEngine.WriteAssRANToE2TInstance(fileName, data)
- m.Unlock()
- triggerSBI <- true
- }
- }()
-