Author: toad
Date: 2008-02-11 19:46:39 +0000 (Mon, 11 Feb 2008)
New Revision: 17785
Modified:
trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties
trunk/freenet/src/freenet/node/LocationManager.java
trunk/freenet/src/freenet/node/Node.java
Log:
Enable swapping
Modified: trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties
===================================================================
--- trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties 2008-02-11
19:31:22 UTC (rev 17784)
+++ trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties 2008-02-11
19:46:39 UTC (rev 17785)
@@ -592,9 +592,11 @@
Node.dropPacketEvery=Testing packet drop frequency
Node.dropPacketEveryLong=Frequency of dropping packets. Testing option used by
devs to simulate packet loss. 0 means never artificially drop a packet. Don't
touch this!
Node.enableARKs=Enable ARKs? (DON'T TURN THIS OFF!)
-Node.enableARKsLong=Enable ARKs? (DON'T TURN THIS OFF!)
+Node.enableARKsLong=Enable ARKs? (DON'T TURN THIS OFF!).
Node.enablePerNodeFailureTables=Enable per-node failure tables?
Node.enablePerNodeFailureTablesLong=Enable automatically rerouting around
nodes that failed a request within the last 10 minutes?
+Node.enableSwapping=Enable location swapping? (DO NOT TURN THIS OFF!)
+Node.enableSwappingLong=Enable location swapping? (DO NOT TURN THIS OFF! It is
only useful in some simulations).
Node.enableULPRDataPropagation=Enable ULPR data propagation?
Node.enableULPRDataPropagationLong=Enable fast propagation of recently
requested keys to those nodes which have asked for them when the data is
eventually found? (Ultra-Lightweight Persistent Requests).
Node.errorApplyingConfig=Error while applying the new config : ${error}
Modified: trunk/freenet/src/freenet/node/LocationManager.java
===================================================================
--- trunk/freenet/src/freenet/node/LocationManager.java 2008-02-11 19:31:22 UTC
(rev 17784)
+++ trunk/freenet/src/freenet/node/LocationManager.java 2008-02-11 19:46:39 UTC
(rev 17785)
@@ -117,7 +117,8 @@
* we are not locked.
*/
public void startSender() {
- node.getTicker().queueTimedJob(sender, STARTUP_DELAY);
+ if(node.enableSwapping)
+ node.getTicker().queueTimedJob(sender, STARTUP_DELAY);
}
/**
@@ -781,6 +782,16 @@
htl = SWAP_MAX_HTL;
}
htl--;
+ if(!node.enableSwapping) {
+ // Reject
+ Message reject = DMT.createFNPSwapRejected(oldID);
+ try {
+ pn.sendAsync(reject, null, 0, null);
+ } catch (NotConnectedException e1) {
+ if(logMINOR) Logger.minor(this, "Lost connection rejecting
SwapRequest (locked) from "+pn);
+ }
+ return true;
+ }
// Either forward it or handle it
if(htl <= 0) {
if(logMINOR) Logger.minor(this, "Accepting?... "+oldID);
Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java 2008-02-11 19:31:22 UTC (rev
17784)
+++ trunk/freenet/src/freenet/node/Node.java 2008-02-11 19:46:39 UTC (rev
17785)
@@ -397,6 +397,7 @@
final boolean enableARKs;
final boolean enablePerNodeFailureTables;
final boolean enableULPRDataPropagation;
+ final boolean enableSwapping;
public static final short DEFAULT_MAX_HTL = (short)10;
private short maxHTL;
/** Type identifier for fproxy node to node messages, as sent on
DMT.nodeToNodeMessage's */
@@ -796,6 +797,19 @@
});
enableULPRDataPropagation =
nodeConfig.getBoolean("enableULPRDataPropagation");
+ nodeConfig.register("enableSwapping", true, sortOrder++, true,
false, "Node.enableSwapping", "Node.enableSwappingLong", new BooleanCallback() {
+
+ public boolean get() {
+ return enableSwapping;
+ }
+
+ public void set(boolean val) throws
InvalidConfigValueException {
+ throw new InvalidConfigValueException("Cannot
change on the fly");
+ }
+
+ });
+ enableSwapping = nodeConfig.getBoolean("enableSwapping");
+
// Determine the port number
// @see #191
if(oldConfig != null &&
"-1".equals(oldConfig.get("node.listenPort")))