import (
"gerrit.o-ran-sc.org/r/ric-plt/e2ap/pkg/e2ap"
"gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"
- //"reflect"
+
"sync"
)
//
//-----------------------------------------------------------------------------
type Subscription struct {
- mutex sync.Mutex // Lock
- valid bool // valid
- registry *Registry // Registry
- ReqId RequestId // ReqId (Requestor Id + Seq Nro a.k.a subsid)
- Meid *xapp.RMRMeid // Meid/ RanName
- EpList xapp.RmrEndpointList // Endpoints
- TransLock sync.Mutex // Lock transactions, only one executed per time for subs
- TheTrans TransactionIf // Ongoing transaction
- SubReqMsg *e2ap.E2APSubscriptionRequest // Subscription information
- SubRFMsg interface{} // Subscription information
+ mutex sync.Mutex // Lock
+ valid bool // valid
+ registry *Registry // Registry
+ ReqId RequestId // ReqId (Requestor Id + Seq Nro a.k.a subsid)
+ Meid *xapp.RMRMeid // Meid/RanName
+ EpList xapp.RmrEndpointList // Endpoints
+ RMRRouteCreated bool // Does subscription have RMR route
+ TransLock sync.Mutex // Lock transactions, only one executed per time for subs
+ TheTrans TransactionIf // Ongoing transaction
+ SubReqMsg *e2ap.E2APSubscriptionRequest // Subscription information
+ SubRFMsg interface{} // Subscription information
+ OngoingReqCount int // Subscription create process is ongoing. In merge case it can ongoing for more than one endpoint
+ OngoingDelCount int // Subscription delete process is ongoing. In merge case it can ongoing for more than one endpoint
+ PolicyUpdate bool // This is true when policy subscrition is being updated. Used not to send delete for update after timeout or restart
+ RetryFromXapp bool // Retry form xApp for subscription that already exist
+ SubRespRcvd bool // Subscription response received
+ DeleteFromDb bool // Delete subscription from db
+ NoRespToXapp bool // Send no response for subscription delete to xApp after restart
+ DoNotWaitSubResp bool // Test flag. Response is not waited for Subscription Request
}
func (s *Subscription) String() string {
func (s *Subscription) GetMeid() *xapp.RMRMeid {
s.mutex.Lock()
defer s.mutex.Unlock()
- if s.Meid != nil {
- return s.Meid
- }
- return nil
+ return s.Meid
}
func (s *Subscription) GetTransaction() TransactionIf {
return false
}
}
- //reflect.DeepEqual(acts.ActionDefinitionChoice, actt.ActionDefinitionChoice)
-
if acts.SubsequentAction.Present != actt.SubsequentAction.Present ||
acts.SubsequentAction.Type != actt.SubsequentAction.Type ||
acts.SubsequentAction.TimetoWait != actt.SubsequentAction.TimetoWait {
}
}
}
-
return true
}