From a73d9d05f2d551fe117999d31ba6b5c304df0a33 Mon Sep 17 00:00:00 2001 From: akwizgran <michael@briarproject.org> Date: Fri, 1 Feb 2013 20:19:23 +0000 Subject: [PATCH] Added getMaxLatency() method to transport plugins. --- .../src/net/sf/briar/api/plugins/Plugin.java | 3 +++ .../plugins/bluetooth/BluetoothPlugin.java | 10 ++++++++-- .../bluetooth/BluetoothPluginFactory.java | 5 +++-- .../plugins/droidtooth/DroidtoothPlugin.java | 10 ++++++++-- .../droidtooth/DroidtoothPluginFactory.java | 5 +++-- .../plugins/file/RemovableDrivePlugin.java | 8 +++++++- .../file/RemovableDrivePluginFactory.java | 4 +++- .../sf/briar/plugins/modem/ModemPlugin.java | 11 ++++++++--- .../plugins/modem/ModemPluginFactory.java | 3 ++- .../net/sf/briar/plugins/tcp/LanTcpPlugin.java | 5 +++-- .../briar/plugins/tcp/LanTcpPluginFactory.java | 3 ++- .../net/sf/briar/plugins/tcp/TcpPlugin.java | 10 ++++++++-- .../net/sf/briar/plugins/tcp/WanTcpPlugin.java | 6 +++--- .../briar/plugins/tcp/WanTcpPluginFactory.java | 5 +++-- .../net/sf/briar/plugins/tor/TorPlugin.java | 10 ++++++++-- .../sf/briar/plugins/tor/TorPluginFactory.java | 4 +++- .../plugins/bluetooth/BluetoothClientTest.java | 3 ++- .../plugins/bluetooth/BluetoothServerTest.java | 3 ++- .../plugins/file/RemovableDrivePluginTest.java | 18 +++++++++--------- .../briar/plugins/modem/ModemPluginTest.java | 10 +++++----- .../sf/briar/plugins/tcp/LanTcpClientTest.java | 2 +- .../sf/briar/plugins/tcp/LanTcpPluginTest.java | 4 ++-- .../sf/briar/plugins/tcp/LanTcpServerTest.java | 2 +- .../sf/briar/plugins/tor/TorPluginTest.java | 8 ++++---- 24 files changed, 101 insertions(+), 51 deletions(-) diff --git a/briar-api/src/net/sf/briar/api/plugins/Plugin.java b/briar-api/src/net/sf/briar/api/plugins/Plugin.java index f76833a39f..2719736f69 100644 --- a/briar-api/src/net/sf/briar/api/plugins/Plugin.java +++ b/briar-api/src/net/sf/briar/api/plugins/Plugin.java @@ -14,6 +14,9 @@ public interface Plugin { /** Returns a label for looking up the plugin's translated name. */ String getName(); + /** Returns the transport's maximum latency in milliseconds. */ + long getMaxLatency(); + /** Starts the plugin and returns true if it started successfully. */ boolean start() throws IOException; diff --git a/briar-core/src/net/sf/briar/plugins/bluetooth/BluetoothPlugin.java b/briar-core/src/net/sf/briar/plugins/bluetooth/BluetoothPlugin.java index 6f185e31a0..78734a0e3b 100644 --- a/briar-core/src/net/sf/briar/plugins/bluetooth/BluetoothPlugin.java +++ b/briar-core/src/net/sf/briar/plugins/bluetooth/BluetoothPlugin.java @@ -50,7 +50,7 @@ class BluetoothPlugin implements DuplexPlugin { private final Executor pluginExecutor; private final Clock clock; private final DuplexPluginCallback callback; - private final long pollingInterval; + private final long maxLatency, pollingInterval; private final Object discoveryLock = new Object(); private final ScheduledExecutorService scheduler; @@ -61,10 +61,12 @@ class BluetoothPlugin implements DuplexPlugin { private volatile LocalDevice localDevice = null; BluetoothPlugin(@PluginExecutor Executor pluginExecutor, Clock clock, - DuplexPluginCallback callback, long pollingInterval) { + DuplexPluginCallback callback, long maxLatency, + long pollingInterval) { this.pluginExecutor = pluginExecutor; this.clock = clock; this.callback = callback; + this.maxLatency = maxLatency; this.pollingInterval = pollingInterval; scheduler = Executors.newScheduledThreadPool(0); } @@ -77,6 +79,10 @@ class BluetoothPlugin implements DuplexPlugin { return "BLUETOOTH_PLUGIN_NAME"; } + public long getMaxLatency() { + return maxLatency; + } + public boolean start() throws IOException { // Initialise the Bluetooth stack try { diff --git a/briar-core/src/net/sf/briar/plugins/bluetooth/BluetoothPluginFactory.java b/briar-core/src/net/sf/briar/plugins/bluetooth/BluetoothPluginFactory.java index 2d909bc5ff..54e813be3c 100644 --- a/briar-core/src/net/sf/briar/plugins/bluetooth/BluetoothPluginFactory.java +++ b/briar-core/src/net/sf/briar/plugins/bluetooth/BluetoothPluginFactory.java @@ -12,7 +12,8 @@ import net.sf.briar.api.plugins.duplex.DuplexPluginFactory; public class BluetoothPluginFactory implements DuplexPluginFactory { - private static final long POLLING_INTERVAL = 3L * 60L * 1000L; // 3 mins + private static final long MAX_LATENCY = 60L * 1000L; // 1 minute + private static final long POLLING_INTERVAL = 3L * 60L * 1000L; // 3 minutes private final Executor pluginExecutor; private final Clock clock; @@ -28,6 +29,6 @@ public class BluetoothPluginFactory implements DuplexPluginFactory { public DuplexPlugin createPlugin(DuplexPluginCallback callback) { return new BluetoothPlugin(pluginExecutor, clock, callback, - POLLING_INTERVAL); + MAX_LATENCY, POLLING_INTERVAL); } } diff --git a/briar-core/src/net/sf/briar/plugins/droidtooth/DroidtoothPlugin.java b/briar-core/src/net/sf/briar/plugins/droidtooth/DroidtoothPlugin.java index ea7dc74b2a..a20da57a9f 100644 --- a/briar-core/src/net/sf/briar/plugins/droidtooth/DroidtoothPlugin.java +++ b/briar-core/src/net/sf/briar/plugins/droidtooth/DroidtoothPlugin.java @@ -60,7 +60,7 @@ class DroidtoothPlugin implements DuplexPlugin { private final AndroidExecutor androidExecutor; private final Context appContext; private final DuplexPluginCallback callback; - private final long pollingInterval; + private final long maxLatency, pollingInterval; private volatile boolean running = false; private volatile BluetoothServerSocket socket = null; @@ -70,11 +70,13 @@ class DroidtoothPlugin implements DuplexPlugin { DroidtoothPlugin(@PluginExecutor Executor pluginExecutor, AndroidExecutor androidExecutor, Context appContext, - DuplexPluginCallback callback, long pollingInterval) { + DuplexPluginCallback callback, long maxLatency, + long pollingInterval) { this.pluginExecutor = pluginExecutor; this.androidExecutor = androidExecutor; this.appContext = appContext; this.callback = callback; + this.maxLatency = maxLatency; this.pollingInterval = pollingInterval; } @@ -87,6 +89,10 @@ class DroidtoothPlugin implements DuplexPlugin { return "BLUETOOTH_PLUGIN_NAME"; } + public long getMaxLatency() { + return maxLatency; + } + public boolean start() throws IOException { // BluetoothAdapter.getDefaultAdapter() must be called on a thread // with a message queue, so submit it to the AndroidExecutor diff --git a/briar-core/src/net/sf/briar/plugins/droidtooth/DroidtoothPluginFactory.java b/briar-core/src/net/sf/briar/plugins/droidtooth/DroidtoothPluginFactory.java index 501944d4d2..a0a2b385ef 100644 --- a/briar-core/src/net/sf/briar/plugins/droidtooth/DroidtoothPluginFactory.java +++ b/briar-core/src/net/sf/briar/plugins/droidtooth/DroidtoothPluginFactory.java @@ -12,7 +12,8 @@ import android.content.Context; public class DroidtoothPluginFactory implements DuplexPluginFactory { - private static final long POLLING_INTERVAL = 3L * 60L * 1000L; // 3 mins + private static final long MAX_LATENCY = 60L * 1000L; // 1 minute + private static final long POLLING_INTERVAL = 3L * 60L * 1000L; // 3 minutes private final Executor pluginExecutor; private final AndroidExecutor androidExecutor; @@ -31,6 +32,6 @@ public class DroidtoothPluginFactory implements DuplexPluginFactory { public DuplexPlugin createPlugin(DuplexPluginCallback callback) { return new DroidtoothPlugin(pluginExecutor, androidExecutor, appContext, - callback, POLLING_INTERVAL); + callback, MAX_LATENCY, POLLING_INTERVAL); } } diff --git a/briar-core/src/net/sf/briar/plugins/file/RemovableDrivePlugin.java b/briar-core/src/net/sf/briar/plugins/file/RemovableDrivePlugin.java index a647c1507c..c0d3192015 100644 --- a/briar-core/src/net/sf/briar/plugins/file/RemovableDrivePlugin.java +++ b/briar-core/src/net/sf/briar/plugins/file/RemovableDrivePlugin.java @@ -31,13 +31,15 @@ implements RemovableDriveMonitor.Callback { private final RemovableDriveFinder finder; private final RemovableDriveMonitor monitor; + private final long maxLatency; RemovableDrivePlugin(@PluginExecutor Executor pluginExecutor, SimplexPluginCallback callback, RemovableDriveFinder finder, - RemovableDriveMonitor monitor) { + RemovableDriveMonitor monitor, long maxLatency) { super(pluginExecutor, callback); this.finder = finder; this.monitor = monitor; + this.maxLatency = maxLatency; } public TransportId getId() { @@ -48,6 +50,10 @@ implements RemovableDriveMonitor.Callback { return "REMOVABLE_DRIVE_PLUGIN_NAME"; } + public long getMaxLatency() { + return maxLatency; + } + public boolean start() throws IOException { running = true; monitor.start(this); diff --git a/briar-core/src/net/sf/briar/plugins/file/RemovableDrivePluginFactory.java b/briar-core/src/net/sf/briar/plugins/file/RemovableDrivePluginFactory.java index ed5594027b..c5a563bb22 100644 --- a/briar-core/src/net/sf/briar/plugins/file/RemovableDrivePluginFactory.java +++ b/briar-core/src/net/sf/briar/plugins/file/RemovableDrivePluginFactory.java @@ -11,6 +11,8 @@ import net.sf.briar.util.OsUtils; public class RemovableDrivePluginFactory implements SimplexPluginFactory { + // Maximum latency 14 days (Royal Mail or lackadaisical carrier pigeon) + private static final long MAX_LATENCY = 14L * 24L * 60L * 60L * 1000L; private static final long POLLING_INTERVAL = 10L * 1000L; // 10 seconds private final Executor pluginExecutor; @@ -46,6 +48,6 @@ public class RemovableDrivePluginFactory implements SimplexPluginFactory { return null; } return new RemovableDrivePlugin(pluginExecutor, callback, finder, - monitor); + monitor, MAX_LATENCY); } } diff --git a/briar-core/src/net/sf/briar/plugins/modem/ModemPlugin.java b/briar-core/src/net/sf/briar/plugins/modem/ModemPlugin.java index 49184a8c48..5e459b6dde 100644 --- a/briar-core/src/net/sf/briar/plugins/modem/ModemPlugin.java +++ b/briar-core/src/net/sf/briar/plugins/modem/ModemPlugin.java @@ -41,7 +41,7 @@ class ModemPlugin implements DuplexPlugin, Modem.Callback { private final ModemFactory modemFactory; private final SerialPortList serialPortList; private final DuplexPluginCallback callback; - private final long pollingInterval; + private final long maxLatency, pollingInterval; private final boolean shuffle; // Used to disable shuffling for testing private volatile boolean running = false; @@ -49,12 +49,13 @@ class ModemPlugin implements DuplexPlugin, Modem.Callback { ModemPlugin(@PluginExecutor Executor pluginExecutor, ModemFactory modemFactory, SerialPortList serialPortList, - DuplexPluginCallback callback, long pollingInterval, - boolean shuffle) { + DuplexPluginCallback callback, long maxLatency, + long pollingInterval, boolean shuffle) { this.pluginExecutor = pluginExecutor; this.modemFactory = modemFactory; this.serialPortList = serialPortList; this.callback = callback; + this.maxLatency = maxLatency; this.pollingInterval = pollingInterval; this.shuffle = shuffle; } @@ -67,6 +68,10 @@ class ModemPlugin implements DuplexPlugin, Modem.Callback { return "MODEM_PLUGIN_NAME"; } + public long getMaxLatency() { + return maxLatency; + } + public boolean start() { for(String portName : serialPortList.getPortNames()) { if(LOG.isLoggable(INFO)) diff --git a/briar-core/src/net/sf/briar/plugins/modem/ModemPluginFactory.java b/briar-core/src/net/sf/briar/plugins/modem/ModemPluginFactory.java index cf5c2eb531..59f684a075 100644 --- a/briar-core/src/net/sf/briar/plugins/modem/ModemPluginFactory.java +++ b/briar-core/src/net/sf/briar/plugins/modem/ModemPluginFactory.java @@ -12,6 +12,7 @@ import net.sf.briar.util.StringUtils; public class ModemPluginFactory implements DuplexPluginFactory { + private static final long MAX_LATENCY = 60L * 1000L; // 1 minute private static final long POLLING_INTERVAL = 60L * 60L * 1000L; // 1 hour private final Executor pluginExecutor; @@ -34,6 +35,6 @@ public class ModemPluginFactory implements DuplexPluginFactory { String enabled = callback.getConfig().get("enabled"); if(StringUtils.isNullOrEmpty(enabled)) return null; return new ModemPlugin(pluginExecutor, modemFactory, serialPortList, - callback, POLLING_INTERVAL, true); + callback, MAX_LATENCY, POLLING_INTERVAL, true); } } diff --git a/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPlugin.java b/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPlugin.java index 243488a32d..2b00190a9c 100644 --- a/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPlugin.java +++ b/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPlugin.java @@ -46,8 +46,9 @@ class LanTcpPlugin extends TcpPlugin { private final Clock clock; LanTcpPlugin(@PluginExecutor Executor pluginExecutor, Clock clock, - DuplexPluginCallback callback, long pollingInterval) { - super(pluginExecutor, callback, pollingInterval); + DuplexPluginCallback callback, long maxLatency, + long pollingInterval) { + super(pluginExecutor, callback, maxLatency, pollingInterval); this.clock = clock; } diff --git a/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPluginFactory.java b/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPluginFactory.java index 9a930c15a3..69e13e9f0a 100644 --- a/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPluginFactory.java +++ b/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPluginFactory.java @@ -12,6 +12,7 @@ import net.sf.briar.api.plugins.duplex.DuplexPluginFactory; public class LanTcpPluginFactory implements DuplexPluginFactory { + private static final long MAX_LATENCY = 60L * 1000L; // 1 minute private static final long POLLING_INTERVAL = 60L * 1000L; // 1 minute private final Executor pluginExecutor; @@ -27,7 +28,7 @@ public class LanTcpPluginFactory implements DuplexPluginFactory { } public DuplexPlugin createPlugin(DuplexPluginCallback callback) { - return new LanTcpPlugin(pluginExecutor, clock, callback, + return new LanTcpPlugin(pluginExecutor, clock, callback, MAX_LATENCY, POLLING_INTERVAL); } } diff --git a/briar-core/src/net/sf/briar/plugins/tcp/TcpPlugin.java b/briar-core/src/net/sf/briar/plugins/tcp/TcpPlugin.java index 61432c4183..5af3fd8b06 100644 --- a/briar-core/src/net/sf/briar/plugins/tcp/TcpPlugin.java +++ b/briar-core/src/net/sf/briar/plugins/tcp/TcpPlugin.java @@ -31,7 +31,7 @@ abstract class TcpPlugin implements DuplexPlugin { protected final Executor pluginExecutor; protected final DuplexPluginCallback callback; - protected final long pollingInterval; + protected final long maxLatency, pollingInterval; protected volatile boolean running = false; private volatile ServerSocket socket = null; @@ -43,12 +43,18 @@ abstract class TcpPlugin implements DuplexPlugin { protected abstract List<SocketAddress> getLocalSocketAddresses(); protected TcpPlugin(@PluginExecutor Executor pluginExecutor, - DuplexPluginCallback callback, long pollingInterval) { + DuplexPluginCallback callback, long maxLatency, + long pollingInterval) { this.pluginExecutor = pluginExecutor; this.callback = callback; + this.maxLatency = maxLatency; this.pollingInterval = pollingInterval; } + public long getMaxLatency() { + return maxLatency; + } + public boolean start() { running = true; pluginExecutor.execute(new Runnable() { diff --git a/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPlugin.java b/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPlugin.java index dd688c1014..19bfb3321c 100644 --- a/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPlugin.java +++ b/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPlugin.java @@ -38,9 +38,9 @@ class WanTcpPlugin extends TcpPlugin { private volatile MappingResult mappingResult; WanTcpPlugin(@PluginExecutor Executor pluginExecutor, - DuplexPluginCallback callback, long pollingInterval, - PortMapper portMapper) { - super(pluginExecutor, callback, pollingInterval); + DuplexPluginCallback callback, long maxLatency, + long pollingInterval, PortMapper portMapper) { + super(pluginExecutor, callback, maxLatency, pollingInterval); this.portMapper = portMapper; } diff --git a/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPluginFactory.java b/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPluginFactory.java index 8adbc2cc1b..b36dba318a 100644 --- a/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPluginFactory.java +++ b/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPluginFactory.java @@ -11,6 +11,7 @@ import net.sf.briar.api.plugins.duplex.DuplexPluginFactory; public class WanTcpPluginFactory implements DuplexPluginFactory { + private static final long MAX_LATENCY = 1L * 60L; // 1 minute private static final long POLLING_INTERVAL = 5L * 60L * 1000L; // 5 minutes private final Executor pluginExecutor; @@ -27,7 +28,7 @@ public class WanTcpPluginFactory implements DuplexPluginFactory { } public DuplexPlugin createPlugin(DuplexPluginCallback callback) { - return new WanTcpPlugin(pluginExecutor, callback, POLLING_INTERVAL, - new PortMapperImpl(shutdownManager)); + return new WanTcpPlugin(pluginExecutor, callback, MAX_LATENCY, + POLLING_INTERVAL, new PortMapperImpl(shutdownManager)); } } diff --git a/briar-core/src/net/sf/briar/plugins/tor/TorPlugin.java b/briar-core/src/net/sf/briar/plugins/tor/TorPlugin.java index 325e6e277b..2b1fea717d 100644 --- a/briar-core/src/net/sf/briar/plugins/tor/TorPlugin.java +++ b/briar-core/src/net/sf/briar/plugins/tor/TorPlugin.java @@ -46,16 +46,18 @@ class TorPlugin implements DuplexPlugin { private final Executor pluginExecutor; private final DuplexPluginCallback callback; - private final long pollingInterval; + private final long maxLatency, pollingInterval; private boolean running = false, connected = false; // Locking: this private NetLayer netLayer = null; // Locking: this private NetServerSocket socket = null; // Locking: this TorPlugin(@PluginExecutor Executor pluginExecutor, - DuplexPluginCallback callback, long pollingInterval) { + DuplexPluginCallback callback, long maxLatency, + long pollingInterval) { this.pluginExecutor = pluginExecutor; this.callback = callback; + this.maxLatency = maxLatency; this.pollingInterval = pollingInterval; } @@ -67,6 +69,10 @@ class TorPlugin implements DuplexPlugin { return "TOR_PLUGIN_NAME"; } + public long getMaxLatency() { + return maxLatency; + } + public boolean start() { synchronized(this) { running = true; diff --git a/briar-core/src/net/sf/briar/plugins/tor/TorPluginFactory.java b/briar-core/src/net/sf/briar/plugins/tor/TorPluginFactory.java index c5eb7ba00f..209b81e12d 100644 --- a/briar-core/src/net/sf/briar/plugins/tor/TorPluginFactory.java +++ b/briar-core/src/net/sf/briar/plugins/tor/TorPluginFactory.java @@ -11,6 +11,7 @@ import net.sf.briar.util.StringUtils; public class TorPluginFactory implements DuplexPluginFactory { + private static final long MAX_LATENCY = 5L * 60L * 1000L; // 5 minutes private static final long POLLING_INTERVAL = 15L * 60L * 1000L; // 15 mins private final Executor pluginExecutor; @@ -27,6 +28,7 @@ public class TorPluginFactory implements DuplexPluginFactory { // This plugin is not enabled by default String enabled = callback.getConfig().get("enabled"); if(StringUtils.isNullOrEmpty(enabled)) return null; - return new TorPlugin(pluginExecutor, callback, POLLING_INTERVAL); + return new TorPlugin(pluginExecutor, callback, MAX_LATENCY, + POLLING_INTERVAL); } } diff --git a/briar-tests/src/net/sf/briar/plugins/bluetooth/BluetoothClientTest.java b/briar-tests/src/net/sf/briar/plugins/bluetooth/BluetoothClientTest.java index 402b9509f1..c01cf4fe1b 100644 --- a/briar-tests/src/net/sf/briar/plugins/bluetooth/BluetoothClientTest.java +++ b/briar-tests/src/net/sf/briar/plugins/bluetooth/BluetoothClientTest.java @@ -26,7 +26,8 @@ public class BluetoothClientTest extends DuplexClientTest { // Create the plugin callback = new ClientCallback(new TransportConfig(), new TransportProperties(), remote); - plugin = new BluetoothPlugin(executor, new SystemClock(), callback, 0L); + plugin = new BluetoothPlugin(executor, new SystemClock(), callback, 0L, + 0L); } public static void main(String[] args) throws Exception { diff --git a/briar-tests/src/net/sf/briar/plugins/bluetooth/BluetoothServerTest.java b/briar-tests/src/net/sf/briar/plugins/bluetooth/BluetoothServerTest.java index d59dda8f59..8dbe021c50 100644 --- a/briar-tests/src/net/sf/briar/plugins/bluetooth/BluetoothServerTest.java +++ b/briar-tests/src/net/sf/briar/plugins/bluetooth/BluetoothServerTest.java @@ -21,7 +21,8 @@ public class BluetoothServerTest extends DuplexServerTest { // Create the plugin callback = new ServerCallback(new TransportConfig(), local, Collections.singletonMap(contactId, new TransportProperties())); - plugin = new BluetoothPlugin(executor, new SystemClock(), callback, 0L); + plugin = new BluetoothPlugin(executor, new SystemClock(), callback, 0L, + 0L); } public static void main(String[] args) throws Exception { diff --git a/briar-tests/src/net/sf/briar/plugins/file/RemovableDrivePluginTest.java b/briar-tests/src/net/sf/briar/plugins/file/RemovableDrivePluginTest.java index f7cbe893be..ba81586efe 100644 --- a/briar-tests/src/net/sf/briar/plugins/file/RemovableDrivePluginTest.java +++ b/briar-tests/src/net/sf/briar/plugins/file/RemovableDrivePluginTest.java @@ -54,7 +54,7 @@ public class RemovableDrivePluginTest extends BriarTestCase { }}); RemovableDrivePlugin plugin = new RemovableDrivePlugin(executor, - callback, finder, monitor); + callback, finder, monitor, 0L); plugin.start(); assertNull(plugin.createWriter(contactId)); @@ -89,7 +89,7 @@ public class RemovableDrivePluginTest extends BriarTestCase { }}); RemovableDrivePlugin plugin = new RemovableDrivePlugin(executor, - callback, finder, monitor); + callback, finder, monitor, 0L); plugin.start(); assertNull(plugin.createWriter(contactId)); @@ -126,7 +126,7 @@ public class RemovableDrivePluginTest extends BriarTestCase { }}); RemovableDrivePlugin plugin = new RemovableDrivePlugin(executor, - callback, finder, monitor); + callback, finder, monitor, 0L); plugin.start(); assertNull(plugin.createWriter(contactId)); @@ -165,7 +165,7 @@ public class RemovableDrivePluginTest extends BriarTestCase { }}); RemovableDrivePlugin plugin = new RemovableDrivePlugin(executor, - callback, finder, monitor); + callback, finder, monitor, 0L); plugin.start(); assertNull(plugin.createWriter(contactId)); @@ -204,7 +204,7 @@ public class RemovableDrivePluginTest extends BriarTestCase { }}); RemovableDrivePlugin plugin = new RemovableDrivePlugin(executor, - callback, finder, monitor); + callback, finder, monitor, 0L); plugin.start(); assertNotNull(plugin.createWriter(contactId)); @@ -247,7 +247,7 @@ public class RemovableDrivePluginTest extends BriarTestCase { }}); RemovableDrivePlugin plugin = new RemovableDrivePlugin(executor, - callback, finder, monitor); + callback, finder, monitor, 0L); plugin.start(); SimplexTransportWriter writer = plugin.createWriter(contactId); @@ -286,7 +286,7 @@ public class RemovableDrivePluginTest extends BriarTestCase { }}); RemovableDrivePlugin plugin = new RemovableDrivePlugin(executor, - callback, finder, monitor); + callback, finder, monitor, 0L); plugin.start(); plugin.driveInserted(testDir); @@ -306,7 +306,7 @@ public class RemovableDrivePluginTest extends BriarTestCase { context.mock(RemovableDriveMonitor.class); RemovableDrivePlugin plugin = new RemovableDrivePlugin(executor, - callback, finder, monitor); + callback, finder, monitor, 0L); assertFalse(plugin.isPossibleConnectionFilename("abcdefg.dat")); assertFalse(plugin.isPossibleConnectionFilename("abcdefghi.dat")); @@ -334,7 +334,7 @@ public class RemovableDrivePluginTest extends BriarTestCase { }}); RemovableDrivePlugin plugin = new RemovableDrivePlugin( - new ImmediateExecutor(), callback, finder, monitor); + new ImmediateExecutor(), callback, finder, monitor, 0L); plugin.start(); File f = new File(testDir, "abcdefgh.dat"); diff --git a/briar-tests/src/net/sf/briar/plugins/modem/ModemPluginTest.java b/briar-tests/src/net/sf/briar/plugins/modem/ModemPluginTest.java index 3de474d35c..aae603511f 100644 --- a/briar-tests/src/net/sf/briar/plugins/modem/ModemPluginTest.java +++ b/briar-tests/src/net/sf/briar/plugins/modem/ModemPluginTest.java @@ -37,7 +37,7 @@ public class ModemPluginTest extends BriarTestCase { final SerialPortList serialPortList = context.mock(SerialPortList.class); final ModemPlugin plugin = new ModemPlugin(null, modemFactory, - serialPortList, null, 0L, true); + serialPortList, null, 0L, 0L, true); final Modem modem = context.mock(Modem.class); context.checking(new Expectations() {{ oneOf(serialPortList).getPortNames(); @@ -71,7 +71,7 @@ public class ModemPluginTest extends BriarTestCase { final DuplexPluginCallback callback = context.mock(DuplexPluginCallback.class); final ModemPlugin plugin = new ModemPlugin(null, modemFactory, - serialPortList, callback, 0L, true); + serialPortList, callback, 0L, 0L, true); final Modem modem = context.mock(Modem.class); final TransportProperties local = new TransportProperties(); local.put("iso3166", ISO_1336); @@ -112,7 +112,7 @@ public class ModemPluginTest extends BriarTestCase { final DuplexPluginCallback callback = context.mock(DuplexPluginCallback.class); final ModemPlugin plugin = new ModemPlugin(null, modemFactory, - serialPortList, callback, 0L, true); + serialPortList, callback, 0L, 0L, true); final Modem modem = context.mock(Modem.class); final TransportProperties local = new TransportProperties(); local.put("iso3166", ISO_1336); @@ -153,7 +153,7 @@ public class ModemPluginTest extends BriarTestCase { final DuplexPluginCallback callback = context.mock(DuplexPluginCallback.class); final ModemPlugin plugin = new ModemPlugin(null, modemFactory, - serialPortList, callback, 0L, true); + serialPortList, callback, 0L, 0L, true); final Modem modem = context.mock(Modem.class); final TransportProperties local = new TransportProperties(); local.put("iso3166", ISO_1336); @@ -204,7 +204,7 @@ public class ModemPluginTest extends BriarTestCase { context.mock(DuplexPluginCallback.class); // Disable shuffling for this test, it confuses jMock final ModemPlugin plugin = new ModemPlugin(pluginExecutor, modemFactory, - serialPortList, callback, 0L, false); + serialPortList, callback, 0L, 0L, false); final Modem modem = context.mock(Modem.class); final TransportProperties local = new TransportProperties(); local.put("iso3166", ISO_1336); diff --git a/briar-tests/src/net/sf/briar/plugins/tcp/LanTcpClientTest.java b/briar-tests/src/net/sf/briar/plugins/tcp/LanTcpClientTest.java index 410339be78..c3ba14c384 100644 --- a/briar-tests/src/net/sf/briar/plugins/tcp/LanTcpClientTest.java +++ b/briar-tests/src/net/sf/briar/plugins/tcp/LanTcpClientTest.java @@ -27,7 +27,7 @@ public class LanTcpClientTest extends DuplexClientTest { // Create the plugin callback = new ClientCallback(new TransportConfig(), new TransportProperties(), remote); - plugin = new LanTcpPlugin(executor, new SystemClock(), callback, 0L); + plugin = new LanTcpPlugin(executor, new SystemClock(), callback, 0, 0); } public static void main(String[] args) throws Exception { diff --git a/briar-tests/src/net/sf/briar/plugins/tcp/LanTcpPluginTest.java b/briar-tests/src/net/sf/briar/plugins/tcp/LanTcpPluginTest.java index bc4f264494..80d6eec797 100644 --- a/briar-tests/src/net/sf/briar/plugins/tcp/LanTcpPluginTest.java +++ b/briar-tests/src/net/sf/briar/plugins/tcp/LanTcpPluginTest.java @@ -36,7 +36,7 @@ public class LanTcpPluginTest extends BriarTestCase { callback.local.put("port", "0"); Executor executor = Executors.newCachedThreadPool(); Clock clock = new SystemClock(); - DuplexPlugin plugin = new LanTcpPlugin(executor, clock, callback, 0L); + DuplexPlugin plugin = new LanTcpPlugin(executor, clock, callback, 0, 0); plugin.start(); // The plugin should have bound a socket and stored the port number assertTrue(callback.propertiesLatch.await(5, SECONDS)); @@ -62,7 +62,7 @@ public class LanTcpPluginTest extends BriarTestCase { Callback callback = new Callback(); Executor executor = Executors.newCachedThreadPool(); Clock clock = new SystemClock(); - DuplexPlugin plugin = new LanTcpPlugin(executor, clock, callback, 0L); + DuplexPlugin plugin = new LanTcpPlugin(executor, clock, callback, 0, 0); plugin.start(); // Listen on a local port final ServerSocket ss = new ServerSocket(); diff --git a/briar-tests/src/net/sf/briar/plugins/tcp/LanTcpServerTest.java b/briar-tests/src/net/sf/briar/plugins/tcp/LanTcpServerTest.java index 462cfbdf79..f62573d84c 100644 --- a/briar-tests/src/net/sf/briar/plugins/tcp/LanTcpServerTest.java +++ b/briar-tests/src/net/sf/briar/plugins/tcp/LanTcpServerTest.java @@ -18,7 +18,7 @@ public class LanTcpServerTest extends DuplexServerTest { callback = new ServerCallback(new TransportConfig(), new TransportProperties(), Collections.singletonMap(contactId, new TransportProperties())); - plugin = new LanTcpPlugin(executor, new SystemClock(), callback, 0L); + plugin = new LanTcpPlugin(executor, new SystemClock(), callback, 0, 0); } public static void main(String[] args) throws Exception { diff --git a/briar-tests/src/net/sf/briar/plugins/tor/TorPluginTest.java b/briar-tests/src/net/sf/briar/plugins/tor/TorPluginTest.java index c217e6605c..71b7e87bb0 100644 --- a/briar-tests/src/net/sf/briar/plugins/tor/TorPluginTest.java +++ b/briar-tests/src/net/sf/briar/plugins/tor/TorPluginTest.java @@ -31,7 +31,7 @@ public class TorPluginTest extends BriarTestCase { try { // Create a plugin instance for the server Callback serverCallback = new Callback(); - serverPlugin = new TorPlugin(e, serverCallback, 0L); + serverPlugin = new TorPlugin(e, serverCallback, 0, 0); System.out.println("Starting server plugin"); serverPlugin.start(); // The plugin should create a hidden service... eventually @@ -46,7 +46,7 @@ public class TorPluginTest extends BriarTestCase { TransportProperties p = new TransportProperties(); p.put("onion", onion); clientCallback.remote.put(contactId, p); - clientPlugin = new TorPlugin(e, clientCallback, 0L); + clientPlugin = new TorPlugin(e, clientCallback, 0, 0); System.out.println("Starting client plugin"); clientPlugin.start(); // The plugin should start without creating a hidden service @@ -87,7 +87,7 @@ public class TorPluginTest extends BriarTestCase { try { // Start a plugin instance with no private key Callback callback = new Callback(); - plugin = new TorPlugin(e, callback, 0L); + plugin = new TorPlugin(e, callback, 0, 0); System.out.println("Starting plugin without private key"); plugin.start(); // The plugin should create a hidden service... eventually @@ -106,7 +106,7 @@ public class TorPluginTest extends BriarTestCase { // Start another instance, reusing the private key callback = new Callback(); callback.config.put("privateKey", privateKey); - plugin = new TorPlugin(e, callback, 0L); + plugin = new TorPlugin(e, callback, 0, 0); System.out.println("Starting plugin with private key"); plugin.start(); // The plugin should create a hidden service... eventually -- GitLab