RanListManager


type RanListManager struct {
	rnibDataService services.RNibDataService
	mux sync.Mutex
	nbIdentityList []*NbIdentity
}

type IRanListManager interface {
	InitNbIdentityList() error
	AddNbIdentity(nodeType entities.Node_Type, nbIdentity *entities.NbIdentity) error
	UpdateNbIdentity(nodeType entities.Node_Type, nbIdentity *entities.NbIdentity) error
	DeleteNbIdentity(nodeType entities.Node_Type, nbIdentity *entities.NbIdentity) error
	GetNbIdentityList() []*entities.NbIdentity
}



InitNbIdentityList

- On application init, calls rnibDataService.getListNodebIds to fetch Nb Identity list.
- rnib error - os.Exit(1)

AddNbIdentity

- saveNodeb calls:
- add_end_request_handler
- e2_setup_request_handler
- every saveNodeb Call will be followed by ranListManager.AddNbIdentity(nodeType, nbIdentity) call

UpdateNbIdentity


DeleteNbIdentity

- removeEnb calls:
- delete_enb_request_handler
- every removeEnb Call will be followed by ranListManager.DeleteNbIdentity(nodeType, nbIdentity) call
- currently, there is no removeGnb call (there's only removeServedNrCells)

GetNbIdentityList

- getListNodebIds calls:
- delete_all_request_handler
- get_nodeb_id_list_request_handler
- every getListNodebIds call will be replaced by an in-memory call - ranListManager.GetNbIdentityList()

RnibWriter Changes

Modify

We shall modify the following methods:

Add

AddNbIdentity(nodeType entities.Node_Type, nbIdentity *entities.NbIdentity) error
UpdateNbIdentity(nodeType entities.Node_Type, nbIdentity *entities.NbIdentity) error
RemoveNbIdentity(nodeType entities.Node_Type, nbIdentity *entities.NbIdentity) error

RnibReader Changes

Modify

We shall modify the following methods: