X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fmanagers%2Fendc_setup_response_manager.go;h=bf0bb59e0fe0d1b127ed59ac7cb816112baaf71b;hb=refs%2Ftags%2F5.4.15;hp=5aef3434968498735d7e1aee09f147e18377c0c4;hpb=1ec13d4076e7c7abefac6176462c1fee31229213;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/managers/endc_setup_response_manager.go b/E2Manager/managers/endc_setup_response_manager.go index 5aef343..bf0bb59 100644 --- a/E2Manager/managers/endc_setup_response_manager.go +++ b/E2Manager/managers/endc_setup_response_manager.go @@ -1 +1,51 @@ +// +// 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. +// + package managers + +import ( + "e2mgr/converters" + "e2mgr/e2pdus" + "e2mgr/logger" + "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities" +) + +type EndcSetupResponseManager struct{} + +func NewEndcSetupResponseManager() *EndcSetupResponseManager { + return &EndcSetupResponseManager{} +} + +func (m *EndcSetupResponseManager) PopulateNodebByPdu(logger *logger.Logger, nbIdentity *entities.NbIdentity, nodebInfo *entities.NodebInfo, payload []byte) error { + + gnbId, gnb, err := converters.UnpackEndcX2SetupResponseAndExtract(logger, e2pdus.MaxAsn1CodecAllocationBufferSize, len(payload), payload, e2pdus.MaxAsn1CodecMessageBufferSize) + + if err != nil { + logger.Errorf("#EndcSetupResponseManager.PopulateNodebByPdu - RAN name: %s - Unpack and extract failed. Error: %v", nodebInfo.RanName, err) + return err + } + + logger.Infof("#EndcSetupResponseManager.PopulateNodebByPdu - RAN name: %s - Unpacked payload and extracted protobuf successfully", nodebInfo.RanName) + + nbIdentity.GlobalNbId = gnbId + nodebInfo.GlobalNbId = gnbId + nodebInfo.ConnectionStatus = entities.ConnectionStatus_CONNECTED + nodebInfo.NodeType = entities.Node_GNB + nodebInfo.Configuration = &entities.NodebInfo_Gnb{Gnb: gnb} + + return nil +}