|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--javax.realtime.ReleaseParameters
The abstract top-level class for release characteristics of threads.
When a reference to a ReleaseParameters
object is given
as a parameter to a constructor, the ReleaseParameters
object becomes bound
to the object being created. Changes to the values in the ReleaseParameters
object affect the constructed object. If given to more than one constructor,
then changes to the values in the ReleaseParameters
object affect all
of the associated objects. Note that this is a one-to-many relationship and
not a many-to-many.
Caution: This class is explicitly unsafe in multithreaded situations when it is being changed. No synchronization is done. It is assumed that users of this class who are mutating instances will be doing their own synchronization at a higher level.
Caution: The cost
parameter time should be considered to be
measured against the target platform.
Constructor Summary | |
protected |
ReleaseParameters()
|
protected |
ReleaseParameters(RelativeTime cost,
RelativeTime deadline,
AsyncEventHandler overrunHandler,
AsyncEventHandler missHandler)
Subclasses use this constructor to create a ReleaseParameters type object. |
Method Summary | |
RelativeTime |
getCost()
Get the cost value. |
AsyncEventHandler |
getCostOverrunHandler()
Get the cost overrun handler. |
RelativeTime |
getDeadline()
Get the deadline. |
AsyncEventHandler |
getDeadlineMissHandler()
Get the deadline miss handler. |
void |
setCost(RelativeTime cost)
Set the cost value. |
void |
setCostOverrunHandler(AsyncEventHandler handler)
Set the cost overrun handler. |
void |
setDeadline(RelativeTime deadline)
Set the deadline value. |
void |
setDeadlineMissHandler(AsyncEventHandler handler)
Set the deadline miss handler. |
boolean |
setIfFeasible(RelativeTime cost,
RelativeTime deadline)
Returns true if, after considering the values of the parameters, the task set would still be feasible. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
protected ReleaseParameters()
protected ReleaseParameters(RelativeTime cost, RelativeTime deadline, AsyncEventHandler overrunHandler, AsyncEventHandler missHandler)
ReleaseParameters
type object.cost
- Processing time units per interval.
On implementations which can measure the amount of time
a schedulable object is executed, this value is the maximum amount of time
a schedulable object receives per interval.
On implementations which cannot measure execution time, this value is used
as a hint to the feasibility algorithm. On such systems it is not possible
to determine when any particular object exceeds cost.
Equivalent to RelativeTime(0,0)
if null.deadline
- The latest permissible completion time measured from the
release time of the associated invocation of the schedulable object.
Changing the deadline might not take effect after the expiration
of the current deadline.
More detail provided in the subclasses.overrunHandler
- This handler is invoked if an invocation of the schedulable
object exceeds cost. Not required for minimum implementation.
If null, nothing happens on the overrun condition, and
waitForNextPeriod returns false immediately and updates
the start time for the next period.missHandler
- This handler is invoked if the run()
method of the schedulable
object is still executing after the deadline has passed.
Although minimum implementations do not consider deadlines in
feasibility calculations, they must recognize variable deadlines
and invoke the miss handler as appropriate.
If null, nothing happens on the miss deadline condition.Method Detail |
public boolean setIfFeasible(RelativeTime cost, RelativeTime deadline)
public RelativeTime getCost()
public AsyncEventHandler getCostOverrunHandler()
public RelativeTime getDeadline()
public AsyncEventHandler getDeadlineMissHandler()
public void setCost(RelativeTime cost)
cost
- Processing time units per period or per minimum interarrival interval.
On implementations which can measure the amount of time
a schedulable object is executed, this value is the maximum amount of time
a schedulable object
receives per period or per minimum interarrival interval.
On implementations which cannot measure execution time, this value is used
as a hint to the feasibility algorithm. On such systems it is not possible
to determine when
any particular object exceeds or will exceed cost time units in a period
or interval.
Equivalent to RelativeTime(0,0)
if null.public void setCostOverrunHandler(AsyncEventHandler handler)
handler
- This handler is invoked if an invocation of the schedulable
object exceeds cost. Not required for minimum implementation.
See comments in setCost()
.public void setDeadline(RelativeTime deadline)
deadline
- The latest permissible completion time measured from the
release time of the associated invocation of the schedulable object.
For a minimum implementation for purposes of feasibility analysis,
the deadline is equal to the period
or minimum interarrival interval.
Other implementations may use this parameter
to compute execution eligibility.public void setDeadlineMissHandler(AsyncEventHandler handler)
handler
- This handler is invoked if the run()
method of the schedulable
object is still executing after the deadline has passed.
Although minimum implementations do not consider deadlines in
feasibility calculations, they must recognize variable deadlines
and invoke the miss handler as appropriate.
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |