E2 restart handling added
[ric-plt/submgr.git] / pkg / control / types.go
index febd41a..22c8bc4 100644 (file)
 
 package control
 
-type RmrDatagram struct {
-       MessageType    int
-       SubscriptionId uint16
-       Payload        []byte
+import (
+       "time"
+
+       "gerrit.o-ran-sc.org/r/ric-plt/e2ap/pkg/e2ap"
+       "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"
+)
+
+//-----------------------------------------------------------------------------
+//
+//-----------------------------------------------------------------------------
+type RequestId struct {
+       e2ap.RequestId
+}
+
+func (rid *RequestId) String() string {
+       return "reqid(" + rid.RequestId.String() + ")"
+}
+
+type Sdlnterface interface {
+       Set(ns string, pairs ...interface{}) error
+       Get(ns string, keys []string) (map[string]interface{}, error)
+       GetAll(ns string) ([]string, error)
+       Remove(ns string, keys []string) error
+       RemoveAll(ns string) error
+}
+
+type E2SubscriptionDirectives struct {
+       // How many times E2 subscription request is retried
+       // Required: true
+       // Maximum: 10
+       // Minimum: 0
+       E2MaxTryCount int64
+
+       // How long time response is waited from E2 node
+       // Maximum: 10s
+       // Minimum: 1s
+       E2TimeoutTimerValue time.Duration
+
+       // Subscription needs RMR route from E2Term to xApp
+       CreateRMRRoute bool
+}
+
+type ErrorInfo struct {
+       ErrorCause  string
+       ErrorSource string
+       TimeoutType string
 }
 
-type SubRouteInfo struct {
-       Command Action
-       Address string
-       Port    uint16
-       SubID   uint16
+func (e *ErrorInfo) SetInfo(errorCause string, errorSource string, timeoutType string) {
+       e.ErrorCause = errorCause
+       e.ErrorSource = errorSource
+       e.TimeoutType = timeoutType
 }
 
-type RmrEndpoint struct {
-       Addr string // xapp addr
-       Port uint16 // xapp port
+type XappRnibInterface interface {
+       XappRnibSubscribe(cb func(string, ...string), channel string) error
+       XappRnibGetListGnbIds() ([]*xapp.RNIBNbIdentity, xapp.RNIBIRNibError)
+       XappRnibStoreAndPublish(channel string, event string, pairs ...interface{}) error
+       XappRnibGetNodeb(inventoryName string) (*xapp.RNIBNodebInfo, xapp.RNIBIRNibError)
 }
-type Action int