- xapp.Logger.Info("Subscription ID: %v, from address: %v:%v. Forwarding response to requestor...", int(payloadSeqNum), transaction.XappInstanceAddress, transaction.XappPort)
-
- params.SubId = int(payloadSeqNum)
- params.Xid = transaction.OrigParams.Xid
-
- xapp.Logger.Info("Forwarding Subscription Failure to UEEC: 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("Failed to send response to requestor %v. SubId: %v, Xid: %s", err, params.SubId, params.Xid)
- }
-
- time.Sleep(3 * time.Second)
-
- xapp.Logger.Info("Starting routing manager update")
- subRouteAction := SubRouteInfo{CREATE, transaction.XappInstanceAddress, transaction.XappPort, payloadSeqNum}
- err = c.rtmgrClient.SubscriptionRequestUpdate(subRouteAction)
- if err != nil {
- xapp.Logger.Error("Failed to update routing manager. Err: %v. SubId: %v, Xid: %s", err, params.SubId, params.Xid)
+ if subs.SubFailMsg != nil {
+ xapp.Logger.Debug("SUBS-SubReq: Handling (immediate fail response) %s parent %s", idstring(nil, subs, nil), parentTrans.String())
+ parentTrans.SendEvent(subs.SubFailMsg, 0)
+ subs.mutex.Unlock()
+ go c.registry.RemoveFromSubscription(subs, parentTrans, 5*time.Second)
+ return