-/*
-Retreives the transaction table entry for the given request.
-Returns error in case the transaction cannot be found.
-*/
-func (t *Tracker) Update_transaction(SubID uint16, trans_type Action, xact Transaction) error{
- key := Transaction_key{SubID, trans_type}
- if _, ok := t.transaction_table[key]; ok {
- // TODO: Implement merge related check here. If the key is same but the value is different.
- err := fmt.Errorf("Transaction tracker: Similar transaction with sub id %d and type %s is ongoing", key.SubID, key.trans_type )
- return err
+func (t *Tracker) NewXappTransaction(
+ endpoint *RmrEndpoint,
+ xid string,
+ reqId *RequestId,
+ meid *xapp.RMRMeid) *TransactionXapp {
+
+ trans := &TransactionXapp{}
+ trans.XappKey = &TransactionXappKey{*endpoint, xid}
+ trans.Meid = meid
+ if reqId != nil {
+ trans.ReqId = *reqId