X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Frpe%2Frmr.go;h=41c1c4c19a7d67c1aec644a782f31b99f4df4d1b;hb=refs%2Fchanges%2F54%2F454%2F5;hp=ca16772dbe8ea3b041a1bc135405100c0e5c3cac;hpb=16d84d6f7d3489e65e0a83ba9c0d5d62c3914c7f;p=ric-plt%2Frtmgr.git diff --git a/pkg/rpe/rmr.go b/pkg/rpe/rmr.go index ca16772..41c1c4c 100644 --- a/pkg/rpe/rmr.go +++ b/pkg/rpe/rmr.go @@ -26,24 +26,50 @@ package rpe import ( - "rtmgr" + "routing-manager/pkg/rtmgr" "strconv" ) +type Rmr struct { + Rpe +} + +type RmrPub struct { + Rmr +} + +type RmrPush struct { + Rmr +} + +func NewRmrPub() *RmrPub { + instance := new(RmrPub) + return instance +} + +func NewRmrPush() *RmrPush { + instance := new(RmrPush) + return instance +} + /* Produces the raw route message consumable by RMR */ -func generateRMRPolicies(eps rtmgr.Endpoints, key string) *[]string { - rtmgr.Logger.Debug("Invoked rmr.generateRMRPolicies") - rtmgr.Logger.Debug("args: %v", eps) +func (r *Rmr) generateRMRPolicies(eps rtmgr.Endpoints, key string) *[]string { rawrt := []string{key + "newrt|start\n"} - rt := getRouteTable(eps) + rt := r.getRouteTable(eps) for _, rte := range *rt { - rawrte := key + "rte|" + rte.MessageType + rawrte := key //+ "rte|" + rte.MessageType + if rte.SubID == -1 { + rawrte += "rte|" + } else { + rawrte += "mse|" + } + rawrte += rte.MessageType for _, tx := range rte.TxList { rawrte += "," + tx.Ip + ":" + strconv.Itoa(int(tx.Port)) } - rawrte += "|" + rawrte += "|" + strconv.Itoa(int(rte.SubID)) + "|" group := "" for _, rxg := range rte.RxGroups { member := "" @@ -64,14 +90,25 @@ func generateRMRPolicies(eps rtmgr.Endpoints, key string) *[]string { rawrt = append(rawrt, rawrte+"\n") } rawrt = append(rawrt, key+"newrt|end\n") - rtmgr.Logger.Debug("rmr.generateRMRPolicies returns: %v", rawrt) + rtmgr.Logger.Debug("rmr.GeneratePolicies returns: %v", rawrt) return &rawrt } -func generateRMRPubPolicies(eps rtmgr.Endpoints) *[]string { - return generateRMRPolicies(eps, "00000 ") +func (r *RmrPub) GeneratePolicies(eps rtmgr.Endpoints) *[]string { + rtmgr.Logger.Debug("Invoked rmr.GeneratePolicies, args: %v: ", eps) + return r.generateRMRPolicies(eps, "00000 ") +} + +func (r *RmrPush) GeneratePolicies(eps rtmgr.Endpoints) *[]string { + rtmgr.Logger.Debug("Invoked rmr.GeneratePolicies, args: %v: ", eps) + return r.generateRMRPolicies(eps, "") +} + +func (r *RmrPub) GetRouteTable(eps rtmgr.Endpoints) *rtmgr.RouteTable { + return r.getRouteTable(eps) } -func generateRMRPushPolicies(eps rtmgr.Endpoints) *[]string { - return generateRMRPolicies(eps, "") +func (r *RmrPush) GetRouteTable(eps rtmgr.Endpoints) *rtmgr.RouteTable { + return r.getRouteTable(eps) } +