Author: robert
Date: 2008-02-11 18:12:34 +0000 (Mon, 11 Feb 2008)
New Revision: 17780
Modified:
trunk/freenet/src/freenet/node/simulator/RealNodeNetworkColoringTest.java
Log:
logging: compute & show expected final number of network id's
Modified:
trunk/freenet/src/freenet/node/simulator/RealNodeNetworkColoringTest.java
===================================================================
--- trunk/freenet/src/freenet/node/simulator/RealNodeNetworkColoringTest.java
2008-02-11 18:09:57 UTC (rev 17779)
+++ trunk/freenet/src/freenet/node/simulator/RealNodeNetworkColoringTest.java
2008-02-11 18:12:34 UTC (rev 17780)
@@ -102,6 +102,10 @@
makeKleinbergNetwork(subnetA, true /* make it easy, we're not testing
swapping here */, DEGREE, false);
makeKleinbergNetwork(subnetB, true /* make it easy, we're not
testing swapping here */, DEGREE, false);
+ int aTarget = countLeafs(subnetA)+1;
+ int bTarget = countLeafs(subnetB)+1;
+ int generalTarget = aTarget+bTarget+BRIDGES;
+
Logger.normal(RealNodeRoutingTest.class, "Added small-world links,
weakly connect the subnets");
if (BRIDGES==0) {
@@ -225,11 +229,11 @@
if (BRIDGES!=0)
Logger.error(log, " pSuccess(BRG) =
"+bridgeRate.currentValue());
- idReport("All", generalIds);
- idReport(" A ", aIds);
- idReport(" B ", bIds);
+ idReport("All", generalIds, generalTarget);
+ idReport(" A ", aIds, aTarget);
+ idReport(" B ", bIds, bTarget);
if (BRIDGES!=0)
- idReport("BRG", bridgeIds);
+ idReport("BRG", bridgeIds, BRIDGES);
//This is really rough, but can generally give an
indication of keyspace skew.
//Statistically, they should remain 0.5, but if one
keyspace starts to get absorbed into the other
@@ -239,13 +243,14 @@
}
}
- private static void idReport(String group, HashSet ids) {
+ private static void idReport(String group, HashSet ids, int targetNum) {
//Print out the number which are non-zero & display the
distinct ones if a few...
int size=ids.size();
int MAX=6;
- StringBuffer sb=new
StringBuffer(Integer.toString(size)).append(" ids (").append(group).append(") =
");
+ StringBuffer sb=new
StringBuffer(Integer.toString(size)).append("/").append(Integer.toString(targetNum));
+ sb.append(" ids (").append(group).append(") = ");
Iterator iter=ids.iterator();
- for (int i=0; i<MAX && i<size; i++) {
+ for (int i=0; i<=MAX && i<size; i++) {
String thisId=iter.next().toString();
if (i==0)
sb.append(thisId);
@@ -256,5 +261,15 @@
sb.append(", ...");
Logger.error(log, sb.toString());
}
+
+ private static int countLeafs(Node[] network) {
+ int retval=0;
+ for (int i=0; i<network.length; i++) {
+ int peers=network[i].peers.countValidPeers();
+ if (peers<=1)
+ retval++;
+ }
+ return retval;
+ }
}