X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Frtmgr%2Ftypes.go;h=f9a356cdae02b2ad93c383f2da763e880d5612ce;hb=HEAD;hp=bb84804738b66ffe0f85f77fb8e2fdc399a0cf14;hpb=16d84d6f7d3489e65e0a83ba9c0d5d62c3914c7f;p=ric-plt%2Frtmgr.git diff --git a/pkg/rtmgr/types.go b/pkg/rtmgr/types.go index bb84804..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 @@ -33,6 +45,12 @@ type EndpointList []Endpoint 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 { @@ -43,15 +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 int32 + RouteType string } type XApp struct { @@ -68,4 +90,72 @@ type XAppInstance struct { Port uint16 `json:"port"` TxMessages []string `json:"txMessages"` RxMessages []string `json:"rxMessages"` + Policies []int32 `json:"policies"` +} + +type PlatformComponents []struct { + Name string `json:"name"` + Fqdn string `json:"fqdn"` + 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 + E2Ts map[string]E2TInstance + MeidMap []string + Pcs PlatformComponents +} + +type Subscription struct { + 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"