Author: robert
Date: 2008-02-14 18:51:14 +0000 (Thu, 14 Feb 2008)
New Revision: 17897
Modified:
trunk/freenet/src/freenet/node/NetworkIDManager.java
Log:
don't add the first peer twice
Modified: trunk/freenet/src/freenet/node/NetworkIDManager.java
===================================================================
--- trunk/freenet/src/freenet/node/NetworkIDManager.java 2008-02-14
17:25:23 UTC (rev 17896)
+++ trunk/freenet/src/freenet/node/NetworkIDManager.java 2008-02-14
18:51:14 UTC (rev 17897)
@@ -611,11 +611,11 @@
if (todo.isEmpty()) {
//sad... it looks like this guy gets a group to
himself
members=new ArrayList();
+ members.add(mostConnected);
} else {
//NB: as a side effect, this function will
automatically remove the members from 'todo'.
members=xferConnectedPeerSetFor(mostConnected,
todo);
}
- members.add(mostConnected);
newGroup.setMembers(members);
newGroup.setForbiddenIds(takenNetworkIds);
@@ -677,7 +677,8 @@
/*
* Returns the set of peers which appear to be reasonably connected to
'thisPeer' and as a
- * side effect removes those peers from the set passed in.
+ * side effect removes those peers from the set passed in. The set
includes at-least the
+ * given peer (will never return an empty list).
*/
private List xferConnectedPeerSetFor(PeerNode thisPeer, HashSet
fromOthers) {
//FIXME: This algorithm needs to be thought about! Maybe some
hard thresholds.