Skip to content

Commit

Permalink
Add command line argument to control restart behaviour
Browse files Browse the repository at this point in the history
  • Loading branch information
davewalker5 committed Apr 8, 2024
1 parent d4c05fc commit 862f458
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ public enum CommandLineOptionType
Port,
SocketReadTimeout,
ApplicationTimeout,
RestartOnTimeout,
TimeToRecent,
TimeToStale,
TimeToRemoval,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ public class TrackerSettingsBuilder : ITrackerSettingsBuilder
parser.Add(CommandLineOptionType.Port, false, "--port", "-p", "Port to connect to for data stream", 1, 1);
parser.Add(CommandLineOptionType.SocketReadTimeout, false, "--read-timeout", "-t", "Timeout (ms) for socket read operations", 1, 1);
parser.Add(CommandLineOptionType.ApplicationTimeout, false, "--app-timeout", "-a", "Timeout (ms) after which the application will quit of no messages are recieved", 1, 1);
parser.Add(CommandLineOptionType.RestartOnTimeout, false, "--auto-restart", "-ar", "Automatically restart the tracker after a timeout", 1, 1);
parser.Add(CommandLineOptionType.TimeToRecent, false, "--recent", "-r", "Time (ms) to 'recent' staleness", 1, 1);
parser.Add(CommandLineOptionType.TimeToStale, false, "--stale", "-s", "Time (ms) to 'stale' staleness", 1, 1);
parser.Add(CommandLineOptionType.TimeToRemoval, false, "--remove", "-x", "Time (ms) to removal of stale records", 1, 1);
Expand Down Expand Up @@ -52,6 +53,9 @@ public class TrackerSettingsBuilder : ITrackerSettingsBuilder
values = parser.GetValues(CommandLineOptionType.ApplicationTimeout);
if (values != null) settings!.ApplicationTimeout = int.Parse(values[0]);

values = parser.GetValues(CommandLineOptionType.RestartOnTimeout);
if (values != null) settings!.RestartOnTimeout = bool.Parse(values[0]);

values = parser.GetValues(CommandLineOptionType.TimeToRecent);
if (values != null) settings!.TimeToRecent = int.Parse(values[0]);

Expand Down
8 changes: 8 additions & 0 deletions src/BaseStationReader.Tests/TrackerSettingsBuilderTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,14 @@ public void OverrideApplicationTimeoutTest()
Assert.AreEqual(45198, settings?.ApplicationTimeout);
}

[TestMethod]
public void OverrideRestartOnTimeoutTest()
{
var args = new string[] { "--auto-restart", "false" };
var settings = new TrackerSettingsBuilder().BuildSettings(args, "trackersettings.json");
Assert.IsFalse(settings?.RestartOnTimeout);
}

[TestMethod]
public void OverrideTimeToRecentTest()
{
Expand Down

0 comments on commit 862f458

Please sign in to comment.