Merge branch 'simpler-threading'.

This merge reduces the number of thread pools.
This commit is contained in:
akwizgran
2014-10-02 18:26:26 +01:00
49 changed files with 947 additions and 1517 deletions

View File

@@ -72,7 +72,7 @@ class TorPlugin implements DuplexPlugin, EventHandler {
private static final Logger LOG =
Logger.getLogger(TorPlugin.class.getName());
private final Executor pluginExecutor;
private final Executor ioExecutor;
private final Context appContext;
private final LocationUtils locationUtils;
private final DuplexPluginCallback callback;
@@ -89,10 +89,10 @@ class TorPlugin implements DuplexPlugin, EventHandler {
private volatile TorControlConnection controlConnection = null;
private volatile BroadcastReceiver networkStateReceiver = null;
TorPlugin(Executor pluginExecutor, Context appContext,
TorPlugin(Executor ioExecutor, Context appContext,
LocationUtils locationUtils, DuplexPluginCallback callback,
int maxFrameLength, long maxLatency, long pollingInterval) {
this.pluginExecutor = pluginExecutor;
this.ioExecutor = ioExecutor;
this.appContext = appContext;
this.locationUtils = locationUtils;
this.callback = callback;
@@ -351,7 +351,7 @@ class TorPlugin implements DuplexPlugin, EventHandler {
}
private void bind() {
pluginExecutor.execute(new Runnable() {
ioExecutor.execute(new Runnable() {
public void run() {
// If there's already a port number stored in config, reuse it
String portString = callback.getConfig().get("port");
@@ -379,7 +379,7 @@ class TorPlugin implements DuplexPlugin, EventHandler {
c.put("port", localPort);
callback.mergeConfig(c);
// Create a hidden service if necessary
pluginExecutor.execute(new Runnable() {
ioExecutor.execute(new Runnable() {
public void run() {
publishHiddenService(localPort);
}
@@ -506,7 +506,7 @@ class TorPlugin implements DuplexPlugin, EventHandler {
}
private void connectAndCallBack(final ContactId c) {
pluginExecutor.execute(new Runnable() {
ioExecutor.execute(new Runnable() {
public void run() {
DuplexTransportConnection d = createConnection(c);
if(d != null) callback.outgoingConnectionCreated(c, d);

View File

@@ -21,13 +21,13 @@ public class TorPluginFactory implements DuplexPluginFactory {
private static final long MAX_LATENCY = 60 * 1000; // 1 minute
private static final long POLLING_INTERVAL = 3 * 60 * 1000; // 3 minutes
private final Executor pluginExecutor;
private final Executor ioExecutor;
private final Context appContext;
private final LocationUtils locationUtils;
public TorPluginFactory(Executor pluginExecutor, Context appContext,
public TorPluginFactory(Executor ioExecutor, Context appContext,
LocationUtils locationUtils) {
this.pluginExecutor = pluginExecutor;
this.ioExecutor = ioExecutor;
this.appContext = appContext;
this.locationUtils = locationUtils;
}
@@ -42,7 +42,7 @@ public class TorPluginFactory implements DuplexPluginFactory {
LOG.info("Tor is not supported on this architecture");
return null;
}
return new TorPlugin(pluginExecutor,appContext, locationUtils,
callback, MAX_FRAME_LENGTH, MAX_LATENCY, POLLING_INTERVAL);
return new TorPlugin(ioExecutor,appContext, locationUtils, callback,
MAX_FRAME_LENGTH, MAX_LATENCY, POLLING_INTERVAL);
}
}