akwizgran
ef61eaa804
Separated MessageHeader interface from Message interface.
2011-10-21 18:42:27 +01:00
akwizgran
f2d80825bc
Separated the subject line from the message body.
2011-10-21 18:25:25 +01:00
akwizgran
4d23e14d89
Unit tests for subscription and transport timestamps.
2011-10-19 16:41:32 +01:00
akwizgran
c828db2e95
Don't send subscription or transport updates unless an update is due.
...
An update is due if the information has changed since the last update,
or if no update has been sent for 12 hours (to ensure that lost
updates are eventually replaced).
2011-10-19 16:34:58 +01:00
akwizgran
93cd31fa2d
Simplify Database methods, move logic to DatabaseComponent.
2011-10-19 15:54:56 +01:00
akwizgran
dbdbb1d8d4
Never reuse contact IDs.
2011-10-19 12:43:44 +01:00
akwizgran
c8b2cc38de
Record when the transports and subscriptions visible to each contact
...
were last modified.
In future this will be used to determine when to send updates.
2011-10-18 17:32:32 +01:00
akwizgran
d7a417f36d
Validate the decrypted IV before creating a reader/writer.
2011-10-18 15:58:10 +01:00
akwizgran
2f457162a5
Attach the affected contact IDs to subscription update events.
2011-10-17 23:24:23 +01:00
akwizgran
ec56b12384
Converted database events from an enum to classes to allow them to
...
carry data.
2011-10-17 22:47:38 +01:00
akwizgran
0ef1fcb686
De-uglified some code and moved two API classes.
2011-10-14 21:49:58 +01:00
akwizgran
d48c7b6900
Converted {Incoming,Outgoing}BatchConnection into Runnables.
...
Also changed the dispose() method of readers/writers/connections to
swallow any exceptions that occur, since the caller can't do anything
except log them.
2011-10-14 16:14:29 +01:00
akwizgran
55182528cf
Q: What does the plugin manager do? A: It manages plugins.
2011-10-14 14:49:29 +01:00
akwizgran
64e2d7bca9
Refactoring: shorter class names.
2011-10-12 17:25:37 +01:00
akwizgran
3a07d1b882
Plugins don't need their own copies of configs and properties.
2011-10-12 16:52:39 +01:00
akwizgran
631f4e74b5
Nudge the database API in the direction of sanity.
2011-10-11 19:08:10 +01:00
akwizgran
a49a95347f
Use dedicated classes for transport properties and configs.
2011-10-11 17:28:47 +01:00
akwizgran
68b82ae826
Retrieve all remote transports from the DB in a single call.
2011-10-10 22:35:46 +01:00
akwizgran
4059fbf863
Moved plugin API from transport package to plugins package and merged
...
transport subpackages.
2011-10-10 16:18:48 +01:00
akwizgran
5f40015ec2
Moved callback initialisation from start() to constructor so it can be
...
accessed outside the lock.
2011-10-08 12:46:35 +01:00
akwizgran
a3a5ebc14f
Removed unused exceptions. Also disabled output for ant tests.
2011-10-08 12:27:13 +01:00
akwizgran
56c07a8d98
Tests for the Bluetooth plugin.
2011-10-07 13:36:53 +01:00
akwizgran
16c9bf7079
Unit test refactoring.
2011-10-07 00:08:32 +01:00
akwizgran
c08f6c4d1e
Merged transports' finish() and dispose() methods.
2011-10-06 19:00:33 +01:00
akwizgran
3e522c81fa
Plugins should not modify their properties or configs.
2011-10-06 17:58:08 +01:00
akwizgran
bb9f03f1e8
Close and reopen the socket if necessary when the properties change.
2011-10-06 17:39:51 +01:00
akwizgran
f23e89c80e
Outgoing connection test.
2011-10-06 12:59:27 +01:00
akwizgran
e7b404b7b3
Check that the socket is passed to the callback.
2011-10-06 12:15:55 +01:00
akwizgran
5bc9baff95
Accept connections on the local socket.
2011-10-06 12:00:44 +01:00
akwizgran
1ee765a052
Resolve the address before binding.
2011-10-06 11:31:09 +01:00
akwizgran
f8ca06f79d
Changed callback arguments to varargs and renamed a method.
2011-10-06 11:13:19 +01:00
akwizgran
775d76d040
Removed unused classes.
2011-10-05 18:54:49 +01:00
akwizgran
6160a5f56c
Formatting.
2011-10-05 18:49:27 +01:00
akwizgran
3ffb56bf12
Factored ConnectionRecogniser out of transport plugins.
2011-10-05 18:48:10 +01:00
akwizgran
af41e42c6c
Use an Executor to decouple the callback from the caller.
2011-10-05 17:22:21 +01:00
akwizgran
8940dc83cb
Replaced assertTrue(Arrays.equals()) with assertArrayEquals().
2011-10-05 17:07:52 +01:00
akwizgran
c054e1c00e
Replaced some sleeps with latches.
2011-10-05 16:51:26 +01:00
akwizgran
9464e29d75
Unit tests for the reader portion of RemovableDrivePlugin.
2011-10-05 16:39:20 +01:00
akwizgran
f6df333796
Changed drive monitors to use callbacks rather than blocking.
2011-10-05 16:11:18 +01:00
akwizgran
3a321b0f0e
Unit tests for PollingRemovableDriveMonitor.
2011-10-05 14:51:24 +01:00
akwizgran
2ce8d2a418
Fixed a race condition: start the monitor before creating files.
2011-10-05 14:09:43 +01:00
akwizgran
a773bbc320
Unit tests for UnixRemovableDriveMonitor.
2011-10-05 13:47:38 +02:00
akwizgran
d49ab73d81
Unit tests and bug fixes for removable drive finders.
2011-10-04 22:36:00 +01:00
akwizgran
18723a56ae
Unit tests for the removable drive plugin.
2011-10-04 22:04:10 +01:00
akwizgran
f02e6b3f89
Removable drive finders for Windows, Mac and Linux (untested).
2011-10-04 21:04:22 +01:00
akwizgran
11a6858c46
Updated transport plugin API.
2011-10-04 17:49:18 +01:00
akwizgran
74ca71d9c1
Check for symlinks when deleting directories. Allow Database.open()
...
and close() to throw IOExceptions as well as DatabaseExceptions.
2011-10-03 18:35:18 +01:00
akwizgran
72b594d270
Type-safe transport IDs.
2011-09-30 12:52:29 +01:00
akwizgran
7190509ede
Use numeric IDs rather than names to identify transports.
2011-09-29 15:40:09 +01:00
akwizgran
c77b4e5b91
Get the outgoing connection number from the database.
2011-09-28 19:26:57 +01:00