Merged IncomingConnectionExecutor and PluginExecutor into IoExecutor.

We don't need two separate executors for long-running IO threads.
This commit is contained in:
akwizgran
2014-10-02 18:02:53 +01:00
parent 458c0ca285
commit 941efb4bbe
35 changed files with 172 additions and 223 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 ShutdownManager shutdownManager;
@@ -92,11 +92,11 @@ 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, ShutdownManager shutdownManager,
DuplexPluginCallback callback, int maxFrameLength, long maxLatency,
long pollingInterval) {
this.pluginExecutor = pluginExecutor;
this.ioExecutor = ioExecutor;
this.appContext = appContext;
this.locationUtils = locationUtils;
this.shutdownManager = shutdownManager;
@@ -448,7 +448,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");
@@ -476,7 +476,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);
}
@@ -605,7 +605,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

@@ -22,14 +22,14 @@ 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;
private final ShutdownManager shutdownManager;
public TorPluginFactory(Executor pluginExecutor, Context appContext,
public TorPluginFactory(Executor ioExecutor, Context appContext,
LocationUtils locationUtils, ShutdownManager shutdownManager) {
this.pluginExecutor = pluginExecutor;
this.ioExecutor = ioExecutor;
this.appContext = appContext;
this.locationUtils = locationUtils;
this.shutdownManager = shutdownManager;
@@ -45,7 +45,7 @@ public class TorPluginFactory implements DuplexPluginFactory {
LOG.info("Tor is not supported on this architecture");
return null;
}
return new TorPlugin(pluginExecutor,appContext, locationUtils,
return new TorPlugin(ioExecutor,appContext, locationUtils,
shutdownManager, callback, MAX_FRAME_LENGTH, MAX_LATENCY,
POLLING_INTERVAL);
}