+ 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) {
+
+ if endpoint == nil {
+ err := fmt.Errorf("Tracker: No valid endpoint given")
+ return nil, err
+ }
+
+ trans := &Transaction{}
+ trans.XappKey = &TransactionXappKey{*endpoint, xid}
+ trans.Meid = meid
+ trans = t.NewTransactionFromSkel(trans)