src/share/classes/sun/rmi/transport/Target.java
Print this page
@@ -51,13 +51,14 @@
/** dispatcher for remote object */
private volatile Dispatcher disp;
/** stub for remote object */
private final Remote stub;
/** set of clients that hold references to this target */
- private final Vector refSet = new Vector();
+ private final Vector<VMID> refSet = new Vector<>();
/** table that maps client endpoints to sequence numbers */
- private final Hashtable sequenceTable = new Hashtable(5);
+ private final Hashtable<VMID, SequenceEntry> sequenceTable =
+ new Hashtable<>(5);
/** access control context in which target was created */
private final AccessControlContext acc;
/** context class loader in which target was created */
private final ClassLoader ccl;
/** number of pending/executing calls */
@@ -239,11 +240,11 @@
* to call back if the address space associated with the endpoint
* dies.
*/
synchronized void referenced(long sequenceNum, VMID vmid) {
// check sequence number for vmid
- SequenceEntry entry = (SequenceEntry) sequenceTable.get(vmid);
+ SequenceEntry entry = sequenceTable.get(vmid);
if (entry == null) {
sequenceTable.put(vmid, new SequenceEntry(sequenceNum));
} else if (entry.sequenceNum < sequenceNum) {
entry.update(sequenceNum);
} else {
@@ -278,11 +279,11 @@
* remove server from Transport's object table.
*/
synchronized void unreferenced(long sequenceNum, VMID vmid, boolean strong)
{
// check sequence number for vmid
- SequenceEntry entry = (SequenceEntry) sequenceTable.get(vmid);
+ SequenceEntry entry = sequenceTable.get(vmid);
if (entry == null || entry.sequenceNum > sequenceNum) {
// late clean call; ignore
return;
} else if (strong) {
// strong clean call; retain sequenceNum
@@ -364,13 +365,13 @@
* Also, unregister all vmids referencing this target
* so target can be gc'd.
*/
unpinImpl();
DGCImpl dgc = DGCImpl.getDGCImpl();
- Enumeration enum_ = refSet.elements();
+ Enumeration<VMID> enum_ = refSet.elements();
while (enum_.hasMoreElements()) {
- VMID vmid = (VMID) enum_.nextElement();
+ VMID vmid = enum_.nextElement();
dgc.unregisterTarget(vmid, this);
}
return true;
} else {
return false;