}
}
- go xapp.Subscription.Listen(c.RESTSubscriptionHandler, c.RESTQueryHandler, c.RESTSubscriptionDeleteHandler)
+ go func() {
+ err := xapp.Subscription.Listen(c.RESTSubscriptionHandler, c.RESTQueryHandler, c.RESTSubscriptionDeleteHandler)
+ if err != nil {
+ xapp.Logger.Error("xapp.Subscription.Listen failure: %s", err.Error())
+ }
+ }()
return c
}
}
xapp.Logger.Error("XAPP-SubReq E2 subscription failed: %s", idstring(err, trans, subs))
- err2 := c.registry.RemoveFromSubscription(subs, trans, waitRouteCleanup_ms, c)
- if err2 != nil {
- xapp.Logger.Error("RemoveFromSubscription failed: %s", err2.Error())
- }
+ c.registry.RemoveFromSubscription(subs, trans, waitRouteCleanup_ms, c)
+
return nil, &errorInfo, err
}
xapp.Logger.Debug("XAPP-SubDelReq: Handling event %s ", idstring(nil, trans, subs))
- err = c.registry.RemoveFromSubscription(subs, trans, waitRouteCleanup_ms, c)
- if err != nil {
- xapp.Logger.Error("XAPP-SubDelReq %s:", idstring(fmt.Errorf("RemoveFromSubscription faliled"), trans, subs))
- }
+ c.registry.RemoveFromSubscription(subs, trans, waitRouteCleanup_ms, c)
return xAppEventInstanceID, nil
}
//------------------------------------------------------------------
func (c *Control) wakeSubscriptionRequest(subs *Subscription, trans *TransactionXapp) {
- e2SubscriptionDirectives, _ := c.GetE2SubscriptionDirectives(nil)
+ e2SubscriptionDirectives, err := c.GetE2SubscriptionDirectives(nil)
+ if err != nil {
+ xapp.Logger.Error("c.GetE2SubscriptionDirectives failure: %s", err.Error())
+ }
subs.OngoingReqCount++
go c.handleSubscriptionCreate(subs, trans, e2SubscriptionDirectives, waitRouteCleanup_ms)
event, _ := trans.WaitEvent(0) //blocked wait as timeout is handled in subs side
subs.OngoingReqCount--
- var err error
if event != nil {
switch themsg := event.(type) {
case *e2ap.E2APSubscriptionResponse:
// Now RemoveFromSubscription in here to avoid race conditions (mostly concerns delete)
if valid == false {
- err = c.registry.RemoveFromSubscription(subs, parentTrans, waitRouteCleanupTime, c)
- if err != nil {
- xapp.Logger.Error("RemoveFromSubscription() failed:%s", err.Error())
- }
+ c.registry.RemoveFromSubscription(subs, parentTrans, waitRouteCleanupTime, c)
}
parentTrans.SendEvent(subRfMsg, 0)
var splits = strings.Split(s, "=")
if subId, err := strconv.ParseInt(splits[1], 10, 64); err == nil {
xapp.Logger.Debug("RemoveSubscriptionFromSdl() called. subId = %v", subId)
- c.RemoveSubscriptionFromSdl(uint32(subId))
+ err := c.RemoveSubscriptionFromSdl(uint32(subId))
+ if err != nil {
+ xapp.Logger.Error("c.RemoveSubscriptionFromSdl failure: %s", err.Error())
+ }
return
}
}
// Get all E2Nodes in subscription manager
xapp.Logger.Debug("GetAllE2Nodes() called")
- w.Write(c.e2IfState.GetE2NodesJson())
+ _, err := w.Write(c.e2IfState.GetE2NodesJson())
+ if err != nil {
+ xapp.Logger.Error("w.Write failure: %s", err.Error())
+ }
}
func (c *Control) GetAllE2NodeRestSubscriptions(w http.ResponseWriter, r *http.Request) {
return e2ap.E2AP_ActionTypeInvalid, fmt.Errorf("Invalid action type in RICactions-ToBeSetup-List")
}
-func (r *Registry) RemoveFromSubscription(subs *Subscription, trans *TransactionXapp, waitRouteClean time.Duration, c *Control) error {
+func (r *Registry) RemoveFromSubscription(subs *Subscription, trans *TransactionXapp, waitRouteClean time.Duration, c *Control) {
xapp.Logger.Debug("RemoveFromSubscription %s", idstring(nil, trans, subs, trans))
r.mutex.Lock()
subId := subs.ReqId.InstanceId
if delStatus == false {
- return nil
+ return
}
if waitRouteClean > 0 {
}
c.UpdateCounter(cUnmergedSubscriptions)
}
- return nil
+ return
}
func (r *Registry) RouteDelete(subs *Subscription, trans *TransactionXapp, c *Control) {