X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Fcontrol%2Fclient.go;h=73e2ee0bdbaf4549254b74196442a3ca5d91377b;hb=refs%2Fchanges%2F30%2F2330%2F3;hp=b067f3bfeb17088f4012593821db2ff8a560ff58;hpb=31797b49985822f1d402501f16ab2794838bebba;p=ric-plt%2Fsubmgr.git diff --git a/pkg/control/client.go b/pkg/control/client.go index b067f3b..73e2ee0 100644 --- a/pkg/control/client.go +++ b/pkg/control/client.go @@ -27,6 +27,7 @@ import ( "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp" "strconv" "strings" + "time" ) //----------------------------------------------------------------------------- @@ -39,28 +40,41 @@ type SubRouteInfo struct { } func (sri *SubRouteInfo) String() string { - return "routeinfo(" + sri.Command.String() + "/" + strconv.FormatUint(uint64(sri.SubID), 10) + "/[" + sri.EpList.String() + "])" + return "routeinfo(" + strconv.FormatUint(uint64(sri.SubID), 10) + "/" + sri.Command.String() + "/[" + sri.EpList.String() + "])" } //----------------------------------------------------------------------------- // //----------------------------------------------------------------------------- type RtmgrClient struct { - rtClient *rtmgrclient.RoutingManager - xappHandleParams *rtmgrhandle.ProvideXappSubscriptionHandleParams - xappDeleteParams *rtmgrhandle.DeleteXappSubscriptionHandleParams + rtClient *rtmgrclient.RoutingManager } func (rc *RtmgrClient) SubscriptionRequestUpdate(subRouteAction SubRouteInfo) error { subID := int32(subRouteAction.SubID) xapp.Logger.Debug("%s ongoing", subRouteAction.String()) - xappSubReq := rtmgr_models.XappSubscriptionData{&subRouteAction.EpList.Endpoints[0].Addr, &subRouteAction.EpList.Endpoints[0].Port, &subID} var err error switch subRouteAction.Command { case CREATE: - _, err = rc.rtClient.Handle.ProvideXappSubscriptionHandle(rc.xappHandleParams.WithXappSubscriptionData(&xappSubReq)) + 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: - _, _, err = rc.rtClient.Handle.DeleteXappSubscriptionHandle(rc.xappDeleteParams.WithXappSubscriptionData(&xappSubReq)) + 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()) }