//supports just one server for now public LoadBalancer(String servers, int loadBalanceConnectTimeout, int loadBalanceIdleTime, int loadBalanceRecoverTime, int loadBalanceSocketTimeout, int keepaliveTimeout, int socketTimeout, bool isDebug) { _log = Logger.GetLogger(); _loadBalanceConnectTimeout = loadBalanceConnectTimeout; _loadBalanceIdleTime = loadBalanceIdleTime; _loadBalanceRecoverTime = loadBalanceRecoverTime; _loadBalanceSocketTimeout = loadBalanceSocketTimeout; _keepaliveTimeout = keepaliveTimeout; _socketTimeout = socketTimeout; _isDebug = isDebug; List <Server> pool = new List <Server>(); String[] sruns = servers.Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < sruns.Length; i++) { String server = sruns[i]; int portIdx = server.LastIndexOf(':'); String host = server.Substring(0, portIdx); IPAddress address = GetIPsForHost(host); int port = int.Parse(server.Substring(portIdx + 1, server.Length - portIdx - 1)); char c = (char)('a' + i); _log.Info("Adding Server '{0}:{1}:{2}'", c, host, port); Server srun = new Server(c, address, port, _loadBalanceConnectTimeout, _loadBalanceIdleTime, _loadBalanceRecoverTime, _socketTimeout); srun.SetDebug(_isDebug); pool.Add(srun); } _servers = pool.ToArray(); _random = new Random(); }
//supports just one server for now public LoadBalancer(String servers, int loadBalanceConnectTimeout, int loadBalanceIdleTime, int loadBalanceRecoverTime, int loadBalanceSocketTimeout, int keepaliveTimeout, int socketTimeout, bool isDebug) { _log = Logger.GetLogger(); _loadBalanceConnectTimeout = loadBalanceConnectTimeout; _loadBalanceIdleTime = loadBalanceIdleTime; _loadBalanceRecoverTime = loadBalanceRecoverTime; _loadBalanceSocketTimeout = loadBalanceSocketTimeout; _keepaliveTimeout = keepaliveTimeout; _socketTimeout = socketTimeout; _isDebug = isDebug; List<Server> pool = new List<Server>(); String[] sruns = servers.Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < sruns.Length; i++) { String server = sruns[i]; int portIdx = server.LastIndexOf(':'); String host = server.Substring(0, portIdx); IPAddress address = GetIPsForHost(host); int port = int.Parse(server.Substring(portIdx + 1, server.Length - portIdx - 1)); char c = (char)('a' + i); _log.Info("Adding Server '{0}:{1}:{2}'", c, host, port); Server srun = new Server(c, address, port, _loadBalanceConnectTimeout, _loadBalanceIdleTime, _loadBalanceRecoverTime, _socketTimeout); srun.SetDebug(_isDebug); pool.Add(srun); } _servers = pool.ToArray(); _random = new Random(); }