/// <summary> /// Public constructor /// </summary> /// <param name="_diskScheduling">The implementation of strategy pattner of IDiskScheduling</param> /// <param name="requests">List of disk reading request</param> /// <param name="currentRequest">Gives the current request</param> public DiskSchedulingContext(IDiskScheduling _diskScheduling, List <Request> requests, Request currentRequest) { this._diskScheduling = _diskScheduling; if (requests.Count == 0) { return; } Requests = requests; CurrentRequest = currentRequest; }
private static void ScheduleRead(IDiskScheduling strategy, Timer timer) { strategy.ReadDisk(requests); foreach (int request in requests) { Console.Write(request + " "); } Console.WriteLine(); if (requests.Count == 0) { timer.Stop(); Console.WriteLine("Reading done"); Console.WriteLine("Press any key to exit..."); } }