From a5983e427cfe70eb6d5ed0008f4d217c67b0b497 Mon Sep 17 00:00:00 2001 From: Stone_Red <56473591+Stone-Red-Code@users.noreply.github.com> Date: Tue, 12 Dec 2023 12:25:51 +0100 Subject: [PATCH] Fix output of `add host` command --- HyperbolicDownloaderApi/Commands/HostCommands.cs | 11 ++++++++--- .../Networking/HostsManager.cs | 16 +++++++++++++--- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/HyperbolicDownloaderApi/Commands/HostCommands.cs b/HyperbolicDownloaderApi/Commands/HostCommands.cs index ab5b542..097847d 100644 --- a/HyperbolicDownloaderApi/Commands/HostCommands.cs +++ b/HyperbolicDownloaderApi/Commands/HostCommands.cs @@ -148,9 +148,14 @@ public class HostCommands if (recivedHosts is not null) { - ApiManager.SendNotificationMessageNewLine($"Success! Added {recivedHosts.Count} new host(s).", NotificationMessageType.Success); - hostsManager.AddRange(recivedHosts); - hostsManager.Add(new NetworkSocket(ipAddress.ToString(), port, DateTime.Now)); + int newHosts = hostsManager.AddRange(recivedHosts); + + if (hostsManager.Add(new NetworkSocket(ipAddress.ToString(), port, DateTime.Now))) + { + newHosts++; + } + + ApiManager.SendNotificationMessageNewLine($"Success! Added {newHosts} new host(s).", NotificationMessageType.Success); } else { diff --git a/HyperbolicDownloaderApi/Networking/HostsManager.cs b/HyperbolicDownloaderApi/Networking/HostsManager.cs index 86eddcc..4185ac1 100644 --- a/HyperbolicDownloaderApi/Networking/HostsManager.cs +++ b/HyperbolicDownloaderApi/Networking/HostsManager.cs @@ -10,23 +10,33 @@ public class HostsManager private List hosts = new List(); public int Count => hosts.Count; - public void AddRange(IEnumerable hosts) + public int AddRange(IEnumerable hosts) { + int newHosts = 0; + foreach (NetworkSocket host in hosts) { - Add(host); + if (Add(host)) + { + newHosts++; + } } SaveHosts(); + + return newHosts; } - public void Add(NetworkSocket host) + public bool Add(NetworkSocket host) { if (!Contains(host)) { hosts.Add(host); + return true; } SaveHosts(); + + return false; } public void Remove(NetworkSocket host, bool forceRemove = false)