private void InitializeHolders() { EdgeHolder = new EdgeHolder(); NodeHolder = new NodeHolder(); NodeHolder.Terminated += NodeHolder_Terminated; RunReport = new RunReport(AlgorithmType, GraphType, NodeCount); }
private void HandleReport() { RunReport.ReportNodes(NodeHolder.GetCopyList(), false); RunReport.GatherMessageCounts(NodeHolder.GetCopyList()); RunReport.GatherMoveCount(NodeHolder.GetCopyList()); RunReport.ReportInvalidNodes(NodeHolder.GetCopyList()); RunReport.ReportDegrees(NodeHolder.GetCopyList()); RunReport.ReportCongestions(NodeHolder.GetCopyList()); RunReport.SetDuration(Duration.TotalSeconds); using (var streamWriter = new StreamWriter("test.txt", true)) streamWriter.WriteLine(RunReport.ToString()); }
private void Run() { StartTime = DateTime.Now; InitializeHolders(); var graphGenerator = GraphFactory.GetGraphGenerator(GraphType); graphGenerator.Generate(NodeCount, NodeHolder, EdgeHolder, AlgorithmType); RunReport.ReportTopology(EdgeHolder.GetCopyList()); RunReport.ReportNodes(NodeHolder.GetCopyList(), true); foreach (var node in NodeHolder.GetCopyList().AsParallel()) { Task.Run(() => { node.UserDefined_SingleInitiatorProcedure(); }); } NodeHolder.StartTerminationDetection(); }