X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2FrNibWriter%2FrNibWriter.go;h=8cfb99233a2b86604d3fbff3bd022f99bdb3377e;hb=3a4f37e98ae155b8d910b0a61c6b88d8832cac90;hp=202a27356e92c9334c7e4714351ad1766b1a92e2;hpb=bcb124908ffd1de0c00868838bbac733b881fcb2;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/rNibWriter/rNibWriter.go b/E2Manager/rNibWriter/rNibWriter.go index 202a273..8cfb992 100644 --- a/E2Manager/rNibWriter/rNibWriter.go +++ b/E2Manager/rNibWriter/rNibWriter.go @@ -18,12 +18,15 @@ package rNibWriter import ( + "encoding/json" "fmt" "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common" "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities" "github.com/golang/protobuf/proto" ) +const E2TAddressesKey = "E2TAddresses" + type rNibWriterInstance struct { sdl common.ISdlInstance } @@ -35,6 +38,8 @@ type RNibWriter interface { SaveNodeb(nbIdentity *entities.NbIdentity, nb *entities.NodebInfo) error UpdateNodebInfo(nodebInfo *entities.NodebInfo) error SaveRanLoadInformation(inventoryName string, ranLoadInformation *entities.RanLoadInformation) error + SaveE2TInstance(e2tInstance *entities.E2TInstance) error + SaveE2TAddresses(addresses []string) error } /* @@ -180,6 +185,52 @@ func (w *rNibWriterInstance) SaveRanLoadInformation(inventoryName string, ranLoa return nil } +func (w *rNibWriterInstance) SaveE2TInstance(e2tInstance *entities.E2TInstance) error { + + key, rnibErr := common.ValidateAndBuildE2TInstanceKey(e2tInstance.Address) + + if rnibErr != nil { + return rnibErr + } + + data, err := json.Marshal(e2tInstance) + + if err != nil { + return common.NewInternalError(err) + } + + var pairs []interface{} + pairs = append(pairs, key, data) + + err = w.sdl.Set(pairs) + + if err != nil { + return common.NewInternalError(err) + } + + return nil +} + +func (w *rNibWriterInstance) SaveE2TAddresses(addresses []string) error { + + data, err := json.Marshal(addresses) + + if err != nil { + return common.NewInternalError(err) + } + + var pairs []interface{} + pairs = append(pairs, E2TAddressesKey, data) + + err = w.sdl.Set(pairs) + + if err != nil { + return common.NewInternalError(err) + } + + return nil +} + /* Close the writer */