Author: toad
Date: 2007-03-24 21:58:01 +0000 (Sat, 24 Mar 2007)
New Revision: 12349
Modified:
trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java
trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java
trunk/freenet/src/freenet/node/Node.java
trunk/freenet/src/freenet/node/NodeStats.java
trunk/freenet/src/freenet/node/RequestHandler.java
Log:
Count transferring handlers also
Modified: trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
2007-03-24 21:46:49 UTC (rev 12348)
+++ trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
2007-03-24 21:58:01 UTC (rev 12349)
@@ -194,13 +194,14 @@
}
// Activity box
- int numInserts = node.getNumInserts();
+ int numInserts = node.getNumInsertSenders();
int numCHKInserts = node.getNumCHKInserts();
int numSSKInserts = node.getNumSSKInserts();
- int numRequests = node.getNumRequests();
+ int numRequests = node.getNumRequestSenders();
int numCHKRequests = node.getNumCHKRequests();
int numSSKRequests = node.getNumSSKRequests();
- int numTransferringRequests =
node.getNumTransferringRequests();
+ int numTransferringRequests =
node.getNumTransferringRequestSenders();
+ int numTransferringRequestHandlers =
node.getNumTransferringRequestHandlers();
int numARKFetchers = node.getNumARKFetchers();
HTMLNode activityInfobox =
nextTableCell.addChild("div", "class", "infobox");
@@ -211,13 +212,13 @@
} else {
HTMLNode activityList =
activityInfoboxContent.addChild("ul");
if (numInserts > 0) {
- activityList.addChild("li",
"Inserts:\u00a0" + numInserts + "\u00a0running\u00a0(CHK:\u00a0" +
numCHKInserts+"\u00a0SSK:\u00a0" + numSSKInserts+"\u00a0locked)");
+ activityList.addChild("li",
"Inserts:\u00a0" + numInserts + "\u00a0senders\u00a0(locked\u00a0CHK:\u00a0" +
numCHKInserts+"\u00a0SSK:\u00a0" + numSSKInserts+")");
}
if (numRequests > 0) {
- activityList.addChild("li",
"Requests:\u00a0" + numRequests + "\u00a0running\u00a0(CHK:\u00a0" +
numCHKRequests+"\u00a0SSK:\u00a0" + numSSKRequests+"\u00a0locked)");
+ activityList.addChild("li",
"Requests:\u00a0" + numRequests + "\u00a0senders\u00a0(locked\u00a0CHK:\u00a0"
+ numCHKRequests+"\u00a0SSK:\u00a0" + numSSKRequests+")");
}
- if (numTransferringRequests > 0) {
- activityList.addChild("li",
"Transferring\u00a0Requests:\u00a0" + numTransferringRequests);
+ if (numTransferringRequests > 0 ||
numTransferringRequestHandlers > 0) {
+ activityList.addChild("li",
"Transferring\u00a0Requests:\u00a0" +
numTransferringRequests+"\u00a0senders\u00a0" +
numTransferringRequestHandlers+"\u00a0handlers");
}
if (advancedModeEnabled) {
if (numARKFetchers > 0) {
Modified: trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java
2007-03-24 21:46:49 UTC (rev 12348)
+++ trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java
2007-03-24 21:58:01 UTC (rev 12349)
@@ -194,13 +194,14 @@
}
// Activity box
- int numInserts = node.getNumInserts();
+ int numInserts = node.getNumInsertSenders();
int numCHKInserts = node.getNumCHKInserts();
int numSSKInserts = node.getNumSSKInserts();
- int numRequests = node.getNumRequests();
+ int numRequests = node.getNumRequestSenders();
int numCHKRequests = node.getNumCHKRequests();
int numSSKRequests = node.getNumSSKRequests();
- int numTransferringRequests =
node.getNumTransferringRequests();
+ int numTransferringRequests =
node.getNumTransferringRequestSenders();
+ int numTransferringRequestHandlers =
node.getNumTransferringRequestHandlers();
int numARKFetchers = node.getNumARKFetchers();
HTMLNode activityInfobox =
nextTableCell.addChild("div", "class", "infobox");
@@ -211,13 +212,13 @@
} else {
HTMLNode activityList =
activityInfoboxContent.addChild("ul");
if (numInserts > 0) {
- activityList.addChild("li",
"Inserts:\u00a0" + numInserts + "\u00a0running\u00a0(CHK:\u00a0" +
numCHKInserts+"\u00a0SSK:\u00a0" + numSSKInserts+"\u00a0locked)");
+ activityList.addChild("li",
"Inserts:\u00a0" + numInserts + "\u00a0senders\u00a0(CHK:\u00a0" +
numCHKInserts+"\u00a0SSK:\u00a0" + numSSKInserts+"\u00a0locked)");
}
if (numRequests > 0) {
- activityList.addChild("li",
"Requests:\u00a0" + numRequests + "\u00a0running\u00a0(CHK:\u00a0" +
numCHKRequests+"\u00a0SSK:\u00a0" + numSSKRequests+"\u00a0locked)");
+ activityList.addChild("li",
"Requests:\u00a0" + numRequests + "\u00a0senders\u00a0(CHK:\u00a0" +
numCHKRequests+"\u00a0SSK:\u00a0" + numSSKRequests+"\u00a0locked)");
}
- if (numTransferringRequests > 0) {
- activityList.addChild("li",
"Transferring\u00a0Requests:\u00a0" + numTransferringRequests);
+ if (numTransferringRequests > 0 ||
numTransferringRequestHandlers > 0) {
+ activityList.addChild("li",
"Transferring\u00a0Requests:\u00a0" +
numTransferringRequests+"\u00a0senders\u00a0" +
numTransferringRequestHandlers+"\u00a0handlers");
}
if (advancedModeEnabled) {
if (numARKFetchers > 0)
Modified: trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java 2007-03-24
21:46:49 UTC (rev 12348)
+++ trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java 2007-03-24
21:58:01 UTC (rev 12349)
@@ -610,9 +610,9 @@
HTMLNode activityBox =
contentNode.addChild(ctx.getPageMaker().getInfobox("infobox-information",
"Current Activity"));
HTMLNode activityContent =
ctx.getPageMaker().getContentNode(activityBox);
HTMLNode activityList = activityContent.addChild("ul", "id",
"activity");
- activityList.addChild("li", "Inserts: " + node.getNumInserts());
- activityList.addChild("li", "Requests: " +
node.getNumRequests());
- activityList.addChild("li", "Transferring Requests: " +
node.getNumTransferringRequests());
+ activityList.addChild("li", "Inserts: " +
node.getNumInsertSenders());
+ activityList.addChild("li", "Requests: " +
node.getNumRequestSenders());
+ activityList.addChild("li", "Transferring Requests: " +
node.getNumTransferringRequestSenders());
if (advancedModeOutputEnabled) {
activityList.addChild("li", "ARK Fetch Requests: " +
node.getNumARKFetchers());
}
Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java 2007-03-24 21:46:49 UTC (rev
12348)
+++ trunk/freenet/src/freenet/node/Node.java 2007-03-24 21:58:01 UTC (rev
12349)
@@ -278,6 +278,8 @@
private final HashMap requestSenders;
/** RequestSender's currently transferring, by key */
private final HashMap transferringRequestSenders;
+ /** UIDs of RequestHandler's currently transferring */
+ private final HashSet transferringRequestHandlers;
/** CHKInsertSender's currently running, by KeyHTLPair */
private final HashMap insertSenders;
/** My crypto group */
@@ -695,6 +697,7 @@
fLocalhostAddress = new FreenetInetAddress(localhostAddress);
requestSenders = new HashMap();
transferringRequestSenders = new HashMap();
+ transferringRequestHandlers = new HashSet();
insertSenders = new HashMap();
runningUIDs = new HashSet();
runningCHKGetUIDs = new HashSet();
@@ -1837,6 +1840,20 @@
transferringRequestSenders.put(key, sender);
}
}
+
+ void addTransferringRequestHandler(long id) {
+ Long l = new Long(id);
+ synchronized(transferringRequestHandlers) {
+ transferringRequestHandlers.add(l);
+ }
+ }
+
+ void removeTransferringRequestHandler(long id) {
+ Long l = new Long(id);
+ synchronized(transferringRequestHandlers) {
+ transferringRequestHandlers.remove(l);
+ }
+ }
public SSKBlock fetch(NodeSSK key, boolean dontPromote) {
if(logMINOR) dumpStoreHits();
@@ -2135,7 +2152,7 @@
sb.append("No peers yet");
sb.append("\nInserts: ");
synchronized(insertSenders) {
- int x = getNumInserts();
+ int x = getNumInsertSenders();
sb.append(x);
if((x < 5) && (x > 0)) {
sb.append('\n');
@@ -2151,9 +2168,9 @@
}
}
sb.append("\nRequests: ");
- sb.append(getNumRequests());
+ sb.append(getNumRequestSenders());
sb.append("\nTransferring requests: ");
- sb.append(getNumTransferringRequests());
+ sb.append(getNumTransferringRequestSenders());
sb.append('\n');
return sb.toString();
}
@@ -2170,13 +2187,13 @@
return sb.toString();
}
- public int getNumInserts() {
+ public int getNumInsertSenders() {
synchronized(insertSenders) {
return insertSenders.size();
}
}
- public int getNumRequests() {
+ public int getNumRequestSenders() {
synchronized(requestSenders) {
return requestSenders.size();
}
@@ -2198,25 +2215,31 @@
return runningCHKPutUIDs.size();
}
- public int getNumTransferringRequests() {
+ public int getNumTransferringRequestSenders() {
synchronized(transferringRequestSenders) {
return transferringRequestSenders.size();
}
}
+ public int getNumTransferringRequestHandlers() {
+ synchronized(transferringRequestHandlers) {
+ return transferringRequestHandlers.size();
+ }
+ }
+
/**
* @return Data String for freeviz.
*/
public String getFreevizOutput() {
StringBuffer sb = new StringBuffer();
sb.append("\nrequests=");
- sb.append(getNumRequests());
+ sb.append(getNumRequestSenders());
sb.append("\ntransferring_requests=");
- sb.append(getNumTransferringRequests());
+ sb.append(getNumTransferringRequestSenders());
sb.append("\ninserts=");
- sb.append(getNumInserts());
+ sb.append(getNumInsertSenders());
sb.append('\n');
Modified: trunk/freenet/src/freenet/node/NodeStats.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeStats.java 2007-03-24 21:46:49 UTC
(rev 12348)
+++ trunk/freenet/src/freenet/node/NodeStats.java 2007-03-24 21:58:01 UTC
(rev 12349)
@@ -566,9 +566,9 @@
fs.put("numberOfSimpleConnected", numberOfSimpleConnected);
fs.put("numberOfNotConnected", numberOfNotConnected);
- fs.put("numberOfInserts", node.getNumInserts());
- fs.put("numberOfRequests", node.getNumRequests());
- fs.put("numberOfTransferringRequests",
node.getNumTransferringRequests());
+ fs.put("numberOfInserts", node.getNumInsertSenders());
+ fs.put("numberOfRequests", node.getNumRequestSenders());
+ fs.put("numberOfTransferringRequests",
node.getNumTransferringRequestSenders());
fs.put("numberOfARKFetchers", node.getNumARKFetchers());
long[] total = IOStatisticCollector.getTotalIO();
Modified: trunk/freenet/src/freenet/node/RequestHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestHandler.java 2007-03-24 21:46:49 UTC
(rev 12348)
+++ trunk/freenet/src/freenet/node/RequestHandler.java 2007-03-24 21:58:01 UTC
(rev 12349)
@@ -88,6 +88,7 @@
new PartiallyReceivedBlock(Node.PACKETS_IN_BLOCK,
Node.PACKET_SIZE, block.getRawData());
BlockTransmitter bt =
new BlockTransmitter(node.usm, source, uid, prb,
node.outputThrottle, this);
+ node.addTransferringRequestHandler(uid);
if(bt.send())
status = RequestSender.SUCCESS; // for byte logging
}
@@ -122,6 +123,7 @@
PartiallyReceivedBlock prb = rs.getPRB();
BlockTransmitter bt =
new BlockTransmitter(node.usm, source, uid, prb,
node.outputThrottle, this);
+ node.addTransferringRequestHandler(uid);
if(!bt.send()){
finalTransferFailed = true;
}
@@ -190,6 +192,7 @@
} catch (Throwable t) {
Logger.error(this, "Caught "+t, t);
} finally {
+ node.removeTransferringRequestHandler(uid);
node.unlockUID(uid, key instanceof NodeSSK, false);
if((!finalTransferFailed) && rs != null && status !=
RequestSender.TIMED_OUT && status != RequestSender.GENERATED_REJECTED_OVERLOAD
&& status != RequestSender.INTERNAL_ERROR) {