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> </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> </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