Support adding backend grpc port to netsim ini file
- Store backend grpc port with key grpc.backend.port in netsim.ini
- Read ini file before writing grpc.port to file to prevent overwriting
other fields
Test: ninja -C objs netsimd
Change-Id: I748dd06f823b4421c40b56be9e03fa3d8974fa28
diff --git a/src/frontend/frontend_server.cc b/src/frontend/frontend_server.cc
index 386118d..f743191 100644
--- a/src/frontend/frontend_server.cc
+++ b/src/frontend/frontend_server.cc
@@ -103,6 +103,7 @@
// Writes port to ini file.
auto filepath = osutils::GetDiscoveryDirectory().append("netsim.ini");
IniFile iniFile(filepath);
+ iniFile.Read();
iniFile.Set("grpc.port", std::to_string(selected_port));
iniFile.Write();
diff --git a/src/util/os_utils.cc b/src/util/os_utils.cc
index 84c2bcd..9ffb470 100644
--- a/src/util/os_utils.cc
+++ b/src/util/os_utils.cc
@@ -63,7 +63,7 @@
return path;
}
-std::optional<std::string> GetServerAddress() {
+std::optional<std::string> GetServerAddress(bool frontend_server) {
auto filepath = osutils::GetDiscoveryDirectory().append("netsim.ini");
if (!std::filesystem::exists(filepath)) {
BtsLog("Unable to find discovery directory: %s", filepath.c_str());
@@ -75,7 +75,7 @@
}
IniFile iniFile(filepath);
iniFile.Read();
- return iniFile.Get("grpc.port");
+ return iniFile.Get(frontend_server ? "grpc.port" : "grpc.backend.port");
}
} // namespace osutils
} // namespace netsim
diff --git a/src/util/os_utils.h b/src/util/os_utils.h
index d7f8593..531cda7 100644
--- a/src/util/os_utils.h
+++ b/src/util/os_utils.h
@@ -32,6 +32,6 @@
/**
* Return the frontend grpc port.
*/
-std::optional<std::string> GetServerAddress();
+std::optional<std::string> GetServerAddress(bool frontend_server = true);
} // namespace osutils
} // namespace netsim