Author: j16sdiz
Date: 2008-10-30 08:35:32 +0000 (Thu, 30 Oct 2008)
New Revision: 23216

Modified:
   trunk/freenet/src/freenet/io/comm/Message.java
   trunk/freenet/src/freenet/io/comm/PeerContext.java
   trunk/freenet/src/freenet/node/CHKInsertSender.java
   trunk/freenet/src/freenet/node/DarknetPeerNode.java
   trunk/freenet/src/freenet/node/FNPPacketMangler.java
   trunk/freenet/src/freenet/node/FailureTable.java
   trunk/freenet/src/freenet/node/FailureTableEntry.java
   trunk/freenet/src/freenet/node/PeerNode.java
Log:
generic, enchanced for-loop, unused methods

Modified: trunk/freenet/src/freenet/io/comm/Message.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/Message.java      2008-10-30 08:34:56 UTC 
(rev 23215)
+++ trunk/freenet/src/freenet/io/comm/Message.java      2008-10-30 08:35:32 UTC 
(rev 23216)
@@ -45,7 +45,7 @@
     public static final String VERSION = "$Id: Message.java,v 1.11 2005/09/15 
18:16:04 amphibian Exp $";

        private final MessageType _spec;
-       private final WeakReference<PeerContext> _sourceRef;
+       private final WeakReference<? extends PeerContext> _sourceRef;
        private final boolean _internal;
        private final HashMap<String, Object> _payload = new HashMap<String, 
Object>(8, 1.0F); // REDFLAG at the moment memory is more of an issue than CPU 
so we use a high load factor
        private List<Message> _subMessages;

Modified: trunk/freenet/src/freenet/io/comm/PeerContext.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/PeerContext.java  2008-10-30 08:34:56 UTC 
(rev 23215)
+++ trunk/freenet/src/freenet/io/comm/PeerContext.java  2008-10-30 08:35:32 UTC 
(rev 23216)
@@ -55,7 +55,7 @@

        /** Get a WeakReference to this context. Hopefully there is only one of 
these for the whole object; they are quite
         * expensive. */
-       WeakReference<PeerContext> getWeakRef();
+       WeakReference<? extends PeerContext> getWeakRef();

        /** Compact toString() */
        String shortToString();

Modified: trunk/freenet/src/freenet/node/CHKInsertSender.java
===================================================================
--- trunk/freenet/src/freenet/node/CHKInsertSender.java 2008-10-30 08:34:56 UTC 
(rev 23215)
+++ trunk/freenet/src/freenet/node/CHKInsertSender.java 2008-10-30 08:35:32 UTC 
(rev 23216)
@@ -722,7 +722,7 @@
                        BackgroundTransfer[] transfers;
                        synchronized(backgroundTransfers) {
                                transfers = new 
BackgroundTransfer[backgroundTransfers.size()];
-                               transfers = (BackgroundTransfer[]) 
backgroundTransfers.toArray(transfers);
+                               transfers = 
backgroundTransfers.toArray(transfers);
                        }

                        // Wait for the outgoing transfers to complete.

Modified: trunk/freenet/src/freenet/node/DarknetPeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/DarknetPeerNode.java 2008-10-30 08:34:56 UTC 
(rev 23215)
+++ trunk/freenet/src/freenet/node/DarknetPeerNode.java 2008-10-30 08:35:32 UTC 
(rev 23216)
@@ -131,8 +131,7 @@
                        FreenetInetAddress addr = detectedPeer == null ? null : 
detectedPeer.getFreenetAddress();
                        int port = detectedPeer == null ? -1 : 
detectedPeer.getPort();
                        if(nominalPeer == null) return detectedPeer;
-                       for(int i=0;i<nominalPeer.size();i++) {
-                               Peer p = (Peer) nominalPeer.get(i);
+                       for(Peer p : nominalPeer) {                             
                                if(p.getPort() != port && 
p.getFreenetAddress().equals(addr)) {
                                        return p;
                                }
@@ -560,13 +559,13 @@
                int nextFileNumber = 0;
                synchronized(extraPeerDataFileNumbers) {
                        // Find the first free slot
-                       localFileNumbers = (Integer[]) 
extraPeerDataFileNumbers.toArray(new Integer[extraPeerDataFileNumbers.size()]);
+                       localFileNumbers = extraPeerDataFileNumbers.toArray(new 
Integer[extraPeerDataFileNumbers.size()]);
                        Arrays.sort(localFileNumbers);
-                       for (int i = 0; i < localFileNumbers.length; i++) {
-                               if(localFileNumbers[i].intValue() > 
nextFileNumber) {
+                       for (int localFileNumber : localFileNumbers) {
+                               if(localFileNumber > nextFileNumber) {
                                        break;
                                }
-                               nextFileNumber = localFileNumbers[i].intValue() 
+ 1;
+                               nextFileNumber = localFileNumber + 1;
                        }
                        extraPeerDataFileNumbers.add(nextFileNumber);
                }
@@ -647,7 +646,7 @@
                }
                Integer[] localFileNumbers;
                synchronized(extraPeerDataFileNumbers) {
-                       localFileNumbers = (Integer[]) 
extraPeerDataFileNumbers.toArray(new Integer[extraPeerDataFileNumbers.size()]);
+                       localFileNumbers = extraPeerDataFileNumbers.toArray(new 
Integer[extraPeerDataFileNumbers.size()]);
                }
                for (int i = 0; i < localFileNumbers.length; i++) {
                        deleteExtraPeerDataFile(localFileNumbers[i].intValue());
@@ -744,7 +743,7 @@
                        Logger.minor(this, "Sending queued N2NMs for 
"+shortToString());
                Integer[] localFileNumbers;
                synchronized(queuedToSendN2NMExtraPeerDataFileNumbers) {
-                       localFileNumbers = (Integer[]) 
queuedToSendN2NMExtraPeerDataFileNumbers.toArray(new 
Integer[queuedToSendN2NMExtraPeerDataFileNumbers.size()]);
+                       localFileNumbers = 
queuedToSendN2NMExtraPeerDataFileNumbers.toArray(new 
Integer[queuedToSendN2NMExtraPeerDataFileNumbers.size()]);
                }
                Arrays.sort(localFileNumbers);
                for (int i = 0; i < localFileNumbers.length; i++) {

Modified: trunk/freenet/src/freenet/node/FNPPacketMangler.java
===================================================================
--- trunk/freenet/src/freenet/node/FNPPacketMangler.java        2008-10-30 
08:34:56 UTC (rev 23215)
+++ trunk/freenet/src/freenet/node/FNPPacketMangler.java        2008-10-30 
08:35:32 UTC (rev 23216)
@@ -3,12 +3,11 @@
  * http://www.gnu.org/ for further details of the GPL. */
 package freenet.node;

-import freenet.io.AddressTracker;
-import freenet.io.comm.SocketHandler;
-
+import java.io.UnsupportedEncodingException;
+import java.math.BigInteger;
 import java.security.MessageDigest;
 import java.util.Arrays;
-import java.util.Iterator;
+import java.util.HashMap;
 import java.util.LinkedList;

 import net.i2p.util.NativeBigInteger;
@@ -25,6 +24,7 @@
 import freenet.crypt.SHA256;
 import freenet.crypt.UnsupportedCipherException;
 import freenet.crypt.ciphers.Rijndael;
+import freenet.io.AddressTracker;
 import freenet.io.comm.AsyncMessageCallback;
 import freenet.io.comm.DMT;
 import freenet.io.comm.FreenetInetAddress;
@@ -32,14 +32,15 @@
 import freenet.io.comm.Message;
 import freenet.io.comm.MessageCore;
 import freenet.io.comm.NotConnectedException;
-import freenet.io.comm.PeerParseException;
-import freenet.io.comm.ReferenceSignatureVerificationException;
-import freenet.io.comm.Peer.LocalAddressException;
-import freenet.support.Fields;
 import freenet.io.comm.PacketSocketHandler;
 import freenet.io.comm.Peer;
 import freenet.io.comm.PeerContext;
+import freenet.io.comm.PeerParseException;
+import freenet.io.comm.ReferenceSignatureVerificationException;
+import freenet.io.comm.SocketHandler;
+import freenet.io.comm.Peer.LocalAddressException;
 import freenet.support.ByteArrayWrapper;
+import freenet.support.Fields;
 import freenet.support.HexUtil;
 import freenet.support.Logger;
 import freenet.support.SimpleFieldSet;
@@ -47,10 +48,6 @@
 import freenet.support.WouldBlockException;
 import freenet.support.io.NativeThread;

-import java.io.UnsupportedEncodingException;
-import java.math.BigInteger;
-import java.util.HashMap;
-
 /**
  * @author amphibian
  * 
@@ -61,7 +58,6 @@
  * changes in IncomingPacketFilter).
  */
 public class FNPPacketMangler implements OutgoingPacketMangler, 
IncomingPacketFilter {
-
        private static boolean logMINOR;
        private static boolean logDEBUG;
        private final Node node;
@@ -75,7 +71,7 @@
         * The messages are cached in hashmaps because the message retrieval 
from the cache 
         * can be performed in constant time( given the key)
         */
-       private final HashMap authenticatorCache;
+       private final HashMap<ByteArrayWrapper, byte[]> authenticatorCache;
        /** The following is used in the HMAC calculation of JFK message3 and 
message4 */
        private static final byte[] JFK_PREFIX_INITIATOR, JFK_PREFIX_RESPONDER;
        static {
@@ -99,7 +95,7 @@
        * The FIFO itself
        * Get a lock on dhContextFIFO before touching it!
        */
-       private final LinkedList dhContextFIFO = new LinkedList();
+       private final LinkedList<DiffieHellmanLightContext> dhContextFIFO = new 
LinkedList<DiffieHellmanLightContext>();
        /* The element which is about to be prunned from the FIFO */
        private DiffieHellmanLightContext dhContextToBePrunned = null;
        private long jfkDHLastGenerationTimestamp = 0;
@@ -164,7 +160,7 @@
                this.sock = sock;
                fnpTimingSource = new EntropySource();
                myPacketDataSource = new EntropySource();
-               authenticatorCache = new HashMap();
+               authenticatorCache = new HashMap<ByteArrayWrapper, byte[]>();

                fullHeadersLengthMinimum = HEADERS_LENGTH_MINIMUM + 
sock.getHeadersLength();
                fullHeadersLengthOneMessage = HEADERS_LENGTH_ONE_MESSAGE + 
sock.getHeadersLength();
@@ -946,7 +942,7 @@
                // sanity check
                byte[] myNi;
                synchronized (pn) {
-                       myNi = (byte[]) pn.jfkNoncesSent.get(replyTo);
+                       myNi = pn.jfkNoncesSent.get(replyTo);
                }
                // We don't except such a message;
                if(myNi == null) {
@@ -2683,12 +2679,10 @@
        private void _fillJFKDHFIFO() {
                synchronized (dhContextFIFO) {
                        if(dhContextFIFO.size() + 1 > DH_CONTEXT_BUFFER_SIZE) {
-                               DiffieHellmanLightContext result = null, tmp;
+                               DiffieHellmanLightContext result = null;
                                long oldestSeen = Long.MAX_VALUE;

-                               Iterator it = dhContextFIFO.iterator();
-                               while(it.hasNext()) {
-                                       tmp = (DiffieHellmanLightContext) 
it.next();
+                               for (DiffieHellmanLightContext tmp: 
dhContextFIFO) {
                                        if(tmp.lifetime < oldestSeen) {
                                                oldestSeen = tmp.lifetime;
                                                result = tmp;
@@ -2736,11 +2730,8 @@
         * @return the corresponding DiffieHellmanLightContext with the right 
exponent
         */
        private DiffieHellmanLightContext findContextByExponential(BigInteger 
exponential) {
-               DiffieHellmanLightContext result = null;
                synchronized (dhContextFIFO) {
-                       Iterator it = dhContextFIFO.iterator();
-                       while(it.hasNext()) {
-                               result = (DiffieHellmanLightContext) it.next();
+                       for (DiffieHellmanLightContext result : dhContextFIFO) {
                                if(exponential.equals(result.myExponential)) {
                                        return result;
                                }

Modified: trunk/freenet/src/freenet/node/FailureTable.java
===================================================================
--- trunk/freenet/src/freenet/node/FailureTable.java    2008-10-30 08:34:56 UTC 
(rev 23215)
+++ trunk/freenet/src/freenet/node/FailureTable.java    2008-10-30 08:35:32 UTC 
(rev 23216)
@@ -97,7 +97,7 @@
                long now = System.currentTimeMillis();
                FailureTableEntry entry;
                synchronized(this) {
-                       entry = (FailureTableEntry) entriesByKey.get(key);
+                       entry = entriesByKey.get(key);
                        if(entry == null)
                                entry = new FailureTableEntry(key);
                        entriesByKey.push(key, entry);
@@ -111,7 +111,7 @@
                long now = System.currentTimeMillis();
                FailureTableEntry entry;
                synchronized(this) {
-                       entry = (FailureTableEntry) entriesByKey.get(key);
+                       entry = entriesByKey.get(key);
                        if(entry == null)
                                entry = new FailureTableEntry(key);
                        entriesByKey.push(key, entry);
@@ -194,7 +194,7 @@
        static final class BlockOffer {
                final long offeredTime;
                /** Either offered by or offered to this node */
-               final WeakReference nodeRef;
+               final WeakReference<PeerNode> nodeRef;
                /** Authenticator */
                final byte[] authenticator;
                /** Boot ID when the offer was made */
@@ -208,7 +208,7 @@
                }

                public PeerNode getPeerNode() {
-                       return (PeerNode) nodeRef.get();
+                       return nodeRef.get();
                }

                public boolean isExpired(long now) {
@@ -230,7 +230,7 @@
                if(key == null) throw new NullPointerException();
                FailureTableEntry entry;
                synchronized(this) {
-                       entry = (FailureTableEntry) entriesByKey.get(key);
+                       entry = entriesByKey.get(key);
                        if(entry == null) return; // Nobody cares
                        entriesByKey.removeKey(key);
                        blockOfferListByKey.removeKey(key);
@@ -256,7 +256,7 @@
                        Logger.minor(this, "Offered key "+key+" by peer "+peer);
                FailureTableEntry entry;
                synchronized(this) {
-                       entry = (FailureTableEntry) entriesByKey.get(key);
+                       entry = entriesByKey.get(key);
                        if(entry == null) {
                                if(logMINOR) Logger.minor(this, "We didn't ask 
for the key");
                                return; // we haven't asked for it
@@ -285,7 +285,7 @@
                FailureTableEntry entry;
                long now = System.currentTimeMillis();
                synchronized(this) {
-                       entry = (FailureTableEntry) entriesByKey.get(key);
+                       entry = entriesByKey.get(key);
                        if(entry == null) {
                                if(logMINOR) Logger.minor(this, "We didn't ask 
for the key");
                                return; // we haven't asked for it
@@ -338,10 +338,9 @@

                // Add to offers list

-               synchronized(this) {
-                       
+               synchronized(this) {                    
                        if(logMINOR) Logger.minor(this, "Valid offer");
-                       BlockOfferList bl = (BlockOfferList) 
blockOfferListByKey.get(key);
+                       BlockOfferList bl = blockOfferListByKey.get(key);
                        BlockOffer offer = new BlockOffer(peer, now, 
authenticator, peer.getBootID());
                        if(bl == null) {
                                bl = new BlockOfferList(entry, offer);
@@ -533,11 +532,11 @@
                        }
                        if(!recentOffers.isEmpty()) {
                                int x = 
node.random.nextInt(recentOffers.size());
-                               return lastOffer = (BlockOffer) 
recentOffers.remove(x);
+                               return lastOffer = recentOffers.remove(x);
                        }
                        if(!expiredOffers.isEmpty()) {
                                int x = 
node.random.nextInt(expiredOffers.size());
-                               return lastOffer = (BlockOffer) 
expiredOffers.remove(x);
+                               return lastOffer = expiredOffers.remove(x);
                        }
                        // No more offers.
                        return null;
@@ -565,7 +564,7 @@
                if(!node.enableULPRDataPropagation) return null;
                BlockOfferList bl;
                synchronized(this) {
-                       bl = (BlockOfferList) blockOfferListByKey.get(key);
+                       bl = blockOfferListByKey.get(key);
                        if(bl == null) return null;
                }
                return new OfferList(bl);
@@ -580,7 +579,7 @@
        public TimedOutNodesList getTimedOutNodesList(Key key) {
                if(!node.enablePerNodeFailureTables) return null;
                synchronized(this) {
-                       return (FailureTableEntry) entriesByKey.get(key);
+                       return entriesByKey.get(key);
                }
        }

@@ -618,13 +617,12 @@
                        long endTime = System.currentTimeMillis();
                        if(logMINOR) Logger.minor(this, "Finished FailureTable 
cleanup took "+(endTime-startTime)+"ms");
                }
-
        }

        public boolean peersWantKey(Key key) {
                FailureTableEntry entry;
                synchronized(this) {
-                       entry = (FailureTableEntry) entriesByKey.get(key);
+                       entry = entriesByKey.get(key);
                        if(entry == null) return false; // Nobody cares
                }
                return entry.othersWant(null);

Modified: trunk/freenet/src/freenet/node/FailureTableEntry.java
===================================================================
--- trunk/freenet/src/freenet/node/FailureTableEntry.java       2008-10-30 
08:34:56 UTC (rev 23215)
+++ trunk/freenet/src/freenet/node/FailureTableEntry.java       2008-10-30 
08:35:32 UTC (rev 23216)
@@ -4,11 +4,11 @@
 package freenet.node;

 import java.lang.ref.WeakReference;
+import java.util.Arrays;
 import java.util.HashSet;

 import freenet.keys.Key;
 import freenet.support.Logger;
-import java.util.Arrays;

 class FailureTableEntry implements TimedOutNodesList {

@@ -21,7 +21,7 @@
        /** Time we last received a DNF after sending a request for a key */
        long sentTime;
        /** WeakReference's to PeerNode's who have requested the key */
-       WeakReference[] requestorNodes;
+       WeakReference<PeerNode>[] requestorNodes;
        /** Times at which they requested it */
        long[] requestorTimes;
        /** Boot ID when they requested it. We don't send it to restarted 
nodes, as a 
@@ -32,7 +32,7 @@
        // FIXME also we don't have accurate times for when we routed to them - 
we only 
        // have the terminal time for the request.
        /** WeakReference's to PeerNode's we have requested it from */
-       WeakReference[] requestedNodes;
+       WeakReference<PeerNode>[] requestedNodes;
        /** Their locations when we requested it */
        double[] requestedLocs;
        long[] requestedBootIDs;
@@ -50,7 +50,8 @@
         public static final long[] EMPTY_LONG_ARRAY = new long[0];
         public static final short[] EMPTY_SHORT_ARRAY = new short[0];
         public static final double[] EMPTY_DOUBLE_ARRAY = new double[0];
-        public static final WeakReference[] EMPTY_WEAK_REFERENCE = new 
WeakReference[0];
+        @SuppressWarnings("unchecked")
+        public static final WeakReference<PeerNode>[] EMPTY_WEAK_REFERENCE = 
new WeakReference[0];

        FailureTableEntry(Key key) {
                this.key = key;
@@ -151,14 +152,15 @@
                                }
                        }
                }
-               WeakReference[] newRequestorNodes = new 
WeakReference[requestorNodes.length+notIncluded-nulls];
+        @SuppressWarnings("unchecked")
+               WeakReference<PeerNode>[] newRequestorNodes = new 
WeakReference[requestorNodes.length+notIncluded-nulls];
                long[] newRequestorTimes = new 
long[requestorNodes.length+notIncluded-nulls];
                long[] newRequestorBootIDs = new 
long[requestorNodes.length+notIncluded-nulls];
                int toIndex = 0;

                for(int i=0;i<requestorNodes.length;i++) {
-                       WeakReference ref = requestorNodes[i];
-                       PeerNode pn = (PeerNode) (ref == null ? null : 
ref.get());
+                       WeakReference<PeerNode> ref = requestorNodes[i];
+                       PeerNode pn = ref == null ? null : ref.get();
                        if(pn == null) continue;
                        if(pn == requestor) ret = toIndex;
                        newRequestorNodes[toIndex] = requestorNodes[i];
@@ -177,7 +179,8 @@

                for(int i=toIndex;i<newRequestorNodes.length;i++) 
newRequestorNodes[i] = null;
                if(toIndex > newRequestorNodes.length + 2) {
-                       WeakReference[] newNewRequestorNodes = new 
WeakReference[toIndex];
+                       @SuppressWarnings("unchecked")
+                       WeakReference<PeerNode>[] newNewRequestorNodes = new 
WeakReference[toIndex];
                        long[] newNewRequestorTimes = new long[toIndex];
                        long[] newNewRequestorBootIDs = new long[toIndex];
                        System.arraycopy(newRequestorNodes, 0, 
newNewRequestorNodes, 0, toIndex);
@@ -229,7 +232,8 @@
                                }
                        }
                }
-               WeakReference[] newRequestedNodes = new 
WeakReference[requestedNodes.length+notIncluded-nulls];
+               @SuppressWarnings("unchecked")
+               WeakReference<PeerNode>[] newRequestedNodes = new 
WeakReference[requestedNodes.length+notIncluded-nulls];
                double[] newRequestedLocs = new 
double[requestedNodes.length+notIncluded-nulls];
                long[] newRequestedBootIDs = new 
long[requestedNodes.length+notIncluded-nulls];
                long[] newRequestedTimes = new 
long[requestedNodes.length+notIncluded-nulls];
@@ -238,8 +242,8 @@

                int toIndex = 0;
                for(int i=0;i<requestedNodes.length;i++) {
-                       WeakReference ref = requestedNodes[i];
-                       PeerNode pn = (PeerNode) (ref == null ? null : 
ref.get());
+                       WeakReference<PeerNode> ref = requestedNodes[i];
+                       PeerNode pn = ref == null ? null : ref.get();
                        if(pn == null) continue;
                        if(pn == requestedFrom) ret = toIndex;
                        newRequestedNodes[toIndex] = requestedNodes[i];
@@ -265,7 +269,8 @@

                for(int i=toIndex;i<newRequestedNodes.length;i++) 
newRequestedNodes[i] = null;
                if(toIndex > newRequestedNodes.length + 2) {
-                       WeakReference[] newNewRequestedNodes = new 
WeakReference[toIndex];
+               @SuppressWarnings("unchecked")
+                       WeakReference<PeerNode>[] newNewRequestedNodes = new 
WeakReference[toIndex];
                        double[] newNewRequestedLocs = new double[toIndex];
                        long[] newNewRequestedBootIDs = new long[toIndex];
                        long[] newNewRequestedTimes = new long[toIndex];
@@ -300,9 +305,9 @@
                HashSet<PeerNode> set = new HashSet<PeerNode>();
                if(logMINOR) Logger.minor(this, "Sending offers to nodes which 
requested the key from us:");
                for(int i=0;i<requestorNodes.length;i++) {
-                       WeakReference ref = requestorNodes[i];
+                       WeakReference<PeerNode> ref = requestorNodes[i];
                        if(ref == null) continue;
-                       PeerNode pn = (PeerNode) ref.get();
+                       PeerNode pn = ref.get();
                        if(pn == null) continue;
                        if(pn.getBootID() != requestorBootIDs[i]) continue;
                        if(!set.add(pn)) {
@@ -312,9 +317,9 @@
                }
                if(logMINOR) Logger.minor(this, "Sending offers to nodes which 
we sent the key to:");
                for(int i=0;i<requestedNodes.length;i++) {
-                       WeakReference ref = requestedNodes[i];
+                       WeakReference<PeerNode> ref = requestedNodes[i];
                        if(ref == null) continue;
-                       PeerNode pn = (PeerNode) ref.get();
+                       PeerNode pn = ref.get();
                        if(pn == null) continue;
                        if(pn.getBootID() != requestedBootIDs[i]) continue;
                        if(set.contains(pn)) continue;
@@ -328,9 +333,9 @@
        public synchronized boolean othersWant(PeerNode peer) {
                boolean anyValid = false;
                for(int i=0;i<requestorNodes.length;i++) {
-                       WeakReference ref = requestorNodes[i];
+                       WeakReference<PeerNode> ref = requestorNodes[i];
                        if(ref == null) continue;
-                       PeerNode pn = (PeerNode) ref.get();
+                       PeerNode pn = ref.get();
                        if(pn == null) {
                                requestorNodes[i] = null;
                                continue;
@@ -356,9 +361,9 @@
                boolean anyValid = false;
                boolean ret = false;
                for(int i=0;i<requestorNodes.length;i++) {
-                       WeakReference ref = requestorNodes[i];
+                       WeakReference<PeerNode> ref = requestorNodes[i];
                        if(ref == null) continue;
-                       PeerNode pn = (PeerNode) ref.get();
+                       PeerNode pn = ref.get();
                        if(pn == null) {
                                requestorNodes[i] = null;
                                continue;
@@ -387,9 +392,9 @@
                boolean anyValid = false;
                boolean ret = false;
                for(int i=0;i<requestedNodes.length;i++) {
-                       WeakReference ref = requestedNodes[i];
+                       WeakReference<PeerNode> ref = requestedNodes[i];
                        if(ref == null) continue;
-                       PeerNode pn = (PeerNode) ref.get();
+                       PeerNode pn = ref.get();
                        if(pn == null) {
                                requestedNodes[i] = null;
                                continue;
@@ -421,7 +426,7 @@

        public synchronized long getTimeoutTime(PeerNode peer) {
                for(int i=0;i<requestedNodes.length;i++) {
-                       WeakReference ref = requestedNodes[i];
+                       WeakReference<PeerNode> ref = requestedNodes[i];
                        if(ref != null && ref.get() == peer) {
                                return requestedTimeouts[i];
                        }
@@ -434,9 +439,9 @@
                int x = 0;
                long now = System.currentTimeMillis(); // don't pass in as a 
pass over the whole FT may take a while. get it in the method.
                for(int i=0;i<requestorNodes.length;i++) {
-                       WeakReference ref = requestorNodes[i];
+                       WeakReference<PeerNode> ref = requestorNodes[i];
                        if(ref == null) continue;
-                       PeerNode pn = (PeerNode) ref.get();
+                       PeerNode pn = ref.get();
                        if(pn == null) continue;
                        long bootID = pn.getBootID();
                        if(bootID != requestorBootIDs[i]) continue;
@@ -449,7 +454,8 @@
                        x++;
                }
                if(x < requestorNodes.length) {
-                       WeakReference[] newRequestorNodes = new 
WeakReference[x];
+                       @SuppressWarnings("unchecked")
+                       WeakReference<PeerNode>[] newRequestorNodes = new 
WeakReference[x];
                        long[] newRequestorTimes = new long[x];
                        long[] newRequestorBootIDs = new long[x];
                        System.arraycopy(requestorNodes, 0, newRequestorNodes, 
0, x);
@@ -461,9 +467,9 @@
                }
                x = 0;
                for(int i=0;i<requestedNodes.length;i++) {
-                       WeakReference ref = requestedNodes[i];
+                       WeakReference<PeerNode> ref = requestedNodes[i];
                        if(ref == null) continue;
-                       PeerNode pn = (PeerNode) ref.get();
+                       PeerNode pn = ref.get();
                        if(pn == null) continue;
                        long bootID = pn.getBootID();
                        if(bootID != requestedBootIDs[i]) continue;
@@ -483,7 +489,8 @@
                        x++;
                }
                if(x < requestedNodes.length) {
-                       WeakReference[] newRequestedNodes = new 
WeakReference[x];
+                       @SuppressWarnings("unchecked")
+                       WeakReference<PeerNode>[] newRequestedNodes = new 
WeakReference[x];
                        long[] newRequestedTimes = new long[x];
                        long[] newRequestedBootIDs = new long[x];
                        long[] newRequestedTimeouts = new long[x];

Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java        2008-10-30 08:34:56 UTC 
(rev 23215)
+++ trunk/freenet/src/freenet/node/PeerNode.java        2008-10-30 08:35:32 UTC 
(rev 23216)
@@ -8,6 +8,7 @@
 import java.io.Writer;
 import java.lang.ref.WeakReference;
 import java.math.BigInteger;
+import java.net.InetAddress;
 import java.net.MalformedURLException;
 import java.net.UnknownHostException;
 import java.security.MessageDigest;
@@ -61,7 +62,6 @@
 import freenet.support.Fields;
 import freenet.support.HexUtil;
 import freenet.support.IllegalBase64Exception;
-import freenet.support.LRUHashtable;
 import freenet.support.Logger;
 import freenet.support.SimpleFieldSet;
 import freenet.support.TimeUtil;
@@ -71,7 +71,6 @@
 import freenet.support.math.TimeDecayingRunningAverage;
 import freenet.support.transport.ip.HostnameSyntaxException;
 import freenet.support.transport.ip.IPUtil;
-import java.net.InetAddress;

 /**
  * @author amphibian
@@ -2322,7 +2321,7 @@
                                        Logger.minor(this, "Invalid or null 
location, waiting for FNPLocChangeNotification: " + e);
                        }
                }
-               Vector oldNominalPeer = nominalPeer;
+               Vector<Peer> oldNominalPeer = nominalPeer;

                if(nominalPeer == null)
                        nominalPeer = new Vector<Peer>();
@@ -2628,7 +2627,7 @@
        * Requeue ResendPacketItem[]s if they are not sent.
        * @param resendItems
        */
-       public void requeueResendItems(Vector resendItems) {
+       public void requeueResendItems(Vector<ResendPacketItem> resendItems) {
                KeyTracker cur,
                 prev,
                 unv;
@@ -2637,8 +2636,7 @@
                        prev = previousTracker;
                        unv = unverifiedTracker;
                }
-               for(int i = 0; i < resendItems.size(); i++) {
-                       ResendPacketItem item = (ResendPacketItem) 
resendItems.get(i);
+               for(ResendPacketItem item : resendItems) {
                        if(item.pn != this)
                                throw new IllegalArgumentException("item.pn != 
this!");
                        KeyTracker kt = cur;
@@ -2875,7 +2873,6 @@
        // We want to get reasonably early feedback if it's dropping all of 
them...

        final static int MAX_PINGS = 5;
-       final LRUHashtable pingsSentTimes = new LRUHashtable();
        long pingNumber;
        private final RunningAverage pingAverage;

@@ -3746,7 +3743,7 @@
                return -1;
        }

-       public WeakReference getWeakRef() {
+       public WeakReference<PeerNode> getWeakRef() {
                return myRef;
        }

@@ -4014,7 +4011,7 @@
         * @param rpiTemp
         * @param rpiTemp
         */
-       public boolean maybeSendPacket(long now, Vector rpiTemp, int[] 
rpiIntTemp) {
+       public boolean maybeSendPacket(long now, Vector<ResendPacketItem> 
rpiTemp, int[] rpiIntTemp) {
                // If there are any urgent notifications, we must send a packet.
                boolean mustSend = false;
                if(mustSendNotificationsNow(now)) {
@@ -4038,7 +4035,7 @@
                                continue;
                        rpiIntTemp = tmp;
                        for(int k = 0; k < rpiTemp.size(); k++) {
-                               ResendPacketItem item = (ResendPacketItem) 
rpiTemp.get(k);
+                               ResendPacketItem item = rpiTemp.get(k);
                                if(item == null)
                                        continue;
                                try {


Reply via email to