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) {


Reply via email to