diff --git a/src/Tgstation.Server.Host/Components/Engine/WindowsByondInstaller.cs b/src/Tgstation.Server.Host/Components/Engine/WindowsByondInstaller.cs
index ce2c7704e2..971800885f 100644
--- a/src/Tgstation.Server.Host/Components/Engine/WindowsByondInstaller.cs
+++ b/src/Tgstation.Server.Host/Components/Engine/WindowsByondInstaller.cs
@@ -77,14 +77,14 @@ namespace Tgstation.Server.Host.Components.Engine
readonly IProcessExecutor processExecutor;
///
- /// The for the .
+ /// The for the .
///
- readonly GeneralConfiguration generalConfiguration;
+ readonly IOptionsMonitor generalConfigurationOptions;
///
- /// The for the .
+ /// The for the .
///
- readonly SessionConfiguration sessionConfiguration;
+ readonly IOptionsMonitor sessionConfigurationOptions;
///
/// The for the .
@@ -100,8 +100,8 @@ namespace Tgstation.Server.Host.Components.Engine
/// Initializes a new instance of the class.
///
/// The value of .
- /// The containing the value of .
- /// The containing the value of .
+ /// The containing the value of .
+ /// The containing the value of .
/// The for the .
/// The for the .
/// The for the .
@@ -109,14 +109,14 @@ namespace Tgstation.Server.Host.Components.Engine
IProcessExecutor processExecutor,
IIOManager ioManager,
IFileDownloader fileDownloader,
- IOptions generalConfigurationOptions,
- IOptions sessionConfigurationOptions,
+ IOptionsMonitor generalConfigurationOptions,
+ IOptionsMonitor sessionConfigurationOptions,
ILogger logger)
: base(ioManager, logger, fileDownloader)
{
this.processExecutor = processExecutor ?? throw new ArgumentNullException(nameof(processExecutor));
- generalConfiguration = generalConfigurationOptions?.Value ?? throw new ArgumentNullException(nameof(generalConfigurationOptions));
- sessionConfiguration = sessionConfigurationOptions?.Value ?? throw new ArgumentNullException(nameof(sessionConfigurationOptions));
+ this.generalConfigurationOptions = generalConfigurationOptions ?? throw new ArgumentNullException(nameof(generalConfigurationOptions));
+ this.sessionConfigurationOptions = sessionConfigurationOptions ?? throw new ArgumentNullException(nameof(sessionConfigurationOptions));
var useServiceSpecialTactics = Environment.Is64BitProcess && Environment.UserName == $"{Environment.MachineName}$";
@@ -150,7 +150,7 @@ namespace Tgstation.Server.Host.Components.Engine
installDirectXTask,
};
- if (!generalConfiguration.SkipAddingByondFirewallException)
+ if (!generalConfigurationOptions.CurrentValue.SkipAddingByondFirewallException)
{
var firewallTask = AddDreamDaemonToFirewall(version, path, deploymentPipelineProcesses, cancellationToken);
tasks.Add(firewallTask);
@@ -165,7 +165,7 @@ namespace Tgstation.Server.Host.Components.Engine
CheckVersionValidity(version);
ArgumentNullException.ThrowIfNull(path);
- if (generalConfiguration.SkipAddingByondFirewallException)
+ if (generalConfigurationOptions.CurrentValue.SkipAddingByondFirewallException)
return;
if (version.Version < DDExeVersion)
@@ -224,7 +224,7 @@ namespace Tgstation.Server.Host.Components.Engine
///
protected override string GetDreamDaemonName(Version byondVersion, out bool supportsCli)
{
- supportsCli = byondVersion >= DDExeVersion && !sessionConfiguration.ForceUseDreamDaemonExe;
+ supportsCli = byondVersion >= DDExeVersion && !sessionConfigurationOptions.CurrentValue.ForceUseDreamDaemonExe;
return supportsCli ? "dd.exe" : "dreamdaemon.exe";
}
@@ -336,7 +336,7 @@ namespace Tgstation.Server.Host.Components.Engine
Logger,
ruleName,
dreamDaemonPath,
- deploymentPipelineProcesses && sessionConfiguration.LowPriorityDeploymentProcesses,
+ deploymentPipelineProcesses && sessionConfigurationOptions.CurrentValue.LowPriorityDeploymentProcesses,
cancellationToken);
}
catch (Exception ex)
diff --git a/tests/Tgstation.Server.Tests/Live/Instance/EngineTest.cs b/tests/Tgstation.Server.Tests/Live/Instance/EngineTest.cs
index ffdaeb63e4..dc19ed91de 100644
--- a/tests/Tgstation.Server.Tests/Live/Instance/EngineTest.cs
+++ b/tests/Tgstation.Server.Tests/Live/Instance/EngineTest.cs
@@ -284,10 +284,10 @@ namespace Tgstation.Server.Tests.Live.Instance
async Task TestCustomInstalls(CancellationToken cancellationToken)
{
- var generalConfigOptionsMock = new Mock>();
- generalConfigOptionsMock.SetupGet(x => x.Value).Returns(new GeneralConfiguration());
- var sessionConfigOptionsMock = new Mock>();
- sessionConfigOptionsMock.SetupGet(x => x.Value).Returns(new SessionConfiguration());
+ var generalConfigOptionsMock = new Mock>();
+ generalConfigOptionsMock.SetupGet(x => x.CurrentValue).Returns(new GeneralConfiguration());
+ var sessionConfigOptionsMock = new Mock>();
+ sessionConfigOptionsMock.SetupGet(x => x.CurrentValue).Returns(new SessionConfiguration());
var assemblyInformationProvider = new AssemblyInformationProvider();
diff --git a/tests/Tgstation.Server.Tests/Live/Instance/InstanceTest.cs b/tests/Tgstation.Server.Tests/Live/Instance/InstanceTest.cs
index 76041a375f..834cfb3837 100644
--- a/tests/Tgstation.Server.Tests/Live/Instance/InstanceTest.cs
+++ b/tests/Tgstation.Server.Tests/Live/Instance/InstanceTest.cs
@@ -103,6 +103,7 @@ namespace Tgstation.Server.Tests.Live.Instance
{
OpenDreamGitUrl = openDreamUrl,
};
+
mockOptions.SetupGet(x => x.CurrentValue).Returns(genConfig);
IEngineInstaller byondInstaller =
compatVersion.Engine == EngineType.OpenDream
@@ -131,8 +132,8 @@ namespace Tgstation.Server.Tests.Live.Instance
Mock.Of(),
Mock.Of(),
fileDownloader,
- Options.Create(genConfig),
- Options.Create(new SessionConfiguration()),
+ Mock.Of>(),
+ Mock.Of>(),
Mock.Of>())
: new PosixByondInstaller(
Mock.Of(),
diff --git a/tests/Tgstation.Server.Tests/TestVersions.cs b/tests/Tgstation.Server.Tests/TestVersions.cs
index a0809b78f6..0f13dd830a 100644
--- a/tests/Tgstation.Server.Tests/TestVersions.cs
+++ b/tests/Tgstation.Server.Tests/TestVersions.cs
@@ -105,10 +105,10 @@ namespace Tgstation.Server.Tests
[TestMethod]
public async Task TestDDExeByondVersion()
{
- var mockGeneralConfigurationOptions = new Mock>();
- mockGeneralConfigurationOptions.SetupGet(x => x.Value).Returns(new GeneralConfiguration());
- var mockSessionConfigurationOptions = new Mock>();
- mockSessionConfigurationOptions.SetupGet(x => x.Value).Returns(new SessionConfiguration());
+ var mockGeneralConfigurationOptions = new Mock>();
+ mockGeneralConfigurationOptions.SetupGet(x => x.CurrentValue).Returns(new GeneralConfiguration());
+ var mockSessionConfigurationOptions = new Mock>();
+ mockSessionConfigurationOptions.SetupGet(x => x.CurrentValue).Returns(new SessionConfiguration());
using var loggerFactory = LoggerFactory.Create(builder =>
{
@@ -167,13 +167,13 @@ namespace Tgstation.Server.Tests
[TestMethod]
public async Task TestMapThreadsByondVersion()
{
- var mockGeneralConfigurationOptions = new Mock>();
- mockGeneralConfigurationOptions.SetupGet(x => x.Value).Returns(new GeneralConfiguration
+ var mockGeneralConfigurationOptions = new Mock>();
+ mockGeneralConfigurationOptions.SetupGet(x => x.CurrentValue).Returns(new GeneralConfiguration
{
SkipAddingByondFirewallException = true,
});
- var mockSessionConfigurationOptions = new Mock>();
- mockSessionConfigurationOptions.SetupGet(x => x.Value).Returns(new SessionConfiguration());
+ var mockSessionConfigurationOptions = new Mock>();
+ mockSessionConfigurationOptions.SetupGet(x => x.CurrentValue).Returns(new SessionConfiguration());
using var loggerFactory = LoggerFactory.Create(builder =>
{