}
type RanReconnectionManager struct {
- logger *logger.Logger
- config *configuration.Configuration
- rnibDataService services.RNibDataService
- ranSetupManager *RanSetupManager
- e2tInstancesManager IE2TInstancesManager
+ logger *logger.Logger
+ config *configuration.Configuration
+ rnibDataService services.RNibDataService
+ ranSetupManager *RanSetupManager
+ e2tAssociationManager *E2TAssociationManager
}
-func NewRanReconnectionManager(logger *logger.Logger, config *configuration.Configuration, rnibDataService services.RNibDataService, ranSetupManager *RanSetupManager, e2tInstancesManager IE2TInstancesManager) *RanReconnectionManager {
+func NewRanReconnectionManager(logger *logger.Logger, config *configuration.Configuration, rnibDataService services.RNibDataService, ranSetupManager *RanSetupManager, e2tAssociationManager *E2TAssociationManager) *RanReconnectionManager {
return &RanReconnectionManager{
- logger: logger,
- config: config,
- rnibDataService: rnibDataService,
- ranSetupManager: ranSetupManager,
- e2tInstancesManager: e2tInstancesManager,
+ logger: logger,
+ config: config,
+ rnibDataService: rnibDataService,
+ ranSetupManager: ranSetupManager,
+ e2tAssociationManager: e2tAssociationManager,
}
}
}
if m.isRanExceededConnectionAttempts(nodebInfo) {
- return m.e2tInstancesManager.RemoveRanFromInstance(nodebInfo.RanName, e2tAddress)
+ return m.e2tAssociationManager.DissociateRan(e2tAddress, nodebInfo.RanName)
}
return nil
int(nodebInfo.GetConnectionAttempts()) < m.config.MaxConnectionAttempts
}
-func (m *RanReconnectionManager) updateNodebInfo(nodebInfo *entities.NodebInfo, connectionStatus entities.ConnectionStatus, resetE2tAddress bool) error {
+func (m *RanReconnectionManager) updateNodebInfo(nodebInfo *entities.NodebInfo, connectionStatus entities.ConnectionStatus) error {
nodebInfo.ConnectionStatus = connectionStatus;
- if resetE2tAddress {
- nodebInfo.AssociatedE2TInstanceAddress = ""
- }
-
err := m.rnibDataService.UpdateNodebInfo(nodebInfo)
if err != nil {
if connectionStatus == entities.ConnectionStatus_SHUTTING_DOWN {
m.logger.Warnf("#RanReconnectionManager.updateUnconnectableRan - RAN name: %s - Cannot reconnect RAN. Reason: connection status is SHUTTING_DOWN", nodebInfo.RanName)
- return m.updateNodebInfo(nodebInfo, entities.ConnectionStatus_SHUT_DOWN, false)
+ return m.updateNodebInfo(nodebInfo, entities.ConnectionStatus_SHUT_DOWN)
}
if m.isRanExceededConnectionAttempts(nodebInfo) {
m.logger.Warnf("#RanReconnectionManager.updateUnconnectableRan - RAN name: %s - Cannot reconnect RAN. Reason: RAN's connection attempts exceeded the limit (%d)", nodebInfo.RanName, m.config.MaxConnectionAttempts)
- return m.updateNodebInfo(nodebInfo, entities.ConnectionStatus_DISCONNECTED, true)
+ return m.updateNodebInfo(nodebInfo, entities.ConnectionStatus_DISCONNECTED)
}
return nil