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

Modified Files:
      Tag: stable
        ConnectionOpener.java EventMessageObject.java 
        FailureTable.java IPAddressDetector.java LoadStats.java 
        Main.java Node.java NodeConfigUpdater.java NodeConsole.java 
        NodeReference.java StandardMessageHandler.java State.java 
        StateChain.java WatchMe.java 
Removed Files:
      Tag: stable
        FSTool.java 
Log Message:
5030: Merge minor(ish) changes from unstable:
Open Connections infolet
     Minor implementation changes on normal mode
     Show total bytes transmitted/received so far
     Much new information on the PeerHandler mode
Fixed tons of eclipse warnings (almost all are style issues, not functional changes - 
relating to logger and imports mostly). Remove deprecated FieldSet.add(String,String).
      Update TestLocalNIOInterface to current API
Make 5029 mandatory (it can't connect to us anyway, only vice versa).
If incoming HTL is 25, 50% chance of not decrementing it, so we have some plausible 
deniability when we send out an HTL 25 request (the client level HTL perturb mechanism 
is insufficient although useful).
Don't use seednodes with no physical address.
Use our own URLEncoder/URLDecoder's, catch the exceptions. We were using java's, which 
are deprecated.
Add support for deprecated options. These will be read form config file and handled, 
but will not be written to it by --config. Currently bandwidthLimit and 
averageBandwidthLimit are in this category. Separate code logs an error when these are 
set.
Change the way bandwidthLimit set but others not set, to prevent it from constantly 
getting 100% load due to bandwidth limit (0!) exceeded.
Set priority of entropy thread to MIN.
Remove old datastore code, GOOD RIDDENS!
Add a memory usage test for the Failure Table
Increase size of failure table to 20,000 (from 2,000).
Don't show the key request form in simple mode on the default infolet.
Major refactoring of HTML reporting, writing to disk, in NGRouting estimators.
Relative times in (for example) ?date= in fproxy: ?date=-1year gives the edition of a 
DBR one year ago.
NIO refactoring (ASL.ChannelAttachmentPairQueue).
Logging.


Index: ConnectionOpener.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/ConnectionOpener.java,v
retrieving revision 1.3.2.6
retrieving revision 1.3.2.7
diff -u -w -r1.3.2.6 -r1.3.2.7
--- ConnectionOpener.java       28 Oct 2003 20:20:36 -0000      1.3.2.6
+++ ConnectionOpener.java       1 Nov 2003 16:55:33 -0000       1.3.2.7
@@ -41,9 +41,9 @@
                                                Node n, 
                                                boolean aaargh) {
        boolean logDEBUG = 
-           n.logger.shouldLog(Logger.DEBUG,ConnectionOpener.class);
+           Node.logger.shouldLog(Logger.DEBUG,ConnectionOpener.class);
        if(logDEBUG)
-           n.logger.log(ConnectionOpener.class, 
+           Core.logger.log(ConnectionOpener.class, 
                         "Scheduling ConnectionOpener for "+id,
                         new Exception("debug"), Logger.DEBUG);
        if(!needsOpen(id, n.rt, n.connections)) {
@@ -70,7 +70,7 @@
        this.node = node;
        this.id = id;
        this.ocm = node.connections;
-       logDEBUG = node.logger.shouldLog(Logger.DEBUG,this);
+       logDEBUG = Node.logger.shouldLog(Logger.DEBUG,this);
     }
     
     public String getCheckpointName() {
@@ -78,14 +78,14 @@
     }
     
     public long nextCheckpoint() {
-       logDEBUG = node.logger.shouldLog(Logger.DEBUG,this);
+       logDEBUG = Node.logger.shouldLog(Logger.DEBUG,this);
        if(logDEBUG)
-           node.logger.log(this, "nextCheckpoint() on "+this,
+           Core.logger.log(this, "nextCheckpoint() on "+this,
                            Logger.DEBUG);
        boolean rtReferencesMe = needsOpen(id);
        if(!rtReferencesMe) {
            if(logDEBUG)
-               node.logger.log(this, "unscheduling "+this+" (needsOpen: "+
+               Core.logger.log(this, "unscheduling "+this+" (needsOpen: "+
                                rtReferencesMe+")", Logger.DEBUG);
            isUnscheduled = true;
            synchronized(connOpeners) {
@@ -94,7 +94,7 @@
            return -1;
        }
        if(logDEBUG)
-           node.logger.log(this, "Scheduling in "+currentDelay+
+           Core.logger.log(this, "Scheduling in "+currentDelay+
                            "ms", Logger.DEBUG);
        return System.currentTimeMillis()+currentDelay;
     }
@@ -110,7 +110,7 @@
      */
     public synchronized void reschedule(boolean aaargh) {
        if(logDEBUG)
-           node.logger.log(this, "Rescheduling "+this,
+           Core.logger.log(this, "Rescheduling "+this,
                            new Exception("debug"), Logger.DEBUG);
        if(aaargh)
            currentDelay = lastBackoffDelay;
@@ -119,16 +119,16 @@
        if(isUnscheduled) {
            isUnscheduled = false;
            if(logDEBUG)
-               node.logger.log(this, "Was unscheduled: "+this,
+               Core.logger.log(this, "Was unscheduled: "+this,
                                Logger.DEBUG);
            new Checkpoint(this).schedule(node);
            connOpeners.put(id, this);
            if(logDEBUG)
-               node.logger.log(this, "Rescheduled in "+currentDelay+
+               Core.logger.log(this, "Rescheduled in "+currentDelay+
                                "ms: "+this, Logger.DEBUG);
        } else {
            if(logDEBUG) 
-               node.logger.log(this, "Was already scheduled in "+
+               Core.logger.log(this, "Was already scheduled in "+
                                currentDelay+"ms: "+this, 
                                Logger.DEBUG); }
     }
@@ -145,10 +145,10 @@
     }
     
     public void checkpoint() {
-       logDEBUG = node.logger.shouldLog(Logger.DEBUG,this);
-       boolean logMINOR = node.logger.shouldLog(Logger.MINOR);
+       logDEBUG = Node.logger.shouldLog(Logger.DEBUG,this);
+       boolean logMINOR = Node.logger.shouldLog(Logger.MINOR);
        if(logDEBUG)
-           node.logger.log(this, "Running checkpoint on "+this,
+           Core.logger.log(this, "Running checkpoint on "+this,
                            Logger.DEBUG);
        if(!needsOpen(id)) return;
        NodeReference ref = ocm.getNodeReference(id);

Index: EventMessageObject.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/EventMessageObject.java,v
retrieving revision 1.1.1.1.6.1
retrieving revision 1.1.1.1.6.2
diff -u -w -r1.1.1.1.6.1 -r1.1.1.1.6.2
--- EventMessageObject.java     28 Oct 2003 20:20:36 -0000      1.1.1.1.6.1
+++ EventMessageObject.java     1 Nov 2003 16:55:33 -0000       1.1.1.1.6.2
@@ -1,6 +1,6 @@
 package freenet.node;
-import freenet.*;
-import freenet.support.*;
+import freenet.support.Schedulable;
+import freenet.support.TickerToken;
 
 /**
  * Interface of generic non-message events in the node.

Index: FailureTable.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/FailureTable.java,v
retrieving revision 1.9.4.1.2.1
retrieving revision 1.9.4.1.2.2
diff -u -w -r1.9.4.1.2.1 -r1.9.4.1.2.2
--- FailureTable.java   28 Oct 2003 20:20:36 -0000      1.9.4.1.2.1
+++ FailureTable.java   1 Nov 2003 16:55:33 -0000       1.9.4.1.2.2
@@ -1,5 +1,10 @@
 package freenet.node;
 
+import java.io.PrintWriter;
+import java.util.Date;
+import java.util.Hashtable;
+import java.util.Random;
+
 import freenet.Core;
 import freenet.Key;
 import freenet.support.Checkpointed;
@@ -8,15 +13,6 @@
 import freenet.support.sort.ArraySorter;
 import freenet.support.sort.QuickSorter;
 
-
-import java.util.Hashtable;
-import java.util.Date;
-
-import java.util.Enumeration;
-import java.util.Random;
-
-import java.io.PrintWriter;
-
 /**
  * Keeps track of keys that have been failed recently, and automatically 
  * fails requests for that key if the hops to live is lesser or equal.
@@ -26,9 +22,35 @@
 
     // Todo: make this a test.
 
-//      public static void main(String[] args) {
-//          FailureTable ft = new FailureTable(100, 1800000);
-//          Random r = new Random();
+      public static void main(String[] args) {
+       // Determine memory usage for FT of a given size
+       final int KEYS = 20000;
+          FailureTable ft = new FailureTable(KEYS, 1800000);
+          Random r = new Random();
+          Runtime rt = Runtime.getRuntime();
+          rt.gc();
+          rt.runFinalization();
+          rt.gc();
+          rt.runFinalization();
+          long curUsed = rt.totalMemory() - rt.freeMemory();
+          System.out.println("Using "+curUsed);
+          long startTime = System.currentTimeMillis();
+          for(int i=0;i<KEYS;i++) {
+               byte[] keyval = new byte[20];
+               r.nextBytes(keyval);
+               Key k = new Key(keyval);
+               ft.failedToFind(k, 10, startTime);
+          }
+          long endTime = System.currentTimeMillis();
+          rt.gc();
+          rt.runFinalization();
+          rt.gc();
+          rt.runFinalization();
+          long endUsed = rt.totalMemory() - rt.freeMemory();
+          long diff = endUsed - curUsed;
+          System.out.println("Now used: "+endUsed);
+          System.out.println("FT of "+KEYS+" keys used: "+diff+" bytes");
+          System.out.println("Per key: "+diff/KEYS);
 //          Key[] keys = new Key[16];
 //          for (int i = 0 ; i < 16 ; i++) {
 //              long time = System.currentTimeMillis() - r.nextInt(3600000);
@@ -39,20 +61,20 @@
 //              keys[i] = new Key(keyval);
 //              ft.failedToFind(keys[i], 10, time);
 //          }
-        
+//        
 //          for (Enumeration e = ft.queue.elements() ; e.hasMoreElements() ;) {
 //              System.err.println(e.nextElement());
 //          }
-
+//
 //          System.err.println(ft.shouldFail(keys[0], 1));
 //          ft.checkpoint();
-
+//
 //          System.err.println("---");
-
+//
 //          while (ft.queue.size() > 0) {
 //              System.err.println(ft.queue.pop());
 //          } 
-//      }
+      }
 
     protected int maxSize;
     protected long maxMillis;

Index: IPAddressDetector.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/IPAddressDetector.java,v
retrieving revision 1.1.2.6.2.9
retrieving revision 1.1.2.6.2.10
diff -u -w -r1.1.2.6.2.9 -r1.1.2.6.2.10
--- IPAddressDetector.java      28 Oct 2003 20:20:36 -0000      1.1.2.6.2.9
+++ IPAddressDetector.java      1 Nov 2003 16:55:33 -0000       1.1.2.6.2.10
@@ -101,7 +101,7 @@
            old = true;
        } catch (SocketException e) {
            Core.logger.log(this, "SocketException trying to detect 
NetworkInterfaces", e,
-                           Core.logger.ERROR);
+                           Logger.ERROR);
            addrs.add(oldDetect());
            old = true;
        }
@@ -112,7 +112,7 @@
                    (java.net.NetworkInterface)(interfaces.nextElement());
                if(logDEBUG)
                    Core.logger.log(this, "Scanning NetworkInterface "+
-                                   iface.getDisplayName(), Core.logger.DEBUG);
+                                   iface.getDisplayName(), Logger.DEBUG);
                Enumeration ee = iface.getInetAddresses();
                while(ee.hasMoreElements()) {
                        
@@ -120,7 +120,7 @@
                    addrs.add(addr);
                    if(logDEBUG)
                        Core.logger.log(this, "Adding address "+addr+" from "+
-                                       iface.getDisplayName(), Core.logger.DEBUG);
+                                       iface.getDisplayName(), Logger.DEBUG);
                }
                if(logDEBUG) Core.logger.log(this, "Finished scanning interface "+
                                             iface.getDisplayName(), Logger.DEBUG);
@@ -144,7 +144,7 @@
            Core.logger.log(this, "Public IP Address changed from "+
                            oldAddress.getHostAddress() +" to "+
                            lastInetAddress.getHostAddress(), 
-                           Core.logger.MINOR);
+                           Logger.MINOR);
            Main.newInetAddress(lastInetAddress);
                // We know it changed
        }
@@ -160,7 +160,7 @@
                ds = new DatagramSocket();
            } catch (SocketException e) {
                Core.logger.log(this, "SocketException", e,
-                               Core.logger.ERROR);
+                               Logger.ERROR);
                return null;
            }
            
@@ -170,7 +170,7 @@
                ds.connect(InetAddress.getByName("198.41.0.4"), 42);
            } catch (UnknownHostException ex) {
                Core.logger.log(this, "UnknownHostException", ex,
-                               Core.logger.ERROR);
+                               Logger.ERROR);
                return null;
            }
            return ds.getLocalAddress();
@@ -191,26 +191,26 @@
                            Logger.DEBUG);
        boolean detectedInetAddress = false;
        if(v.size() == 0) {
-           Core.logger.log(this, "No addresses found!", Core.logger.ERROR);
+           Core.logger.log(this, "No addresses found!", Logger.ERROR);
                lastInetAddress = null;
        } else {
             InetAddress lastNonValidAddress = null;
            for(int x=0;x<v.size();x++) {
                        if(v.elementAt(x) != null) {
                                InetAddress i = (InetAddress)(v.elementAt(x));
-                       if(Core.logger.shouldLog(Core.logger.DEBUG))
-                                       Core.logger.log(this, "Address "+x+": 
"+i,Core.logger.DEBUG);
+                       if(Core.logger.shouldLog(Logger.DEBUG))
+                                       Core.logger.log(this, "Address "+x+": 
"+i,Logger.DEBUG);
                        if(isInternetAddress(i)) { //Do not even consider this address 
if it isn't globally addressable
-                                       if(Core.logger.shouldLog(Core.logger.DEBUG))
+                                       if(Core.logger.shouldLog(Logger.DEBUG))
                                        Core.logger.log(this, "Setting default address 
to "+
-                                               i.getHostAddress(),Core.logger.DEBUG);
+                                               i.getHostAddress(),Logger.DEBUG);
 
                                        lastInetAddress = i; //Use the last detected 
valid IP as 'detected' IP
                                        detectedInetAddress = true;
                                        if(preferedInetAddress != null && 
lastInetAddress.equals(preferedInetAddress)){ //Prefer the specified address if it is 
still available to us. Do not look for more ones
-                                               
if(Core.logger.shouldLog(Core.logger.DEBUG))
+                                               if(Core.logger.shouldLog(Logger.DEBUG))
                                                        Core.logger.log(this, 
"Detected address is the preferred address, setting final address to "+
-                                                                                      
 lastInetAddress.getHostAddress(),Core.logger.DEBUG);
+                                                                                      
 lastInetAddress.getHostAddress(),Logger.DEBUG);
                                                return;
                                        }
                                        

Index: LoadStats.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/LoadStats.java,v
retrieving revision 1.16.2.7.2.5
retrieving revision 1.16.2.7.2.6
diff -u -w -r1.16.2.7.2.5 -r1.16.2.7.2.6
--- LoadStats.java      28 Oct 2003 20:20:36 -0000      1.16.2.7.2.5
+++ LoadStats.java      1 Nov 2003 16:55:33 -0000       1.16.2.7.2.6
@@ -1,24 +1,29 @@
 /* -*- Mode: java; c-basic-indent: 4; indent-tabs-mode: nil -*- */
 package freenet.node;
 
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.text.NumberFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Enumeration;
+
 import freenet.Core;
 import freenet.diagnostics.Diagnostics;
 import freenet.diagnostics.DiagnosticsCategory;
-import freenet.Identity;
-import freenet.support.*;
-import freenet.support.sort.*;
-import freenet.support.Comparable;
 import freenet.fs.dir.FileNumber;
-
-import java.text.NumberFormat;
-import java.text.SimpleDateFormat;
-import java.util.Hashtable;
-import java.util.Enumeration;
-import java.util.Date;
-import java.io.PrintWriter;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
+import freenet.support.Checkpointed;
+import freenet.support.Comparable;
+import freenet.support.Comparator;
+import freenet.support.DataObject;
+import freenet.support.DataObjectStore;
+import freenet.support.DataObjectUnloadedException;
+import freenet.support.DoublyLinkedListImpl;
+import freenet.support.Logger;
+import freenet.support.sort.ArraySorter;
+import freenet.support.sort.QuickSorter;
 /*
   This code is part of the Java Adaptive Network Client by Ian Clarke. 
   It is distributed under the GNU Public Licence (GPL) version 2.  See
@@ -103,8 +108,8 @@
         this.times = new long[lsAcceptRatioSamples];
         this.timesPos = 0;
         this.ratio = lsAcceptRatioSamples; // acceptRatio starts at 1.0.
-        this.logDEBUG = Core.logger.shouldLog(Core.logger.DEBUG);
-        this.logMINOR = Core.logger.shouldLog(Core.logger.MINOR);
+        this.logDEBUG = Core.logger.shouldLog(Logger.DEBUG);
+        this.logMINOR = Core.logger.shouldLog(Logger.MINOR);
         {
             // Average queries per hour with a half life as specified.
             // 3600 * 1000 is an hour in milliseconds.
@@ -146,24 +151,24 @@
                              "Measurements related to the local and global " +
                              "network load.", parent);
 
-        diag.registerBinomial("localQueryTraffic", diag.MINUTE,
+        diag.registerBinomial("localQueryTraffic", Diagnostics.MINUTE,
                               "The amount of queries received, and the " +
                               "number that are not rejected.", traffic);
-        diag.registerContinuous("globalQueryTrafficMean", diag.HOUR,
+        diag.registerContinuous("globalQueryTrafficMean", Diagnostics.HOUR,
                                 "The mean traffic of the known peers, " + 
                                 "measured regularly.",
                                 traffic);
-        diag.registerContinuous("globalQueryTrafficMedian", diag.HOUR,
+        diag.registerContinuous("globalQueryTrafficMedian", Diagnostics.HOUR,
                                 "The median traffic of the known peers, " + 
                                 "measured regularly.", traffic);
-        diag.registerContinuous("globalQueryTrafficDeviation", diag.HOUR,
+        diag.registerContinuous("globalQueryTrafficDeviation", Diagnostics.HOUR,
                                 "The standard deviation in traffic of the " + 
                                 "known peers, measured regularly.", traffic);
-        diag.registerContinuous("resetProbability", diag.HOUR, 
+        diag.registerContinuous("resetProbability", Diagnostics.HOUR, 
                                 "The probability of reseting the datasource "+
                                 "of a reply to point to us if load " + 
                                 "balancing is used.", traffic);
-        diag.registerBinomial("resetRatio", diag.MINUTE,
+        diag.registerBinomial("resetRatio", Diagnostics.MINUTE,
                               "The actual ratio of times we actually do " +
                               "reset the DataSource to data responses.",
                               traffic);
@@ -598,7 +603,7 @@
         if (b && logMINOR)
             Core.logger.log(this, "Telling a response to reset DataSource. " +
                             "Current probability " + resetProbability,
-                            Core.logger.MINOR);
+                            Logger.MINOR);
 
         diag.occurrenceBinomial("resetRatio", 1, b ? 1 : 0);
         return b;
@@ -664,7 +669,7 @@
     public void checkpoint() {
         if (logDEBUG)
             Core.logger.log(this, "Executing checkpoint in LoadStats",
-                            Core.logger.DEBUG);
+                            Logger.DEBUG);
 
         synchronized (this) {
             this.lastCheckpoint = System.currentTimeMillis();
@@ -678,7 +683,7 @@
         }
         if (logDEBUG)
             Core.logger.log(this, "Finished executing checkpoint on loadStats",
-                            Core.logger.DEBUG);
+                            Logger.DEBUG);
     }
 
     public final void dump(PrintWriter pw) {

Index: Main.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/Main.java,v
retrieving revision 1.102.2.30.2.31
retrieving revision 1.102.2.30.2.32
diff -u -w -r1.102.2.30.2.31 -r1.102.2.30.2.32
--- Main.java   28 Oct 2003 20:20:36 -0000      1.102.2.30.2.31
+++ Main.java   1 Nov 2003 16:55:33 -0000       1.102.2.30.2.32
@@ -1,48 +1,165 @@
 /* -*- Mode: java; c-basic-indent: 4; indent-tabs-mode: nil -*- */
 package freenet.node;
 
-import freenet.*;
-import freenet.diagnostics.*;
-import freenet.thread.*;
-import freenet.interfaces.*;
-import freenet.interfaces.servlet.*;
-import freenet.client.events.*;
+import java.io.BufferedOutputStream;
+import java.io.ByteArrayOutputStream;
[...1781 lines suppressed...]
                                     " from temp space successfully.",
-                                    Core.logger.DEBUG);
+                                    Logger.DEBUG);
             } else { // status > 0 || status < 0
                 Core.logger.log(this, "Impossible to delete temp file of size "+
                                 length, new Exception("debug"), 
-                                Core.logger.ERROR);
+                                Logger.ERROR);
             }
         }
     
         public void createFile(long length) throws IOException {
-            if(Core.logger.shouldLog(Core.logger.DEBUG))
+            if(Core.logger.shouldLog(Logger.DEBUG))
                 Core.logger.log(this, "Creating file of size "+length,
-                                Core.logger.DEBUG);
+                                Logger.DEBUG);
             enlargeFile(-1, length);
         }
     }

Index: Node.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/Node.java,v
retrieving revision 1.82.2.28.2.31
retrieving revision 1.82.2.28.2.32
diff -u -w -r1.82.2.28.2.31 -r1.82.2.28.2.32
--- Node.java   28 Oct 2003 20:20:36 -0000      1.82.2.28.2.31
+++ Node.java   1 Nov 2003 16:55:33 -0000       1.82.2.28.2.32
@@ -1,29 +1,54 @@
 /* -*- Mode: java; c-basic-indent: 4; indent-tabs-mode: nil -*- */
 package freenet.node;
 
-import freenet.*;
-import freenet.crypt.*;
-import freenet.config.*;
-import freenet.support.*;
-import freenet.support.io.*;
-import freenet.fs.dir.Directory;
-import freenet.node.ds.*;
-import freenet.node.rt.*;
-import freenet.presentation.FreenetProtocol;
-import freenet.transport.*;
-import freenet.session.*;
-import freenet.diagnostics.*;
-import freenet.thread.ThreadFactory;
-import freenet.interfaces.Interface;
-import freenet.node.states.maintenance.*;
+import java.io.File;
+import java.text.NumberFormat;
+import java.util.Enumeration;
+
+import freenet.Address;
+import freenet.Authentity;
+import freenet.CommunicationException;
+import freenet.Core;
+import freenet.CoreException;
+import freenet.DSAAuthentity;
+import freenet.DSAIdentity;
+import freenet.FieldSet;
+import freenet.Identity;
+import freenet.Key;
+import freenet.KeyException;
+import freenet.Message;
+import freenet.MessageSendCallback;
+import freenet.Peer;
+import freenet.PeerHandler;
+import freenet.Presentation;
+import freenet.PresentationHandler;
+import freenet.SessionHandler;
+import freenet.TrailerWriter;
+import freenet.TransportHandler;
+import freenet.Version;
+import freenet.client.BackgroundInserter;
 import freenet.client.ClientFactory;
-import freenet.client.InternalClient;
 import freenet.client.FECTools;
-import freenet.client.BackgroundInserter;
-import java.text.NumberFormat;
-import java.util.*;
-import java.net.*;
-import java.io.*;
+import freenet.client.InternalClient;
+import freenet.config.Config;
+import freenet.config.Params;
+import freenet.config.RandomPortOption;
+import freenet.diagnostics.Diagnostics;
+import freenet.fs.dir.Directory;
+import freenet.node.ds.DataStore;
+import freenet.node.rt.RTDiagSnapshot;
+import freenet.node.rt.RoutingTable;
+import freenet.session.LinkManager;
+import freenet.support.Bucket;
+import freenet.support.BucketFactory;
+import freenet.support.Fields;
+import freenet.support.LimitCounter;
+import freenet.support.Logger;
+import freenet.support.io.Bandwidth;
+import freenet.thread.ThreadFactory;
+import freenet.transport.tcpAddress;
+import freenet.transport.tcpConnection;
+import freenet.transport.tcpListener;
 
 /*
   This code is part of the Java Adaptive Network Client by Ian Clarke. 
@@ -82,7 +107,7 @@
         config.addOption("maxRoutingSteps",     1, 40,   1303);  // to 10 refs
 
         config.addOption("messageStoreSize",    1, 10000,   1350);  // 10000 live 
chains
-        config.addOption("failureTableSize",    1, 2000,  1360); // 2000 failed keys
+        config.addOption("failureTableSize",    1, 20000,  1360); // 20000 failed 
keys - uses ~ 2.7MB
         config.addOption("failureTableTime",    1, 1800000l, 1361); // 30 min
     
         // ARK stuff
@@ -612,6 +637,7 @@
         config.setExpert ("bandwidthLimit", true); // because deprecated
         config.argDesc   ("bandwidthLimit", "<bytes/sec>");
         config.shortDesc ("bandwidthLimit", "DEPRECATED");
+        config.setDeprecated("bandwidthLimit", true);
         config.longDesc  ("bandwidthLimit",
                           "The maximum number of bytes per second to transmit, 
totaled between",
                           "incoming and outgoing connections.  Ignored if either 
inputBandwidthLimit",
@@ -633,6 +659,7 @@
         // averageBandwidthLimit
         config.setExpert ("averageBandwidthLimit", true);
         config.argDesc   ("averageBandwidthLimit", "<bytes/sec>");
+        config.setDeprecated("averageBandwidthLimit", true);
         config.shortDesc("averageBandwidthLimit", "DEPRECATED");
         config.longDesc  ("averageBandwidthLimit",
                           "The maximum number of bytes per second to transmit 
(averaged over a week),",
@@ -2025,19 +2052,10 @@
                 Core.logger.log(Node.class, err, Logger.ERROR);
                 System.err.println(err);
                 System.out.println(err);
-        
-                if(doLowLevelInputLimiting) {
-                    ibw = new 
Bandwidth((int)(bandwidthLimit*lowLevelBWLimitMultiplier/2), 
-                                        
(int)(averageBandwidthLimit*lowLevelBWLimitMultiplier/2),
-                                        Bandwidth.RECEIVED);
-                } else ibw = null;
-                if(doLowLevelOutputLimiting) {
-                    obw = new 
Bandwidth((int)(bandwidthLimit*lowLevelBWLimitMultiplier/2), 
-                                        
(int)(averageBandwidthLimit*lowLevelBWLimitMultiplier/2),
-                                        Bandwidth.SENT);
-                } else obw = null;
+                outputBandwidthLimit = bandwidthLimit/2;
+                inputBandwidthLimit = bandwidthLimit/2;
+            }
             }
-        } else {
             if(doLowLevelInputLimiting) {
                 ibw= inputBandwidthLimit == 0 ? null : 
                     new 
Bandwidth((int)(inputBandwidthLimit*lowLevelBWLimitMultiplier),
@@ -2050,7 +2068,6 @@
                                   
(int)(averageOutputBandwidthLimit*lowLevelBWLimitMultiplier),
                                   Bandwidth.SENT);
             } else obw = null;
-        }
     
         if(params.getBoolean("limitAll")) {
             logger.log(Node.class, "Limiting all connections",
@@ -2065,7 +2082,7 @@
             
if(e.getMessage().indexOf("java/nio/channels/spi/AbstractInterruptibleChannel") != -1){
                 String error = "Your Java installation is too old (insufficient NIO 
support). Please update it to 1.4.1 or later; you can do that at http://java.sun.com/ 
.";
                 System.err.println(error);
-                Core.logger.log(Node.class, error, Core.logger.ERROR);
+                Core.logger.log(Node.class, error, Logger.ERROR);
                 Main.loggerHook.close();
                 System.exit(1);
             }else
@@ -2079,7 +2096,7 @@
         if(storeSize < (101L * (1<<20))) {
             String error = "Store size insufficient to store 1MB chunks! Your 
datastore is so small that it will not be able to store 1MB chunks, the maximum size 
of a single data key that most tools insert. You will still be able to fetch them but 
your node will not be very useful to the network, and consequentially will not perform 
well. To eliminate this error increase your storeSize to at least 101M. It is 
currently "+storeSize+".";
             System.err.println(error);
-            Core.logger.log(Node.class, error, Core.logger.ERROR);
+            Core.logger.log(Node.class, error, Logger.ERROR);
         }
         storeBlockSize = params.getInt("storeBlockSize");
         storeMaxTempFraction = params.getFloat("storeMaxTempFraction");
@@ -2130,7 +2147,7 @@
                                     " without causing the node identity to"+
                                     " disappear, taking with it all references to"+
                                     " your node from the rest of the network.",
-                                    Core.logger.NORMAL);
+                                    Logger.NORMAL);
                     nodeFile = "node_" + listenPort;
                 }
             }
@@ -2148,7 +2165,7 @@
                                     " without causing the datastore to"+
                                     " disappear, causing a major disk space leak"+
                                     " and a significant loss of performance.",
-                                    Core.logger.NORMAL);
+                                    Logger.NORMAL);
                     storeFile = new String[] {"store_" + listenPort };
                 } else {
                     File idx = new File("store", "index");
@@ -2380,42 +2397,42 @@
         }
     
         protected void logDebug(String s, boolean trace) {
-            if(Core.logger.shouldLog(Core.logger.DEBUG)) {
+            if(Core.logger.shouldLog(Logger.DEBUG)) {
                 if(trace)
-                    Core.logger.log(this, s, Core.logger.DEBUG);
+                    Core.logger.log(this, s, Logger.DEBUG);
                 else
                     Core.logger.log(this, s, new Exception("debug"),
-                                    Core.logger.DEBUG);
+                                    Logger.DEBUG);
             }
         }
     
         public synchronized void queue(Bucket block, BucketFactory owner, int htl, 
                                        String cipher) {
             super.queue(block, owner, htl, cipher);
-            if(logger.shouldLog(Core.logger.MINOR))
+            if(logger.shouldLog(Logger.MINOR))
                 logger.log(this, "Queued a background insert at HTL " + htl, 
                            Logger.MINOR);
             diagnostics.occurrenceCounting("queuedBackgroundInsert", 1);
         }
     
         protected void onRawEvent(freenet.client.ClientEvent e) {
-            if(Core.logger.shouldLog(Core.logger.DEBUG)) {
+            if(Core.logger.shouldLog(Logger.DEBUG)) {
                 Core.logger.log(this, "BI: " + e.getDescription(), 
                                 Logger.DEBUG);
             }
         }
     
         protected void onStart() {
-            if(Core.logger.shouldLog(Core.logger.MINOR)) {
+            if(Core.logger.shouldLog(Logger.MINOR)) {
                 Core.logger.log(this, "BackgroundInserter -- thread started.",
-                                Core.logger.MINOR);
+                                Logger.MINOR);
             }
         }
     
         protected void onExit() {
-            if(Core.logger.shouldLog(Core.logger.MINOR)) {
+            if(Core.logger.shouldLog(Logger.MINOR)) {
                 Core.logger.log(this, "BackgroundInserter -- thread exited.",
-                                Core.logger.MINOR);
+                                Logger.MINOR);
             }
         }
     }

Index: NodeConfigUpdater.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/NodeConfigUpdater.java,v
retrieving revision 1.1.2.1.2.7
retrieving revision 1.1.2.1.2.8
diff -u -w -r1.1.2.1.2.7 -r1.1.2.1.2.8
--- NodeConfigUpdater.java      28 Oct 2003 20:20:37 -0000      1.1.2.1.2.7
+++ NodeConfigUpdater.java      1 Nov 2003 16:55:34 -0000       1.1.2.1.2.8
@@ -1,20 +1,19 @@
 package freenet.node;
 
-import java.io.File;
-import java.util.Hashtable;
-import java.util.Enumeration;
-import freenet.*;
-import freenet.config.*;
-import freenet.support.*;
-import freenet.fs.dir.NativeFSDirectory;
-import freenet.node.Main;
-import freenet.node.states.maintenance.Checkpoint;
-
-import java.util.Iterator;
-import java.util.HashSet;
 import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
 import java.util.StringTokenizer;
 
+import freenet.Core;
+import freenet.config.Option;
+import freenet.config.Params;
+import freenet.fs.dir.NativeFSDirectory;
+import freenet.node.states.maintenance.Checkpoint;
+import freenet.support.Checkpointed;
+import freenet.support.Logger;
+import freenet.support.LoggerHook;
+
 /**
  *  Checks the config file for updates, and if found, applies what it can
  *
@@ -86,7 +85,7 @@
                 newParams.readParams(Main.paramFile);
             } catch (Throwable e) {
                 newParams = null;
-                Core.logger.log(this, "Config file changed but was not readable.", e, 
Core.logger.ERROR);
+                Core.logger.log(this, "Config file changed but was not readable.", e, 
Logger.ERROR);
                 return;
             }
        }
@@ -99,7 +98,7 @@
            if (((oldParams.getParam(newOptions[i].name()) == null) ^ 
(newParams.getParam(newOptions[i].name()) == null)) || 
!oldParams.getParam(newOptions[i].name()).equalsIgnoreCase(newParams.getParam(newOptions[i].name())))
 try {
                options.getClass().getMethod(newOptions[i].name(), 
null).invoke(options, null);
            } catch (Throwable e) {
-               Core.logger.log(NodeConfigUpdater.class, "Option " + 
newOptions[i].name() + " changed to " + newParams.getParam(newOptions[i].name()) + " 
but no handler was available.", e, Core.logger.ERROR);
+               Core.logger.log(NodeConfigUpdater.class, "Option " + 
newOptions[i].name() + " changed to " + newParams.getParam(newOptions[i].name()) + " 
but no handler was available.", e, Logger.ERROR);
            }
        }
        oldParams = newParams;
@@ -212,8 +211,8 @@
             if (updateInterval == interval) return;
             updateInterval = interval;
             if (interval == 0)
-                Core.logger.log(NodeConfigUpdater.class, "Disabled on-the-fly config 
updater.", Core.logger.NORMAL);
-            else Core.logger.log(NodeConfigUpdater.class, "Changed interval to check 
for configuration updates to " + interval + " minutes.", Core.logger.NORMAL);
+                Core.logger.log(NodeConfigUpdater.class, "Disabled on-the-fly config 
updater.", Logger.NORMAL);
+            else Core.logger.log(NodeConfigUpdater.class, "Changed interval to check 
for configuration updates to " + interval + " minutes.", Logger.NORMAL);
         }
 
         public void logLevel() {
@@ -245,16 +244,16 @@
        
         public void aggressiveGC() {
             int interval = newParams.getInt("aggressiveGC");
-            if (Main.node.aggressiveGC == interval) return;
-            if ((Main.node.aggressiveGC <= 0) && (interval != 0)) {
-                Main.node.aggressiveGC = interval;
+            if (Node.aggressiveGC == interval) return;
+            if ((Node.aggressiveGC <= 0) && (interval != 0)) {
+                Node.aggressiveGC = interval;
                 new Checkpoint(new 
Main.GarbageCollectionCheckpointed()).schedule(Main.node);
-                Core.logger.log(NodeConfigUpdater.class, "Enabled aggressive garbage 
collection with a " + interval + " second interval.", Core.logger.NORMAL);
+                Core.logger.log(NodeConfigUpdater.class, "Enabled aggressive garbage 
collection with a " + interval + " second interval.", Logger.NORMAL);
             } else {
-                Main.node.aggressiveGC = interval;
+                Node.aggressiveGC = interval;
                 if (interval == 0)
-                    Core.logger.log(NodeConfigUpdater.class, "Disabled aggressive 
garbage collection.", Core.logger.NORMAL);
-                else Core.logger.log(NodeConfigUpdater.class, "Changed aggressive 
garbage collection interval to " + interval + " seconds.", Core.logger.NORMAL);
+                    Core.logger.log(NodeConfigUpdater.class, "Disabled aggressive 
garbage collection.", Logger.NORMAL);
+                else Core.logger.log(NodeConfigUpdater.class, "Changed aggressive 
garbage collection interval to " + interval + " seconds.", Logger.NORMAL);
             }
         }
     }

Index: NodeConsole.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/NodeConsole.java,v
retrieving revision 1.4.4.2
retrieving revision 1.4.4.3
diff -u -w -r1.4.4.2 -r1.4.4.3
--- NodeConsole.java    28 Oct 2003 20:20:37 -0000      1.4.4.2
+++ NodeConsole.java    1 Nov 2003 16:55:34 -0000       1.4.4.3
@@ -1,10 +1,12 @@
 package freenet.node;
 
+import freenet.Core;
 import freenet.Version;
 import freenet.interfaces.NIOInterface;
 import freenet.support.Fields;
 import freenet.support.io.WriteOutputStream;
 import javax.servlet.http.*;
+
 import java.io.*;
 import java.util.Date;
 import java.util.Enumeration;
@@ -40,7 +42,7 @@
             }
         }
         resp.setHeader("Location", req.getRequestURI());
-        resp.setStatus(resp.SC_MOVED_PERMANENTLY);
+        resp.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
     }
     
     public void doGet(HttpServletRequest req, HttpServletResponse resp)
@@ -108,7 +110,7 @@
         
         // uptime
 
-        long uptime = (System.currentTimeMillis() - node.startupTimeMs) / 1000;
+        long uptime = (System.currentTimeMillis() - Node.startupTimeMs) / 1000;
         long days = uptime / 86400;
         long hours = (uptime % 86400) / 3600;
         long minutes = (uptime % 3600) / 60;
@@ -132,8 +134,8 @@
         out.println("<tr>");
         out.println("<td valign=\"top\" align=\"right\" nowrap=\"nowrap\"><b>active 
threads</b></td>");
         out.println("<td> &nbsp; </td>");
-        out.println("<td>" + node.threadFactory.activeThreads() + " / "
-                           + node.threadFactory.maximumThreads() + "</td>");
+        out.println("<td>" + Node.threadFactory.activeThreads() + " / "
+                           + Node.threadFactory.maximumThreads() + "</td>");
         out.println("</tr>");
 
         // free space
@@ -144,14 +146,6 @@
         out.println("<td>" + node.dir.available() + "</td>");
         out.println("</tr>");
 
-        // fs version
-
-        out.println("<tr>");
-        out.println("<td valign=\"top\" align=\"right\" nowrap=\"nowrap\"><b>FS 
version</b></td>");
-        out.println("<td> &nbsp; </td>");
-        out.println("<td>" + freenet.fs.dir.FSDirectoryRoot.VERSION + "</td>");
-        out.println("</tr>");
-        
         // interfaces
         
         out.println("<tr>");
@@ -175,7 +169,7 @@
             out.print("<td align=\"center\">");
             if (node.interfaces[i].getExceptionCount() > 0) {
                 // keep link fresh
-                String t = Fields.longToHex(node.getRandSource().nextLong());
+                String t = Fields.longToHex(Core.getRandSource().nextLong());
                 out.print("<a href=\"?show_errors="+i+"&t="+t+"\">");
                 out.print(node.interfaces[i].getExceptionCount());
                 out.print("</a>");

Index: NodeReference.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/NodeReference.java,v
retrieving revision 1.9.2.10.2.6
retrieving revision 1.9.2.10.2.7
diff -u -w -r1.9.2.10.2.6 -r1.9.2.10.2.7
--- NodeReference.java  28 Oct 2003 20:20:37 -0000      1.9.2.10.2.6
+++ NodeReference.java  1 Nov 2003 16:55:34 -0000       1.9.2.10.2.7
@@ -1,17 +1,34 @@
 package freenet.node;
 
-import freenet.*;
+import java.math.BigInteger;
+import java.util.Enumeration;
+
+import freenet.Address;
+import freenet.BadAddressException;
+import freenet.Core;
+import freenet.DSAAuthentity;
+import freenet.DSAIdentity;
+import freenet.FieldSet;
+import freenet.Identity;
+import freenet.KeyException;
+import freenet.Peer;
+import freenet.Presentation;
+import freenet.PresentationHandler;
+import freenet.SessionHandler;
+import freenet.Transport;
+import freenet.TransportHandler;
+import freenet.Version;
+import freenet.client.ClientSSK;
 import freenet.client.FreenetURI;
-import freenet.client.Base64;
-import freenet.support.*;
-import freenet.crypt.*;
+import freenet.crypt.DSAPublicKey;
+import freenet.crypt.DSASignature;
+import freenet.crypt.Digest;
+import freenet.crypt.SHA1;
+import freenet.keys.SVK;
 import freenet.session.LinkManager;
+import freenet.support.Fields;
+import freenet.support.Logger;
 import freenet.transport.VoidAddress;
-import freenet.keys.SVK;
-import freenet.client.ClientSSK;
-import java.util.Enumeration;
-import java.math.BigInteger;
-import java.net.MalformedURLException;
 
 /**
  * References contains names from which Address objects can be resolved.
@@ -127,7 +144,7 @@
                 throw new BadReferenceException("Provided identity did not " +
                                                 "match fingerprint.");
             ref.remove("identityFP");
-            ref.add("identity", ident.getFieldSet());
+            ref.put("identity", ident.getFieldSet());
         }
         // Read physical addresses
 
@@ -402,7 +419,7 @@
                long endTime = System.currentTimeMillis();
                long time = endTime - startTime;
                
-               int logLevel = time>1000 ? Core.logger.NORMAL : Core.logger.DEBUG;
+               int logLevel = time>1000 ? Logger.NORMAL : Logger.DEBUG;
                if(Core.logger.shouldLog(logLevel,this))
                        Core.logger.log(this, "t.getAddress("+physical[i+1]+") took 
"+time,logLevel);
                return addr;
@@ -528,7 +545,7 @@
                 r = getAddress((Transport) e.nextElement());
             } catch (BadAddressException bae) {
                Core.logger.log(this, "BadAddressException in getPeer",
-                               Core.logger.DEBUG);
+                               Logger.DEBUG);
             }
         }
        
@@ -661,7 +678,7 @@
         }
 
         // add signature if we have it
-        if (signature != null) fs.put("signature", signature.writeAsField());
+        if (signature != null) fs.put("signature", signature.toString());
 
         return fs;
     }

Index: StandardMessageHandler.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/StandardMessageHandler.java,v
retrieving revision 1.11.4.2.2.2
retrieving revision 1.11.4.2.2.3
diff -u -w -r1.11.4.2.2.2 -r1.11.4.2.2.3
--- StandardMessageHandler.java 28 Oct 2003 20:20:37 -0000      1.11.4.2.2.2
+++ StandardMessageHandler.java 1 Nov 2003 16:55:34 -0000       1.11.4.2.2.3
@@ -3,6 +3,7 @@
 
 import freenet.*;
 import freenet.support.*;
+
 import java.util.Hashtable;
 import java.util.LinkedList;
 import java.util.Iterator;
@@ -48,7 +49,7 @@
     public boolean handle(MessageObject mo, boolean onlyIfCanRunFast) {
         
         if (!(mo instanceof NodeMessageObject)) { 
-            node.logger.log(this,
+            Core.logger.log(this,
                                                        "Received a MessageObject that 
the node cannot handle: "+mo,
                                                        Logger.ERROR);
             return true;
@@ -237,9 +238,9 @@
                         chain.priority() > State.EXPENDABLE;
 
                     if (!wasAlive && isAlive)
-                        node.diagnostics.occurrenceCounting("liveChains", 1);
+                        Node.diagnostics.occurrenceCounting("liveChains", 1);
                     else if (wasAlive && !isAlive)
-                        node.diagnostics.occurrenceCounting("liveChains", -1);
+                        Node.diagnostics.occurrenceCounting("liveChains", -1);
 
                     priority = chain.priority();
                     lastTransition = System.currentTimeMillis();
@@ -261,14 +262,14 @@
 
         private final void lost(Node node) {
             if (chain.lost(node)) {
-                node.logger.log(node,
+                Core.logger.log(node,
                                                                "States overflow, 
discarding: "+chain,
                                                                Logger.DEBUG);
                 if (chain.priority() > State.EXPENDABLE) {
-                    node.logger.log(node,
+                    Core.logger.log(node,
                                     "State queue overflow! Event: " + chain +
-                                    "lost.", node.logger.NORMAL);
-                    node.diagnostics.occurrenceCounting("liveChains", -1);
+                                    "lost.", Logger.NORMAL);
+                    Core.diagnostics.occurrenceCounting("liveChains", -1);
                 }
             }
         }

Index: State.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/State.java,v
retrieving revision 1.3.6.1
retrieving revision 1.3.6.2
diff -u -w -r1.3.6.1 -r1.3.6.2
--- State.java  28 Oct 2003 20:20:37 -0000      1.3.6.1
+++ State.java  1 Nov 2003 16:55:34 -0000       1.3.6.2
@@ -1,5 +1,7 @@
 package freenet.node;
 import freenet.*;
+import freenet.support.Logger;
+
 import java.lang.reflect.*;
 import java.util.Hashtable;
 
@@ -140,7 +142,7 @@
                 // but we explicitly checked that before calling it!
                 Core.logger.log(this, 
                                 "Got declared exception I know wasn't.", 
-                                e, Core.logger.ERROR);
+                                e, Logger.ERROR);
                 throw new RuntimeException("PANIC! JAVA IS ON CRACK: "+te);
             }
         }   

Index: StateChain.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/StateChain.java,v
retrieving revision 1.12.4.2.2.4
retrieving revision 1.12.4.2.2.5
diff -u -w -r1.12.4.2.2.4 -r1.12.4.2.2.5
--- StateChain.java     28 Oct 2003 20:20:37 -0000      1.12.4.2.2.4
+++ StateChain.java     1 Nov 2003 16:55:34 -0000       1.12.4.2.2.5
@@ -1,16 +1,13 @@
 package freenet.node;
 
-import freenet.MessageObject;
-import freenet.support.Logger;
-import freenet.support.Fields;
-import freenet.support.Comparable;
-
-import java.util.Vector;
-import java.util.Enumeration;
-import java.util.Date;
 import java.io.PrintStream;
+import java.util.Date;
+import java.util.Enumeration;
+import java.util.Vector;
 
 import freenet.Core;
+import freenet.MessageObject;
+import freenet.support.Fields;
 import freenet.support.Logger;
 
 /**
@@ -142,7 +139,7 @@
             mo.drop(node);
         }
         catch (Throwable e) {
-            node.logger.log(node, "Error dropping message: "+mo,
+            Core.logger.log(node, "Error dropping message: "+mo,
                             e, Logger.ERROR);
         }
     }
@@ -155,7 +152,7 @@
             state.lost(node);
         }
         catch (Throwable e) {
-            node.logger.log(node, "Error discarding state: "+state,
+            Core.logger.log(node, "Error discarding state: "+state,
                             e, Logger.ERROR);
         }
     }
@@ -173,10 +170,10 @@
                 state = mo.getInitialState();
             } catch (BadStateException e) {
                 drop(node, mo);
-                node.logger.log(node, "Bad state on new message: " + mo,
+                Core.logger.log(node, "Bad state on new message: " + mo,
                                 e, Logger.MINOR);
             } catch (Throwable e) {
-                node.logger.log(node,
+                Core.logger.log(node,
                                 "Error getting initial state for message: "+mo,
                                 e, Logger.ERROR);
             }
@@ -197,7 +194,7 @@
                Core.logger.log(StateChain.class, "Finished running "+
                                state+".received("+node+","+mo+")", Logger.DEBUG);
         } catch (BadStateException e) {
-            node.logger.log(node,
+            Core.logger.log(node,
                             "Message " + mo + " received during state "
                             + state + " was not welcome",
                             e, Logger.MINOR);
@@ -219,7 +216,7 @@
         // we'll treat an abnormal exit the same as a null exit
         // (newState is null)
         catch (Throwable e) {
-            node.logger.log(node,
+            Core.logger.log(node,
                            "Error while receiving message "+mo+
                            " in state "+state+": "+e, e, Logger.ERROR);
         }
@@ -227,14 +224,14 @@
         // null or abnormal exit
         if (newState == null) {
            if(logDEBUG)
-               node.logger.log(node,
+               Core.logger.log(node,
                                "Ending chain: " + Fields.longToHex(state.id()),
                                new Exception("debug"), Logger.DEBUG);
         }
         // normal transition
         else if (newState != state) {
            if(logDEBUG)
-               node.logger.log(StateChain.class,
+               Core.logger.log(StateChain.class,
                                "Chain " + Fields.longToHex(state.id()) + 
                                " state change: " + state.getName() + " -> " +
                                newState.getName(), Logger.DEBUG);

Index: WatchMe.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/WatchMe.java,v
retrieving revision 1.13.6.1
retrieving revision 1.13.6.2
diff -u -w -r1.13.6.1 -r1.13.6.2
--- WatchMe.java        1 Apr 2003 21:04:43 -0000       1.13.6.1
+++ WatchMe.java        1 Nov 2003 16:55:34 -0000       1.13.6.2
@@ -1,14 +1,19 @@
 /* -*- Mode: java; c-basic-indent: 4; tab-width: 4 -*- */
 
 package freenet.node;
-import java.io.*;
-import java.net.*;
-import java.text.*;
-import java.util.*;
-import freenet.*;
-import freenet.config.*;
-import freenet.node.states.maintenance.*;
-import freenet.support.*;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.net.Socket;
+import java.net.URL;
+
+import freenet.Core;
+import freenet.config.Params;
+import freenet.support.Checkpointed;
+import freenet.support.Logger;
 
 /**
  *  Encapsulates "WatchMe" functionality for monitoring node behavior

--- FSTool.java DELETED ---

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

Reply via email to