public void Resume() { if (this.status != EventManagerStatus.Running) { Console.WriteLine(DateTime.Now + " Event manager resumed at " + this.framework.clock.DateTime); this.status = EventManagerStatus.Running; this.OnEvent(new OnEventManagerResumed()); } }
public void Pause() { if (this.status != EventManagerStatus.Paused) { Console.WriteLine(DateTime.Now + " Event manager paused at " + this.framework.clock.DateTime); this.status = EventManagerStatus.Paused; this.OnEvent(new OnEventManagerPaused()); } }
public void Stop() { if (this.status != EventManagerStatus.Stopped) { Console.WriteLine(DateTime.Now + " Event manager stopping at " + this.framework.clock.DateTime); this.status = EventManagerStatus.Stopping; if (this.framework.Mode == FrameworkMode.Simulation) { this.OnEvent(new OnSimulatorStop()); } this.status = EventManagerStatus.Stopped; this.framework.eventBus.Clear(); this.OnEvent(new OnEventManagerStopped()); Console.WriteLine(DateTime.Now + " Event manager stopped at " + this.framework.clock.DateTime); } }
private void ThreadRun() { Console.WriteLine(string.Concat(new object[] { DateTime.Now, " Event manager thread started: Framework = ", this.framework.Name, " Clock = ", this.framework.Clock.GetModeAsString() })); this.status = EventManagerStatus.Running; while (!this.threadExit) { if (this.status == EventManagerStatus.Running || (this.status == EventManagerStatus.Paused && this.step_enabled)) { Event e = this.bus.Dequeue(); this.OnEvent(e); } else { Thread.Sleep(1); } } }