aboutsummaryrefslogtreecommitdiff
path: root/zenserver/config.cpp
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2022-06-01 10:23:43 +0200
committerDan Engelbrecht <[email protected]>2022-06-01 10:23:43 +0200
commitf8d110ad0ebf43bbae18db5bef5c38f3c37f5234 (patch)
treeac681345d584682f8a7e63526bb6c6c03b4c8c2d /zenserver/config.cpp
parentMerge pull request #115 from EpicGames/de/block-gc-of-current-write-block (diff)
downloadzen-f8d110ad0ebf43bbae18db5bef5c38f3c37f5234.tar.xz
zen-f8d110ad0ebf43bbae18db5bef5c38f3c37f5234.zip
Make it possible to configure GC monitoring interval
command line: --gc-monitor-interval-seconds lua: monitorintervalseconds
Diffstat (limited to 'zenserver/config.cpp')
-rw-r--r--zenserver/config.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/zenserver/config.cpp b/zenserver/config.cpp
index be91ae4f8..0775eb736 100644
--- a/zenserver/config.cpp
+++ b/zenserver/config.cpp
@@ -478,6 +478,13 @@ ParseCliOptions(int argc, char* argv[], ZenServerOptions& ServerOptions)
"Size of gc disk reserve in bytes.",
cxxopts::value<uint64_t>(ServerOptions.GcConfig.DiskReserveSize)->default_value("268435456"),
"");
+
+ options.add_option("gc",
+ "",
+ "gc-monitor-interval-seconds",
+ "Garbage collection interval in seconds. Default set to 0 (Off).",
+ cxxopts::value<int32_t>(ServerOptions.GcConfig.MonitorIntervalSeconds)->default_value("30"),
+ "");
try
{
auto result = options.parse(argc, argv);
@@ -770,8 +777,9 @@ ParseConfigFile(const std::filesystem::path& Path, ZenServerOptions& ServerOptio
if (sol::optional<sol::table> GcConfig = lua["gc"])
{
- ServerOptions.GcConfig.IntervalSeconds = GcConfig.value().get_or("intervalseconds", 0);
- ServerOptions.GcConfig.DiskReserveSize = GcConfig.value().get_or("diskreservesize", uint64_t(1u << 28));
+ ServerOptions.GcConfig.MonitorIntervalSeconds = GcConfig.value().get_or("monitorintervalseconds", 30);
+ ServerOptions.GcConfig.IntervalSeconds = GcConfig.value().get_or("intervalseconds", 0);
+ ServerOptions.GcConfig.DiskReserveSize = GcConfig.value().get_or("diskreservesize", uint64_t(1u << 28));
if (sol::optional<sol::table> CacheGcConfig = GcConfig.value()["cache"])
{