public override ZingerSchedulerState Clone(bool isCloneForFrontier) { CustomDBSchedulerState cloned = new CustomDBSchedulerState(this); if (isCloneForFrontier) { cloned.EnabledProcessesWithPriority = new Dictionary<int, int>(); foreach (var item in EnabledProcessesWithPriority) { cloned.EnabledProcessesWithPriority.Add(item.Key, item.Value); } cloned.sortedProcesses = new List<int>(); foreach (var item in sortedProcesses) { cloned.sortedProcesses.Add(item); } } return cloned; }
public CustomDBSchedulerState(CustomDBSchedulerState copyThis) : base(copyThis) { randGen = copyThis.randGen; PriorityMap = new Dictionary<int, int>(); foreach (var item in copyThis.PriorityMap) { PriorityMap.Add(item.Key, item.Value); } EnabledProcessesWithPriority = new Dictionary<int, int>(); foreach (var item in copyThis.EnabledProcessesWithPriority) { EnabledProcessesWithPriority.Add(item.Key, item.Value); } sortedProcesses = new List<int>(); foreach (var item in EnabledProcessesWithPriority.OrderBy(i => i.Value)) { sortedProcesses.Add(item.Key); } }