X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Fcontrol%2Ftransaction.go;h=f3d5c17699f0ff3056a6c093e818e4236c205b36;hb=6bd579175aaa85f1dd864ad10fe4209ed6b450ea;hp=b2b838b1d132231721db804ccd3b001332254a7a;hpb=83ada00338d2c9fa47d48c406b4a46b9d7888aff;p=ric-plt%2Fsubmgr.git diff --git a/pkg/control/transaction.go b/pkg/control/transaction.go index b2b838b..f3d5c17 100644 --- a/pkg/control/transaction.go +++ b/pkg/control/transaction.go @@ -20,11 +20,12 @@ package control import ( - "gerrit.o-ran-sc.org/r/ric-plt/e2ap/pkg/packer" - "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp" "strconv" "sync" "time" + + "gerrit.o-ran-sc.org/r/ric-plt/e2ap/pkg/e2ap" + "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp" ) //----------------------------------------------------------------------------- @@ -42,18 +43,21 @@ 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() + ")" + meidstr := "N/A" + if t.Meid != nil { + meidstr = t.Meid.String() + } + return "trans(" + strconv.FormatUint(uint64(t.Seq), 10) + "/" + meidstr + ")" } func (t *Transaction) SendEvent(event interface{}, waittime time.Duration) (bool, bool) { @@ -83,12 +87,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,12 +102,13 @@ func (t *Transaction) GetMeid() *xapp.RMRMeid { return nil } -func (t *Transaction) GetPayload() *packer.PackedData { +/* // This function is not used. Commented out to get better test coverage result +func (t *Transaction) GetPayload() *e2ap.PackedData { t.mutex.Lock() defer t.mutex.Unlock() return t.Payload } - +*/ //----------------------------------------------------------------------------- // //----------------------------------------------------------------------------- @@ -132,7 +131,8 @@ func (t *TransactionSubs) Release() { // //----------------------------------------------------------------------------- type TransactionXappKey struct { - RmrEndpoint + InstanceID uint32 + xapp.RmrEndpoint Xid string // xapp xid in req } @@ -144,8 +144,9 @@ func (key *TransactionXappKey) String() string { // //----------------------------------------------------------------------------- type TransactionXapp struct { - Transaction // - XappKey *TransactionXappKey // + Transaction + XappKey *TransactionXappKey + RequestId e2ap.RequestId } func (t *TransactionXapp) String() string { @@ -153,10 +154,10 @@ 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.RequestId.InstanceId), 10) + ")" } -func (t *TransactionXapp) GetEndpoint() *RmrEndpoint { +func (t *TransactionXapp) GetEndpoint() *xapp.RmrEndpoint { t.mutex.Lock() defer t.mutex.Unlock() if t.XappKey != nil { @@ -174,6 +175,7 @@ func (t *TransactionXapp) GetXid() string { return "" } +/* // This function is not used. Commented out to get better test coverage result func (t *TransactionXapp) GetSrc() string { t.mutex.Lock() defer t.mutex.Unlock() @@ -182,6 +184,12 @@ func (t *TransactionXapp) GetSrc() string { } return "" } +*/ +func (t *TransactionXapp) GetSubId() uint32 { + t.mutex.Lock() + defer t.mutex.Unlock() + return t.RequestId.InstanceId +} func (t *TransactionXapp) Release() { t.mutex.Lock()