Commit Graph

39 Commits

Author SHA1 Message Date
akwizgran
c081c08ff5 New polling logic for Bluetooth. #251
The polling interval increases exponentially each time polling is unsuccessful, up to a maximum of 60 minutes. The interval is reset to 2 minutes whenever a connection is made and whenever Bluetooth is re-enabled.
2016-02-22 13:21:05 +00:00
akwizgran
18db17bf5b Moved subscription updates to the client layer. 2016-02-10 10:47:30 +00:00
akwizgran
88475bdd54 Transport properties client. #229 2016-01-27 12:51:55 +00:00
Santiago Torres
190bb12964 ENH: Replaces transport config with namespaced settings 2016-01-20 00:57:16 -05:00
akwizgran
c5282c5b17 Moved some API classes into packages. 2015-12-17 16:56:57 +00:00
Torsten Grote
2d28dcada2 Create two new events to signal enabling and disabling of transports 2015-12-17 11:34:10 -02:00
akwizgran
912ba394c5 Refactored FileUtils.
Removed methods that are no longer needed for Java 6, moved the remaining method into the utils directory.
2015-12-10 15:58:52 +00:00
akwizgran
8529c976c2 Renamed a bunch of lock variables.
"synchLock" will become confusing when we have lots of objects with "sync" in the name.
2015-12-03 16:39:53 +00:00
akwizgran
027ae8340f Whitespace-only code formatting changes. 2015-11-30 09:38:25 +00:00
akwizgran
0dbfd7073f Comments to indicate which locks guard which variables. 2015-01-29 11:12:41 +00:00
akwizgran
47bd84122e Code formatting and small cleanups. 2015-01-28 21:18:31 +00:00
Abraham Kiggundu
851151041e Pull-Merge of latest changes from main repo 2015-01-08 11:54:47 +03:00
Abraham Kiggundu
be2a92d6c2 Revert lock variable rename for clarity 2015-01-07 00:37:28 +03:00
Abraham Kiggundu
2b9c469063 Merge branch 'improve-thread-encapsulation' into upstream 2015-01-06 07:15:11 +03:00
akwizgran
d3bf2d59a1 Use the same maximum frame length for all transports. 2015-01-05 16:24:44 +00:00
Abraham Kiggundu
9a2e93ebb9 cleanup 2014-12-26 17:35:37 +03:00
Abraham Kiggundu
b074978472 Improved encapsulation of thread synchronisation as follows
- replaced use of Object instance mutex with a private final Lock object
- replaced Object signaling with specific condition signalling
2014-12-26 16:40:46 +03:00
akwizgran
388b36b6be Check periodically for retransmittable packets. Bug #46. 2014-12-14 20:26:41 +00:00
akwizgran
29a6596ee3 Use the transport's idle timeout, not a hardcoded value. 2014-12-14 15:18:39 +00:00
akwizgran
d4fa656dbb Application layer keepalives to detect dead TCP connections.
DuplexOutgoingSession flushes its output stream if it's idle for a
transport-defined interval, causing an empty frame to be sent. The TCP
and Tor plugins use a socket timeout equal to twice the idle interval to
detect dead connections.

See bugs #27, #46 and #60.
2014-12-13 12:00:40 +00:00
akwizgran
d94637b5cf Removed polling from ModemPlugin. 2014-12-05 12:46:11 +00:00
akwizgran
7b8181e309 Massive refactoring to merge handling of simplex and duplex connections. 2014-11-04 16:51:25 +00:00
akwizgran
b24f153704 Renamed a load of things from 'connection' to 'stream'. 2014-10-08 16:21:55 +01:00
akwizgran
941efb4bbe Merged IncomingConnectionExecutor and PluginExecutor into IoExecutor.
We don't need two separate executors for long-running IO threads.
2014-10-02 18:02:53 +01:00
akwizgran
eaff042601 Don't try to close server sockets twice.
This may have been the cause of bug #69. Removed the wait-for-shutdown
code in DroidtoothPlugin that was added to attempt to avoid that bug.
2014-05-09 19:09:13 +01:00
akwizgran
08b91d2483 Poll plugins when connectivity changes. Bug #66.
This should enable us to connect to contacts faster at startup and
whenever a new means of connecting becomes available.
2014-04-04 22:06:36 +01:00
akwizgran
e260aac3d2 All tryToClose() methods should check for null arguments. 2014-04-04 20:04:47 +01:00
akwizgran
b99a503f24 Removed unnecessary conditionals from logging statements.
Very important stuff.
2014-03-12 21:00:14 +00:00
akwizgran
511b470aa4 Less verbose logging for plugins. 2014-03-03 15:31:46 +00:00
akwizgran
a2d099ea17 Added debugging screen to alpha and beta builds. Dev task #73. 2014-02-28 23:44:35 +00:00
akwizgran
4154119ea5 Convert to and from UTF-8 without catching impossible exceptions.
All JVMs must support UTF-8 encoding.
2014-02-07 22:02:02 +00:00
akwizgran
5c78b4808d Use new IOException(String) for consistency with other calls. 2014-02-07 15:03:58 +00:00
Ximin Luo
8ff2b60000 support an older Android API level 2014-01-30 12:37:18 +00:00
Ximin Luo
c000a69f5b lazily load JNotify to avoid bloating the guice initialization 2014-01-30 12:37:18 +00:00
Ximin Luo
2bdccef705 upgrade to jnotify 0.94 (patched) for 64-bit support, and improve error reporting in tests
- add a UnixRemovableDriveMonitor.checkEnabled to pre-emptively check if it's loaded
- os.arch is always x86,x86_64 on windows, i386,amd64 on linux
- source: http://www.java-gaming.org/index.php/topic,14110
- we'll deal with freebsd support when we come to it, jnotify doesn't even do this atm
2014-01-30 12:37:18 +00:00
akwizgran
822392f9e7 Use strings rather than hashes to identify transports. Dev task #64. 2014-01-24 10:39:34 +00:00
akwizgran
6af3c54c28 Removed shouldFlush() from plugins, added missing PacketWriter method. 2014-01-15 17:10:25 +00:00
akwizgran
8886d954d7 Reorganised Guice modules. Contribute entropy to pool on Linux/Android. 2014-01-14 19:33:17 +00:00
akwizgran
832476412c Changed the root package from net.sf.briar to org.briarproject. 2014-01-08 16:18:30 +00:00