Author: zothar
Date: 2006-06-16 22:26:12 +0000 (Fri, 16 Jun 2006)
New Revision: 9234
Modified:
trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java
trunk/freenet/src/freenet/node/Version.java
Log:
821: Add advanced mode to /darknet/ page
Modified: trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
2006-06-16 20:52:19 UTC (rev 9233)
+++ trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
2006-06-16 22:26:12 UTC (rev 9234)
@@ -61,7 +61,6 @@
this.writeReply(ctx, 200, "text/plain", "OK",
sw.toString());
return;
}
-
StringBuffer buf = new StringBuffer(1024);
//HTTPRequest request = new HTTPRequest(uri);
@@ -73,6 +72,8 @@
long now = System.currentTimeMillis();
+ boolean advancedEnabled =
node.getToadletContainer().isAdvancedDarknetEnabled();
+
node.alerts.toSummaryHtml(buf);
/* node status values */
@@ -92,19 +93,20 @@
buf.append("<table class=\"column\"><tr><td class=\"first\">");
/* node status overview box */
- buf.append("<div class=\"infobox\">");
- buf.append("<div class=\"infobox-header\">Node status
overview</div>");
- buf.append("<div class=\"infobox-content\">");
- buf.append("<ul>");
-
buf.append("<li>bwlimitDelayTime: ").append(bwlimitDelayTime).append("ms</li>");
-
buf.append("<li>nodeAveragePingTime: ").append(nodeAveragePingTime).append("ms</li>");
-
buf.append("<li>networkSizeEstimate: ").append(networkSizeEstimate).append(" nodes</li>");
-
buf.append("<li>nodeUptime: ").append(nodeUptimeString).append("</li>");
- buf.append("</ul></div>");
- buf.append("</div>\n");
+ if(advancedEnabled) {
+ buf.append("<div class=\"infobox\">");
+ buf.append("<div class=\"infobox-header\">Node status
overview</div>");
+ buf.append("<div class=\"infobox-content\">");
+ buf.append("<ul>");
+
buf.append("<li>bwlimitDelayTime: ").append(bwlimitDelayTime).append("ms</li>");
+
buf.append("<li>nodeAveragePingTime: ").append(nodeAveragePingTime).append("ms</li>");
+
buf.append("<li>networkSizeEstimate: ").append(networkSizeEstimate).append(" nodes</li>");
+
buf.append("<li>nodeUptime: ").append(nodeUptimeString).append("</li>");
+ buf.append("</ul></div>");
+ buf.append("</div>\n");
+ buf.append("</td><td>");
+ }
- buf.append("</td><td>");
-
// Activity box
int numInserts = node.getNumInserts();
int numRequests = node.getNumRequests();
@@ -129,8 +131,10 @@
if (numTransferringRequests > 0) {
buf.append("<li>Transferring Requests: ").append(numTransferringRequests).append("</li>");
}
- if (numARKFetchers > 0) {
-
buf.append("<li>ARK Fetch Requests: ").append(numARKFetchers).append("</li>");
+ if(advancedEnabled) {
+ if (numARKFetchers > 0) {
+
buf.append("<li>ARK Fetch Requests: ").append(numARKFetchers).append("</li>");
+ }
}
buf.append("</ul>\n");
}
@@ -166,36 +170,39 @@
buf.append("</div>");
buf.append("</div>\n");
- buf.append("</td><td class=\"last\">");
-
// Peer routing backoff reason box
- buf.append("<div class=\"infobox\">");
- buf.append("<div class=\"infobox-header\">Peer backoff
reasons</div>");
- buf.append("<div class=\"infobox-content\">");
- String [] routingBackoffReasons =
node.getPeerNodeRoutingBackoffReasons();
- if(routingBackoffReasons.length == 0) {
- buf.append("Good, your node is not backed off from any
peers!<br/>\n");
- } else {
- buf.append("<ul>\n");
- for(int i=0;i<routingBackoffReasons.length;i++) {
- int reasonCount =
node.getPeerNodeRoutingBackoffReasonSize(routingBackoffReasons[i]);
- if(reasonCount > 0) {
-
buf.append("<li>").append(routingBackoffReasons[i]).append(": ").append(reasonCount).append("</li>\n");
+ if(advancedEnabled) {
+ buf.append("</td><td class=\"last\">");
+ buf.append("<div class=\"infobox\">");
+ buf.append("<div class=\"infobox-header\">Peer backoff
reasons</div>");
+ buf.append("<div class=\"infobox-content\">");
+ String [] routingBackoffReasons =
node.getPeerNodeRoutingBackoffReasons();
+ if(routingBackoffReasons.length == 0) {
+ buf.append("Good, your node is not backed off
from any peers!<br/>\n");
+ } else {
+ buf.append("<ul>\n");
+ for(int i=0;i<routingBackoffReasons.length;i++)
{
+ int reasonCount =
node.getPeerNodeRoutingBackoffReasonSize(routingBackoffReasons[i]);
+ if(reasonCount > 0) {
+
buf.append("<li>").append(routingBackoffReasons[i]).append(": ").append(reasonCount).append("</li>\n");
+ }
}
+ buf.append("</ul>\n");
}
- buf.append("</ul>\n");
+ buf.append("</div>");
+ buf.append("</div>\n");
}
- buf.append("</div>");
- buf.append("</div>\n");
buf.append("</td></tr></table>\n");
buf.append("<div class=\"infobox infobox-normal\">\n");
buf.append("<div class=\"infobox-header\">\n");
buf.append("My Peers");
- if (!path.endsWith("displaymessagetypes.html"))
- {
- buf.append(" <a href=\"displaymessagetypes.html\">(more
detailed)</a>");
+ if(advancedEnabled) {
+ if (!path.endsWith("displaymessagetypes.html"))
+ {
+ buf.append(" <a
href=\"displaymessagetypes.html\">(more detailed)</a>");
+ }
}
buf.append("</div>\n");
buf.append("<div class=\"infobox-content\">\n");
@@ -231,14 +238,21 @@
long idle = pn.lastReceivedPacketTime();
if(((Integer) status).intValue() ==
Node.PEER_NODE_STATUS_NEVER_CONNECTED)
idle = pn.getPeerAddedTime();
- String lastBackoffReasonOutputString = "/";
- String backoffReason =
pn.getLastBackoffReason();
- if( backoffReason != null ) {
- lastBackoffReasonOutputString =
"/"+backoffReason;
+ String lastBackoffReasonOutputString = "";
+ if(advancedEnabled) {
+ String backoffReason =
pn.getLastBackoffReason();
+ if( backoffReason != null ) {
+ lastBackoffReasonOutputString =
"/"+backoffReason;
+ } else {
+ lastBackoffReasonOutputString =
"/";
+ }
}
String avgPingTimeString = "";
- if(pn.isConnected())
- avgPingTimeString = " ("+(int)
pn.averagePingTime()+"ms)";
+ if(advancedEnabled) {
+ if(pn.isConnected()) {
+ avgPingTimeString = " ("+(int)
pn.averagePingTime()+"ms)";
+ }
+ }
String VersionPrefixString = "";
String VersionSuffixString = "";
if(pn.publicInvalidVersion() ||
pn.publicReverseInvalidVersion()) {
@@ -272,8 +286,10 @@
Object[] row = rows[i];
int x = ((Integer) row[2]).intValue();
String arkAsterisk = "";
- if(((PeerNode) row[0]).isFetchingARK()) {
- arkAsterisk = "*";
+ if(advancedEnabled) {
+ if(((PeerNode) row[0]).isFetchingARK())
{
+ arkAsterisk = "*";
+ }
}
row[2] = "<span class=\""+((PeerNode)
row[0]).getPeerNodeStatusCSSClassName()+"\">"+((PeerNode)
row[0]).getPeerNodeStatusString()+arkAsterisk+"</span>";
}
@@ -324,7 +340,10 @@
//
buf.append(buf2);
//
- buf.append("<input type=\"submit\" name=\"remove\"
value=\"Remove selected peers\" /> <span
class=\"darknet_connections\">* Requesting ARK</span>\n");
+ buf.append("<input type=\"submit\" name=\"remove\"
value=\"Remove selected peers\" />");
+ if(advancedEnabled) {
+ buf.append(" <span
class=\"darknet_connections\">* Requesting ARK</span>\n");
+ }
buf.append("<input type=\"hidden\"
name=\"formPassword\" value=\"").append(node.formPassword).append("\" />");
buf.append("</form>\n");
}
Modified: trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
2006-06-16 20:52:19 UTC (rev 9233)
+++ trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
2006-06-16 22:26:12 UTC (rev 9234)
@@ -44,6 +44,7 @@
private final LinkedList toadlets;
private String cssName;
private Thread myThread;
+ private boolean advancedDarknetEnabled;
static final int DEFAULT_FPROXY_PORT = 8888;
@@ -123,6 +124,21 @@
}
}
+ class FProxyAdvancedDarknetEnabledCallback implements BooleanCallback {
+
+ public boolean get() {
+ synchronized(SimpleToadletServer.this) {
+ return advancedDarknetEnabled;
+ }
+ }
+ public void set(boolean val) throws InvalidConfigValueException
{
+ if(val == get()) return;
+ synchronized(SimpleToadletServer.this) {
+ SimpleToadletServer.this.advancedDarknetEnabled
= val;
+ }
+ }
+ }
+
/**
* Create a SimpleToadletServer, using the settings from the SubConfig
(the fproxy.*
* config).
@@ -142,6 +158,8 @@
new FProxyAllowedHostsCallback());
fproxyConfig.register("css", "clean", 1, true, "CSS Name",
"Name of the CSS FProxy should use",
new FProxyCSSNameCallback());
+ fproxyConfig.register("advancedDarknetEnabled", false, 1, true,
"Enable Advanced Darknet?", "Whether to enable show information meant for
advanced users/devs on /darkenet/ page",
+ new FProxyAdvancedDarknetEnabledCallback());
this.bf = node.tempBucketFactory;
port = fproxyConfig.getInt("port");
@@ -150,6 +168,7 @@
cssName = fproxyConfig.getString("css");
if(cssName.indexOf(':') != -1 || cssName.indexOf('/') != -1)
throw new InvalidConfigValueException("CSS name must
not contain slashes or colons!");
+ boolean advancedDarknetEnabled =
fproxyConfig.getBoolean("advancedDarknetEnabled");
toadlets = new LinkedList();
node.setToadletContainer(this); // even if not enabled, because
of config
@@ -273,4 +292,8 @@
public void setCSSName(String name) {
this.cssName = name;
}
+
+ public boolean isAdvancedDarknetEnabled() {
+ return this.advancedDarknetEnabled;
+ }
}
Modified: trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java 2006-06-16
20:52:19 UTC (rev 9233)
+++ trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java 2006-06-16
22:26:12 UTC (rev 9234)
@@ -264,6 +264,8 @@
public void handleGet(URI uri, ToadletContext ctx) throws
ToadletContextClosedException, IOException {
StringBuffer buf = new StringBuffer();
+ boolean advancedDarknetOutputEnabled =
node.getToadletContainer().isAdvancedDarknetEnabled();
+
HTTPRequest request = new HTTPRequest(uri);
if (request.getParam("newbookmark").length() > 0) {
ctx.getPageMaker().makeHead(buf, "Add A Bookmark");
@@ -433,12 +435,14 @@
buf.append("Current Activity\n");
buf.append("</div>\n");
buf.append("<div class=\"infobox-content\">\n");
- buf.append("<ul id=\"activity\">\n"
- + "<li>Inserts:
"+this.node.getNumInserts()+"</li>\n"
- + "<li>Requests:
"+this.node.getNumRequests()+"</li>\n"
- + "<li>Transferring Requests:
"+this.node.getNumTransferringRequests()+"</li>\n"
- + "<li>ARK Fetch Requests:
"+this.node.getNumARKFetchers()+"</li>\n"
- + "</ul>\n");
+ buf.append("<ul id=\"activity\">\n");
+ buf.append("<li>Inserts: "+this.node.getNumInserts()+"</li>\n");
+ buf.append("<li>Requests:
"+this.node.getNumRequests()+"</li>\n");
+ buf.append("<li>Transferring Requests:
"+this.node.getNumTransferringRequests()+"</li>\n");
+ if(advancedDarknetOutputEnabled) {
+ buf.append("<li>ARK Fetch Requests:
"+this.node.getNumARKFetchers()+"</li>\n");
+ }
+ buf.append("</ul>\n");
buf.append("</div>\n");
buf.append("</div>\n");
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-06-16 20:52:19 UTC (rev
9233)
+++ trunk/freenet/src/freenet/node/Version.java 2006-06-16 22:26:12 UTC (rev
9234)
@@ -18,7 +18,7 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- private static final int buildNumber = 820;
+ private static final int buildNumber = 821;
/** Oldest build of Fred we will talk to */
private static final int lastGoodBuild = 765;