using System.Collections.Generic; using System.Net; using ZeroLevel.Services.Collections; namespace ZeroLevel.Services.Network.Proxies { internal sealed class ProxyBalancer { private RoundRobinCollection _servers; public ProxyBalancer() { _servers = new RoundRobinCollection(); } public ProxyBalancer(IEnumerable endpoints) { _servers = new RoundRobinCollection(endpoints); } public void AddEndpoint(IPEndPoint ep) => _servers.Add(ep); public IPEndPoint GetServerProxy() { if (_servers.MoveNext()) { return _servers.Current; } return null; } } }