RanListManager
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 RemoveNbIdentity(nodeType entities.Node_Type, nbIdentity *entities.NbIdentity) error GetNbIdentityList() []*entities.NbIdentity }
InitNbIdentityList
- Triggered on application init, fetches nb identity list from DB and set it on data member.
- rnib error →
os.Exit(1)
AddNbIdentity
SaveNodeb Calls will be followed by a ranListManager.AddNbIdentity(nodeType, nbIdentity) call.
AFFECTED FLOWS
- AddEnbRequestHandler
- E2SetupRequestNotificationHandler
UpdateNbIdentity
RemoveNbIdentity
- RemoveEnb call will be followed by ranListManager.RemoveNbIdentity(nodeType, nbIdentity) call
- Currently, there's no RemoveGnb method (there's only RemoveServedNrCells)
AFFECTED FLOWS
- DeleteEnbRequestHandler
GetNbIdentityList
- Returns the in-memory nbIdentity list
- Affected flows: Get Nodeb Ids REST API & Red Button
Get Nodeb States REST API
- Change url from /v1/nodeb/ids to /v1/nodeb/states
- Add ConnectionStatus property to NbIdentity proto (already pushed)
- Get nbIdentity list from memory instead of DB
Red Button REST API
- Similarly, get nbIdentity list from memory instead of DB
RnibWriter Changes
Modify
We shall modify the following methods:
SaveNodeb(nbIdentity *entities.NbIdentity, nodebInfo *entities.NodebInfo) error
- Change signature to:
SaveNodeb(nbIdentity *entities.NbIdentity, nodebInfo *entities.NodebInfo) error
- Modify implementation:
- Remove UNKNOWN nodeType handling (reason: setup is now deterministic)
- Remove save nbIdentity code - it would be called sequentially externally
- Change signature to:
RemoveEnb(nodebInfo *entities.NodebInfo) error
- Modify implementation:
- Delete remove nbIdentity code - it would be called sequentially externally
- Modify implementation:
Add
AddNbIdentity(nodeType entities.Node_Type, nbIdentity *entities.NbIdentity) error UpdateNbIdentity(nodeType entities.Node_Type, oldNbIdentity *entities.NbIdentity, newNbIdentity *entities.NbIdentity) error RemoveNbIdentity(nodeType entities.Node_Type, nbIdentity *entities.NbIdentity) error
RnibReader Changes
Modify
We shall modify the following methods:
GetListNodebIds() ([]*entities.NbIdentity, error)
- Remove UNKNOWN nodeType handling (reason: setup is now deterministic)