X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fhandlers%2Frmrmsghandlers%2Fenb_load_information_notification_handler.go;h=a6a623439bfbd57daf8bd8efc64fdb98cac38e87;hb=0313963fab35090fcdc7655182ad77c63497d5cb;hp=ceee190827583d31be1b61407a6779de607b4a9f;hpb=1ec13d4076e7c7abefac6176462c1fee31229213;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/handlers/rmrmsghandlers/enb_load_information_notification_handler.go b/E2Manager/handlers/rmrmsghandlers/enb_load_information_notification_handler.go index ceee190..a6a6234 100644 --- a/E2Manager/handlers/rmrmsghandlers/enb_load_information_notification_handler.go +++ b/E2Manager/handlers/rmrmsghandlers/enb_load_information_notification_handler.go @@ -6,19 +6,22 @@ import ( "e2mgr/e2pdus" "e2mgr/logger" "e2mgr/models" - "e2mgr/rNibWriter" - "e2mgr/sessions" + "e2mgr/services" "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities" "time" ) type EnbLoadInformationNotificationHandler struct { - rnibWriterProvider func() rNibWriter.RNibWriter + logger *logger.Logger + rnibDataService services.RNibDataService + extractor converters.IEnbLoadInformationExtractor } -func NewEnbLoadInformationNotificationHandler(rnibWriterProvider func() rNibWriter.RNibWriter) EnbLoadInformationNotificationHandler { +func NewEnbLoadInformationNotificationHandler(logger *logger.Logger, rnibDataService services.RNibDataService, extractor converters.IEnbLoadInformationExtractor) EnbLoadInformationNotificationHandler { return EnbLoadInformationNotificationHandler{ - rnibWriterProvider: rnibWriterProvider, + logger: logger, + rnibDataService: rnibDataService, + extractor: extractor, } } @@ -26,34 +29,34 @@ func elapsed(startTime time.Time) float64 { return float64(time.Since(startTime)) / float64(time.Millisecond) } -func (src EnbLoadInformationNotificationHandler) Handle(logger *logger.Logger, e2Sessions sessions.E2Sessions, request *models.NotificationRequest, messageChannel chan<- *models.NotificationResponse) { +func (h EnbLoadInformationNotificationHandler) Handle(request *models.NotificationRequest) { - pdu, err := converters.UnpackX2apPdu(logger, e2pdus.MaxAsn1CodecAllocationBufferSize, request.Len, request.Payload, e2pdus.MaxAsn1CodecMessageBufferSize) + pdu, err := converters.UnpackX2apPdu(h.logger, e2pdus.MaxAsn1CodecAllocationBufferSize, request.Len, request.Payload, e2pdus.MaxAsn1CodecMessageBufferSize) if err != nil { - logger.Errorf("#EnbLoadInformationNotificationHandler.Handle - RAN name: %s - Unpack failed. Error: %v", request.RanName, err) + h.logger.Errorf("#EnbLoadInformationNotificationHandler.Handle - RAN name: %s - Unpack failed. Error: %v", request.RanName, err) return } - logger.Debugf("#EnbLoadInformationNotificationHandler.Handle - RAN name: %s - Unpacked message successfully", request.RanName) + h.logger.Debugf("#EnbLoadInformationNotificationHandler.Handle - RAN name: %s - Unpacked message successfully", request.RanName) ranLoadInformation := &entities.RanLoadInformation{LoadTimestamp: uint64(request.StartTime.UnixNano())} - err = converters.ExtractAndBuildRanLoadInformation(pdu, ranLoadInformation) + err = h.extractor.ExtractAndBuildRanLoadInformation(pdu, ranLoadInformation) if (err != nil) { - logger.Errorf("#EnbLoadInformationNotificationHandler.Handle - RAN name: %s - Failed at ExtractAndBuildRanLoadInformation. Error: %v", request.RanName, err) + h.logger.Errorf("#EnbLoadInformationNotificationHandler.Handle - RAN name: %s - Failed at ExtractAndBuildRanLoadInformation. Error: %v", request.RanName, err) return } - logger.Debugf("#EnbLoadInformationNotificationHandler.Handle - RAN name: %s - Successfully done with extracting and building RAN load information. elapsed: %f ms", request.RanName, elapsed(request.StartTime)) + h.logger.Debugf("#EnbLoadInformationNotificationHandler.Handle - RAN name: %s - Successfully done with extracting and building RAN load information. elapsed: %f ms", request.RanName, elapsed(request.StartTime)) - rnibErr := src.rnibWriterProvider().SaveRanLoadInformation(request.RanName, ranLoadInformation) + rnibErr := h.rnibDataService.SaveRanLoadInformation(request.RanName, ranLoadInformation) if rnibErr != nil { - logger.Errorf("#EnbLoadInformationNotificationHandler.Handle - RAN name: %s - Failed saving RAN load information. Error: %v", request.RanName, rnibErr) + h.logger.Errorf("#EnbLoadInformationNotificationHandler.Handle - RAN name: %s - Failed saving RAN load information. Error: %v", request.RanName, rnibErr) return } - logger.Infof("#EnbLoadInformationNotificationHandler.Handle - RAN name: %s - Successfully saved RAN load information to RNIB. elapsed: %f ms", request.RanName, elapsed(request.StartTime)) + h.logger.Infof("#EnbLoadInformationNotificationHandler.Handle - RAN name: %s - Successfully saved RAN load information to RNIB. elapsed: %f ms", request.RanName, elapsed(request.StartTime)) }