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
f4675c3edd
Added more DatabaseComponent unit tests, tightened up existing tests.
2013-02-07 00:29:30 +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
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
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
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
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
2c27a0251a
Database methods for expiry updates and expiry acks.
2013-01-28 23:12:42 +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
50ad1f486e
Removed batches from BMP. Messages are now sent and acked individually.
2013-01-16 22:56:03 +00:00
akwizgran
5f65b8a9fb
Reduced MAX_PUBLIC_KEY_LENGTH to match SEC 1 encoding of 384-bit keys.
2013-01-03 21:42:05 +00:00
akwizgran
6dd17a22eb
Converted Group from an interface to an immutable class.
2012-12-15 19:42:00 +00:00
akwizgran
3e2e7286fe
Wrapped System.currentTimeMillis() and Thread.sleep() for testability.
2012-12-15 04:58:35 +00:00
akwizgran
a24275d9fc
Javadocs for reliability package.
2012-12-15 02:55:57 +00:00
akwizgran
916fa66560
ReliabilityLayer doesn't need to expose a public WriteHandler interface.
2012-12-15 02:21:35 +00:00
akwizgran
5876583f7c
Moved reliability layer into its own package.
2012-12-15 02:07:46 +00:00
akwizgran
f5628e5581
Use Guice rather than reflection to load plugins.
...
This allows different plugins to have different dependencies without
cluttering the plugin factory API.
2012-12-15 01:16:48 +00:00
akwizgran
13df22f69a
Better hashCode methods.
2012-12-14 22:11:29 +00:00
akwizgran
15ab5be476
Equals method must be symmetric and transitive.
2012-12-09 20:29:29 +00:00
akwizgran
dca9470c28
Updated ant build files for multi-project structure.
2012-12-05 23:15:35 +00:00
akwizgran
f5626bee05
Moved API classes into a separate project to enforce dependency rules.
2012-12-05 22:19:12 +00:00