X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Frtmgr%2Ftypes.go;h=f9a356cdae02b2ad93c383f2da763e880d5612ce;hb=HEAD;hp=ba396c8fb14d313bb2d130015cbf0dc0301baae9;hpb=92162653c9741f2417d1a36ec1c211d6863d0a68;p=ric-plt%2Frtmgr.git diff --git a/pkg/rtmgr/types.go b/pkg/rtmgr/types.go index ba396c8..f9a356c 100644 --- a/pkg/rtmgr/types.go +++ b/pkg/rtmgr/types.go @@ -14,18 +14,30 @@ 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 - Abstract: Containes RTMGR (Routing Manager) specific types + Abstract: Contains RTMGR (Routing Manager) specific types Date: 12 March 2019 */ package rtmgr +type RMRUpdateType int + +const ( + XappType = iota + SubsType + E2Type +) + type XApps struct { - XApplist []XApp + XAppList []XApp } type RouteTable []RouteTableEntry @@ -35,6 +47,9 @@ 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 @@ -46,16 +61,19 @@ type Endpoint struct { Port uint16 TxMessages []string RxMessages []string + Policies []int32 Socket interface{} IsReady bool Keepalive bool + Whid int } type RouteTableEntry struct { MessageType string TxList EndpointList RxGroups []EndpointList - SubID int16 + SubID int32 + RouteType string } type XApp struct { @@ -72,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 { @@ -80,18 +99,63 @@ type PlatformComponents []struct { 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 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 { - SubID int16 - 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 +} + +var ( + Rtmgr_ready bool +) + +//To encapsulate routing-manager's keys under their own namespace in a DB +const RTMGR_SDL_NS string = "rtmgr"