From 96dbf70777a42447a84b90acb88fa432352f9690 Mon Sep 17 00:00:00 2001 From: cxxpxr <60411087+cxxpxr@users.noreply.github.com> Date: Wed, 7 Apr 2021 12:11:15 -0400 Subject: [PATCH] nvm --- .../LRM_LoadBalancer/DataContainer.cs | 1 - .../LRM_LoadBalancer/Endpoint/Endpoint.cs | 5 +- .../Endpoint/EndpointExtra.cs | 52 +++++++------------ .../Endpoint/EndpointVariables.cs | 16 ------ 4 files changed, 21 insertions(+), 53 deletions(-) diff --git a/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/DataContainer.cs b/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/DataContainer.cs index 0ef08d9..71217b1 100644 --- a/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/DataContainer.cs +++ b/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/DataContainer.cs @@ -53,5 +53,4 @@ namespace LightReflectiveMirror.LoadBalancing } public enum LRMRegions { Any, NorthAmerica, SouthAmerica, Europe, Asia, Africa, Oceania } - public enum LRMServerOpCode { Clear, Cache }; } diff --git a/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/Endpoint/Endpoint.cs b/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/Endpoint/Endpoint.cs index bc73d8a..ac0fb24 100644 --- a/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/Endpoint/Endpoint.cs +++ b/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/Endpoint/Endpoint.cs @@ -18,6 +18,7 @@ namespace LightReflectiveMirror.LoadBalancing [RestResource] public partial class Endpoint { + /// /// Sent from an LRM server node /// adds it to the list if authenticated. @@ -74,7 +75,7 @@ namespace LightReflectiveMirror.LoadBalancing if (!string.IsNullOrEmpty(auth) && auth == Program.conf.AuthKey) { var relays = Program.instance.availableRelayServers.ToList(); - PerformActionToAllServers(LRMServerOpCode.Clear); + ClearAllServersLists(); List requestedRooms; for (int i = 0; i < relays.Count; i++) @@ -105,7 +106,7 @@ namespace LightReflectiveMirror.LoadBalancing } } - PerformActionToAllServers(LRMServerOpCode.Cache); + CacheAllServers(); } } diff --git a/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/Endpoint/EndpointExtra.cs b/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/Endpoint/EndpointExtra.cs index 1f3f6b0..95390cd 100644 --- a/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/Endpoint/EndpointExtra.cs +++ b/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/Endpoint/EndpointExtra.cs @@ -1,45 +1,29 @@ using Newtonsoft.Json; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace LightReflectiveMirror.LoadBalancing { public partial class Endpoint { - /// - /// We can write all server operations in here, - /// to make it more clean. - /// - /// - /// - public static void PerformActionToAllServers(LRMServerOpCode operation, Action onComplete = null) + void CacheAllServers() { - switch (operation) - { - case LRMServerOpCode.Clear: - for (int i = 0; i < _allServersToPerformActionOn.Count; i++) - _allServersToPerformActionOn[i].Item1.Clear(); - break; - - // Removes the old cached string and reserialzes the new one - case LRMServerOpCode.Cache: - for (int i = 0; i < _allServersToPerformActionOn.Count; i++) - { - var tuple = _allServersToPerformActionOn[i]; - var serializedData = JsonConvert.SerializeObject(_allServersToPerformActionOn[i].Item1); - - _allServersToPerformActionOn.Remove(tuple); - _allServersToPerformActionOn.Add(new Tuple, string>(tuple.Item1, serializedData)); - } - break; - default: - break; - } - + allCachedServers = JsonConvert.SerializeObject(_allServers); + NorthAmericaCachedServers = JsonConvert.SerializeObject(_northAmericaServers); + SouthAmericaCachedServers = JsonConvert.SerializeObject(_southAmericaServers); + EuropeCachedServers = JsonConvert.SerializeObject(_europeServers); + AsiaCachedServers = JsonConvert.SerializeObject(_asiaServers); + AfricaCachedServers = JsonConvert.SerializeObject(_africaServers); + OceaniaCachedServers = JsonConvert.SerializeObject(_oceaniaServers); + } + void ClearAllServersLists() + { + _northAmericaServers.Clear(); + _southAmericaServers.Clear(); + _europeServers.Clear(); + _asiaServers.Clear(); + _africaServers.Clear(); + _oceaniaServers.Clear(); + _allServers.Clear(); } } } diff --git a/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/Endpoint/EndpointVariables.cs b/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/Endpoint/EndpointVariables.cs index 4f6db50..715d52a 100644 --- a/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/Endpoint/EndpointVariables.cs +++ b/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/Endpoint/EndpointVariables.cs @@ -24,22 +24,6 @@ namespace LightReflectiveMirror.LoadBalancing private static List _oceaniaServers = new(); private static List _allServers = new(); - /// - /// This holds all the servers. It's a bit confusing, - /// but basically if we have a container for them then we - /// can shorten up methods that involve operations with all of them. - /// - private static List, string>> _allServersToPerformActionOn = new() - { - new Tuple, string>(_northAmericaServers, NorthAmericaCachedServers), - new Tuple, string>(_southAmericaServers, SouthAmericaCachedServers), - new Tuple, string>(_europeServers, EuropeCachedServers), - new Tuple, string>(_africaServers, AfricaCachedServers), - new Tuple, string>(_asiaServers, AsiaCachedServers), - new Tuple, string>(_oceaniaServers, OceaniaCachedServers), - new Tuple, string>(_allServers, allCachedServers), - }; - private LoadBalancerStats _stats { get => new()