public Connection(ILoadBalancerSettings settings) { _socket = new TcpClient(settings.Host, 23); _socket.ReceiveTimeout = 2000; _buffer = new char[_socket.ReceiveBufferSize]; var stream = _socket.GetStream(); _reader = new StreamReader(stream); _writer = new StreamWriter(stream) { AutoFlush = true, NewLine = "\n" }; }
public AlteonLoadBalancer(ILoadBalancerSettings settings) { _settings = settings; }
/// <inheritdoc/> public DynamicServerListLoadBalancer(string name, IRule rule, IPing ping, IServerList <Server> serverList, IServerListUpdater serverListUpdater, IServerListFilter <Server> serverListFilter, ILoadBalancerSettings settings, ILogger logger = null) : base(name, rule, ping, settings, logger) { _serverList = serverList; _serverListUpdater = serverListUpdater; _serverListFilter = serverListFilter; UpdateListOfServersAsync().GetAwaiter().GetResult(); if (serverListUpdater != null) { var updateProcessing = false; serverListUpdater.Start(async() => { if (updateProcessing) { return; } updateProcessing = true; try { await UpdateListOfServersAsync(); } finally { updateProcessing = false; } }); } }