X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fmanagers%2Fx2_setup_response_manager.go;h=d7e9d0f48990b5c15b85fe8540de4ba228f01753;hb=fb1e406498460f92ce4664ea060e43878a6c868e;hp=9de2aeed4b6e7a6f8962d6ebf79f7f636b1e5d28;hpb=1ec13d4076e7c7abefac6176462c1fee31229213;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/managers/x2_setup_response_manager.go b/E2Manager/managers/x2_setup_response_manager.go index 9de2aee..d7e9d0f 100644 --- a/E2Manager/managers/x2_setup_response_manager.go +++ b/E2Manager/managers/x2_setup_response_manager.go @@ -1,34 +1,57 @@ +// +// 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 managers import ( "e2mgr/converters" - "e2mgr/e2pdus" "e2mgr/logger" "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities" ) -type X2SetupResponseManager struct {} +type X2SetupResponseManager struct { + converter converters.IX2SetupResponseConverter +} -func NewX2SetupResponseManager() *X2SetupResponseManager { - return &X2SetupResponseManager{} +func NewX2SetupResponseManager(converter converters.IX2SetupResponseConverter) *X2SetupResponseManager { + return &X2SetupResponseManager{ + converter: converter, + } } -func (m *X2SetupResponseManager) SetNodeb(logger *logger.Logger, nbIdentity *entities.NbIdentity, nodebInfo *entities.NodebInfo, payload []byte) error { - enbId, enb, err := converters.UnpackX2SetupResponseAndExtract(logger, e2pdus.MaxAsn1CodecAllocationBufferSize, len(payload), payload, e2pdus.MaxAsn1CodecMessageBufferSize) +func (m *X2SetupResponseManager) PopulateNodebByPdu(logger *logger.Logger, nbIdentity *entities.NbIdentity, nodebInfo *entities.NodebInfo, payload []byte) error { - if err != nil || enbId == nil || enb == nil { - logger.Errorf("#X2SetupResponseNotificationHandler.SetNodeb - Unpack failed. Error: %v", err) - return err - } + enbId, enb, err := m.converter.UnpackX2SetupResponseAndExtract(payload) - nbIdentity.InventoryName = nodebInfo.RanName - nbIdentity.GlobalNbId = enbId - nodebInfo.GlobalNbId = nbIdentity.GlobalNbId - nodebInfo.ConnectionStatus = entities.ConnectionStatus_CONNECTED - nodebInfo.E2ApplicationProtocol = entities.E2ApplicationProtocol_X2_SETUP_REQUEST - nodebInfo.NodeType = entities.Node_ENB - nodebInfo.Configuration = &entities.NodebInfo_Enb{Enb: enb} + if err != nil { + logger.Errorf("#X2SetupResponseManager.PopulateNodebByPdu - RAN name: %s - Unpack and extract failed. %v", nodebInfo.RanName, err) + return err + } - return nil -} + logger.Infof("#X2SetupResponseManager.PopulateNodebByPdu - RAN name: %s - Unpacked payload and extracted protobuf successfully", nodebInfo.RanName) + + nbIdentity.GlobalNbId = enbId + nodebInfo.GlobalNbId = enbId + nodebInfo.ConnectionStatus = entities.ConnectionStatus_CONNECTED + nodebInfo.NodeType = entities.Node_ENB + nodebInfo.Configuration = &entities.NodebInfo_Enb{Enb: enb} + return nil +}