X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Fcontrol%2Ftransaction.go;h=40c9e4d8147bdb40e6eba2d263e9eda07628c449;hb=refs%2Fchanges%2F17%2F2217%2F2;hp=2f4acab0c1164694831129e0934bf7b7b8d71087;hpb=8b979ab74153ad8c120743e0f6d868baedcb3b32;p=ric-plt%2Fsubmgr.git diff --git a/pkg/control/transaction.go b/pkg/control/transaction.go index 2f4acab..40c9e4d 100644 --- a/pkg/control/transaction.go +++ b/pkg/control/transaction.go @@ -20,6 +20,8 @@ package control import ( + "gerrit.o-ran-sc.org/r/ric-plt/e2ap/pkg/e2ap" + "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp" "strconv" "sync" ) @@ -41,12 +43,16 @@ func (key *TransactionXappKey) String() string { //----------------------------------------------------------------------------- type Transaction struct { mutex sync.Mutex - tracker *Tracker // tracker instance - Subs *Subscription - RmrEndpoint RmrEndpoint - Mtype int - Xid string // xapp xid in req - OrigParams *RMRParams // request orginal params + tracker *Tracker //tracker instance + Subs *Subscription //related subscription + RmrEndpoint RmrEndpoint //xapp endpoint + Mtype int //type of initiating message + Xid string //xapp xid in req + Meid *xapp.RMRMeid //meid transaction related + SubReqMsg *e2ap.E2APSubscriptionRequest //SubReq TODO: maybe own transactions per type + SubDelReqMsg *e2ap.E2APSubscriptionDeleteRequest //SubDelReq TODO: maybe own transactions per type + Payload []byte //packed message to optimize retransmissions + PayloadLen int //packed message len to optimize retransmissions RespReceived bool ForwardRespToXapp bool } @@ -73,6 +79,15 @@ func (t *Transaction) GetMtype() int { return t.Mtype } +func (t *Transaction) GetMeid() *xapp.RMRMeid { + t.mutex.Lock() + defer t.mutex.Unlock() + if t.Meid != nil { + return t.Meid + } + return nil +} + func (t *Transaction) GetSrc() string { t.mutex.Lock() defer t.mutex.Unlock()