Commit Graph

263 Commits

Author SHA1 Message Date
akwizgran d18fc1330b Plugin manager must add transports to the DB before activating them. 2013-02-12 16:04:22 +00:00
akwizgran e0f6948bc4 Fixed injection problems with plugin and reliability modules. 2013-02-12 14:18:43 +00:00
akwizgran 78d6100262 Limit the number of subscriptions per user.
This limit is necessary to limit the size of subscription update
packets; it can be lifted when incremental subscription updates are
implemented.
2013-02-07 18:13:58 +00:00
akwizgran 3af077a4d8 Refactored exponential backoff code out of JdbcDatabase and added tests. 2013-02-06 23:51:23 +00:00
akwizgran 379d6ed220 Retransmission with exponential backoff (untested). 2013-02-06 20:07:08 +00:00
akwizgran 4c5657321d Retransmission without backoff for messages and updates. 2013-02-06 19:06:14 +00:00
akwizgran 9558bd88df Retransmit messages based on maximum latency of transport. 2013-02-06 15:11:55 +00:00
akwizgran 5150737476 Replaced the Status enum with a seen flag and an expiry time. 2013-02-04 17:48:30 +00:00
akwizgran 30a0269652 Code cleanup: import static, use == to compare enum values. 2013-02-01 22:40:36 +00:00
akwizgran adff37481f Code cleanup: don't use L for long constants unless it's necessary. 2013-02-01 20:40:57 +00:00
akwizgran a73d9d05f2 Added getMaxLatency() method to transport plugins. 2013-02-01 20:19:23 +00:00
akwizgran 14177e51f6 Renamed some variables to match renamed classes. 2013-02-01 19:44:43 +00:00
akwizgran 48cc55c43b Upgraded Silvertunnel to version 0.15. 2013-02-01 18:05:29 +00:00
akwizgran 3356a22c81 Check for space before writing packets to simplex connections. 2013-01-31 13:13:09 +00:00
akwizgran 3e9d6113a2 Use the multi-threading option with H2. 2013-01-31 12:22:50 +00:00
akwizgran 43e1014d6c Use database events to trigger transmission of packets. 2013-01-30 20:28:52 +00:00
akwizgran 520b6da5ac Exposed message handling methods through DatabaseComponent interface. 2013-01-30 18:23:53 +00:00
akwizgran 9a78071bde Refactoring: renamed package 'protocol' -> 'messaging'. 2013-01-30 17:48:43 +00:00
akwizgran d7a7e9ab96 Converted UnverifiedMessage from an interface to a value class. 2013-01-30 17:37:18 +00:00
akwizgran c1d2891763 Updated simplex and duplex connections to handle the new packet types. 2013-01-30 15:35:35 +00:00
akwizgran f5ec5b9569 Fixed an ambiguous column name in getRetentionUpdate(). 2013-01-30 15:35:08 +00:00
akwizgran e379f11698 Fixed existing unit tests for DatabaseComponentImpl, and two bugs. 2013-01-30 14:39:13 +00:00
akwizgran fe153b0815 Merged flags table into messages table (they now use the same lock). 2013-01-29 17:51:54 +00:00
akwizgran ea339e76d6 Added getVisibleSubscriptions() method for managing group visibility. 2013-01-29 17:09:06 +00:00
akwizgran 7ecda94340 Renamed some methods, fixed SQL typo bugs in JdbcDatabase. 2013-01-29 16:43:13 +00:00
akwizgran 61a6931643 Renamed ContactTransport -> Endpoint, added more database exceptions. 2013-01-29 15:24:34 +00:00
akwizgran 54067763a6 Cleaned up imports. 2013-01-29 14:46:19 +00:00
akwizgran 81397ef1c2 Added database events for retention updates. 2013-01-29 14:45:05 +00:00
akwizgran c3c349970b Use 'retention' rather than 'expiry' to describe DB's retention period.
This will avoid a name clash when retransmission is implemented.
2013-01-29 14:33:43 +00:00
akwizgran 3e1c41c62f Removed the serialisation reader's internal array of struct readers. 2013-01-28 23:37:44 +00:00
akwizgran 42dd7f238c Send newest messages first.
This removes the need to send a start time for each subscription; new
subscribers will receive old messages if and only if there's bandwidth.
2013-01-28 23:24:35 +00:00
akwizgran 2ebbe0eb2a Don't store received messages with timestamps in the future. 2013-01-28 23:20:25 +00:00
akwizgran 2c27a0251a Database methods for expiry updates and expiry acks. 2013-01-28 23:12:42 +00:00
akwizgran d0904d8f1b Merged small reader classes into ProtocolReaderImpl.
The structure of the reader now resembles that of the writer, which
should make it easier to spot discrepancies.
2013-01-28 21:00:59 +00:00
akwizgran 0141365963 Created expiry update and expiry ack packets for BMP. 2013-01-28 20:43:43 +00:00
akwizgran 7a4549a699 Applied a patch from the Silvertunnel forums for connection issues. 2013-01-28 20:13:48 +00:00
akwizgran 9b98d3c7d6 Added new database events and simplified database locking. 2013-01-25 16:27:50 +00:00
akwizgran 64bf1fbbb1 Part 1 of a major BMP and database refactoring. Tests are broken!
The old logic for selecting when to send subscription and transport
updates has been removed and not yet replaced. Subscription times have
been removed from subscription updates. The database expiry time has
been remove from subscription updates and will later get its own update
packet. Transport updates have been broken up into one update per
transport. Acks for subscription and transport updates have been added.
2013-01-25 15:38:37 +00:00
akwizgran b8247968b6 Code cleanup: import static. 2013-01-17 16:56:58 +00:00
akwizgran 77a5fea5c8 Code and API cleanup for the database component. 2013-01-17 16:28:09 +00:00
akwizgran 50ad1f486e Removed batches from BMP. Messages are now sent and acked individually. 2013-01-16 22:56:03 +00:00
akwizgran a8f569ff8b Removed GeoIP database from Silvertunnel jar. 2013-01-10 16:51:51 +00:00
akwizgran 8f15c44520 Renamed JNA jars and Bluecove patch, added patches for JNA and Silvertunnel. 2013-01-04 01:36:50 +00:00
akwizgran 41a3f8e6cc Recompiled Bluecove jars with Java 1.5 to stop dex complaining. 2013-01-03 23:25:26 +00:00
akwizgran e5d6b7c1c1 Recompiled JNA jars with target Java 1.5 to stop dex complaining. 2013-01-03 22:43:16 +00:00
akwizgran 5b02fe96d1 Disable shuffling of contacts when unit testing the modem plugin. 2013-01-03 21:47:16 +00:00
akwizgran 2dd369214e Use NIST curve P-384 and the SEC 1 encoding for public keys. 2013-01-03 21:37:42 +00:00
akwizgran f638f1b44e Added source jars for Spongy Castle, fixed some indentation. 2013-01-02 22:28:01 +00:00
akwizgran 15837c4d24 Deleted activation.jar, removed javax.inject.jar from build path.
Guice only requires javax.inject.jar at runtime.
2012-12-18 17:30:09 +00:00
akwizgran c93e6be191 Restored GeoIP database to Tor plugin.
This seems to prevent unexplained SocketTimeoutExceptions that occur
even though the timeout is set to 0 (unlimited).
2012-12-18 03:39:50 +00:00