public void Run() { for (var i = 0; i < Constants.SIMUL_DURATION_TIME; i++) { nodes.ForEach(node => node.Next(i)); medium.Next(); } var throughput = (double)medium.AckCount * Constants.ONE_SECOND_TIME / Constants.SIMUL_DURATION_TIME; var mean_packet_delay = nodes.Sum(node => node.Delay) / medium.AckCount / Constants.ONE_SECOND_TIME; var collision_probability = 1 - (double)medium.AckCount / medium.RequestCount; Console.WriteLine(throughput); Console.WriteLine(mean_packet_delay); Console.WriteLine(collision_probability); }