Commit Graph

1049 Commits

Author SHA1 Message Date
akwizgran
96f8e49d64 Added names to contacts, created Contact class in API. 2013-02-12 17:38:49 +00:00
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
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
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
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
2d6a9fa310 Unit tests for ModemPlugin. 2012-12-16 02:05:39 +00:00
akwizgran
3c32c3ecf1 Removed polling semaphore (not needed - Modem.dial() will return false). 2012-12-16 00:47:05 +00:00
akwizgran
a7acec8f72 Ensure the semaphore is released if a RuntimeException is thrown. 2012-12-16 00:16:19 +00:00
akwizgran
7887331d1c Check the return value of Modem.start(). 2012-12-16 00:10:20 +00:00
akwizgran
cfb90597bd Wrapped jSSC's SerialPort and SerialPortList classes for testability. 2012-12-15 23:05:41 +00:00
akwizgran
b090a12b7f Accept phone numbers starting with +. 2012-12-15 22:24:51 +00:00
akwizgran
6dd17a22eb Converted Group from an interface to an immutable class. 2012-12-15 19:42:00 +00:00