Author: nextgens
Date: 2006-06-16 23:54:37 +0000 (Fri, 16 Jun 2006)
New Revision: 9240
Modified:
trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
Log:
hopefully fix the AdvancedDarknet config option
Modified: trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
2006-06-16 23:37:28 UTC (rev 9239)
+++ trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
2006-06-16 23:54:37 UTC (rev 9240)
@@ -2,7 +2,6 @@
import java.io.File;
import java.io.IOException;
-import java.net.InetAddress;
import java.net.Socket;
import java.net.SocketException;
import java.net.SocketTimeoutException;
@@ -126,16 +125,19 @@
class FProxyAdvancedDarknetEnabledCallback implements BooleanCallback {
+ private final SimpleToadletServer ts;
+
+ FProxyAdvancedDarknetEnabledCallback(SimpleToadletServer ts){
+ this.ts = ts;
+ }
+
public boolean get() {
- synchronized(SimpleToadletServer.this) {
- return advancedDarknetEnabled;
- }
+ return ts.isAdvancedDarknetEnabled();
}
+
public void set(boolean val) throws InvalidConfigValueException
{
if(val == get()) return;
- synchronized(SimpleToadletServer.this) {
- SimpleToadletServer.this.advancedDarknetEnabled
= val;
- }
+ ts.enableAdvancedDarknet(val);
}
}
@@ -159,7 +161,7 @@
fproxyConfig.register("css", "clean", 1, true, "CSS Name",
"Name of the CSS FProxy should use",
new FProxyCSSNameCallback());
fproxyConfig.register("advancedDarknetEnabled", false, 1, true,
"Enable Advanced Darknet?", "Whether to enable show information meant for
advanced users/devs on /darkenet/ page",
- new FProxyAdvancedDarknetEnabledCallback());
+ new FProxyAdvancedDarknetEnabledCallback(this));
this.bf = node.tempBucketFactory;
port = fproxyConfig.getInt("port");
@@ -168,7 +170,7 @@
cssName = fproxyConfig.getString("css");
if(cssName.indexOf(':') != -1 || cssName.indexOf('/') != -1)
throw new InvalidConfigValueException("CSS name must
not contain slashes or colons!");
- boolean advancedDarknetEnabled =
fproxyConfig.getBoolean("advancedDarknetEnabled");
+ this.advancedDarknetEnabled =
fproxyConfig.getBoolean("advancedDarknetEnabled");
toadlets = new LinkedList();
node.setToadletContainer(this); // even if not enabled, because
of config
@@ -258,11 +260,7 @@
new SocketHandler(conn);
} catch (SocketTimeoutException e) {
// Go around again, this introduced to avoid
blocking forever when told to quit
- } catch (IOException e) {
- Logger.minor(this, "Got IOException accepting
conn: "+e, e);
- // Ignore
- continue;
- }
+ }
}
}
@@ -293,7 +291,11 @@
this.cssName = name;
}
- public boolean isAdvancedDarknetEnabled() {
+ public synchronized boolean isAdvancedDarknetEnabled() {
return this.advancedDarknetEnabled;
}
+
+ public synchronized void enableAdvancedDarknet(boolean b){
+ advancedDarknetEnabled = b;
+ }
}