Changed xapptweak rmr send function to take in retry releated timeout
[ric-plt/submgr.git] / pkg / control / transaction.go
index b2b838b..1298925 100644 (file)
@@ -20,7 +20,8 @@
 package control
 
 import (
-       "gerrit.o-ran-sc.org/r/ric-plt/e2ap/pkg/packer"
+       "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/xapp"
        "strconv"
        "sync"
@@ -42,18 +43,17 @@ type TransactionIf interface {
 //-----------------------------------------------------------------------------
 
 type Transaction struct {
-       mutex     sync.Mutex         //
-       Seq       uint64             //transaction sequence
-       tracker   *Tracker           //tracker instance
-       Meid      *xapp.RMRMeid      //meid transaction related
-       ReqId     RequestId          //
-       Mtype     int                //Encoded message type to be send
-       Payload   *packer.PackedData //Encoded message to be send
+       mutex     sync.Mutex       //
+       Seq       uint64           //transaction sequence
+       tracker   *Tracker         //tracker instance
+       Meid      *xapp.RMRMeid    //meid transaction related
+       Mtype     int              //Encoded message type to be send
+       Payload   *e2ap.PackedData //Encoded message to be send
        EventChan chan interface{}
 }
 
 func (t *Transaction) String() string {
-       return "trans(" + strconv.FormatUint(uint64(t.Seq), 10) + "/" + t.Meid.RanName + "/" + t.ReqId.String() + ")"
+       return "trans(" + strconv.FormatUint(uint64(t.Seq), 10) + "/" + (&xapptweaks.RMRMeid{t.Meid}).String() + ")"
 }
 
 func (t *Transaction) SendEvent(event interface{}, waittime time.Duration) (bool, bool) {
@@ -83,12 +83,6 @@ func (t *Transaction) WaitEvent(waittime time.Duration) (interface{}, bool) {
        return event, false
 }
 
-func (t *Transaction) GetReqId() *RequestId {
-       t.mutex.Lock()
-       defer t.mutex.Unlock()
-       return &t.ReqId
-}
-
 func (t *Transaction) GetMtype() int {
        t.mutex.Lock()
        defer t.mutex.Unlock()
@@ -104,7 +98,7 @@ func (t *Transaction) GetMeid() *xapp.RMRMeid {
        return nil
 }
 
-func (t *Transaction) GetPayload() *packer.PackedData {
+func (t *Transaction) GetPayload() *e2ap.PackedData {
        t.mutex.Lock()
        defer t.mutex.Unlock()
        return t.Payload
@@ -144,8 +138,9 @@ func (key *TransactionXappKey) String() string {
 //
 //-----------------------------------------------------------------------------
 type TransactionXapp struct {
-       Transaction                     //
-       XappKey     *TransactionXappKey //
+       Transaction
+       XappKey *TransactionXappKey
+       SubId   uint32
 }
 
 func (t *TransactionXapp) String() string {
@@ -153,7 +148,7 @@ func (t *TransactionXapp) String() string {
        if t.XappKey != nil {
                transkey = t.XappKey.String()
        }
-       return "transxapp(" + t.Transaction.String() + "/" + transkey + ")"
+       return "transxapp(" + t.Transaction.String() + "/" + transkey + "/" + strconv.FormatUint(uint64(t.SubId), 10) + ")"
 }
 
 func (t *TransactionXapp) GetEndpoint() *RmrEndpoint {
@@ -183,6 +178,12 @@ func (t *TransactionXapp) GetSrc() string {
        return ""
 }
 
+func (t *TransactionXapp) GetSubId() uint32 {
+       t.mutex.Lock()
+       defer t.mutex.Unlock()
+       return t.SubId
+}
+
 func (t *TransactionXapp) Release() {
        t.mutex.Lock()
        xapp.Logger.Debug("RELEASE %s", t.String())