javax.realtime
Class PriorityScheduler

java.lang.Object
  |
  +--javax.realtime.Scheduler
        |
        +--javax.realtime.PriorityScheduler

public class PriorityScheduler
extends Scheduler


Field Summary
static int MAX_PRIORITY
           
static int MIN_PRIORITY
           
 
Constructor Summary
protected PriorityScheduler()
          Constructor for the required scheduler.
 
Method Summary
protected  boolean addToFeasibility(Schedulable schedulable)
          Inform the scheduler and cooperating facilities that the resource demands, as expressed in the associated instances of SchedulingParameters, ReleaseParameters, MemoryParameters, and ProcessingGroupParameters, of this instance of Schedulable will be considered in the feasibility analysis of the associated Scheduler until further notice.
 void fireSchedulable(Schedulable schedulable)
          Trigger the execution of a schedulable object (like an instance of AsyncEventHandler).
 int getMaxPriority()
          Returns the maximum priority available for a thread managed by this scheduler.
static int getMaxPriority(java.lang.Thread thread)
          If the given thread is scheduled by the required PriorityScheduler the maximum priority of the PriorityScheduler is returned otherwise Thread.MAX_PRIORITY is returned.
 int getMinPriority()
          Returns the minimum priority available for a thread managed by this scheduler.
static int getMinPriority(java.lang.Thread thread)
          If the given thread is scheduled by the required PriorityScheduler the minimum priority of the PriorityScheduler is returned otherwise Thread.MIN_PRIORITY is returned.
 int getNormPriority()
          Returns the normal priority available for a thread managed by this scheduler.
static int getNormPriority(java.lang.Thread thread)
          If the given thread is scheduled by the required PriorityScheduler the normal priority of the PriorityScheduler is returned otherwise Thread.NORM_PRIORITY is returned.
 java.lang.String getPolicyName()
          Used to determine the policy of the Scheduler.
static PriorityScheduler instance()
          Return a pointer to an instance of PriorityScheduler.
 boolean isFeasible()
          Returns true if and only if the system is able to satisfy the constraints expressed in the release parameters of the existing schedulable objects.
protected  boolean removeFromFeasibility(Schedulable schedulable)
          Inform the scheduler and cooperating facilities that the resource demands, as expressed in the associated instances of SchedulingParameters, ReleaseParameters, MemoryParameters, and ProcessingGroupParameters, of this instance of Schedulable should no longer be considered in the feasibility analysis of the associated Scheduler.
 boolean setIfFeasible(Schedulable schedulable, ReleaseParameters release, MemoryParameters memory)
          Returns true if, after considering the values of the parameters, the task set would still be feasible.
 boolean setIfFeasible(Schedulable schedulable, ReleaseParameters release, MemoryParameters memory, ProcessingGroupParameters group)
          Returns true if, after considering the values of the parameters, the task set would still be feasible.
 
Methods inherited from class javax.realtime.Scheduler
getDefaultScheduler, setDefaultScheduler
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAX_PRIORITY

public static final int MAX_PRIORITY

MIN_PRIORITY

public static final int MIN_PRIORITY
Constructor Detail

PriorityScheduler

protected PriorityScheduler()
Constructor for the required scheduler.
Method Detail

isFeasible

public boolean isFeasible()
Returns true if and only if the system is able to satisfy the constraints expressed in the release parameters of the existing schedulable objects.
Overrides:
isFeasible in class Scheduler

instance

public static PriorityScheduler instance()
Return a pointer to an instance of PriorityScheduler.

addToFeasibility

protected boolean addToFeasibility(Schedulable schedulable)
Inform the scheduler and cooperating facilities that the resource demands, as expressed in the associated instances of SchedulingParameters, ReleaseParameters, MemoryParameters, and ProcessingGroupParameters, of this instance of Schedulable will be considered in the feasibility analysis of the associated Scheduler until further notice. Whether the resulting system is feasible or not, the addition is completed.
Overrides:
addToFeasibility in class Scheduler
Returns:
true If the resulting system is feasible.

removeFromFeasibility

protected boolean removeFromFeasibility(Schedulable schedulable)
Inform the scheduler and cooperating facilities that the resource demands, as expressed in the associated instances of SchedulingParameters, ReleaseParameters, MemoryParameters, and ProcessingGroupParameters, of this instance of Schedulable should no longer be considered in the feasibility analysis of the associated Scheduler. Whether the resulting system is feasible or not, the subtraction is completed.
Overrides:
removeFromFeasibility in class Scheduler
Returns:
true If the resulting system is feasible.

setIfFeasible

public boolean setIfFeasible(Schedulable schedulable,
                             ReleaseParameters release,
                             MemoryParameters memory)
Returns true if, after considering the values of the parameters, the task set would still be feasible. In this case the values of the parameters are changed. Returns false if, after considering the values of the parameters, the task set would not be feasible. In this case the values of the parameters are not changed.
Overrides:
setIfFeasible in class Scheduler

setIfFeasible

public boolean setIfFeasible(Schedulable schedulable,
                             ReleaseParameters release,
                             MemoryParameters memory,
                             ProcessingGroupParameters group)
Returns true if, after considering the values of the parameters, the task set would still be feasible. In this case the values of the parameters are changed. Returns false if, after considering the values of the parameters, the task set would not be feasible. In this case the values of the parameters are not changed.
Overrides:
setIfFeasible in class Scheduler

fireSchedulable

public void fireSchedulable(Schedulable schedulable)
Trigger the execution of a schedulable object (like an instance of AsyncEventHandler).
Overrides:
fireSchedulable in class Scheduler
Parameters:
schedulable - The schedulable object to make active.

getMaxPriority

public int getMaxPriority()
Returns the maximum priority available for a thread managed by this scheduler.

getMaxPriority

public static int getMaxPriority(java.lang.Thread thread)
If the given thread is scheduled by the required PriorityScheduler the maximum priority of the PriorityScheduler is returned otherwise Thread.MAX_PRIORITY is returned.
Parameters:
thread - An instance of Thread. If null the maximum priority of the required PriorityScheduler is returned.

getMinPriority

public int getMinPriority()
Returns the minimum priority available for a thread managed by this scheduler.

getMinPriority

public static int getMinPriority(java.lang.Thread thread)
If the given thread is scheduled by the required PriorityScheduler the minimum priority of the PriorityScheduler is returned otherwise Thread.MIN_PRIORITY is returned.
Parameters:
thread - An instance of Thread. If null the minimum priority of the required PriorityScheduler is returned.

getNormPriority

public int getNormPriority()
Returns the normal priority available for a thread managed by this scheduler.

getNormPriority

public static int getNormPriority(java.lang.Thread thread)
If the given thread is scheduled by the required PriorityScheduler the normal priority of the PriorityScheduler is returned otherwise Thread.NORM_PRIORITY is returned.
Parameters:
thread - An instance of Thread. If null the normal priority of the required PriorityScheduler is returned.

getPolicyName

public java.lang.String getPolicyName()
Used to determine the policy of the Scheduler.
Overrides:
getPolicyName in class Scheduler
Returns:
A String object which is the name of the scheduling policy used by this.