|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Object
|
+--javax.realtime.HighResolutionTime
|
+--javax.realtime.RelativeTime
|
+--javax.realtime.RationalTime
An object that represents a time interval millis/1E3+nanos/1E9 seconds long that is divided into subintervals by some frequency. This is generally used in periodic events, threads, and feasibility analysis to specify periods where there is a basic period that must be adhered to strictly (the interval), but within that interval the periodic events are supposed to happen frequency times, as uniformly spaced as possible, but clock and scheduling jitter is moderately acceptable.
If the value of any of the millisecond or nanosecond fields is negative the
variable is set to negative value. Although logically
this may represent time before the epoch, invalid results may occur if
an instance of AbsoluteTime representing time before the epoch is given as a
parameter to the a method.
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. All Implemented Interfaces: java.lang.Comparable
| Constructor Summary | |
RationalTime(int frequency)
Construct a new Object of RationalTime Equivalent to new RationalTime(1000, 0, frequency) -- essentially a cycles -per-second value |
|
RationalTime(int frequency,
long millis,
int nanos)
Construct a new Object of RationalTime. |
|
RationalTime(int frequency,
RelativeTime interval)
Construct a new Object of RationalTime from the given RelativeTime |
|
| Method Summary | |
AbsoluteTime |
absolute(Clock clock,
AbsoluteTime destination)
Convert this time to an absolute time. |
void |
addInterarrivalTo(AbsoluteTime destination)
Add this time to an AbsoluteTime. |
int |
getFrequency()
Return the frquency of this. |
RelativeTime |
getInterarrivalTime()
Gets the time duration between two consecutive ticks using frequency |
RelativeTime |
getInterarrivalTime(RelativeTime dest)
Gets the time duration between two consecutive ticks using frequency |
void |
set(long millis,
int nanos)
Change the indicated interval of this to the sum of the values of the arguments |
void |
setFrequency(int frequency)
Set the frequency of this. |
| Methods inherited from class javax.realtime.RelativeTime |
absolute, add, add, add, add, relative, relative, subtract, subtract, toString |
| Methods inherited from class javax.realtime.HighResolutionTime |
compareTo, compareTo, equals, equals, getMilliseconds, getNanoseconds, hashCode, relative, set, set, waitForObject |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
public RationalTime(int frequency)
public RationalTime(int frequency,
long millis,
int nanos)
throws java.lang.IllegalArgumentException
frequency - The frequency value of thismillis - The milliseonds value of thisnanos - The nanoseconds value of this
public RationalTime(int frequency,
RelativeTime interval)
throws java.lang.IllegalArgumentException
frequency - The frequency value of thisinterval - The relativeTime object used as the source for the copy| Method Detail |
public AbsoluteTime absolute(Clock clock,
AbsoluteTime destination)
absolute in class RelativeTimeclock - if null, Clock.getRealTimeClock() is useddestination - public void addInterarrivalTo(AbsoluteTime destination)
AbsoluteTime. It is almost the same dest.add(this, dest) except
that it accounts for(ie. divides by) the frequency.addInterarrivalTo in class RelativeTimedest - public int getFrequency()
public RelativeTime getInterarrivalTime(RelativeTime dest)
getInterarrivalTime in class RelativeTimedest - Result is stored in dest and returned, if null new object is returned.public RelativeTime getInterarrivalTime()
getInterarrivalTime in class RelativeTime
public void set(long millis,
int nanos)
throws java.lang.IllegalArgumentException
set in class HighResolutionTimemillis - Millisecond part.nanos - Nanosecond part.
public void setFrequency(int frequency)
throws java.lang.ArithmeticException
frequency - the frequency to be set for this
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||