protected internal void NetworkSimRun() { while (true) { bool flag = false; lock (this.networkSimulationSettings.NetSimManualResetEvent) flag = this.networkSimulationSettings.IsSimulationEnabled; if (!flag) { this.networkSimulationSettings.NetSimManualResetEvent.WaitOne(); } else { SimulationItem simulationItem1; lock (this.NetSimListIncoming) { simulationItem1 = (SimulationItem)null; while (this.NetSimListIncoming.First != null) { SimulationItem simulationItem2 = this.NetSimListIncoming.First.Value; if (simulationItem2.stopw.ElapsedMilliseconds >= (long)simulationItem2.Delay) { simulationItem2.ActionToExecute(); this.NetSimListIncoming.RemoveFirst(); } else { break; } } } lock (this.NetSimListOutgoing) { simulationItem1 = (SimulationItem)null; while (this.NetSimListOutgoing.First != null) { SimulationItem simulationItem2 = this.NetSimListOutgoing.First.Value; if (simulationItem2.stopw.ElapsedMilliseconds >= (long)simulationItem2.Delay) { simulationItem2.ActionToExecute(); this.NetSimListOutgoing.RemoveFirst(); } else { break; } } } Thread.Sleep(0); } } }
protected internal void NetworkSimRun() { while (true) { bool flag = false; ManualResetEvent netSimManualResetEvent = this.networkSimulationSettings.NetSimManualResetEvent; lock (netSimManualResetEvent) { flag = this.networkSimulationSettings.IsSimulationEnabled; } bool flag2 = !flag; if (flag2) { this.networkSimulationSettings.NetSimManualResetEvent.WaitOne(); } else { LinkedList <SimulationItem> netSimListIncoming = this.NetSimListIncoming; lock (netSimListIncoming) { while (this.NetSimListIncoming.First != null) { SimulationItem value = this.NetSimListIncoming.First.Value; bool flag3 = value.stopw.ElapsedMilliseconds < (long)value.Delay; if (flag3) { break; } value.ActionToExecute(); this.NetSimListIncoming.RemoveFirst(); } } LinkedList <SimulationItem> netSimListOutgoing = this.NetSimListOutgoing; lock (netSimListOutgoing) { while (this.NetSimListOutgoing.First != null) { SimulationItem value2 = this.NetSimListOutgoing.First.Value; bool flag4 = value2.stopw.ElapsedMilliseconds < (long)value2.Delay; if (flag4) { break; } value2.ActionToExecute(); this.NetSimListOutgoing.RemoveFirst(); } } Thread.Sleep(0); } } }