|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.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.
Field Summary | |
protected RelativeTime |
cost
|
protected RelativeTime |
deadline
|
protected AsyncEventHandler |
missHandler
|
protected AsyncEventHandler |
overrunHandler
|
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 value. |
AsyncEventHandler |
getDeadlineMissHandler()
Get the deadline miss handler. |
void |
setCost(RelativeTime cost)
Set the cost value. |
void |
setCostOverrunHandler(AsyncEventHandler handler)
Set the cost cost overrun handler. |
void |
setDeadline(RelativeTime deadline)
Set the deadline value. |
void |
setDeadlineMissHandler(AsyncEventHandler handler)
Set the deadline handler miss. |
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 |
Field Detail |
protected RelativeTime cost
protected RelativeTime deadline
protected AsyncEventHandler overrunHandler
protected AsyncEventHandler missHandler
Constructor Detail |
protected ReleaseParameters()
protected ReleaseParameters(RelativeTime cost, RelativeTime deadline, AsyncEventHandler overrunHandler, AsyncEventHandler missHandler)
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 RelativeTime getCost()
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 RelativeTime getDeadline()
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 AsyncEventHandler getCostOverrunHandler()
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 AsyncEventHandler getDeadlineMissHandler()
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.public boolean setIfFeasible(RelativeTime cost, RelativeTime deadline)
cost
- a RelativeTime
valuedeadline
- a RelativeTime
value
boolean
value
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |