diff --git a/EduNetworkBuilder/Network.cs b/EduNetworkBuilder/Network.cs index 040b25f..08da9f9 100644 --- a/EduNetworkBuilder/Network.cs +++ b/EduNetworkBuilder/Network.cs @@ -66,6 +66,7 @@ namespace EduNetworkBuilder private List PacketColors = new List(); private List PacketImages = new List(); private List PingTestStats = new List(); + private List BrokenItems = new List(); /// /// WhatFrom: If we are launched from a homework, we remember it here. @@ -1936,6 +1937,9 @@ namespace EduNetworkBuilder int BreakNetComponent(NetworkComponent What, HowToBreak How, string Data) { int didit = 0; + if (What == null) return 0; + string WhatBreak = What.hostname + "-" + How.ToString() + "-" + Data; + if (BrokenItems.Contains(WhatBreak)) return 0; //it was already done NetworkDevice tDevice = null; NetworkLink tLink = null; if (What is NetworkDevice) tDevice = (NetworkDevice)What; @@ -1998,6 +2002,8 @@ namespace EduNetworkBuilder didit = 2; break; } + if(didit > 0) + BrokenItems.Add(WhatBreak); if (didit > 0) Console.WriteLine("Broke it:" + What.hostname + " : " + How + " : " + Data); if (didit == 0) Console.WriteLine("Did not break it:" + What.hostname + " : " + How + " : " + Data); return didit;