/// <summary> /// Adds a server to the cluster /// </summary> public void Add(string label, IRestServer server) { Servers.Add(label, server); if (Started) { OnBeforeStartEach?.Invoke(server); server.Start(); OnAfterStartEach?.Invoke(server); } }
/// <summary> /// Starts each server in the cluster /// </summary> public void StartAll() { OnBeforeStartAll?.Invoke(); foreach (var server in Servers.Values.Where(server => !server.IsListening)) { OnBeforeStartEach?.Invoke(); server.Start(); OnAfterStartEach?.Invoke(); } OnAfterStartAll?.Invoke(); Started = true; }