X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Frtmgr%2Ftypes.go;h=4501bb8ebe524172d820dfc39882923136ea9aeb;hb=refs%2Fchanges%2F31%2F4531%2F1;hp=0fa9dd1b8d5700eb8cf6a5315ab9cceb6b02bb94;hpb=871fa393844ce1b61b8d5218d27687d9fc05803a;p=ric-plt%2Frtmgr.git diff --git a/pkg/rtmgr/types.go b/pkg/rtmgr/types.go index 0fa9dd1..4501bb8 100644 --- a/pkg/rtmgr/types.go +++ b/pkg/rtmgr/types.go @@ -14,34 +14,58 @@ 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 Endpoint struct { - Name string - Type string - IpSocket string -} - type XApps struct { - XApplist []XApp + XAppList []XApp } type RouteTable []RouteTableEntry - 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 { + Uuid string + Name string + XAppType string + Ip string + 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 { @@ -55,7 +79,74 @@ type XAppInstance struct { Name string `json:"name"` Status string `json:"status"` Ip string `json:"ip"` - Port int `json:"port"` + 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 +)