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

Reply via email to