Improved console ui disposing
This commit is contained in:
parent
48e2e1eb98
commit
610501ef19
|
@ -6,7 +6,7 @@ using Moonlight.Features.Servers.Models.Enums;
|
||||||
|
|
||||||
namespace Moonlight.Features.Servers.Helpers;
|
namespace Moonlight.Features.Servers.Helpers;
|
||||||
|
|
||||||
public class ServerConsole
|
public class ServerConsole : IDisposable
|
||||||
{
|
{
|
||||||
public SmartEventHandler<ServerState> OnStateChange { get; set; } = new();
|
public SmartEventHandler<ServerState> OnStateChange { get; set; } = new();
|
||||||
public SmartEventHandler<ServerStats> OnStatsChange { get; set; } = new();
|
public SmartEventHandler<ServerStats> OnStatsChange { get; set; } = new();
|
||||||
|
@ -127,4 +127,14 @@ public class ServerConsole
|
||||||
lock (MessageCache)
|
lock (MessageCache)
|
||||||
return MessageCache.ToArray();
|
return MessageCache.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async void Dispose()
|
||||||
|
{
|
||||||
|
MessageCache.Clear();
|
||||||
|
|
||||||
|
if (WebSocket.State == WebSocketState.Open)
|
||||||
|
await WebsocketStream.Close();
|
||||||
|
|
||||||
|
WebSocket.Dispose();
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -308,7 +308,10 @@
|
||||||
await UpdateTimer.DisposeAsync();
|
await UpdateTimer.DisposeAsync();
|
||||||
|
|
||||||
if (Console != null)
|
if (Console != null)
|
||||||
|
{
|
||||||
await Console.Close();
|
await Console.Close();
|
||||||
|
Console.Dispose();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private int GetIndex()
|
private int GetIndex()
|
||||||
|
|
|
@ -79,7 +79,7 @@
|
||||||
foreach (var line in ServerConsole.Messages.TakeLast(50))
|
foreach (var line in ServerConsole.Messages.TakeLast(50))
|
||||||
{
|
{
|
||||||
var lineModified = line.Replace("\n", "\n\r");
|
var lineModified = line.Replace("\n", "\n\r");
|
||||||
text += lineModified;
|
text += lineModified + "\n\r";
|
||||||
}
|
}
|
||||||
|
|
||||||
await Terminal.Write(text);
|
await Terminal.Write(text);
|
||||||
|
|
Loading…
Reference in a new issue