X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fservices%2Frnib_data_service.go;h=bc6b8ef0b2443b3566fe13ba9566b0dbf23ae1c4;hb=96bf2e40d876dddfbf5b51b9aca39774e298c5b0;hp=1e824e8af83a379fd0ff17dae43a19eb52885862;hpb=bcb124908ffd1de0c00868838bbac733b881fcb2;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/services/rnib_data_service.go b/E2Manager/services/rnib_data_service.go index 1e824e8..bc6b8ef 100644 --- a/E2Manager/services/rnib_data_service.go +++ b/E2Manager/services/rnib_data_service.go @@ -35,6 +35,11 @@ type RNibDataService interface { GetNodeb(ranName string) (*entities.NodebInfo, error) GetListNodebIds() ([]*entities.NbIdentity, error) PingRnib() bool + GetE2TInstance(address string) (*entities.E2TInstance, error) + GetE2TInstances(addresses []string) ([]*entities.E2TInstance, error) + GetE2TAddresses() ([]string, error) + SaveE2TInstance(e2tInstance *entities.E2TInstance) error + SaveE2TAddresses(addresses []string) error } type rNibDataService struct { @@ -114,6 +119,71 @@ func (w *rNibDataService) GetListNodebIds() ([]*entities.NbIdentity, error) { return nodeIds, err } +func (w *rNibDataService) GetE2TInstance(address string) (*entities.E2TInstance, error) { + + var e2tInstance *entities.E2TInstance = nil + + err := w.retry("GetE2TInstance", func() (err error) { + e2tInstance, err = w.rnibReader.GetE2TInstance(address) + return + }) + + if err == nil { + w.logger.Infof("#RnibDataService.GetE2TInstance - E2T instance address: %s, state: %s, associated RANs count: %d, keep Alive ts: %d", e2tInstance.Address, e2tInstance.State, len(e2tInstance.AssociatedRanList), e2tInstance.KeepAliveTimestamp) + } + + return e2tInstance, err +} + +func (w *rNibDataService) GetE2TInstances(addresses []string) ([]*entities.E2TInstance, error) { + w.logger.Infof("#RnibDataService.GetE2TInstances - addresses: %s", addresses) + var e2tInstances []*entities.E2TInstance = nil + + err := w.retry("GetE2TInstance", func() (err error) { + e2tInstances, err = w.rnibReader.GetE2TInstances(addresses) + return + }) + + return e2tInstances, err +} + +func (w *rNibDataService) GetE2TAddresses() ([]string, error) { + + var e2tAddresses []string = nil + + err := w.retry("GetE2TAddresses", func() (err error) { + e2tAddresses, err = w.rnibReader.GetE2TAddresses() + return + }) + + if err == nil { + w.logger.Infof("#RnibDataService.GetE2TAddresses - addresses: %s", e2tAddresses) + } + + return e2tAddresses, err +} + +func (w *rNibDataService) SaveE2TInstance(e2tInstance *entities.E2TInstance) error { + w.logger.Infof("#RnibDataService.SaveE2TInstance - E2T instance address: %s, state: %s, associated RANs count: %d, keep Alive ts: %d", e2tInstance.Address, e2tInstance.State, len(e2tInstance.AssociatedRanList), e2tInstance.KeepAliveTimestamp) + err := w.retry("SaveE2TInstance", func() (err error) { + err = w.rnibWriter.SaveE2TInstance(e2tInstance) + return + }) + + return err +} + +func (w *rNibDataService) SaveE2TAddresses(addresses []string) error { + w.logger.Infof("#RnibDataService.SaveE2TAddresses - addresses: %s", addresses) + + err := w.retry("SaveE2TAddresses", func() (err error) { + err = w.rnibWriter.SaveE2TAddresses(addresses) + return + }) + + return err +} + func (w *rNibDataService) PingRnib() bool { err := w.retry("GetListNodebIds", func() (err error) { _, err = w.rnibReader.GetListNodebIds()