RICPLT-2727 - E2 Initialized (Routing Manager)
[ric-plt/e2mgr.git] / E2Manager / app / main.go
index 4ac9ac6..a54b8b2 100644 (file)
@@ -18,6 +18,7 @@
 package main
 
 import (
+       "e2mgr/clients"
        "e2mgr/configuration"
        "e2mgr/controllers"
        "e2mgr/httpserver"
@@ -34,6 +35,7 @@ import (
        "fmt"
        "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/reader"
        "gerrit.o-ran-sc.org/r/ric-plt/sdlgo"
+       "net/http"
        "os"
        "strconv"
 )
@@ -54,20 +56,25 @@ func main() {
        rmrMessenger := msgImpl.Init("tcp:"+strconv.Itoa(config.Rmr.Port), config.Rmr.MaxMsgSize, 0, logger)
        rmrSender := rmrsender.NewRmrSender(logger, rmrMessenger)
        ranSetupManager := managers.NewRanSetupManager(logger, rmrSender, rnibDataService)
+       e2tInstancesManager := managers.NewE2TInstancesManager(rnibDataService, logger)
+       e2tShutdownManager := managers.NewE2TShutdownManager(logger, rnibDataService, e2tInstancesManager)
+       e2tKeepAliveWorker := managers.NewE2TKeepAliveWorker(logger, rmrSender, e2tInstancesManager, e2tShutdownManager, config)
+       routingManagerClient := clients.NewRoutingManagerClient(logger, config, &http.Client{})
        rmrNotificationHandlerProvider := rmrmsghandlerprovider.NewNotificationHandlerProvider()
-       rmrNotificationHandlerProvider.Init(logger, config, rnibDataService, rmrSender, ranSetupManager)
+       rmrNotificationHandlerProvider.Init(logger, config, rnibDataService, rmrSender, ranSetupManager, e2tInstancesManager, routingManagerClient)
 
        notificationManager := notificationmanager.NewNotificationManager(logger, rmrNotificationHandlerProvider)
        rmrReceiver := rmrreceiver.NewRmrReceiver(logger, rmrMessenger, notificationManager)
 
+       e2tInstancesManager.ResetKeepAliveTimestampsForAllE2TInstances()
+
        defer rmrMessenger.Close()
 
        go rmrReceiver.ListenAndHandle()
+       go e2tKeepAliveWorker.Execute()
 
-       httpMsgHandlerProvider := httpmsghandlerprovider.NewIncomingRequestHandlerProvider(logger, rmrSender, config, rnibDataService, ranSetupManager)
+       httpMsgHandlerProvider := httpmsghandlerprovider.NewIncomingRequestHandlerProvider(logger, rmrSender, config, rnibDataService, ranSetupManager, e2tInstancesManager)
        rootController := controllers.NewRootController(rnibDataService)
        nodebController := controllers.NewNodebController(logger, httpMsgHandlerProvider)
        _ = httpserver.Run(logger, config.Http.Port, rootController, nodebController)
-}
-
-
+}
\ No newline at end of file