Return Task to keep GC from collecting the consoleOutput

This commit is contained in:
Glax 2024-01-03 20:06:43 +01:00
parent 4215cc0cdc
commit d4e2dbb4b1
2 changed files with 6 additions and 3 deletions

View File

@ -5,7 +5,7 @@ namespace VRC_Console;
public partial class OSCCollar
{
private const byte CoordinateSystemSize = 16;
private void SetupConsoleOutput()
private Task SetupConsoleOutput()
{
Layout layout = new Layout().SplitRows(
new Layout("Top"),
@ -14,6 +14,8 @@ public partial class OSCCollar
new Layout("Variable-Values"),
new Layout("Position")
));
if(OperatingSystem.IsWindows())
Console.WindowWidth += 20;
Table configTable = new Table();
configTable.AddColumn("ConVar");
configTable.AddColumn("Value");
@ -45,7 +47,7 @@ public partial class OSCCollar
variableTable.AddRow("CalibrationX", "");
variableTable.AddRow("CalibrationY", "");
AnsiConsole.Live(layout).StartAsync(async displayContext =>
return AnsiConsole.Live(layout).StartAsync(async displayContext =>
{
while (true)
{

View File

@ -36,6 +36,7 @@ public partial class OSCCollar
private OSCQueryService? OscQueryService { get; set; }
private OscServer _server = null!;
private OscClient _client = null!;
private Task _consoleOutputTask;
private float _leashStretch;
private readonly Vector _unitVectorLeash = new(1, 0);
@ -68,7 +69,7 @@ public partial class OSCCollar
this._portReceive = Extensions.GetAvailableUdpPort();
this.SetupOSCServer();
this.SetupOSCQuery();
this.SetupConsoleOutput();
this._consoleOutputTask = this.SetupConsoleOutput();
}
private OSCCollar(string ip = "127.0.0.1", int portSend = 9000, double radius = 100, double calibrationX = 0,