E2 restart handling added
[ric-plt/submgr.git] / pkg / control / types.go
index d12233c..22c8bc4 100644 (file)
 package control
 
 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 RmrDatagram struct {
-       MessageType    int
-       SubscriptionId uint16
-       Payload        []byte
+//-----------------------------------------------------------------------------
+//
+//-----------------------------------------------------------------------------
+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 subRouteInfo struct {
-       Command  Action
-       Address  string
-       Port     uint16
-       SubID    uint16
+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 Action int
+type ErrorInfo struct {
+       ErrorCause  string
+       ErrorSource string
+       TimeoutType string
+}
 
-type Transaction_key struct {
-       SubID      uint16
-       trans_type Action
+func (e *ErrorInfo) SetInfo(errorCause string, errorSource string, timeoutType string) {
+       e.ErrorCause = errorCause
+       e.ErrorSource = errorSource
+       e.TimeoutType = timeoutType
 }
 
-type Transaction struct {
-//     Xapp_address          string
-       Xapp_instance_address string
-       Xapp_port             uint16
-       Ric_sub_req           []byte
-       Mbuf                  *xapp.RMRMbuf
+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)
 }