using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LightReflectiveMirror.LoadBalancing { public partial class Endpoint { public static string allCachedServers = "[]"; public static string NorthAmericaCachedServers = "[]"; public static string SouthAmericaCachedServers = "[]"; public static string EuropeCachedServers = "[]"; public static string AsiaCachedServers = "[]"; public static string AfricaCachedServers = "[]"; public static string OceaniaCachedServers = "[]"; private static List _northAmericaServers = new(); private static List _southAmericaServers = new(); private static List _europeServers = new(); private static List _africaServers = new(); private static List _asiaServers = new(); 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() { nodeCount = Program.instance.availableRelayServers.Count, uptime = DateTime.Now - Program.startupTime, CCU = Program.instance.GetTotalCCU(), totalServerCount = Program.instance.GetTotalServers(), }; } } }