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) { 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; } } } }