xapp.Logger.Warn("Json decode failed: " + err.Error())
}
xapp.Logger.Info("HTTP GET: OK")
- xapp.Logger.Debug("httprestful.httpGetXApps returns: %v", E2Tlist)
+ xapp.Logger.Debug("httprestful.httpGetE2TList returns: %v", E2Tlist)
return &E2Tlist, err
}
xapp.Logger.Warn("httprestful got an unexpected http status code: %v", r.StatusCode)
return nil, nil
}
-func PopulateE2TMap(e2tDataList *[]rtmgr.E2tIdentity, e2ts map[string]rtmgr.E2TInstance, meids []string) {
+func PopulateE2TMap(e2tDataList *[]rtmgr.E2tIdentity, e2ts map[string]rtmgr.E2TInstance, meids *[]string) {
xapp.Logger.Info("Invoked httprestful.PopulateE2TMap ")
for _, e2tData := range *e2tDataList {
for _, meid := range e2tData.Rannames {
meidar += meid + " "
}
- str += "mme_ar|" + e2tData.E2taddress + "|" + strings.TrimSuffix(meidar, " ")
+ str = "mme_ar|" + e2tData.E2taddress + "|" + strings.TrimSuffix(meidar, " ")
+ *meids = append(*meids, str)
}
e2ts[e2tinst.Fqdn] = e2tinst
- meids = append(meids, str)
}
+ xapp.Logger.Info("MEID's retrieved are %v", *meids)
}
func retrieveStartupData(xmurl string, nbiif string, fileName string, configfile string, e2murl string, sdlEngine sdl.Engine) error {
readErr = nil
e2tDataList, err := httpGetE2TList(e2murl)
if e2tDataList != nil && err == nil {
- PopulateE2TMap(e2tDataList, e2ts, meids[:])
+ PopulateE2TMap(e2tDataList, e2ts, &meids)
break
} else if err == nil {
readErr = errors.New("unexpected HTTP status code")
"routing-manager/pkg/models"
"routing-manager/pkg/rtmgr"
"strconv"
- //"strings"
+ "strings"
)
type Rmr struct {
rawrt = append(rawrt, key+"newrt|end\n")
count := 0
- //meidrt := key + "meid_map|start\n"
- //meidrt := []string{key + "meid_map|start\n"}
rawrt = append(rawrt, key+"meid_map|start\n")
+ keys := make(map[string]RouteIndex)
for _, value := range rcs.MeidMap {
- //meidrt += key + value + "\n"
- rawrt = append(rawrt, key+value+"\n")
- count++
+ if _, v := keys[key+value+"\n"]; !v {
+ rawrt = append(rawrt, key+value+"\n")
+ appendedindex := uint16(len(rawrt)-1)
+ keys[key+value+"\n"] = RouteIndex{true,appendedindex}
+ count++
+ }
+ if strings.Contains(value,"mme_ar") {
+ tmpstr := strings.Split(value,"|")
+
+ MEID := strings.TrimSuffix(tmpstr[2],"\n")
+
+ mapindex := "mme_del|"+MEID+"\n"
+ i := keys[mapindex].index
+ if keys[mapindex].flag {
+ copy(rawrt[i:], rawrt[i+1:])
+ rawrt[len(rawrt)-1] = ""
+ rawrt = rawrt[:len(rawrt)-1]
+ delete(keys,mapindex)
+ count--
+ }
+ }
}
rawrt = append(rawrt, key+"meid_map|end|"+strconv.Itoa(count)+"\n")
- //meidrt += key+"meid_map|end|" + strconv.Itoa(count) +"\n"
-
- /*for _, value := range meidrt {
- rawrt = append(meidrt, value)
- }*/
- //rawrt = append(rawrt, meidrt)
xapp.Logger.Debug("rmr.GeneratePolicies returns: %v", rawrt)
xapp.Logger.Debug("rmr.GeneratePolicies returns: %v", rcs)
return &rawrt