2 ==================================================================================
3 Copyright (c) 2019 AT&T Intellectual Property.
4 Copyright (c) 2019 Nokia
6 Licensed under the Apache License, Version 2.0 (the "License");
7 you may not use this file except in compliance with the License.
8 You may obtain a copy of the License at
10 http://www.apache.org/licenses/LICENSE-2.0
12 Unless required by applicable law or agreed to in writing, software
13 distributed under the License is distributed on an "AS IS" BASIS,
14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 See the License for the specific language governing permissions and
16 limitations under the License.
18 This source code is part of the near-RT RIC (RAN Intelligent Controller)
19 platform project (RICP).
21 ==================================================================================
24 Mnemonic: rtmgr/types.go
25 Abstract: Contains RTMGR (Routing Manager) specific types
31 type RMRUpdateType int
43 type RouteTable []RouteTableEntry
44 type EndpointList []Endpoint
46 type Endpoints map[string]*Endpoint
48 type SubscriptionList []Subscription
50 type MessageTypeList map[string]string
52 type ProcessMultipleRMR map[string]int
54 //TODO: uuid is not a real UUID but a string of "ip:port"
55 // this should be changed to real UUID later on which should come from xApp Manager // petszila
56 type Endpoint struct {
71 type RouteTableEntry struct {
74 RxGroups []EndpointList
80 Name string `json:"name"`
81 Status string `json:"status"`
82 Version string `json:"version"`
83 Instances []XAppInstance `json:"instances"`
86 type XAppInstance struct {
87 Name string `json:"name"`
88 Status string `json:"status"`
90 Port uint16 `json:"port"`
91 TxMessages []string `json:"txMessages"`
92 RxMessages []string `json:"rxMessages"`
93 Policies []int32 `json:"policies"`
96 type PlatformComponents []struct {
97 Name string `json:"name"`
98 Fqdn string `json:"fqdn"`
99 Port uint16 `json:"port"`
102 type E2TInstance struct {
103 Name string `json:"name"`
104 Fqdn string `json:"fqdn"`
105 Ranlist []string `json:"ranlist"`
108 type E2tIdentity struct {
109 E2taddress string `json:"e2tAddress"`
110 Rannames []string `json:"ranNames"`
113 type ConfigRtmgr struct {
114 Pcs PlatformComponents `json:"PlatformComponents"`
117 type MessageTypeIdentifier struct {
118 Mit []string `json:"messagetypes"`
121 type RicComponents struct {
123 E2Ts map[string]E2TInstance
125 Pcs PlatformComponents
128 type Subscription struct {
134 type PlatformRoutes []struct {
135 MessageType string `json:"messagetype"`
136 SenderEndPoint string `json:"senderendpoint"`
137 SubscriptionId int32 `json:"subscriptionid"`
138 EndPoint string `json:"endpoint"`
139 Meid string `json:"meid"`
142 type RtmgrRoutes struct {
143 Prs PlatformRoutes `json:"PlatformRoutes"`
151 type XappList struct {
152 SubscriptionID uint16