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);
}
}