Author: toad
Date: 2008-02-05 01:17:50 +0000 (Tue, 05 Feb 2008)
New Revision: 17545
Modified:
trunk/freenet/src/freenet/node/ConfigurablePersister.java
trunk/freenet/src/freenet/node/Node.java
trunk/freenet/src/freenet/node/NodeClientCore.java
trunk/freenet/src/freenet/node/NodeStats.java
Log:
configurablepersister: filenames are relative to nodeDir - if they are relative
to anything
Modified: trunk/freenet/src/freenet/node/ConfigurablePersister.java
===================================================================
--- trunk/freenet/src/freenet/node/ConfigurablePersister.java 2008-02-05
00:57:46 UTC (rev 17544)
+++ trunk/freenet/src/freenet/node/ConfigurablePersister.java 2008-02-05
01:17:50 UTC (rev 17545)
@@ -10,9 +10,12 @@
public class ConfigurablePersister extends Persister {
+ private final File baseDir;
+
public ConfigurablePersister(Persistable t, SubConfig nodeConfig,
String optionName,
- String defaultFilename, int sortOrder, boolean expert,
boolean forceWrite, String shortDesc, String longDesc, PacketSender ps) throws
NodeInitException {
+ String defaultFilename, int sortOrder, boolean expert,
boolean forceWrite, String shortDesc, String longDesc, PacketSender ps, File
baseDir) throws NodeInitException {
super(t, ps);
+ this.baseDir = baseDir;
nodeConfig.register(optionName, defaultFilename, sortOrder,
expert, forceWrite, shortDesc, longDesc, new StringCallback() {
public String get() {
@@ -35,7 +38,10 @@
private void setThrottles(String val) throws
InvalidConfigValueException {
File f = new File(val);
- File tmp = new File(val+".tmp");
+ if(!f.isAbsolute()) {
+ f = new File(baseDir, val);
+ }
+ File tmp = new File(f.toString()+".tmp");
while(true) {
if(f.exists()) {
if(!(f.canRead() && f.canWrite()))
Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java 2008-02-05 00:57:46 UTC (rev
17544)
+++ trunk/freenet/src/freenet/node/Node.java 2008-02-05 01:17:50 UTC (rev
17545)
@@ -1441,7 +1441,7 @@
oldThrottle.delete();
}
- nodeStats = new NodeStats(this, sortOrder, new
SubConfig("node.load", config), oldThrottleFS, obwLimit, ibwLimit);
+ nodeStats = new NodeStats(this, sortOrder, new
SubConfig("node.load", config), oldThrottleFS, obwLimit, ibwLimit, nodeDir);
clientCore = new NodeClientCore(this, config, nodeConfig,
nodeDir, getDarknetPortNumber(), sortOrder, oldThrottleFS == null ? null :
oldThrottleFS.subset("RequestStarters"), oldConfig, fproxyConfig, toadlets);
Modified: trunk/freenet/src/freenet/node/NodeClientCore.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeClientCore.java 2008-02-05 00:57:46 UTC
(rev 17544)
+++ trunk/freenet/src/freenet/node/NodeClientCore.java 2008-02-05 01:17:50 UTC
(rev 17545)
@@ -134,7 +134,7 @@
logMINOR = Logger.shouldLog(Logger.MINOR, this);
persister = new ConfigurablePersister(this, nodeConfig,
"clientThrottleFile", "client-throttle.dat", sortOrder++, true, false,
- "NodeClientCore.fileForClientStats",
"NodeClientCore.fileForClientStatsLong", node.ps);
+ "NodeClientCore.fileForClientStats",
"NodeClientCore.fileForClientStatsLong", node.ps, nodeDir);
SimpleFieldSet throttleFS = persister.read();
Modified: trunk/freenet/src/freenet/node/NodeStats.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeStats.java 2008-02-05 00:57:46 UTC
(rev 17544)
+++ trunk/freenet/src/freenet/node/NodeStats.java 2008-02-05 01:17:50 UTC
(rev 17545)
@@ -184,7 +184,7 @@
/** PeerManagerUserAlert stats update interval (milliseconds) */
private static final long peerManagerUserAlertStatsUpdateInterval =
1000; // 1 second
- NodeStats(Node node, int sortOrder, SubConfig statsConfig,
SimpleFieldSet oldThrottleFS, int obwLimit, int ibwLimit) throws
NodeInitException {
+ NodeStats(Node node, int sortOrder, SubConfig statsConfig,
SimpleFieldSet oldThrottleFS, int obwLimit, int ibwLimit, File nodeDir) throws
NodeInitException {
logMINOR = Logger.shouldLog(Logger.MINOR, this);
this.node = node;
this.peers = node.peers;
@@ -284,7 +284,7 @@
freeHeapPercentThreshold =
statsConfig.getInt("freeHeapPercentThreshold");
persister = new ConfigurablePersister(this, statsConfig,
"nodeThrottleFile", "node-throttle.dat", sortOrder++, true, false,
- "NodeStat.statsPersister",
"NodeStat.statsPersisterLong", node.ps);
+ "NodeStat.statsPersister",
"NodeStat.statsPersisterLong", node.ps, nodeDir);
SimpleFieldSet throttleFS = persister.read();