Author: j16sdiz
Date: 2009-04-03 06:43:55 +0000 (Fri, 03 Apr 2009)
New Revision: 26409
Modified:
trunk/freenet/src/freenet/node/PacketTracker.java
trunk/freenet/src/freenet/support/IndexableUpdatableSortedLinkedListItem.java
trunk/freenet/src/freenet/support/UpdatableSortedLinkedListItem.java
trunk/freenet/src/freenet/support/UpdatableSortedLinkedListItemImpl.java
Log:
Generics for Generics' friends (bug 2512)
Modified: trunk/freenet/src/freenet/node/PacketTracker.java
===================================================================
--- trunk/freenet/src/freenet/node/PacketTracker.java 2009-04-03 06:09:52 UTC
(rev 26408)
+++ trunk/freenet/src/freenet/node/PacketTracker.java 2009-04-03 06:43:55 UTC
(rev 26409)
@@ -17,8 +17,8 @@
import freenet.support.IndexableUpdatableSortedLinkedListItem;
import freenet.support.LimitedRangeIntByteArrayMap;
import freenet.support.LimitedRangeIntByteArrayMapElement;
-import freenet.support.Logger;
import freenet.support.LogThresholdCallback;
+import freenet.support.Logger;
import freenet.support.ReceivedPacketNumbers;
import freenet.support.TimeUtil;
import freenet.support.UpdatableSortedLinkedListItem;
@@ -216,7 +216,7 @@
}
private abstract class BaseQueuedResend extends PacketActionItem
- implements IndexableUpdatableSortedLinkedListItem {
+ implements
IndexableUpdatableSortedLinkedListItem<BaseQueuedResend> {
/** Time at which this item becomes sendable.
* When we send a resend request, this is reset to t+500ms.
@@ -243,31 +243,30 @@
abstract long urgentDelay();
abstract long initialActiveTime(long now);
- private Item next;
- private Item prev;
+ private BaseQueuedResend next;
+ private BaseQueuedResend prev;
- public final Item getNext() {
+ public final BaseQueuedResend getNext() {
return next;
}
- public final Item setNext(Item i) {
- Item old = next;
- next = i;
+ public final BaseQueuedResend setNext(Item i) {
+ BaseQueuedResend old = next;
+ next = (BaseQueuedResend)i;
return old;
}
- public Item getPrev() {
+ public BaseQueuedResend getPrev() {
return prev;
}
- public Item setPrev(Item i) {
- Item old = prev;
- prev = i;
+ public BaseQueuedResend setPrev(Item i) {
+ BaseQueuedResend old = prev;
+ prev = (BaseQueuedResend)i;
return old;
}
- public int compareTo(Object o) {
- BaseQueuedResend r = (BaseQueuedResend) o;
+ public int compareTo(BaseQueuedResend r) {
if(urgentTime > r.urgentTime)
return 1;
if(urgentTime < r.urgentTime)
@@ -758,9 +757,9 @@
acks = new int[length];
int i = 0;
- Iterator it = forgottenQueue.iterator();
+ Iterator<QueuedForgotten> it =
forgottenQueue.iterator();
while(it.hasNext()) {
- QueuedForgotten ack = (QueuedForgotten)
it.next();
+ QueuedForgotten ack = it.next();
acks[i++] = ack.packetNumber;
if(logMINOR)
Logger.minor(this, "Grabbing ack " +
ack.packetNumber + " from " + this);
Modified:
trunk/freenet/src/freenet/support/IndexableUpdatableSortedLinkedListItem.java
===================================================================
---
trunk/freenet/src/freenet/support/IndexableUpdatableSortedLinkedListItem.java
2009-04-03 06:09:52 UTC (rev 26408)
+++
trunk/freenet/src/freenet/support/IndexableUpdatableSortedLinkedListItem.java
2009-04-03 06:43:55 UTC (rev 26409)
@@ -1,8 +1,8 @@
package freenet.support;
-public interface IndexableUpdatableSortedLinkedListItem extends
- UpdatableSortedLinkedListItem {
-
- public Object indexValue();
+public interface IndexableUpdatableSortedLinkedListItem<T extends
IndexableUpdatableSortedLinkedListItem<T>> extends
+ UpdatableSortedLinkedListItem<T> {
+ public Object indexValue();
+
}
Modified: trunk/freenet/src/freenet/support/UpdatableSortedLinkedListItem.java
===================================================================
--- trunk/freenet/src/freenet/support/UpdatableSortedLinkedListItem.java
2009-04-03 06:09:52 UTC (rev 26408)
+++ trunk/freenet/src/freenet/support/UpdatableSortedLinkedListItem.java
2009-04-03 06:43:55 UTC (rev 26409)
@@ -2,13 +2,14 @@
import freenet.support.DoublyLinkedList.Item;
-public interface UpdatableSortedLinkedListItem extends DoublyLinkedList.Item,
Comparable {
+public interface UpdatableSortedLinkedListItem<T extends
UpdatableSortedLinkedListItem<T>> extends
+ DoublyLinkedList.Item<T>, Comparable<T> {
- public abstract Item getNext();
+ public abstract T getNext();
- public abstract Item setNext(Item i);
+ public abstract T setNext(Item<?> i);
- public abstract Item getPrev();
+ public abstract T getPrev();
- public abstract Item setPrev(Item i);
+ public abstract T setPrev(Item<?> i);
}
\ No newline at end of file
Modified:
trunk/freenet/src/freenet/support/UpdatableSortedLinkedListItemImpl.java
===================================================================
--- trunk/freenet/src/freenet/support/UpdatableSortedLinkedListItemImpl.java
2009-04-03 06:09:52 UTC (rev 26408)
+++ trunk/freenet/src/freenet/support/UpdatableSortedLinkedListItemImpl.java
2009-04-03 06:43:55 UTC (rev 26409)
@@ -5,38 +5,39 @@
/**
* An item that can be put into an UpdatableSortedLinkedList.
*/
-public abstract class UpdatableSortedLinkedListItemImpl implements
UpdatableSortedLinkedListItem {
+public abstract class UpdatableSortedLinkedListItemImpl<T extends
UpdatableSortedLinkedListItemImpl<T>> implements
+ UpdatableSortedLinkedListItem<T> {
- private Item next;
- private Item prev;
-
- public Item getNext() {
- return next;
- }
+ private T next;
+ private T prev;
- public Item setNext(Item i) {
- Item old = next;
- next = i;
- return old;
- }
+ public T getNext() {
+ return next;
+ }
- public Item getPrev() {
- return prev;
- }
+ public T setNext(Item<?> i) {
+ T old = next;
+ next = (T) i;
+ return old;
+ }
- public Item setPrev(Item i) {
- Item old = prev;
- prev = i;
- return old;
- }
-
- /*
- * FIXME: DoublyLinkedList says that this is only for debugging purposes.
- * Maybe it should be removed completely?
- */
-
- private DoublyLinkedList parentList;
+ public T getPrev() {
+ return prev;
+ }
+ public T setPrev(Item<?> i) {
+ T old = prev;
+ prev = (T) i;
+ return old;
+ }
+
+ /*
+ * FIXME: DoublyLinkedList says that this is only for debugging
purposes. Maybe it should be
+ * removed completely?
+ */
+
+ private DoublyLinkedList parentList;
+
public DoublyLinkedList getParent() {
return parentList;
}
@@ -46,5 +47,5 @@
parentList = l;
return oldParent;
}
-
+
}
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs