rtmgrclient "gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/rtmgr_client"
rtmgrhandle "gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/rtmgr_client/handle"
"gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/rtmgr_models"
+ "gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/xapptweaks"
"gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"
"strconv"
"strings"
//
//-----------------------------------------------------------------------------
type SubRouteInfo struct {
- EpList RmrEndpointList
+ EpList xapptweaks.RmrEndpointList
SubID uint16
}
return
}
- trans := c.tracker.NewXappTransaction(NewRmrEndpoint(params.Src), params.Xid, subReqMsg.RequestId.Seq, params.Meid)
+ trans := c.tracker.NewXappTransaction(xapptweaks.NewRmrEndpoint(params.Src), params.Xid, subReqMsg.RequestId.Seq, params.Meid)
if trans == nil {
xapp.Logger.Error("XAPP-SubReq: %s", idstring(fmt.Errorf("transaction not created"), params))
return
return
}
- trans := c.tracker.NewXappTransaction(NewRmrEndpoint(params.Src), params.Xid, subDelReqMsg.RequestId.Seq, params.Meid)
+ trans := c.tracker.NewXappTransaction(xapptweaks.NewRmrEndpoint(params.Src), params.Xid, subDelReqMsg.RequestId.Seq, params.Meid)
if trans == nil {
xapp.Logger.Error("XAPP-SubDelReq: %s", idstring(fmt.Errorf("transaction not created"), params))
return
import (
"fmt"
"gerrit.o-ran-sc.org/r/ric-plt/e2ap/pkg/e2ap"
+ "gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/xapptweaks"
"gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/models"
"gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"
"sync"
//
// Subscription route delete
//
- tmpList := RmrEndpointList{}
+ tmpList := xapptweaks.RmrEndpointList{}
tmpList.AddEndpoint(trans.GetEndpoint())
subRouteAction := SubRouteInfo{tmpList, uint16(seqId)}
r.rtmgrClient.SubscriptionRequestDelete(subRouteAction)
registry *Registry // Registry
ReqId RequestId // ReqId (Requestor Id + Seq Nro a.k.a subsid)
Meid *xapp.RMRMeid // Meid/ RanName
- EpList RmrEndpointList // Endpoints
+ EpList xapptweaks.RmrEndpointList // Endpoints
TransLock sync.Mutex // Lock transactions, only one executed per time for subs
TheTrans TransactionIf // Ongoing transaction
SubReqMsg *e2ap.E2APSubscriptionRequest // Subscription information
import (
"fmt"
+ "gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/xapptweaks"
"gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"
"sync"
)
}
func (t *Tracker) NewXappTransaction(
- endpoint *RmrEndpoint,
+ endpoint *xapptweaks.RmrEndpoint,
xid string,
subid uint32,
meid *xapp.RMRMeid) *TransactionXapp {
//
//-----------------------------------------------------------------------------
type TransactionXappKey struct {
- RmrEndpoint
+ xapptweaks.RmrEndpoint
Xid string // xapp xid in req
}
return "transxapp(" + t.Transaction.String() + "/" + transkey + "/" + strconv.FormatUint(uint64(t.SubId), 10) + ")"
}
-func (t *TransactionXapp) GetEndpoint() *RmrEndpoint {
+func (t *TransactionXapp) GetEndpoint() *xapptweaks.RmrEndpoint {
t.mutex.Lock()
defer t.mutex.Unlock()
if t.XappKey != nil {
import (
"gerrit.o-ran-sc.org/r/ric-plt/e2ap/pkg/e2ap"
- "strconv"
- "strings"
)
//-----------------------------------------------------------------------------
func (rid *RequestId) String() string {
return "reqid(" + rid.RequestId.String() + ")"
}
-
-//-----------------------------------------------------------------------------
-//
-//-----------------------------------------------------------------------------
-type RmrEndpoint struct {
- Addr string // xapp addr
- Port uint16 // xapp port
-}
-
-func (endpoint RmrEndpoint) String() string {
- return endpoint.Addr + ":" + strconv.FormatUint(uint64(endpoint.Port), 10)
-}
-
-func (endpoint *RmrEndpoint) Equal(ep *RmrEndpoint) bool {
- if (endpoint.Addr == ep.Addr) &&
- (endpoint.Port == ep.Port) {
- return true
- }
- return false
-}
-
-func (endpoint *RmrEndpoint) GetAddr() string {
- return endpoint.Addr
-}
-
-func (endpoint *RmrEndpoint) GetPort() uint16 {
- return endpoint.Port
-}
-
-func (endpoint *RmrEndpoint) Set(src string) bool {
- elems := strings.Split(src, ":")
- if len(elems) == 2 {
- srcAddr := elems[0]
- srcPort, err := strconv.ParseUint(elems[1], 10, 16)
- if err == nil {
- endpoint.Addr = srcAddr
- endpoint.Port = uint16(srcPort)
- return true
- }
- }
- return false
-}
-
-//-----------------------------------------------------------------------------
-//
-//-----------------------------------------------------------------------------
-type RmrEndpointList struct {
- Endpoints []RmrEndpoint
-}
-
-func (eplist *RmrEndpointList) String() string {
- valuesText := eplist.StringList()
- return strings.Join(valuesText, ",")
-}
-
-func (eplist *RmrEndpointList) StringList() []string {
- tmpList := eplist.Endpoints
- valuesText := []string{}
- for i := range tmpList {
- valuesText = append(valuesText, tmpList[i].String())
- }
- return valuesText
-}
-
-func (eplist *RmrEndpointList) Size() int {
- return len(eplist.Endpoints)
-}
-
-func (eplist *RmrEndpointList) AddEndpoint(ep *RmrEndpoint) bool {
- for i := range eplist.Endpoints {
- if eplist.Endpoints[i].Equal(ep) {
- return false
- }
- }
- eplist.Endpoints = append(eplist.Endpoints, *ep)
- return true
-}
-
-func (eplist *RmrEndpointList) DelEndpoint(ep *RmrEndpoint) bool {
- for i := range eplist.Endpoints {
- if eplist.Endpoints[i].Equal(ep) {
- eplist.Endpoints[i] = eplist.Endpoints[len(eplist.Endpoints)-1]
- eplist.Endpoints[len(eplist.Endpoints)-1] = RmrEndpoint{"", 0}
- eplist.Endpoints = eplist.Endpoints[:len(eplist.Endpoints)-1]
- return true
- }
- }
- return false
-}
-
-func (eplist *RmrEndpointList) DelEndpoints(otheplist *RmrEndpointList) bool {
- var retval bool = false
- for i := range otheplist.Endpoints {
- if eplist.DelEndpoint(&otheplist.Endpoints[i]) {
- retval = true
- }
- }
- return retval
-}
-
-func (eplist *RmrEndpointList) HasEndpoint(ep *RmrEndpoint) bool {
- for i := range eplist.Endpoints {
- if eplist.Endpoints[i].Equal(ep) {
- return true
- }
- }
- return false
-}
-
-func NewRmrEndpoint(src string) *RmrEndpoint {
- ep := &RmrEndpoint{}
- if ep.Set(src) == false {
- return nil
- }
- return ep
-}
--- /dev/null
+/*
+==================================================================================
+ Copyright (c) 2019 AT&T Intellectual Property.
+ Copyright (c) 2019 Nokia
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+==================================================================================
+*/
+
+package xapptweaks
+
+import (
+ "strconv"
+ "strings"
+)
+
+//-----------------------------------------------------------------------------
+//
+//-----------------------------------------------------------------------------
+type RmrEndpoint struct {
+ Addr string // xapp addr
+ Port uint16 // xapp port
+}
+
+func (endpoint RmrEndpoint) String() string {
+ return endpoint.Addr + ":" + strconv.FormatUint(uint64(endpoint.Port), 10)
+}
+
+func (endpoint *RmrEndpoint) Equal(ep *RmrEndpoint) bool {
+ if (endpoint.Addr == ep.Addr) &&
+ (endpoint.Port == ep.Port) {
+ return true
+ }
+ return false
+}
+
+func (endpoint *RmrEndpoint) GetAddr() string {
+ return endpoint.Addr
+}
+
+func (endpoint *RmrEndpoint) GetPort() uint16 {
+ return endpoint.Port
+}
+
+func (endpoint *RmrEndpoint) Set(src string) bool {
+ elems := strings.Split(src, ":")
+ if len(elems) == 2 {
+ srcAddr := elems[0]
+ srcPort, err := strconv.ParseUint(elems[1], 10, 16)
+ if err == nil {
+ endpoint.Addr = srcAddr
+ endpoint.Port = uint16(srcPort)
+ return true
+ }
+ }
+ return false
+}
+
+//-----------------------------------------------------------------------------
+//
+//-----------------------------------------------------------------------------
+type RmrEndpointList struct {
+ Endpoints []RmrEndpoint
+}
+
+func (eplist *RmrEndpointList) String() string {
+ valuesText := eplist.StringList()
+ return strings.Join(valuesText, ",")
+}
+
+func (eplist *RmrEndpointList) StringList() []string {
+ tmpList := eplist.Endpoints
+ valuesText := []string{}
+ for i := range tmpList {
+ valuesText = append(valuesText, tmpList[i].String())
+ }
+ return valuesText
+}
+
+func (eplist *RmrEndpointList) Size() int {
+ return len(eplist.Endpoints)
+}
+
+func (eplist *RmrEndpointList) AddEndpoint(ep *RmrEndpoint) bool {
+ for i := range eplist.Endpoints {
+ if eplist.Endpoints[i].Equal(ep) {
+ return false
+ }
+ }
+ eplist.Endpoints = append(eplist.Endpoints, *ep)
+ return true
+}
+
+func (eplist *RmrEndpointList) DelEndpoint(ep *RmrEndpoint) bool {
+ for i := range eplist.Endpoints {
+ if eplist.Endpoints[i].Equal(ep) {
+ eplist.Endpoints[i] = eplist.Endpoints[len(eplist.Endpoints)-1]
+ eplist.Endpoints[len(eplist.Endpoints)-1] = RmrEndpoint{"", 0}
+ eplist.Endpoints = eplist.Endpoints[:len(eplist.Endpoints)-1]
+ return true
+ }
+ }
+ return false
+}
+
+func (eplist *RmrEndpointList) DelEndpoints(otheplist *RmrEndpointList) bool {
+ var retval bool = false
+ for i := range otheplist.Endpoints {
+ if eplist.DelEndpoint(&otheplist.Endpoints[i]) {
+ retval = true
+ }
+ }
+ return retval
+}
+
+func (eplist *RmrEndpointList) HasEndpoint(ep *RmrEndpoint) bool {
+ for i := range eplist.Endpoints {
+ if eplist.Endpoints[i].Equal(ep) {
+ return true
+ }
+ }
+ return false
+}
+
+func NewRmrEndpoint(src string) *RmrEndpoint {
+ ep := &RmrEndpoint{}
+ if ep.Set(src) == false {
+ return nil
+ }
+ return ep
+}
==================================================================================
*/
-package control
+package xapptweaks
import (
"gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/teststub"
if status == false {
err = fmt.Errorf("Failed with retries(%d) %s", i, params.String())
tc.Rmr.Free(params.Mbuf)
+ params.Mbuf = nil
} else {
tc.CntSentMsg++
}