Debug printout improvements
[ric-plt/submgr.git] / pkg / control / client.go
index 73e2ee0..b62044e 100644 (file)
@@ -21,26 +21,26 @@ package control
 
 import (
        "fmt"
+       "strconv"
+       "strings"
+       "time"
+
        rtmgrclient "gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/rtmgr_client"
        rtmgrhandle "gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/rtmgr_client/handle"
        "gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/rtmgr_models"
        "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"
-       "strconv"
-       "strings"
-       "time"
 )
 
 //-----------------------------------------------------------------------------
 //
 //-----------------------------------------------------------------------------
 type SubRouteInfo struct {
-       Command Action
-       EpList  RmrEndpointList
-       SubID   uint16
+       EpList xapp.RmrEndpointList
+       SubID  uint16
 }
 
 func (sri *SubRouteInfo) String() string {
-       return "routeinfo(" + strconv.FormatUint(uint64(sri.SubID), 10) + "/" + sri.Command.String() + "/[" + sri.EpList.String() + "])"
+       return "routeinfo(" + strconv.FormatUint(uint64(sri.SubID), 10) + "/[" + sri.EpList.String() + "])"
 }
 
 //-----------------------------------------------------------------------------
@@ -50,39 +50,48 @@ type RtmgrClient struct {
        rtClient *rtmgrclient.RoutingManager
 }
 
-func (rc *RtmgrClient) SubscriptionRequestUpdate(subRouteAction SubRouteInfo) error {
+func (rc *RtmgrClient) SubscriptionRequestCreate(subRouteAction SubRouteInfo) error {
        subID := int32(subRouteAction.SubID)
-       xapp.Logger.Debug("%s ongoing", subRouteAction.String())
-       var err error
-       switch subRouteAction.Command {
-       case CREATE:
-               createData := rtmgr_models.XappSubscriptionData{&subRouteAction.EpList.Endpoints[0].Addr, &subRouteAction.EpList.Endpoints[0].Port, &subID}
-               createHandle := rtmgrhandle.NewProvideXappSubscriptionHandleParamsWithTimeout(10 * time.Second)
-               createHandle.WithXappSubscriptionData(&createData)
-               _, err = rc.rtClient.Handle.ProvideXappSubscriptionHandle(createHandle)
-       case DELETE:
-               deleteData := rtmgr_models.XappSubscriptionData{&subRouteAction.EpList.Endpoints[0].Addr, &subRouteAction.EpList.Endpoints[0].Port, &subID}
-               deleteHandle := rtmgrhandle.NewDeleteXappSubscriptionHandleParamsWithTimeout(10 * time.Second)
-               deleteHandle.WithXappSubscriptionData(&deleteData)
-               _, _, err = rc.rtClient.Handle.DeleteXappSubscriptionHandle(deleteHandle)
-       case UPDATE:
-               var updateData rtmgr_models.XappList
-               for i := range subRouteAction.EpList.Endpoints {
-                       updateData = append(updateData, &rtmgr_models.XappElement{Address: &subRouteAction.EpList.Endpoints[i].Addr, Port: &subRouteAction.EpList.Endpoints[i].Port})
-               }
-               updateHandle := rtmgrhandle.NewUpdateXappSubscriptionHandleParamsWithTimeout(10 * time.Second)
-               updateHandle.WithSubscriptionID(subRouteAction.SubID)
-               updateHandle.WithXappList(updateData)
-               _, err = rc.rtClient.Handle.UpdateXappSubscriptionHandle(updateHandle)
-
-       default:
-               return fmt.Errorf("%s unknown", subRouteAction.String())
+       xapp.Logger.Debug("CREATE %s ongoing", subRouteAction.String())
+       createData := rtmgr_models.XappSubscriptionData{&subRouteAction.EpList.Endpoints[0].Addr, &subRouteAction.EpList.Endpoints[0].Port, &subID}
+       createHandle := rtmgrhandle.NewProvideXappSubscriptionHandleParamsWithTimeout(2 * time.Second)
+       createHandle.WithXappSubscriptionData(&createData)
+       _, err := rc.rtClient.Handle.ProvideXappSubscriptionHandle(createHandle)
+       if err != nil && !(strings.Contains(err.Error(), "status 200")) {
+               return fmt.Errorf("CREATE %s failed with error: %s", subRouteAction.String(), err.Error())
        }
+       xapp.Logger.Debug("CREATE %s successful", subRouteAction.String())
+       return nil
+}
 
+func (rc *RtmgrClient) SubscriptionRequestUpdate(subRouteAction SubRouteInfo) error {
+       xapp.Logger.Debug("UPDATE %s ongoing", subRouteAction.String())
+       var updateData rtmgr_models.XappList
+       for i := range subRouteAction.EpList.Endpoints {
+               updateData = append(updateData, &rtmgr_models.XappElement{Address: &subRouteAction.EpList.Endpoints[i].Addr, Port: &subRouteAction.EpList.Endpoints[i].Port})
+       }
+       updateHandle := rtmgrhandle.NewUpdateXappSubscriptionHandleParamsWithTimeout(2 * time.Second)
+       updateHandle.WithSubscriptionID(subRouteAction.SubID)
+       updateHandle.WithXappList(updateData)
+       _, err := rc.rtClient.Handle.UpdateXappSubscriptionHandle(updateHandle)
        if err != nil && !(strings.Contains(err.Error(), "status 200")) {
-               return fmt.Errorf("%s failed with error: %s", subRouteAction.String(), err.Error())
+               return fmt.Errorf("UPDATE %s failed with error: %s", subRouteAction.String(), err.Error())
        }
-       xapp.Logger.Debug("%s successful", subRouteAction.String())
+       xapp.Logger.Debug("UPDATE %s successful", subRouteAction.String())
        return nil
 
 }
+
+func (rc *RtmgrClient) SubscriptionRequestDelete(subRouteAction SubRouteInfo) error {
+       subID := int32(subRouteAction.SubID)
+       xapp.Logger.Debug("DELETE %s ongoing", subRouteAction.String())
+       deleteData := rtmgr_models.XappSubscriptionData{&subRouteAction.EpList.Endpoints[0].Addr, &subRouteAction.EpList.Endpoints[0].Port, &subID}
+       deleteHandle := rtmgrhandle.NewDeleteXappSubscriptionHandleParamsWithTimeout(2 * time.Second)
+       deleteHandle.WithXappSubscriptionData(&deleteData)
+       _, _, err := rc.rtClient.Handle.DeleteXappSubscriptionHandle(deleteHandle)
+       if err != nil && !(strings.Contains(err.Error(), "status 200")) {
+               return fmt.Errorf("DELETE %s failed with error: %s", subRouteAction.String(), err.Error())
+       }
+       xapp.Logger.Debug("DELETE %s successful", subRouteAction.String())
+       return nil
+}