Author: toad
Date: 2006-08-04 17:41:42 +0000 (Fri, 04 Aug 2006)
New Revision: 9886
Modified:
trunk/freenet/src/freenet/io/comm/FreenetInetAddress.java
trunk/freenet/src/freenet/node/Node.java
trunk/freenet/src/freenet/transport/IPAddressDetector.java
Log:
Peer hashCode() consistency.
Minor fixes in IP detection from peers etc.
Modified: trunk/freenet/src/freenet/io/comm/FreenetInetAddress.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/FreenetInetAddress.java 2006-08-04
17:16:07 UTC (rev 9885)
+++ trunk/freenet/src/freenet/io/comm/FreenetInetAddress.java 2006-08-04
17:41:42 UTC (rev 9886)
@@ -216,10 +216,10 @@
}
public int hashCode() {
- if (_address != null) {
+ if(hostname != null) {
+ return hostname.hashCode();
+ } else {
return _address.hashCode();
- } else {
- return hostname.hashCode();
}
}
Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java 2006-08-04 17:16:07 UTC (rev
9885)
+++ trunk/freenet/src/freenet/node/Node.java 2006-08-04 17:41:42 UTC (rev
9886)
@@ -2456,7 +2456,7 @@
addresses.add(a);
}
}
- if((detectedAddrs == null) && (oldIPAddress != null) &&
!oldIPAddress.equals(overrideIPAddress))
+ if((detectedAddrs.length == 0) && (oldIPAddress != null) &&
!oldIPAddress.equals(overrideIPAddress))
addresses.add(new Peer(oldIPAddress, portNumber));
// Try to pick it up from our connections
if(peers != null) {
@@ -2491,15 +2491,15 @@
while(it.hasNext()) {
Peer cur = (Peer) (it.next());
int curPop = ((Integer)
(countsByPeer.get(cur))).intValue();
- if(curPop > bestPopularity) {
+ if(curPop >= bestPopularity) {
+ secondBestPopularity =
bestPopularity;
bestPopularity = curPop;
secondBest = best;
best = cur;
- secondBestPopularity =
bestPopularity;
}
}
if(best != null) {
- if((bestPopularity > 2) ||
(detectedAddrs == null)) {
+ if((bestPopularity > 2) ||
(detectedAddrs.length == 0)) {
if(!addresses.contains(best))
addresses.add(best);
if((secondBest != null) &&
(secondBestPopularity > 2)) {
Modified: trunk/freenet/src/freenet/transport/IPAddressDetector.java
===================================================================
--- trunk/freenet/src/freenet/transport/IPAddressDetector.java 2006-08-04
17:16:07 UTC (rev 9885)
+++ trunk/freenet/src/freenet/transport/IPAddressDetector.java 2006-08-04
17:41:42 UTC (rev 9886)
@@ -59,7 +59,7 @@
if(System.currentTimeMillis() > (lastDetectedTime + recheckTime)
|| lastAddressList == null)
checkpoint();
- return lastAddressList;
+ return lastAddressList == null ? new InetAddress[0] :
lastAddressList;
}
boolean old = false;