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 {