public static void HandleAuthRequest(Client client, object data) { if (client.Generator != null) { return; } AuthData authData = (AuthData)data; byte attemptsLeft; client.Send(new AuthResponse() { Authenticated = client.Authenticate(authData.Email, authData.Token, out attemptsLeft), AttemptsLeft = attemptsLeft }); if (client.Authenticated) { Console.WriteLine("User {0} authenticated.", client.Email); UpdateHandler.UpdateInfo(client); ProfileHandler.SendProfiles(client); ReportsHandler.SendReports(client); } else if (attemptsLeft == 0) { Console.WriteLine("User {0} blocked.", authData.Email); } }
public void Update() { lock (this) { if (_state == TaskState.RUNNING && RunningTime >= Config.TaskUpdateInverval * 1000 * _updateCount) { _updateCount++; if ((int)_currentUsers != (int)(_currentUsers + _deltaUsers)) { long result; try { result = RequestMaker.MakeWebRequest(Timeout, URLs[0]); } catch (Exception) { result = -1; } Console.WriteLine("Task with groupNumber {0} was updated (latency {1}).", TaskGroup, result); _points.Add(new Point() { x = (int)_currentUsers, y = (int)result }); } if (RunningTime >= Duration * 60 * 1000) { TaskDistributor.Distribute(this, 0); _currentUsers = 0; _state = TaskState.FINISHED; Console.WriteLine("Task with groupNumber {0} has finished.", TaskGroup); ServerState.TasksUpdated.Set(); ServerState.RemoveTask(this); SaveResult(); ReportsHandler.SendReports(_client); } else { _currentUsers += _deltaUsers; TaskDistributor.Distribute(this, (int)_currentUsers); } } } }