| Num | Class | Change |
This is a quick summary of the API changes and semantic changes found in the draft 1.0.1 specification that are not plainly clarifications.
We have tried hard to keep the complete draft synchronized with these changes, but this is a summary and does give rationale or put the changes in context. Please refer to the complete draft for the best information on the proposed changes.
This set of changes will be considered final when the RI and TCK have been updated to reflect them.
| Num | Class | Change |
| 1 | All | Clarified the semantics in the specification |
| 2 | RealtimeThread | Added MemoryArea getMemoryArea() to return the initial memory area of the RealtimeThread. |
| 3 | changes to the operation of setPriority in java.lang.Thread are described |
|
| 4 | waitForNextPeriod changed to static |
|
| 5 | added waitForNextPeriodInterruptible |
|
| 6 | added the two new setIfFeasible methods from the Schedulable interface. |
|
| 7 | Scheduler | let fireSchedulable() throw UnsupportedOperationException |
| 8 | switch the following methods to abstract:
1. |
|
| 9 | Schedulable | Move methods from all classes that extend Schedulable into Schedulable1 . boolean addIfFeasible(),2. boolean setIfFeasible(ReleaseParameters release, MemoryParameters memory),3. boolean setIfFeasible(ReleaseParameters release, MemoryParameters memory, ProcessingGroupParameters group),4. boolean setIfFeasible(ReleaseParameters release, ProcessingGroupParameters group) |
| 10 | Add 1 . boolean setIfFeasible(SchedulingParameters sched,2. boolean setIfFeasible(SchedulingParameters sched,
These two methods are also added to classes that implement |
|
| 11 | IllegalThreadStateException was removed from the setScheduler methods. |
|
| 12 | ReleaseParameters | Add Cloneable interface and clone() method |
| 13 | SchedulingParameters | Add Cloneable interface and clone() method |
| 14 | Convert the constructor to from public to protected | |
| 15 | PeriodicParameters | Add constructors:
1. PeriodicParameters(RelativeTime period)2. PeriodicParameters(HighResolutionTime start, RelativeTime period) |
| 16 | ProcessingGroupParameters | Add Cloneable interface and clone() method |
| 17 | AperiodicParameters | Promoted arrivalTimeQueue overflow methods from the subclass, SporadicParameters:
|
| 18 | Add no-arg constructorAperiodParameters() |
|
| 19 | SporadicParameters | Add constructor
SporadicParameters(RelativeTime minInterarrival) |
| 20 | Several methods and fields have been promoted to the AperiodicParameters super-class. See that class. |
|
| 21 | PriorityScheduler | Revise the semantics for the REPLACE MIT violation policy |
| 22 | The fireSchedulable method is permitted to throw UnsupportedOperationException |
|
| 23 | Deprecated MAX_PRIORITY and MIN_PRIORITY | |
| 24 | SchedulingParameters | Implements Cloneable and includes the public clone method |
| 25 | The no-arg constructor is switched from public to protected. | |
| 26 | MemoryArea | Updated the throws clauses of newArray(), and the newInstance() methods to reflect the checked exceptions from the underlying platform |
| 27 | ImmortalMemory | Clarify that java.lang.Thread can use executeInArea() and newInstance() from ImmortalMemory |
| 28 | HeapMemory | In many cases, including this, methods that are inherited from the super-class with no semantic changes are no longer specifically mentioned. Here the methods are memoryConsumed() and memoryRemaining(). The methods are still present, but repeating them would be redundant. |
| 29 | SizeEstimator | Add reserveArray(int dimension)andreserveArray(int dimension, Class type) |
| 30 | ScopedMemory | getPortal() throws MemoryAccessError and IllegalAssignmentError (both unchecked) |
| 31 | ScopedCycleException cannot be thrown by joinAndEnter() unless the method has a time parameter. It has been removed where appropriate |
|
| 32 | joinAndEnter() methods throw IllegalArgumentException immediately when they have no non-null logic value |
|
| 33 | Documentation for executeInArea is repeated here to add that ordinary threads cannot use the method on scoped memories. |
|
| 34 | LTMemory | Added four new constructors:
|
| 35 | VTMemory |
Added four new constructors
|
| 36 | PhysicalMemoryManager | The type of the static final fields ALIGNED, BYTESWAP, SHARED, and DMA
is changed from String to Object. |
| 37 | A new static final field, IO_PAGE, is added. |
|
| 38 |
The methods
have been added |
|
| 39 |
All methods now throw |
|
| 40 | onInsertion(long base, long size, AsyncEvent ae) and onRemoval(long base, long size, AsyncEvent ae) are deprecated. |
|
| 41 | Throughout the specification we have been removing unchecked exceptions from the throws clause of methods. This change is only matter of bringing the document in line with the current Javadoc practice. The exceptions remain in the @throws part of the document. | |
| 42 | PhysicalMemoryTypeFilter |
The methods
have been added |
| 43 |
All methods now throw |
|
| 44 | onInsertion(long base, long size, AsyncEvent ae) and onRemoval(long base, long size, AsyncEvent ae) are deprecated. |
|
| 45 | RawMemoryAccess | The constructors now mention the possibility of OutOfMemoryError |
| 46 | RawMemoryFloatAccess | The constructors now mention the possibility of OutOfMemoryError |
| 47 | MemoryParameters | Changed setAllocationRateIfFeasible() to accept a long argument. |
| 48 | Added implements Cloneable and added the clone() method |
|
| 49 | GarbageCollector | Deprecated the public constructor |
| 50 | MonitorControl | made the constructor protected |
| 51 | changed the setMonitorControl methods to return the old policy instead of void |
|
| 52 | PriorityCeilingEmulation | added static PriorityCeilingEmulation instance(int ceiling) |
| 53 | added getCeiling() |
|
| 54 | added static PriorityCeilingEmulation getMaxCeiling() |
|
| 55 | Removed the public constructor | |
| 56 | Deprecated getDefaultCeiling() |
|
| 57 | PriorityInheritance | Removed the public constructor |
| 58 | WaitFreeWriteQueue | Added constructor
|
| 59 | Added constructor
|
|
| 60 | added throws InterruptedException to read() |
|
| 61 | WaitFreeReadQueue | Added constructor
|
| 62 | Added constructor
|
|
| 63 | Changed the return type of write() from boolean to void |
|
| 64 | Added InterruptedException to the throws clause of write() |
|
| 65 | Added InterruptedException to the throws clause of waitForData() |
|
| 66 | WaitFreeDequeue | Deprecated |
| 67 | Changed the return type of blockingWrite from boolean to void |
|
| 68 | HighResolutionTime | Changed relative(Clock clock, HighResolutionTime time) to relative(Clock clock, RelativeTime time) |
| 69 | add getClock() |
|
| 70 | Change the operation of set(HighResolutionTime time) to match normal Java usage |
|
| 71 | Add implements Cloneable, and the clone() method |
|
| 72 | AbsoluteTime | Added new constructors
|
| 73 | Changed several methods from final to non-final
|
|
| 74 | Changed
to
|
|
| 75 | RelativeTime | Added new constructors
|
| 76 | Changed two methods from final to non-final
|
|
| 77 | Deprecated
|
|
| 78 | RationalTime | Deprecated |
| 79 | Clock | Added
RelativeTime getEpochOffset() throws UnsupportedOperationException |
| 80 | Changed the return type of
getTime(AbsoluteTime time) from void
to AbsoluteTime |
|
| 81 | Timer | This class overrides fire() to note that it throws UnsupportedOperationException |
| 82 | Added
void start(boolean disabled) throws IllegalStateException |
|
| 83 | AsyncEventHandler | Remove the final qualifier from
|
| 84 | Add
|
|
| 85 | added the two new setIfFeasible methods from the Schedulable interface. |
|
| 86 | BoundAsyncEventHandler | Make it a non-abstract class |
| 87 | AsynchronouslyInterruptedException | Added clear() |
| 88 | Deprecate happened() |
|
| 89 | Deprecated propagate() |
|
| 90 | POSIXSignalHandler | Deprecate all signal codes that were not included in the older POSIX standard. |
| 91 | Removed the default no-arg constructor | |
| 92 | RealtimeSecurity | Added checkSetDaemon method |
| 93 | Added checkSetMonitorControl method |
|
| 94 | RealtimeSystem | Removed the no-arg constructor |
| 95 | Return version information from System.getProperty("javax.realtime.version") |
|
| 96 | Added MonitorControl getInitialMonitorControl() |
|
| 97 | ArrivalTimeQueueOverflowException | Added. This is thrown instead of ResourceLimitError when the arrival time queue overflows. |
| 98 | CeilingViolationException | Added |
| 99 | MemoryScopeException | Changed to unchecked |
| 100 | InnaccessibleAreaException | Changed to unchecked |
| 101 | MemoryTypeConflictException | Changed to unchecked |
| 102 | MITViolationException | Changed to unchecked |
| 103 | OffsetOutOfBoundsException | Changed to unchecked |
| 104 | SizeOutOfBoundsException | Changed to unchecked |
| 105 | UnsupportedPhysicalMemoryException | Changed to unchecked |
The EC passed the 1.0.1 changes with no objections.