|
![]() |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.realtime.ReleaseParameters
javax.realtime.AperiodicParameters
public class AperiodicParameters
Jamaica Real-Time Specification for Java class AperiodicParameters
This class characterizes the release of schedulable objects that can be released at any time. Note that the presence of AperiodicParameters typically makes the feasibility analysis of any set of schedulable objects impossible, unless the total execution time required by aperiodic tasks are restricted by adequate ProcessingGroupParameters.
Note that any changes to RelativeTime arguments of this object do not propagate to the schedulable object until the corresponding setter method of AperiodicParameters is called to notify this object about the change.
NOTE: the methods in this class are not synchronized. They cannot be used by several threads simultaneously without proper explicit synchronization.
Field Summary | |
---|---|
static String |
arrivalTimeQueueOverflowExcept
The "EXCEPT" policy for dealing with arrival time queue overflow. |
static String |
arrivalTimeQueueOverflowIgnore
The "IGNORE" policy for dealing with arrival time queue overflow. |
static String |
arrivalTimeQueueOverflowReplace
The "REPLACE" policy for dealing with arrival time queue overflow. |
static String |
arrivalTimeQueueOverflowSave
The "SAVE" policy for dealing with arrival time queue overflow. |
Constructor Summary | |
---|---|
AperiodicParameters()
Create an AperiodicParameters object. |
|
AperiodicParameters(RelativeTime cost,
RelativeTime deadline,
AsyncEventHandler overrunHandler,
AsyncEventHandler missHandler)
Constructor of AperiodicParameters to be used as ReleaseParameters for AsyncEventHandler if the event handler will be scheduled aperiodically. |
Method Summary | |
---|---|
Object |
clone()
clone creates a clone of this object with the same parameters but without association to any schedulable object. |
String |
getArrivalTimeQueueOverflowBehavior()
getArrivalTimeQueueOverflowBehavior returns the current arrival time queue overflow behavior. |
int |
getInitialArrivalTimeQueueLength()
getInitialArrivalTimeQueueLength returns the initial length of the arrival time queue. |
void |
setArrivalTimeQueueOverflowBehavior(String behavior)
setArrivalTimeQueueOverflowBehavior sets the behavior for the case of an overflow in the arrival time queue. |
boolean |
setIfFeasible(RelativeTime cost,
RelativeTime deadline)
setIfFeasible performs a feasibility analysis using the new cost and deadline parameters. |
void |
setInitialArrivalTimeQueueLength(int initial)
setInitialArrivalTimeQueueLength sets the initial number of elements in the arrival time queue for the schedulable object that receives this AperiodicParameters in its constructor. |
Methods inherited from class javax.realtime.ReleaseParameters |
---|
getCost, getCostOverrunHandler, getDeadline, getDeadlineMissHandler, setCost, setCostOverrunHandler, setDeadline, setDeadlineMissHandler, setIfFeasible |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String arrivalTimeQueueOverflowExcept
public static final String arrivalTimeQueueOverflowIgnore
public static final String arrivalTimeQueueOverflowReplace
public static final String arrivalTimeQueueOverflowSave
Constructor Detail |
---|
public AperiodicParameters()
public AperiodicParameters(RelativeTime cost, RelativeTime deadline, AsyncEventHandler overrunHandler, AsyncEventHandler missHandler)
cost
- The CPU time required for each release. If cost
monitoring is performed, this gives the maximum amount of CPU
time that will be allowed for each release. In any case, this may
be used by the feasibility analysis. If null, the default value
will be new RelativeTime(0, 0). Note that on a system with cost
monitoring, this default value will allow no execution time for
the associated schedulable object.deadline
- The deadline for the completion of one release,
relative to the release time of that release. If null, the
default value is a new instance of
RealtiveTime(Long.MAX_VALUE, 999999).overrunHandler
- This handler will be invoked if the cost of
one invocation exceeds the cost parameter. If null, there will be
no overrunHandler.
For JamaicaVM, cost overrun checking is enabled if CpuTime.CPU_TIME_SUPPORTED
is true. The
accuracy of the cost enforcement can be specified in nanoseconds
via the property jamaica.cost_monitoring_accuracy. The default
value is 5000000, i.e., 5milliseconds.
missHandler
- This handler will be invoked if the deadline
of one release is missed. If null, there will be no deadline.
IllegalArgumentException
- if cost is negative or
deadline is negative or zero.Method Detail |
---|
public boolean setIfFeasible(RelativeTime cost, RelativeTime deadline)
setIfFeasible
in class ReleaseParameters
cost
- The CPU time required for each release. If cost
monitoring is performed, this gives the maximum amount of CPU
time that will be allowed for each release. In any case, this may
be used by the feasibility analysis. If null, the default value
will be new RelativeTime(0, 0). Note that on a system with cost
monitoring, this default value will allow no execution time for
the associated schedulable object.deadline
- The deadline for the completion of one release,
relative to the release time of that release. If null, the
default value is a new instance of
RealtiveTime(Long.MAX_VALUE, 999999).
IllegalArgumentException
- if cost is negative or
deadline is negative or zero.public int getInitialArrivalTimeQueueLength()
public void setInitialArrivalTimeQueueLength(int initial)
initial
- the initial arrival time queue length.public void setArrivalTimeQueueOverflowBehavior(String behavior)
behavior
- the behavior, must be one of
arrivalTimeQueueOverflowExcept, arrivalTimeQueueOverflowIgnore,
arrivalTimeQueueOverflowReplace, arrivalTimeQueueOverflowSave.
IllegalArgumentException
- if behavior is not one of the
constants arrivalTimeQueueOverflowExcept,
arrivalTimeQueueOverflowIgnore, arrivalTimeQueueOverflowReplace,
arrivalTimeQueueOverflowSave.public String getArrivalTimeQueueOverflowBehavior()
public Object clone()
clone
in class ReleaseParameters
|
![]() |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |