Class ProcessQueueImpl
- java.lang.Object
-
- edu.kit.ipd.sdq.pcm.simulation.scheduler.exact.queueing.basicqueues.ProcessQueueImpl
-
- All Implemented Interfaces:
IProcessQueue
public class ProcessQueueImpl extends Object implements IProcessQueue
-
-
Constructor Summary
Constructors Constructor Description ProcessQueueImpl(de.uka.ipd.sdq.scheduler.SchedulerModel model)
-
Method Summary
-
-
-
Method Detail
-
addLast
public void addLast(IActiveProcess process)
- Specified by:
addLast
in interfaceIProcessQueue
-
addFirst
public void addFirst(IActiveProcess process)
- Specified by:
addFirst
in interfaceIProcessQueue
-
add
public void add(IActiveProcess process, boolean inFront)
- Specified by:
add
in interfaceIProcessQueue
-
peek
public IActiveProcess peek()
-
poll
public IActiveProcess poll()
-
size
public int size()
- Specified by:
size
in interfaceIProcessQueue
-
remove
public boolean remove(IActiveProcess process)
- Specified by:
remove
in interfaceIProcessQueue
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interfaceIProcessQueue
-
ascending
public Iterable<IActiveProcess> ascending()
- Specified by:
ascending
in interfaceIProcessQueue
-
descending
public Iterable<IActiveProcess> descending()
- Specified by:
descending
in interfaceIProcessQueue
-
contains
public boolean contains(IActiveProcess process)
- Specified by:
contains
in interfaceIProcessQueue
-
getBestRunnableQueue
public IProcessQueue getBestRunnableQueue(IResourceInstance instance)
- Specified by:
getBestRunnableQueue
in interfaceIProcessQueue
-
getNextRunnableProcess
public IActiveProcess getNextRunnableProcess(IResourceInstance instance)
- Specified by:
getNextRunnableProcess
in interfaceIProcessQueue
-
getNextRunnableProcess
public IActiveProcess getNextRunnableProcess()
- Specified by:
getNextRunnableProcess
in interfaceIProcessQueue
-
identifyMovableProcesses
public void identifyMovableProcesses(IResourceInstance targetInstance, boolean prio_increasing, boolean queue_ascending, int processes_needed, List<IActiveProcess> process_list)
- Specified by:
identifyMovableProcesses
in interfaceIProcessQueue
-
createNewInstance
public IProcessQueue createNewInstance()
- Specified by:
createNewInstance
in interfaceIProcessQueue
-
processStarving
public boolean processStarving(double threshold)
- Specified by:
processStarving
in interfaceIProcessQueue
-
setWaitingTime
public void setWaitingTime(IActiveProcess process, double waiting)
- Specified by:
setWaitingTime
in interfaceIProcessQueue
-
getWaitingTime
public double getWaitingTime(IActiveProcess process)
- Specified by:
getWaitingTime
in interfaceIProcessQueue
-
getStarvingProcesses
public List<IActiveProcess> getStarvingProcesses(double starvationLimit)
- Specified by:
getStarvingProcesses
in interfaceIProcessQueue
-
-