- xapp.Logger.Info("SubDelResp: SubId: %v, from address: %v:%v. Forwarding response to xApp", payloadSeqNum, transaction.Xappkey.Addr, transaction.Xappkey.Port)
-
- if transaction.ForwardRespToXapp == true {
- params.SubId = int(payloadSeqNum)
- params.Xid = transaction.OrigParams.Xid
- xapp.Logger.Info("Forwarding SubDelResp to xApp: Mtype: %v, SubId: %v, Xid: %v, Meid: %v", params.Mtype, params.SubId, params.Xid, params.Meid)
- err = c.rmrReplyToSender(params)
- if err != nil {
- xapp.Logger.Error("SubDelResp: Failed to send response to xApp. Err: %v, SubId: %v, Xid: %s", err, params.SubId, params.Xid)
- }
-
- time.Sleep(3 * time.Second)
- }
-
- xapp.Logger.Info("SubDelResp: Starting routing manager update. SubId: %v, Xid: %s", params.SubId, params.Xid)
- subRouteAction := SubRouteInfo{DELETE, transaction.Xappkey.Addr, transaction.Xappkey.Port, payloadSeqNum}
- err = c.rtmgrClient.SubscriptionRequestUpdate(subRouteAction)
- if err != nil {
- xapp.Logger.Error("SubDelResp: Failed to update routing manager. Err: %v, SubId: %v, Xid: %s", err, params.SubId, params.Xid)
- return
- }
-
- xapp.Logger.Info("SubDelResp: Deleting transaction record. SubId: %v, Xid: %s", params.SubId, params.Xid)
- if c.registry.releaseSequenceNumber(payloadSeqNum) {
- _, err = c.tracker.completeTransaction(payloadSeqNum, DELETE)
- if err != nil {
- xapp.Logger.Error("SubDelResp: Failed to delete transaction record. Err: %v, SubId: %v, Xid: %s", err, params.SubId, params.Xid)
- return
- }
- } else {
- xapp.Logger.Error("SubDelResp: Failed to release sequency number. SubId: %v, Xid: %s", params.SubId, params.Xid)
- return
+ sendOk, timedOut := trans.SendEvent(subRespMsg, e2tRecvMsgTimeout)
+ if sendOk == false {
+ err = fmt.Errorf("Passing event to transaction failed: sendOk(%t) timedOut(%t)", sendOk, timedOut)
+ xapp.Logger.Error("MSG-SubResp: %s", idstring(trans, subs, err))