Update of /cvsroot/freenet/freenet/src/freenet/node
In directory sc8-pr-cvs1:/tmp/cvs-serv4324/freenet/src/freenet/node

Modified Files:
        FailureTable.java 
Log Message:
Add a counter for number of DNFs ignored per FailureEntry
Make HTML easier on browsers and eyes by separating into bunches of smaller tables.
Reduce size of key in HTML output... no need to be terribly readable.

Index: FailureTable.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/FailureTable.java,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -w -r1.26 -r1.27
--- FailureTable.java   3 Nov 2003 08:50:30 -0000       1.26
+++ FailureTable.java   3 Nov 2003 18:52:50 -0000       1.27
@@ -138,6 +138,10 @@
         return fe.shouldFail(hopsToLive, time);
     }
     
+    public synchronized void ignoredDNF(Key k) {
+       ((FailureEntry)failedKeys.get(k)).ignoredDNF();
+    }
+    
     public synchronized boolean statsShouldIgnoreDNF(Key k, int hopsToLive) {
                FailureEntry fe = (FailureEntry) failedKeys.get(k);
                if(fe == null) return false;
@@ -196,17 +200,22 @@
                pw.println("<b>Current Key-HTL pairs:</b> " + items.size() + "<br>");
                pw.println("<b>Seconds Entries Persist:</b> " + maxMillis / 1000 + 
"<br>");
                pw.println("<b>Seconds Between Purges:</b> " + cpMillis / 1000 + 
"<br>");
-        pw.println("<font size=-1><table border=1>");
+        FailureEntry fe;
+               long time = System.currentTimeMillis();
+               int counter = 0;
+        for(Enumeration e = entries.elements(); e.hasMoreElements(); counter++ ) {
+               if ( counter % 100 == 0 ) {
+                               pw.print(counter!=0?"</table>":"");
+                               pw.print("<table border=1>\n");
         pw.println("<tr><th>Key</th><th>Blocked HTLs</th>" 
                    + "<th>Ages</th><th># of Blocks</th>" 
+                                                  + "<th># DNFs Ignored</th>"
                    + "<th>Last Hit</th></tr>");
-        FailureEntry fe;
-               long time = System.currentTimeMillis();
-        for(Enumeration e = entries.elements(); e.hasMoreElements(); ) {
+               }
             fe = (FailureEntry)e.nextElement();
             fe.toHtml(pw, time);
         }
-        pw.println("</table></font>");
+        pw.println("</table>");
     }
     
     protected class FailItem extends Item {
@@ -261,6 +270,7 @@
         private long lastHit;
         private long lastFail;
         private int failures;
+        private int ignores;
         private int highestHtl;
         
         LinkedList myItems;
@@ -272,6 +282,8 @@
             this.blocks = 0;
             lastHit = time;
             highestHtl = 0;
+            ignores = 0;
+            failures = 0;
                        failedKeys.put(key,this);
         }
         
@@ -343,6 +355,10 @@
                        return failedTime;
                }
 
+               public void ignoredDNF() {
+                       ignores++;
+               }
+
                public boolean shouldIgnoreDNF(int hopsToLive) {
                        return (hopsToLive <= highestHtl && failures >1);
                }
@@ -360,13 +376,14 @@
                 */
                public void toHtml(PrintWriter pw, long time) {
                        boolean active = (time - lastFail) < maxMillis;
-                       pw.println("<tr><td rowspan="+myItems.size()+"><font color=\"" 
+ (active ? "red" : "green") 
+                       pw.println("<tr><td rowspan="+myItems.size()+"><font size=-2 
color=\"" + (active ? "red" : "green") 
                                                + "\">" + key + "</font></td>");
                        Iterator i = myItems.iterator();
                        if ( i.hasNext() ) {
                                ((FailItem)(i.next())).toHtml(pw,time);
                        }
                        pw.println("<td rowspan="+myItems.size()+">" + blocks 
+                                               + "</td><td 
rowspan="+myItems.size()+">" +  ignores
                                                + "</td><td 
rowspan="+myItems.size()+">" + new Date(lastHit) + "</td></tr>");
                        for ( ; i.hasNext(); ) {
                                pw.print("<tr>");

_______________________________________________
cvs mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/cvs

Reply via email to