Taking old commit for releasing image
[ric-plt/rtmgr.git] / pkg / rtmgr / types.go
index 80d2dc0..958ad6d 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).
+
 ==================================================================================
 */
 /*
   Mnemonic:    rtmgr/types.go
 ==================================================================================
 */
 /*
   Mnemonic:    rtmgr/types.go
-  Abstract:    Containes RTMGR (Routing Manager) specific types
+  Abstract:    Contains RTMGR (Routing Manager) specific types
   Date:                12 March 2019
 */
 
 package rtmgr
 
 type XApps struct {
   Date:                12 March 2019
 */
 
 package rtmgr
 
 type XApps struct {
-       XApplist []XApp
+       XAppList []XApp
 }
 
 type RouteTable []RouteTableEntry
 }
 
 type RouteTable []RouteTableEntry
@@ -35,7 +39,6 @@ type Endpoints map[string]*Endpoint
 
 type SubscriptionList []Subscription
 
 
 type SubscriptionList []Subscription
 
-
 //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 {
@@ -46,6 +49,7 @@ 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
@@ -56,6 +60,7 @@ type RouteTableEntry struct {
        TxList      EndpointList
        RxGroups    []EndpointList
        SubID       int32
        TxList      EndpointList
        RxGroups    []EndpointList
        SubID       int32
+       RouteType   string
 }
 
 type XApp struct {
 }
 
 type XApp struct {
@@ -72,6 +77,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 {
@@ -80,18 +86,52 @@ type PlatformComponents []struct {
        Port uint16 `json:"port"`
 }
 
        Port uint16 `json:"port"`
 }
 
-type RtmgrConfig struct {
+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 RicComponents struct {
        Pcs PlatformComponents `json:"PlatformComponents"`
 }
 
 type RicComponents struct {
-       Xapps []XApp
+       XApps []XApp
+       E2Ts  map [string]E2TInstance
+       MeidMap  []string
        Pcs   PlatformComponents
 }
 
 type Subscription struct {
        Pcs   PlatformComponents
 }
 
 type Subscription struct {
-       SubID    int32
-       Fqdn     string
-       Port     uint16
+       SubID int32
+       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
+}