Change-Id: Ib4f784472e0b940d52181b6cb777bf56eb71bf82
Signed-off-by: Anssi Mannila <anssi.mannila@nokia.com>
# By default this file is in the docker build directory,
# but the location can configured in the JJB template.
---
# By default this file is in the docker build directory,
# but the location can configured in the JJB template.
---
//
//-----------------------------------------------------------------------------
type RequestId struct {
//
//-----------------------------------------------------------------------------
type RequestId struct {
- Id uint32
- InstanceId uint32
+ Id uint32 //RequestorId
+ InstanceId uint32 //Same as SubId in many place in the code. Name changed in E2 spec SubId -> InstanceId
}
func (rid *RequestId) String() string {
}
func (rid *RequestId) String() string {
}
func (c *Control) QueryHandler() (models.SubscriptionList, error) {
}
func (c *Control) QueryHandler() (models.SubscriptionList, error) {
+ xapp.Logger.Info("QueryHandler() called")
+
return c.registry.QueryHandler()
}
func (c *Control) TestRestHandler(w http.ResponseWriter, r *http.Request) {
return c.registry.QueryHandler()
}
func (c *Control) TestRestHandler(w http.ResponseWriter, r *http.Request) {
xapp.Logger.Info("TestRestHandler() called")
pathParams := mux.Vars(r)
xapp.Logger.Info("TestRestHandler() called")
pathParams := mux.Vars(r)
- trans := c.tracker.NewXappTransaction(xapp.NewRmrEndpoint(params.Src), params.Xid, subReqMsg.RequestId.InstanceId, params.Meid)
+ trans := c.tracker.NewXappTransaction(xapp.NewRmrEndpoint(params.Src), params.Xid, subReqMsg.RequestId, params.Meid)
if trans == nil {
xapp.Logger.Error("XAPP-SubReq: %s", idstring(fmt.Errorf("transaction not created"), params))
return
if trans == nil {
xapp.Logger.Error("XAPP-SubReq: %s", idstring(fmt.Errorf("transaction not created"), params))
return
if event != nil {
switch themsg := event.(type) {
case *e2ap.E2APSubscriptionResponse:
if event != nil {
switch themsg := event.(type) {
case *e2ap.E2APSubscriptionResponse:
+ themsg.RequestId.Id = trans.RequestId.Id
trans.Mtype, trans.Payload, err = c.e2ap.PackSubscriptionResponse(themsg)
if err == nil {
trans.Release()
trans.Mtype, trans.Payload, err = c.e2ap.PackSubscriptionResponse(themsg)
if err == nil {
trans.Release()
return
}
case *e2ap.E2APSubscriptionFailure:
return
}
case *e2ap.E2APSubscriptionFailure:
+ themsg.RequestId.Id = trans.RequestId.Id
trans.Mtype, trans.Payload, err = c.e2ap.PackSubscriptionFailure(themsg)
if err == nil {
c.UpdateCounter(cSubFailToXapp)
trans.Mtype, trans.Payload, err = c.e2ap.PackSubscriptionFailure(themsg)
if err == nil {
c.UpdateCounter(cSubFailToXapp)
- trans := c.tracker.NewXappTransaction(xapp.NewRmrEndpoint(params.Src), params.Xid, subDelReqMsg.RequestId.InstanceId, params.Meid)
+ trans := c.tracker.NewXappTransaction(xapp.NewRmrEndpoint(params.Src), params.Xid, subDelReqMsg.RequestId, params.Meid)
if trans == nil {
xapp.Logger.Error("XAPP-SubDelReq: %s", idstring(fmt.Errorf("transaction not created"), params))
return
if trans == nil {
xapp.Logger.Error("XAPP-SubDelReq: %s", idstring(fmt.Errorf("transaction not created"), params))
return
// Whatever is received success, fail or timeout, send successful delete response
subDelRespMsg := &e2ap.E2APSubscriptionDeleteResponse{}
// Whatever is received success, fail or timeout, send successful delete response
subDelRespMsg := &e2ap.E2APSubscriptionDeleteResponse{}
- subDelRespMsg.RequestId = subs.GetReqId().RequestId
+ subDelRespMsg.RequestId.Id = trans.RequestId.Id
+ subDelRespMsg.RequestId.InstanceId = subs.GetReqId().RequestId.InstanceId
subDelRespMsg.FunctionId = subs.SubReqMsg.FunctionId
trans.Mtype, trans.Payload, err = c.e2ap.PackSubscriptionDeleteResponse(subDelRespMsg)
if err == nil {
subDelRespMsg.FunctionId = subs.SubReqMsg.FunctionId
trans.Mtype, trans.Payload, err = c.e2ap.PackSubscriptionDeleteResponse(subDelRespMsg)
if err == nil {
params.Meid = &meid
// Create xApp transaction
params.Meid = &meid
// Create xApp transaction
- trans := mainCtrl.c.tracker.NewXappTransaction(xapp.NewRmrEndpoint(params.Src), params.Xid, subReqParams.Req.RequestId.InstanceId, params.Meid)
+ trans := mainCtrl.c.tracker.NewXappTransaction(xapp.NewRmrEndpoint(params.Src), params.Xid, subReqParams.Req.RequestId, params.Meid)
if trans == nil {
t.Errorf("TEST: %s", idstring(fmt.Errorf("transaction not created"), params))
return nil
if trans == nil {
t.Errorf("TEST: %s", idstring(fmt.Errorf("transaction not created"), params))
return nil
+ "gerrit.o-ran-sc.org/r/ric-plt/e2ap/pkg/e2ap"
"gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"
"sync"
)
"gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"
"sync"
)
func (t *Tracker) NewXappTransaction(
endpoint *xapp.RmrEndpoint,
xid string,
func (t *Tracker) NewXappTransaction(
endpoint *xapp.RmrEndpoint,
xid string,
+ requestId e2ap.RequestId,
meid *xapp.RMRMeid) *TransactionXapp {
trans := &TransactionXapp{}
trans.XappKey = &TransactionXappKey{*endpoint, xid}
trans.Meid = meid
meid *xapp.RMRMeid) *TransactionXapp {
trans := &TransactionXapp{}
trans.XappKey = &TransactionXappKey{*endpoint, xid}
trans.Meid = meid
+ trans.RequestId = requestId
t.initTransaction(&trans.Transaction)
xapp.Logger.Debug("CREATE %s", trans.String())
return trans
t.initTransaction(&trans.Transaction)
xapp.Logger.Debug("CREATE %s", trans.String())
return trans
//-----------------------------------------------------------------------------
type TransactionXapp struct {
Transaction
//-----------------------------------------------------------------------------
type TransactionXapp struct {
Transaction
- XappKey *TransactionXappKey
- SubId uint32
+ XappKey *TransactionXappKey
+ RequestId e2ap.RequestId
}
func (t *TransactionXapp) String() string {
}
func (t *TransactionXapp) String() string {
if t.XappKey != nil {
transkey = t.XappKey.String()
}
if t.XappKey != nil {
transkey = t.XappKey.String()
}
- return "transxapp(" + t.Transaction.String() + "/" + transkey + "/" + strconv.FormatUint(uint64(t.SubId), 10) + ")"
+ return "transxapp(" + t.Transaction.String() + "/" + transkey + "/" + strconv.FormatUint(uint64(t.RequestId.InstanceId), 10) + ")"
}
func (t *TransactionXapp) GetEndpoint() *xapp.RmrEndpoint {
}
func (t *TransactionXapp) GetEndpoint() *xapp.RmrEndpoint {
func (t *TransactionXapp) GetSubId() uint32 {
t.mutex.Lock()
defer t.mutex.Unlock()
func (t *TransactionXapp) GetSubId() uint32 {
t.mutex.Lock()
defer t.mutex.Unlock()
+ return t.RequestId.InstanceId
}
func (t *TransactionXapp) Release() {
}
func (t *TransactionXapp) Release() {