AddNbIdentity(nodeType entities.Node_Type, nbIdentity *entities.NbIdentity) error
RemoveNbIdentity(nodeType entities.Node_Type, nbIdentity *entities.NbIdentity) error
AddEnb(nodebInfo *entities.NodebInfo) error
+ UpdateNbIdentities(nodeType entities.Node_Type, oldNbIdentities []*entities.NbIdentity, newNbIdentities []*entities.NbIdentity) error
}
-
/*
GetRNibWriter returns reference to RNibWriter
*/
return nil
}
+func (w *rNibWriterInstance) UpdateNbIdentities(nodeType entities.Node_Type, oldNbIdentities []*entities.NbIdentity, newNbIdentities []*entities.NbIdentity) error {
+
+ nbIdIdentitiesToRemove, err := w.buildNbIdentitiesMembers(oldNbIdentities)
+ if err != nil {
+ return err
+ }
+
+ err = w.sdl.RemoveMember(nodeType.String(), nbIdIdentitiesToRemove[:]...)
+ if err != nil {
+ return err
+ }
+
+ nbIdIdentitiesToAdd, err := w.buildNbIdentitiesMembers(newNbIdentities)
+ if err != nil {
+ return err
+ }
+
+ err = w.sdl.AddMember(nodeType.String(), nbIdIdentitiesToAdd[:]...)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
func (w *rNibWriterInstance) UpdateGnbCells(nodebInfo *entities.NodebInfo, servedNrCells []*entities.ServedNRCell) error {
pairs, err := buildUpdateNodebInfoPairs(nodebInfo)
return nil
}
+func (w *rNibWriterInstance) buildNbIdentitiesMembers(nbIdentities []*entities.NbIdentity) ([]interface{}, error) {
+
+ var nbIdIdentitiesMembers []interface{}
+ for _, nbIdentity := range nbIdentities {
+
+ nbIdData, err := proto.Marshal(nbIdentity)
+ if err != nil {
+ return nil, common.NewInternalError(err)
+ }
+ nbIdIdentitiesMembers = append(nbIdIdentitiesMembers, nbIdData)
+ }
+
+ return nbIdIdentitiesMembers, nil
+}
/*
Close the writer
*/