de.uka.ipd.sdq.scheduler.queueing
Interface IProcessQueue

All Known Implementing Classes:
PriorityArray, ProcessQueueImpl

public interface IProcessQueue


Method Summary
 void add(IActiveProcess process, boolean in_front)
           
 void addFirst(IActiveProcess process)
           
 void addLast(IActiveProcess process)
           
 Iterable<IActiveProcess> ascending()
           
 boolean contains(IActiveProcess process)
           
 IProcessQueue createNewInstance()
           
 Iterable<IActiveProcess> descending()
           
 IProcessQueue getBestRunnableQueue(IResourceInstance instance)
           
 IActiveProcess getNextRunnableProcess()
           
 IActiveProcess getNextRunnableProcess(IResourceInstance instance)
           
 List<IActiveProcess> getStarvingProcesses(double starvationLimit)
           
 double getWaitingTime(IActiveProcess process)
           
 void identifyMovableProcesses(IResourceInstance target_instance, boolean prio_increasing, boolean queue_ascending, int processes_needed, List<IActiveProcess> process_list)
           
 boolean isEmpty()
           
 boolean processStarving(double threshold)
           
 boolean remove(IActiveProcess process)
           
 void setWaitingTime(IActiveProcess process, double waiting)
           
 int size()
           
 

Method Detail

size

int size()

isEmpty

boolean isEmpty()

contains

boolean contains(IActiveProcess process)

remove

boolean remove(IActiveProcess process)

addLast

void addLast(IActiveProcess process)

addFirst

void addFirst(IActiveProcess process)

add

void add(IActiveProcess process,
         boolean in_front)

ascending

Iterable<IActiveProcess> ascending()

descending

Iterable<IActiveProcess> descending()

getBestRunnableQueue

IProcessQueue getBestRunnableQueue(IResourceInstance instance)

getNextRunnableProcess

IActiveProcess getNextRunnableProcess(IResourceInstance instance)

getNextRunnableProcess

IActiveProcess getNextRunnableProcess()

identifyMovableProcesses

void identifyMovableProcesses(IResourceInstance target_instance,
                              boolean prio_increasing,
                              boolean queue_ascending,
                              int processes_needed,
                              List<IActiveProcess> process_list)

createNewInstance

IProcessQueue createNewInstance()

processStarving

boolean processStarving(double threshold)

setWaitingTime

void setWaitingTime(IActiveProcess process,
                    double waiting)

getWaitingTime

double getWaitingTime(IActiveProcess process)

getStarvingProcesses

List<IActiveProcess> getStarvingProcesses(double starvationLimit)