X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Fcontrol%2Fregistry.go;h=b816b61c5d66e2e4632afe8464a33762f6df9128;hb=d708a43badb0742684b22866977f14cc1c03a1ba;hp=9cacd9433333d8da7f528ad379097053533819b1;hpb=9f16319f4c5b289c489e667f6a33eb5de6060305;p=ric-plt%2Fsubmgr.git diff --git a/pkg/control/registry.go b/pkg/control/registry.go index 9cacd94..b816b61 100644 --- a/pkg/control/registry.go +++ b/pkg/control/registry.go @@ -22,6 +22,7 @@ package control import ( "fmt" "gerrit.o-ran-sc.org/r/ric-plt/e2ap/pkg/e2ap" + "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/models" "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp" "sync" "time" @@ -46,6 +47,19 @@ func (r *Registry) Initialize() { } } +func (r *Registry) QueryHandler() (models.SubscriptionList, error) { + r.mutex.Lock() + defer r.mutex.Unlock() + + resp := models.SubscriptionList{} + for _, subs := range r.register { + subs.mutex.Lock() + resp = append(resp, &models.SubscriptionData{SubscriptionID: int64(subs.ReqId.Seq), Meid: subs.Meid.RanName, Endpoint: subs.EpList.StringList()}) + subs.mutex.Unlock() + } + return resp, nil +} + func (r *Registry) allocateSubs(trans *TransactionXapp, subReqMsg *e2ap.E2APSubscriptionRequest) (*Subscription, error) { if len(r.subIds) > 0 { sequenceNumber := r.subIds[0] @@ -125,7 +139,7 @@ func (r *Registry) AssignToSubscription(trans *TransactionXapp, subReqMsg *e2ap. // Find possible existing Policy subscription // if actionType == e2ap.E2AP_ActionTypePolicy { - if subs, ok := r.register[subReqMsg.RequestId.Seq]; ok { + if subs, ok := r.register[trans.GetSubId()]; ok { xapp.Logger.Debug("CREATE %s. Existing subscription for Policy found", subs.String()) subs.SetCachedResponse(nil, true) return subs, nil