Author: j16sdiz
Date: 2009-04-15 06:34:14 +0000 (Wed, 15 Apr 2009)
New Revision: 26825
Modified:
trunk/freenet/src/freenet/node/PacketTracker.java
trunk/freenet/src/freenet/support/UpdatableSortedLinkedList.java
Log:
Generic-related warnings (PacketTracker.java)
Modified: trunk/freenet/src/freenet/node/PacketTracker.java
===================================================================
--- trunk/freenet/src/freenet/node/PacketTracker.java 2009-04-15 06:33:51 UTC
(rev 26824)
+++ trunk/freenet/src/freenet/node/PacketTracker.java 2009-04-15 06:34:14 UTC
(rev 26825)
@@ -21,7 +21,6 @@
import freenet.support.Logger;
import freenet.support.ReceivedPacketNumbers;
import freenet.support.TimeUtil;
-import freenet.support.UpdatableSortedLinkedListItem;
import freenet.support.UpdatableSortedLinkedListKilledException;
import freenet.support.UpdatableSortedLinkedListWithForeignIndex;
import freenet.support.WouldBlockException;
@@ -250,7 +249,8 @@
return next;
}
- public final T setNext(Item<?> i) {
+ @SuppressWarnings("unchecked")
+ public final T setNext(Item<?> i) {
T old = next;
next = (T)i;
return old;
@@ -260,7 +260,8 @@
return prev;
}
- public T setPrev(Item<?> i) {
+ @SuppressWarnings("unchecked")
+ public T setPrev(Item<?> i) {
T old = prev;
prev = (T)i;
return old;
@@ -808,18 +809,18 @@
* @throws NotConnectedException If the peer is no longer connected.
*/
public int[] grabResendRequests() throws NotConnectedException {
- UpdatableSortedLinkedListItem[] items;
+ QueuedResendRequest[] items;
int[] packetNumbers;
int realLength;
long now = System.currentTimeMillis();
try {
synchronized(resendRequestQueue) {
- items = resendRequestQueue.toArray();
+ items = resendRequestQueue.toArray(new
QueuedResendRequest[resendRequestQueue.size()]);
int length = items.length;
packetNumbers = new int[length];
realLength = 0;
for(int i = 0; i < length; i++) {
- QueuedResendRequest qrr =
(QueuedResendRequest) items[i];
+ QueuedResendRequest qrr = items[i];
if(packetNumbersReceived.contains(qrr.packetNumber)) {
if(logMINOR)
Logger.minor(this,
"Have already seen " + qrr.packetNumber + ", removing from resend list");
@@ -844,7 +845,7 @@
}
public int[] grabAckRequests() throws NotConnectedException,
StillNotAckedException {
- UpdatableSortedLinkedListItem[] items;
+ QueuedAckRequest[] items;
int[] packetNumbers;
int realLength;
if(logMINOR)
@@ -852,12 +853,12 @@
try {
synchronized(ackRequestQueue) {
long now = System.currentTimeMillis();
- items = ackRequestQueue.toArray();
+ items = ackRequestQueue.toArray(new
QueuedAckRequest[ackRequestQueue.size()]);
int length = items.length;
packetNumbers = new int[length];
realLength = 0;
for(int i = 0; i < length; i++) {
- QueuedAckRequest qr =
(QueuedAckRequest) items[i];
+ QueuedAckRequest qr = items[i];
int packetNumber = qr.packetNumber;
if(qr.activeTime <= now) {
if(sentPacketsContents.get(packetNumber) == null) {
Modified: trunk/freenet/src/freenet/support/UpdatableSortedLinkedList.java
===================================================================
--- trunk/freenet/src/freenet/support/UpdatableSortedLinkedList.java
2009-04-15 06:33:51 UTC (rev 26824)
+++ trunk/freenet/src/freenet/support/UpdatableSortedLinkedList.java
2009-04-15 06:34:14 UTC (rev 26825)
@@ -220,6 +220,25 @@
}
/**
+ * @return an array, in order, of the elements in the list
+ * @throws UpdatableSortedLinkedListKilledException
+ */
+ @SuppressWarnings("unchecked")
+ public synchronized <E> E[] toArray(E[] array) throws
UpdatableSortedLinkedListKilledException {
+ if(killed) throw new UpdatableSortedLinkedListKilledException();
+ int size = list.size();
+ if(size < 0)
+ throw new IllegalStateException("list.size() = "+size+" for
"+this);
+
+ int i=0;
+ for(Enumeration<T> e = list.elements();e.hasMoreElements();) {
+ array[i++] = (E) e.nextElement();
+ //Logger.minor(this, "["+(i-1)+"] = "+output[i-1]);
+ }
+ return array;
+ }
+
+ /**
* @return Does the list contain that item?
*/
public synchronized boolean contains(T item) {
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs