public Simulator(String fileName) { Lowest = 99999; output = new StreamWriter ("../../output.txt"); try { ProcessList p = new ProcessList (fileName); if (debug) { //Echo processes to console output.WriteLine ("==================================="); output.WriteLine ("Quantum = " + p.getQuantum ()); // Console.Read(); for (int loop = 0; loop < p.getNumberOfProcesses (); loop++) { output.WriteLine ("==================================="); output.WriteLine ("PID: " + p.getProcess (loop).getPID ()); output.WriteLine ("CPU Burst 1: " + p.getProcess (loop).getCPU_burst1 ()); output.WriteLine ("CPU Burst 2: " + p.getProcess (loop).getCPU_burst2 ()); output.WriteLine ("IO Burst : " + p.getProcess (loop).getIO_burst ()); output.WriteLine ("Priority: " + p.getProcess (loop).getPriority ()); output.WriteLine ("Period: " + p.getProcess (loop).getCurrentPeriod ()); } } //Populate Schedulers Scheduler[] sim = new Scheduler[6]; { int i = 0; sim [i++] = new FCFS (new ProcessList(fileName),output); sim [i++] = new SJF (new ProcessList(fileName),output); sim [i++] = new SJR (new ProcessList(fileName),output); sim [i++] = new RR (new ProcessList(fileName),output); sim [i++] = new Priority(new ProcessList(fileName),output); sim [i++] = new MFQ (new ProcessList(fileName), output); } int j; output.WriteLine ("ALGORITHM AVERAGE TURNAROUND TIME"); for(j =0 ; j < 6; j++){ try{ output.WriteLine ("{0,9}{1,7}",sim[j].GetType ().Name,sim[j].Average_TurnAround); if(sim[j].Average_TurnAround < Lowest) Lowest = sim[j].Average_TurnAround; }catch(NullReferenceException){ //THIS MEANS WE DID NOT PUT ALL THE PROCESSES IN YET WHICH IS FINE } } foreach(Scheduler item in sim){ try{ if(item.Average_TurnAround == Lowest) output.WriteLine ("The best algorithm for the data set is "+item.GetType ().Name+" with a average turnaround time of "+item.Average_TurnAround); }catch(NullReferenceException){ //THIS MEANS WE DID NOT PUT ALL THE PROCESSES IN YET WHICH IS FINE } } } catch (Exception e) { Console.WriteLine ("Error trying to populate the process list: " + e.Message); output.WriteLine ("Program quitting"); }finally{ output.Close (); } }
public void Init() { Debug.IsLogEnabled = false; if (FunctionsManager.ScheduledEvent == null) { new FunctionsManager(); } FunctionsManager.ScheduledEvent.LoadScript(LuaFunctionString, "ScheduledEvent", Functions.Type.Lua); if (PrototypeManager.ScheduledEvent == null) { new PrototypeManager(); } PrototypeManager.ScheduledEvent.Add(new ScheduledEvent("ping_log", evt => Debug.ULogChannel("Scheduler", "Event {0} fired", evt.Name))); PrototypeManager.ScheduledEvent.LoadPrototypes(XmlPrototypeString); // The problem with unit testing singletons ///scheduler = Scheduler.Scheduler.Current; scheduler = new Scheduler.Scheduler(); callback = evt => Debug.ULogChannel("SchedulerTest", "Event {0} fired", evt.Name); }
public AddEvent(Scheduler scheduler, SchedulerWindow schedulerForm) { InitializeComponent(); _scheduler = scheduler; _schedulerForm = schedulerForm; DescriptionTextBox.Text = _enterDescription; NewEventDatePicker.MinDate = DateTime.Now; //NewEventTimePicker.MinDate = DateTime.Now; this.ShowDialog(); }
public void SchedulerReadXmlTest() { // prepare a scheduler instance to serialize scheduler.ScheduleEvent("ping_log", 1f, true, 0); scheduler.ScheduleEvent("ping_log_lua", 2f, false, 3); scheduler.Update(0.5f); // serialize it StringBuilder sb = new StringBuilder(); XmlWriter writer = new XmlTextWriter(new StringWriter(sb)); scheduler.WriteXml(writer); XmlReader reader = new XmlTextReader(new StringReader(sb.ToString())); // Tt is not actually necessary to replace the scheduler: it will properly clear the old one. // This just proves that it does work to recreate the scheduler from nothing. scheduler = new Scheduler.Scheduler(); scheduler.ReadXml(reader); Assert.That(scheduler.Events.Count, Is.EqualTo(2)); Assert.That(scheduler.Events[0].Name, Is.EqualTo("ping_log")); Assert.That(scheduler.Events[0].Cooldown, Is.EqualTo(1)); Assert.That(scheduler.Events[0].TimeToWait, Is.EqualTo(0.5f)); Assert.That(scheduler.Events[0].RepeatsForever, Is.True); Assert.That(scheduler.Events[0].RepeatsLeft, Is.EqualTo(0)); Assert.That(scheduler.Events[1].Name, Is.EqualTo("ping_log_lua")); Assert.That(scheduler.Events[1].Cooldown, Is.EqualTo(2)); Assert.That(scheduler.Events[1].TimeToWait, Is.EqualTo(1.5f)); Assert.That(scheduler.Events[1].RepeatsForever, Is.False); Assert.That(scheduler.Events[1].RepeatsLeft, Is.EqualTo(3)); // Prove that it works even without creating a new scheduler instance. // First add an event so that the Asserts will fail if ReadXml does nothing. scheduler.ScheduleEvent("ping_log_lua", 5f, false, 20); scheduler.Update(0); reader = new XmlTextReader(new StringReader(sb.ToString())); scheduler.ReadXml(reader); Assert.That(scheduler.Events.Count, Is.EqualTo(2)); Assert.That(scheduler.Events[0].Name, Is.EqualTo("ping_log")); Assert.That(scheduler.Events[0].Cooldown, Is.EqualTo(1)); Assert.That(scheduler.Events[0].TimeToWait, Is.EqualTo(0.5f)); Assert.That(scheduler.Events[0].RepeatsForever, Is.True); Assert.That(scheduler.Events[0].RepeatsLeft, Is.EqualTo(0)); Assert.That(scheduler.Events[1].Name, Is.EqualTo("ping_log_lua")); Assert.That(scheduler.Events[1].Cooldown, Is.EqualTo(2)); Assert.That(scheduler.Events[1].TimeToWait, Is.EqualTo(1.5f)); Assert.That(scheduler.Events[1].RepeatsForever, Is.False); Assert.That(scheduler.Events[1].RepeatsLeft, Is.EqualTo(3)); }
/// <summary> /// Initializes a new instance of the <see cref="AutosaveManager"/> class. /// This class schedules autosave events which save the game at regular intervals /// of <see cref="AutosaveInterval"/> minutes with the default filename "Autosave###.sav". /// </summary> public AutosaveManager() { if (scheduler == null) { scheduler = Scheduler.Scheduler.Current; } AutosaveInterval = SettingsKeyHolder.AutosaveInterval; // autosaves disabled if AutosaveInterval <= 0 if (AutosaveInterval > 0) { autosaveEvent = new ScheduledEvent("autosave", DoAutosave, AutosaveInterval * 60.0f, true, 0); scheduler.RegisterEvent(autosaveEvent); } // set autosaveCounter = maximum index of existing autosaves (so as not to clobber autosaves from previous games) if (Directory.Exists(GameController.Instance.FileSaveBasePath())) { string[] autosaveFileNames = Directory.GetFiles(GameController.Instance.FileSaveBasePath(), AutosaveBaseName + "*.sav"); if (autosaveFileNames.Length == 0) { // no existing autosaves found return; } foreach (string fileName in autosaveFileNames) { // get the numeric part of the filename string autosaveNumAsString = Path.GetFileNameWithoutExtension(fileName).Replace(AutosaveBaseName, string.Empty); int autosaveNumber; if (int.TryParse(autosaveNumAsString, out autosaveNumber) == false) { // filename not in the format of "Autosave<number>.sav" so move on continue; } // if necessary, bump up autosaveCounter autosaveCounter = Math.Max(autosaveCounter, autosaveNumber); } } else { UnityDebugger.Debugger.Log("AutosaveManager", "Creating directory for autosaves."); Directory.CreateDirectory(GameController.Instance.FileSaveBasePath()); } }
public static void Main(string[] args) { const string uName = "usernameHere"; const string pWord = "passwordHere"; try { var s = new Scheduler(); s.RegisterForClass(uName, pWord, "75499"); } catch(Exception e) { e.Dump(); } "Done!".Dump(); Console.ReadKey(); }
public void Init() { if (PrototypeManager.SchedulerEvent == null) { new PrototypeManager(); PrototypeManager.SchedulerEvent.Add( "ping_log", new ScheduledEvent( "ping_log", (evt) => Debug.ULogChannel("Scheduler", "Event {0} fired", evt.Name))); } // The problem with unit testing singletons ///scheduler = Scheduler.Scheduler.Current; scheduler = new Scheduler.Scheduler(); callback = (evt) => Debug.ULogChannel("SchedulerTest", "Event {0} fired", evt.Name); }
public void Init() { FunctionsManager.Initialize(); FunctionsManager.ScheduledEvent.LoadScript(LuaFunctionString, "ScheduledEvent", Functions.Type.Lua); PrototypeManager.Initialize(); JToken reader = JToken.Parse(JsonPrototypeString); PrototypeManager.ScheduledEvent.Add(new ScheduledEvent("ping_log", evt => UnityDebugger.Debugger.LogFormat("Scheduler", "Event {0} fired", evt.Name))); PrototypeManager.ScheduledEvent.LoadJsonPrototypes((JProperty)reader.First); // The problem with unit testing singletons ///scheduler = Scheduler.Scheduler.Current; scheduler = new Scheduler.Scheduler(); callback = evt => UnityDebugger.Debugger.LogFormat("SchedulerTest", "Event {0} fired", evt.Name); }
public void Init() { Debug.IsLogEnabled = false; if (PrototypeManager.SchedulerEvent == null) { new PrototypeManager(); PrototypeManager.SchedulerEvent.Add( "ping_log", new ScheduledEvent( "ping_log", evt => Debug.ULogChannel("Scheduler", "Event {0} fired", evt.Name))); PrototypeManager.SchedulerEvent.LoadPrototypesFromText(XmlPrototypeString); } // The problem with unit testing singletons ///scheduler = Scheduler.Scheduler.Current; scheduler = new Scheduler.Scheduler(); callback = evt => Debug.ULogChannel("SchedulerTest", "Event {0} fired", evt.Name); }
public void SchedulerFromJsonTest() { string schedulerJsonString = "[{\"Name\":\"ping_log\",\"Cooldown\":1.0,\"TimeToWait\":1.0,\"RepeatsForever\":true,\"RepeatsLeft\":0},{\"Name\":\"ping_log_lua\",\"Cooldown\":2.0,\"TimeToWait\":2.0,\"RepeatsForever\":false,\"RepeatsLeft\":3}]"; JToken schedulerJson = (JToken)JsonConvert.DeserializeObject(schedulerJsonString); scheduler = new Scheduler.Scheduler(); scheduler.FromJson(schedulerJson); Assert.That(scheduler.Events.Count, Is.EqualTo(2)); Assert.That(scheduler.Events[0].Name, Is.EqualTo("ping_log")); Assert.That(scheduler.Events[0].Cooldown, Is.EqualTo(1)); Assert.That(scheduler.Events[0].TimeToWait, Is.EqualTo(1f)); Assert.That(scheduler.Events[0].RepeatsForever, Is.True); Assert.That(scheduler.Events[0].RepeatsLeft, Is.EqualTo(0)); Assert.That(scheduler.Events[1].Name, Is.EqualTo("ping_log_lua")); Assert.That(scheduler.Events[1].Cooldown, Is.EqualTo(2)); Assert.That(scheduler.Events[1].TimeToWait, Is.EqualTo(2f)); Assert.That(scheduler.Events[1].RepeatsForever, Is.False); Assert.That(scheduler.Events[1].RepeatsLeft, Is.EqualTo(3)); // Prove that it works even without creating a new scheduler instance. // First add an event so that the Asserts will fail if FromJson does nothing. scheduler.ScheduleEvent("ping_log_lua", 5f, false, 20); scheduler.Update(0); scheduler.FromJson(schedulerJson); Assert.That(scheduler.Events.Count, Is.EqualTo(2)); Assert.That(scheduler.Events[0].Name, Is.EqualTo("ping_log")); Assert.That(scheduler.Events[0].Cooldown, Is.EqualTo(1)); Assert.That(scheduler.Events[0].TimeToWait, Is.EqualTo(1f)); Assert.That(scheduler.Events[0].RepeatsForever, Is.True); Assert.That(scheduler.Events[0].RepeatsLeft, Is.EqualTo(0)); Assert.That(scheduler.Events[1].Name, Is.EqualTo("ping_log_lua")); Assert.That(scheduler.Events[1].Cooldown, Is.EqualTo(2)); Assert.That(scheduler.Events[1].TimeToWait, Is.EqualTo(2f)); Assert.That(scheduler.Events[1].RepeatsForever, Is.False); Assert.That(scheduler.Events[1].RepeatsLeft, Is.EqualTo(3)); }
public bool ProcessCommand(EnOceanPacket packet, Scheduler.Classes.DeviceClass hsDev) { Console.WriteLine("Processing command : {0}", packet.getType().ToString()); return true; }
/// <summary> /// Destroy this instance. /// </summary> public void Destroy() { instance = null; }