Commit Graph

193 Commits

Author SHA1 Message Date
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
akwizgran
5aa7da2048 ProtocolIntegrationTest (formerly FileReadWriteTest) doesn't need to
use a file.
2011-09-28 18:58:45 +01:00
akwizgran
a8b96f11fd Added Consumer support to Writer, to avoid redundant copying. 2011-09-28 18:47:24 +01:00
akwizgran
9c2e3917bf Added an integration test for batch transports. 2011-09-28 14:43:23 +01:00
akwizgran
a1b664b639 More refactoring to connect ConnectionRecogniser to ConnectionReader.
Added TestDatabaseModule so tests can specify their own DB
configuration. The modules are currently too tightly coupled - see
whether any dependencies can be removed.
2011-09-28 14:21:38 +01:00
akwizgran
4aff0c4f88 Refactored transport component and renamed WritersModule.
The goal of the refactoring was to clean up the dependencies of
IncomingBatchConnection and OutgoingBatchConnection.
2011-09-27 19:21:44 +01:00
akwizgran
a40c081815 Record when the latest subscription/transport update was sent. 2011-09-26 18:13:48 +01:00
akwizgran
53b5a61ab3 Replaced Database.getParent() with getGroupMessageParent().
The new method checks whether the parent is present in the database
and belongs to the same group, so separate methods for those checks
have been removed.
2011-09-26 18:00:56 +01:00
akwizgran
124188a0a1 DatabaseComponent.setSeen() should call setStatusSeenIfVisible().
Otherwise an exception may be thrown if an offered message is no
longer in the DB.
2011-09-25 14:39:31 +01:00
akwizgran
98ab523092 Database refactoring to fix injection problems. 2011-09-23 18:52:56 +01:00
akwizgran
4b0e91f52c Removed test classes' dependency on ByteArray{Input,Output)Stream. 2011-09-23 16:36:07 +01:00
akwizgran
b470afb4ef Added DatabaseComponent.setSeen() for handling requests.
Also moved IO out of the lock in receiveOffer().
2011-09-23 16:06:14 +01:00
akwizgran
7c6e0c349c Extracted constants from DatabaseComponent interface. 2011-09-23 15:33:41 +01:00
akwizgran
b675c38953 Don't do IO while holding database locks. 2011-09-23 12:55:23 +01:00
akwizgran
09971c8460 Implemented incoming and outgoing batch connections (untested). 2011-09-22 16:26:06 +01:00
akwizgran
b65d6631f1 Removed writer's count of bytes written and renamed a method. 2011-09-21 18:22:14 +01:00
akwizgran
52f3b70c3f Added size-unlimited version of Database.getSendableMessages(). 2011-09-21 18:10:22 +01:00
akwizgran
fadd95ae49 Added a test for MAX_PACKET_LENGTH. 2011-09-21 15:56:50 +01:00
akwizgran
10c3b21726 Expose the encryption and authentication overhead without breaking
encapsulation.

This should allow callers to calculate maximum packet sizes without
knowing the details of the transport protocol.
2011-09-21 15:22:25 +01:00
akwizgran
7e58b25618 Allow the max packet length to be reduced from the default. 2011-09-21 13:47:06 +01:00
akwizgran
3e60233ae0 Expose serialisation overhead without breaking encapsulation. 2011-09-21 13:16:58 +01:00
akwizgran
95c3fb4fed Removed getCapacity() from BatchWriter interface. 2011-09-21 12:37:19 +01:00
akwizgran
3dd3742a96 Folded findLostBatches() into receiveAck(). 2011-09-19 18:45:19 +01:00
akwizgran
7aeb6029a6 Assertions and comments. 2011-09-19 16:42:27 +01:00
akwizgran
44c8f9ceaa Folded ReadWriteLockDatabaseComponent into its parent. 2011-09-19 15:29:40 +01:00
akwizgran
bf01dd4f96 Folded ReadWriteLockDatabaseComponentTest into its parent. 2011-09-19 14:58:32 +01:00
akwizgran
22b8321376 Removed SynchronizedDatabaseComponent.
LockFairnessTest passes on Windows, Mac and Linux, so it's safe to use
ReadWriteLockDatabaseComponent on all those platforms. We can revisit
this issue for Android if necessary, but for now it's a waste of
effort to have two parallel implementations.
2011-09-19 14:54:29 +01:00
akwizgran
53f02f7a52 Fixed unit tests for database component. 2011-09-16 13:13:27 +01:00
akwizgran
f18c86b0d3 Unit tests for private messages. 2011-09-16 13:06:04 +01:00
akwizgran
5f05a7f898 Unit tests for private messages. 2011-09-16 11:33:55 +01:00
akwizgran
8ec40587b2 Check for sendable private messages as well as group messages. 2011-09-13 16:15:50 +01:00