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.


Reply via email to