/// <summary> /// SolvePartialProblem is sent by TM /// </summary> /// <param name="messagePackage"></param> private void handleSolvePartialProblemsMessage(MessagePackage messagePackage) { /* add partial tasks to subTask list in a task */ SolvePartialProblemsMessage message = (SolvePartialProblemsMessage)messagePackage.Message; InformBackup(message); Task task = taskTracker.GetTask((int)message.Id); task.Status = TaskStatus.Divided; for (int i = 0; i < message.PartialProblems.Count(); i++) { Task subTask = new Task((int)message.Id, message.ProblemType, message.PartialProblems[i].Data); subTask.Status = TaskStatus.New; task.AddSubTask(subTask); } /***********************************************/ if (Server.primaryMode) { NoOperationMessage response = new NoOperationMessage(clientTracker.BackupServers); server.Send(messagePackage.Socket, response); SmartConsole.PrintLine("Sent a NoOperation Message", SmartConsole.DebugLevel.Basic); } }