-func (t *Tracker) TrackTransaction(subs *Subscription, endpoint RmrEndpoint, params *xapp.RMRParams, respReceived bool, forwardRespToXapp bool) (*Transaction, error) {
+func (t *Tracker) NewTransactionFromSkel(transSkel *Transaction) *Transaction {
+ t.mutex.Lock()
+ defer t.mutex.Unlock()
+ trans := transSkel
+ if trans == nil {
+ trans = &Transaction{}
+ }
+ trans.EventChan = make(chan interface{})
+ trans.tracker = t
+ trans.Seq = t.transSeq
+ t.transSeq++
+ xapp.Logger.Debug("Transaction: Create %s", trans.String())
+ return trans
+}
+
+func (t *Tracker) NewTransaction(meid *xapp.RMRMeid) *Transaction {
+ trans := &Transaction{}
+ trans.Meid = meid
+ trans = t.NewTransactionFromSkel(trans)
+ return trans
+}
+
+func (t *Tracker) TrackTransaction(
+ endpoint *RmrEndpoint,
+ xid string,
+ meid *xapp.RMRMeid) (*Transaction, error) {