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=4d0c384a66f3a34e817c39d74ce8ff9232379fd8;hb=7000880c4031e607a2fe36046fd097f486476a84;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..4d0c384 100644 --- a/E2Manager/handlers/rmrmsghandlers/enb_load_information_notification_handler.go +++ b/E2Manager/handlers/rmrmsghandlers/enb_load_information_notification_handler.go @@ -1,24 +1,46 @@ +// +// Copyright 2019 AT&T Intellectual Property +// Copyright 2019 Nokia +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// This source code is part of the near-RT RIC (RAN Intelligent Controller) +// platform project (RICP). + package rmrmsghandlers -import "C" -import ( +/*import ( "e2mgr/converters" "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 +48,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) + if err != nil { + 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)) +}*/