Author: toad
Date: 2008-02-12 00:23:26 +0000 (Tue, 12 Feb 2008)
New Revision: 17799

Modified:
   trunk/freenet/src/freenet/node/NodeDispatcher.java
   trunk/freenet/src/freenet/node/PeerManager.java
   trunk/freenet/src/freenet/node/simulator/RealNodeRequestInsertTest.java
   trunk/freenet/src/freenet/node/simulator/RealNodeRoutingTest.java
   trunk/freenet/src/freenet/node/simulator/RealNodeTest.java
Log:
Logging, and wait for a reasonably low number of nodes to be backed off as well 
as all connected.

Modified: trunk/freenet/src/freenet/node/NodeDispatcher.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeDispatcher.java  2008-02-12 00:06:05 UTC 
(rev 17798)
+++ trunk/freenet/src/freenet/node/NodeDispatcher.java  2008-02-12 00:23:26 UTC 
(rev 17799)
@@ -645,6 +645,7 @@
                        if(logMINOR) Logger.minor(this, "RoutedPing reached 
other side! ("+id+")");
                        int x = m.getInt(DMT.COUNTER);
                        Message reply = DMT.createFNPRoutedPong(id, x);
+                       if(logMINOR) Logger.minor(this, "Replying - counter = 
"+x+" for "+id);
                        try {
                                src.sendAsync(reply, null, 0, null);
                        } catch (NotConnectedException e) {

Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java     2008-02-12 00:06:05 UTC 
(rev 17798)
+++ trunk/freenet/src/freenet/node/PeerManager.java     2008-02-12 00:23:26 UTC 
(rev 17799)
@@ -1592,7 +1592,7 @@

        public int countConnectedDarknetPeers() {
                int count = 0;
-               PeerNode[] peers = connectedPeers;
+               PeerNode[] peers = myPeers;
                for(int i=0;i<peers.length;i++) {
                        if(peers[i] == null) continue;
                        if(!(peers[i] instanceof DarknetPeerNode)) continue;
@@ -1628,4 +1628,8 @@
                }
                return count;
        }
+
+       public int countBackedOffDarknetPeers() {
+               return 
this.getPeerNodeStatusSize(PEER_NODE_STATUS_ROUTING_BACKED_OFF, true);
+       }
 }

Modified: 
trunk/freenet/src/freenet/node/simulator/RealNodeRequestInsertTest.java
===================================================================
--- trunk/freenet/src/freenet/node/simulator/RealNodeRequestInsertTest.java     
2008-02-12 00:06:05 UTC (rev 17798)
+++ trunk/freenet/src/freenet/node/simulator/RealNodeRequestInsertTest.java     
2008-02-12 00:23:26 UTC (rev 17799)
@@ -52,7 +52,7 @@
         }
         wd.mkdir();
         //NOTE: globalTestInit returns in ignored random source
-        NodeStarter.globalTestInit(name, false, Logger.ERROR, 
"freenet.node.Location:normal,freenet.node.simulator.RealNode:minor,freenet.node.Insert:MINOR,freenet.node.Request:MINOR,freenet.node.Node:MINOR,freenet.node.PeerManager:MINOR");
+        NodeStarter.globalTestInit(name, false, Logger.ERROR, 
"freenet.node.Location:normal,freenet.node.simulator.RealNode:minor,freenet.node.Insert:MINOR,freenet.node.Request:MINOR,freenet.node.Node:MINOR,freenet.node.PeerManager:MINOR,freenet.node.PeerNode:MINOR");
         System.out.println("Insert/retrieve test");
         System.out.println();
         DummyRandomSource random = new DummyRandomSource();

Modified: trunk/freenet/src/freenet/node/simulator/RealNodeRoutingTest.java
===================================================================
--- trunk/freenet/src/freenet/node/simulator/RealNodeRoutingTest.java   
2008-02-12 00:06:05 UTC (rev 17798)
+++ trunk/freenet/src/freenet/node/simulator/RealNodeRoutingTest.java   
2008-02-12 00:23:26 UTC (rev 17799)
@@ -76,6 +76,7 @@
     }

        static void waitForPingAverage(double accuracy, Node[] nodes, 
RandomSource random, int maxTests, int sleepTime) {
+               
         int cycleNumber = 0;
         int lastSwaps = 0;
         int lastNoSwaps = 0;
@@ -122,8 +123,8 @@
                 Node randomNode2 = randomNode;
                 while(randomNode2 == randomNode)
                     randomNode2 = nodes[random.nextInt(nodes.length)];
-                Logger.normal(RealNodeRoutingTest.class, "Pinging 
"+randomNode2.getDarknetPortNumber()+" from 
"+randomNode.getDarknetPortNumber());
                 double loc2 = randomNode2.getLocation();
+               Logger.normal(RealNodeRoutingTest.class, "Pinging 
"+randomNode2.getDarknetPortNumber()+" @ "+loc2+" from 
"+randomNode.getDarknetPortNumber()+" @ "+randomNode.getLocation());
                 int hopsTaken = randomNode.routedPing(loc2);
                 pings++;
                 if(hopsTaken < 0) {

Modified: trunk/freenet/src/freenet/node/simulator/RealNodeTest.java
===================================================================
--- trunk/freenet/src/freenet/node/simulator/RealNodeTest.java  2008-02-12 
00:06:05 UTC (rev 17798)
+++ trunk/freenet/src/freenet/node/simulator/RealNodeTest.java  2008-02-12 
00:23:26 UTC (rev 17799)
@@ -102,28 +102,37 @@
        static void waitForAllConnected(Node[] nodes) throws 
InterruptedException {
                while(true) {
                        int countFullyConnected = 0;
+                       int countReallyConnected = 0;
                        int totalPeers = 0;
                        int totalConnections = 0;
+                       int totalBackedOff = 0;
                        for(int i=0;i<nodes.length;i++) {
                                int countConnected = 
nodes[i].peers.countConnectedDarknetPeers();
                                int countTotal = 
nodes[i].peers.countValidPeers();
+                               int countBackedOff = 
nodes[i].peers.countBackedOffDarknetPeers();
                                totalPeers += countTotal;
                                totalConnections += countConnected;
-                               if(countConnected == countTotal)
+                               totalBackedOff += countBackedOff;
+                               if(countConnected == countTotal) {
                                        countFullyConnected++;
-                               else {
+                                       if(countBackedOff == 0) 
countReallyConnected++;
+                               } else {
                                        if(Logger.shouldLog(Logger.MINOR, 
RealNodeTest.class)) 
                                                
Logger.minor(RealNodeTest.class, "Connection count for "+nodes[i]+" : 
"+countConnected);
                                }
+                               if(countBackedOff > 0) {
+                                       if(Logger.shouldLog(Logger.MINOR, 
RealNodeTest.class))
+                                               
Logger.minor(RealNodeTest.class, "Backed off: "+nodes[i]+" : "+countBackedOff);
+                               }
                        }
-                       if(countFullyConnected == nodes.length) {
+                       if(countFullyConnected == nodes.length && 
countReallyConnected == nodes.length) {
                                System.err.println("All nodes fully connected");
                                Logger.normal(RealNodeTest.class, "All nodes 
fully connected");
                                System.err.println();
                                return;
                        } else {
-                               System.err.println("Waiting for nodes to be 
fully connected: "+countFullyConnected+" / "+nodes.length+" 
("+totalConnections+" / "+totalPeers+" connections total)");
-                               Logger.normal(RealNodeTest.class, "Waiting for 
nodes to be fully connected: "+countFullyConnected+" / "+nodes.length+" 
("+totalConnections+" / "+totalPeers+" connections total)");
+                               System.err.println("Waiting for nodes to be 
fully connected: "+countFullyConnected+" / "+nodes.length+" 
("+totalConnections+" / "+totalPeers+" connections total) - backed off 
"+totalBackedOff);
+                               Logger.normal(RealNodeTest.class, "Waiting for 
nodes to be fully connected: "+countFullyConnected+" / "+nodes.length+" 
("+totalConnections+" / "+totalPeers+" connections total) - backed off 
"+totalBackedOff);
                                Thread.sleep(1000);
                        }
                }


Reply via email to