Author: toad
Date: 2008-07-29 18:42:44 +0000 (Tue, 29 Jul 2008)
New Revision: 21489
Modified:
branches/db4o/freenet/src/freenet/clients/http/QueueToadlet.java
Log:
/queue/countRequests.html determines the total queued CHKs and shows it on an
HTML page.
Note that this uses quite a lot of memory!
Modified: branches/db4o/freenet/src/freenet/clients/http/QueueToadlet.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/QueueToadlet.java
2008-07-29 17:54:03 UTC (rev 21488)
+++ branches/db4o/freenet/src/freenet/clients/http/QueueToadlet.java
2008-07-29 18:42:44 UTC (rev 21489)
@@ -411,7 +411,7 @@
boolean countRequests = false;
if (requestPath.length() > 0) {
- if(requestPath.equals("countRequests.txt") ||
requestPath.equals("/countRequests.txt")) {
+ if(requestPath.equals("countRequests.html") ||
requestPath.equals("/countRequests.html")) {
countRequests = true;
} else {
/* okay, there is something in the path, check it. */
@@ -433,7 +433,6 @@
} catch (MalformedURLException mue1) {
}
}
- this.writeTemporaryRedirect(ctx, "Redirected",
"/queue/");
}
class OutputWrapper {
@@ -452,9 +451,21 @@
public void run(ObjectContainer container,
ClientContext context) {
HTMLNode pageNode = null;
try {
- if(count)
- System.err.println("Total
queued CHK requests:
"+core.requestStarters.chkFetchScheduler.countPersistentQueuedRequests(container));
- pageNode = handleGetInner(pageMaker,
container, context, request, ctx);
+ if(count) {
+ long queued =
core.requestStarters.chkFetchScheduler.countPersistentQueuedRequests(container);
+ System.err.println("Total
queued CHK requests: "+queued);
+ pageNode =
pageMaker.getPageNode(L10n.getString("QueueToadlet.title", new String[]{
"nodeName" }, new String[]{ core.getMyName() }), ctx);
+ HTMLNode contentNode =
pageMaker.getContentNode(pageNode);
+ /* add alert summary box */
+ if(ctx.isAllowedFullAccess())
+
contentNode.addChild(core.alerts.createSummary());
+ HTMLNode infobox =
contentNode.addChild(pageMaker.getInfobox("infobox-information", "Queued
requests status"));
+ HTMLNode infoboxContent =
pageMaker.getContentNode(infobox);
+ infoboxContent.addChild("#",
"Total queued CHK requests: "+queued);
+ return;
+ } else {
+ pageNode =
handleGetInner(pageMaker, container, context, request, ctx);
+ }
} finally {
synchronized(ow) {
ow.done = true;