Commit Graph

474 Commits

Author SHA1 Message Date
akwizgran 8fa77b57da Bluetooth plugin (untested). 2011-10-06 19:33:12 +01:00
akwizgran 6d68fa5c4a Check whether the socket has been set to null due to a failed
re-binding.
2011-10-06 19:32:55 +01:00
akwizgran c08f6c4d1e Merged transports' finish() and dispose() methods. 2011-10-06 19:00:33 +01:00
akwizgran 7a994114ff Synchronize access to superclass members. 2011-10-06 18:16:08 +01:00
akwizgran 42e586abc4 Merged code from FilePlugin and SocketPlugin into a superclass. 2011-10-06 18:07:58 +01:00
akwizgran 3e522c81fa Plugins should not modify their properties or configs. 2011-10-06 17:58:08 +01:00
akwizgran 8468b84c54 Reduced visibility of methods where possible. 2011-10-06 17:53:31 +01:00
akwizgran bb9f03f1e8 Close and reopen the socket if necessary when the properties change. 2011-10-06 17:39:51 +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 11b571fd8f Moved locking to the superclass to simplify subclasses. 2011-10-06 09:34:15 +01:00
akwizgran ffe10e1502 Don't call the callback after stop() has been called. 2011-10-06 09:25:50 +01:00
akwizgran b54668c50b Renamed InvalidTransportException -> InvalidPropertiesException. 2011-10-06 09:18:13 +01:00
akwizgran 45fd4c9060 Simple TCP socket plugin (untested). 2011-10-06 09:17:22 +01:00
akwizgran 80cba1e7f7 Added finish() methods to transport readers/writers, and added a
readerFinished() callback method to FilePlugin.
2011-10-05 18:59:30 +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 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 2095c2bbaa Removable drive monitors for Windows, Mac and Linux (untested). 2011-10-05 13:27:37 +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 f4af582592 Don't try to get the free space for a nonexistent file. 2011-10-04 21:47:38 +01:00
akwizgran ef811ed295 Removed println. 2011-10-04 21:45:15 +01:00
akwizgran f02e6b3f89 Removable drive finders for Windows, Mac and Linux (untested). 2011-10-04 21:04:22 +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 2edb18aee0 Store outgoing connection numbers in the database. 2011-09-28 19:24:22 +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 6ed8d89e59 Don't block when free disk space is critically low.
If it's not possible to free up any additional space, exit rather than
hanging. In future we should warn the user before exiting.
2011-09-27 17:05:51 +01:00
akwizgran 90e32ac906 AtomicBoolean is not needed. 2011-09-27 16:29:41 +01:00
akwizgran dea77b22d7 Don't call stopped.get() outside the lock. 2011-09-27 16:26:55 +01:00
akwizgran a40c081815 Record when the latest subscription/transport update was sent. 2011-09-26 18:13:48 +01:00
akwizgran 266048a815 Removed an unused method. 2011-09-26 18:03:02 +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 2a92ed0056 Removed fake database password from Guice module. 2011-09-23 16:25:48 +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 ba1c61810d Updated the visibility criteria of setStatusSeenIfVisible(). 2011-09-23 16:04:58 +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 eba6884281 Javadocs. 2011-09-21 18:09:56 +01:00