RIC:1060: Change in PTL
[ric-plt/rtmgr.git] / pkg / rtmgr / types.go
index 26429ce..f9a356c 100644 (file)
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
+
+   This source code is part of the near-RT RIC (RAN Intelligent Controller)
+   platform project (RICP).
+
 ==================================================================================
 */
 /*
 ==================================================================================
 */
 /*
 
 package rtmgr
 
 
 package rtmgr
 
+type RMRUpdateType int
+
+const (
+       XappType = iota
+       SubsType
+       E2Type
+)
+
 type XApps struct {
        XAppList []XApp
 }
 type XApps struct {
        XAppList []XApp
 }
@@ -35,6 +47,10 @@ type Endpoints map[string]*Endpoint
 
 type SubscriptionList []Subscription
 
 
 type SubscriptionList []Subscription
 
+type MessageTypeList map[string]string
+
+type ProcessMultipleRMR map[string]int
+
 //TODO: uuid is not a real UUID but a string of "ip:port"
 // this should be changed to real UUID later on which should come from xApp Manager // petszila
 type Endpoint struct {
 //TODO: uuid is not a real UUID but a string of "ip:port"
 // this should be changed to real UUID later on which should come from xApp Manager // petszila
 type Endpoint struct {
@@ -45,9 +61,11 @@ type Endpoint struct {
        Port       uint16
        TxMessages []string
        RxMessages []string
        Port       uint16
        TxMessages []string
        RxMessages []string
+       Policies   []int32
        Socket     interface{}
        IsReady    bool
        Keepalive  bool
        Socket     interface{}
        IsReady    bool
        Keepalive  bool
+       Whid       int
 }
 
 type RouteTableEntry struct {
 }
 
 type RouteTableEntry struct {
@@ -55,6 +73,7 @@ type RouteTableEntry struct {
        TxList      EndpointList
        RxGroups    []EndpointList
        SubID       int32
        TxList      EndpointList
        RxGroups    []EndpointList
        SubID       int32
+       RouteType   string
 }
 
 type XApp struct {
 }
 
 type XApp struct {
@@ -71,6 +90,7 @@ type XAppInstance struct {
        Port       uint16   `json:"port"`
        TxMessages []string `json:"txMessages"`
        RxMessages []string `json:"rxMessages"`
        Port       uint16   `json:"port"`
        TxMessages []string `json:"txMessages"`
        RxMessages []string `json:"rxMessages"`
+       Policies   []int32  `json:"policies"`
 }
 
 type PlatformComponents []struct {
 }
 
 type PlatformComponents []struct {
@@ -79,13 +99,30 @@ type PlatformComponents []struct {
        Port uint16 `json:"port"`
 }
 
        Port uint16 `json:"port"`
 }
 
+type E2TInstance struct {
+       Name    string   `json:"name"`
+       Fqdn    string   `json:"fqdn"`
+       Ranlist []string `json:"ranlist"`
+}
+
+type E2tIdentity struct {
+       E2taddress string   `json:"e2tAddress"`
+       Rannames   []string `json:"ranNames"`
+}
+
 type ConfigRtmgr struct {
        Pcs PlatformComponents `json:"PlatformComponents"`
 }
 
 type ConfigRtmgr struct {
        Pcs PlatformComponents `json:"PlatformComponents"`
 }
 
+type MessageTypeIdentifier struct {
+       Mit []string `json:"messagetypes"`
+}
+
 type RicComponents struct {
 type RicComponents struct {
-       XApps []XApp
-       Pcs   PlatformComponents
+       XApps   []XApp
+       E2Ts    map[string]E2TInstance
+       MeidMap []string
+       Pcs     PlatformComponents
 }
 
 type Subscription struct {
 }
 
 type Subscription struct {
@@ -93,3 +130,32 @@ type Subscription struct {
        Fqdn  string
        Port  uint16
 }
        Fqdn  string
        Port  uint16
 }
+
+type PlatformRoutes []struct {
+       MessageType    string `json:"messagetype"`
+       SenderEndPoint string `json:"senderendpoint"`
+       SubscriptionId int32  `json:"subscriptionid"`
+       EndPoint       string `json:"endpoint"`
+       Meid           string `json:"meid"`
+}
+
+type RtmgrRoutes struct {
+       Prs PlatformRoutes `json:"PlatformRoutes"`
+}
+
+type FqDn struct {
+       Address *string
+       Port    *uint16
+}
+
+type XappList struct {
+       SubscriptionID uint16
+       FqdnList       []FqDn
+}
+
+var (
+       Rtmgr_ready bool
+)
+
+//To encapsulate routing-manager's keys under their own namespace in a DB
+const RTMGR_SDL_NS string = "rtmgr"