X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Frtmgr%2Ftypes.go;h=f9a356cdae02b2ad93c383f2da763e880d5612ce;hb=HEAD;hp=9674a5d70ee8fbd4e7a29afae678b07a7e52fd6e;hpb=89c2cdeff5dc079ab1aca01e2e830a961095198f;p=ric-plt%2Frtmgr.git diff --git a/pkg/rtmgr/types.go b/pkg/rtmgr/types.go index 9674a5d..f9a356c 100644 --- a/pkg/rtmgr/types.go +++ b/pkg/rtmgr/types.go @@ -28,6 +28,14 @@ package rtmgr +type RMRUpdateType int + +const ( + XappType = iota + SubsType + E2Type +) + type XApps struct { XAppList []XApp } @@ -39,6 +47,10 @@ type Endpoints map[string]*Endpoint 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 { @@ -49,9 +61,11 @@ type Endpoint struct { Port uint16 TxMessages []string RxMessages []string + Policies []int32 Socket interface{} IsReady bool Keepalive bool + Whid int } type RouteTableEntry struct { @@ -59,6 +73,7 @@ type RouteTableEntry struct { TxList EndpointList RxGroups []EndpointList SubID int32 + RouteType string } type XApp struct { @@ -75,6 +90,7 @@ type XAppInstance struct { Port uint16 `json:"port"` TxMessages []string `json:"txMessages"` RxMessages []string `json:"rxMessages"` + Policies []int32 `json:"policies"` } type PlatformComponents []struct { @@ -83,13 +99,30 @@ type PlatformComponents []struct { 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 MessageTypeIdentifier struct { + Mit []string `json:"messagetypes"` +} + type RicComponents struct { - XApps []XApp - Pcs PlatformComponents + XApps []XApp + E2Ts map[string]E2TInstance + MeidMap []string + Pcs PlatformComponents } type Subscription struct { @@ -97,3 +130,32 @@ type Subscription struct { 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"