Commit Graph

29 Commits

Author SHA1 Message Date
Torsten Grote 59320f02b7 Remove MAX_GROUP_DESCRIPTOR_LENGTH
Closes #441
2016-06-22 11:47:38 -03:00
Torsten Grote b03d0a206b Add Message Dependencies to Database
This adds a new table to the database to hold message dependencies.
It introduces two more message states: pending and delivered
The valid column in the database was renamed to state to better reflect
its new extended meaning.

The DatabaseComponent was extended with three methods for:
* adding dependencies
* getting dependencies of a message
* getting messages that depend on a message (dependents)
* getting messages to be delivered (by startup hook)
* getting pending messages to be possibly delivered (by startup hook)

In order to reflect the new states, things that were previously true for
VALID messages have been changed to now be true for DELIVERED messages.

Since pending messages should not be available to clients, many database
queries have been modified to only return results for delivered
messages.

All added methods and changes should come with updated unit tests.

Please note that the database version was bumped in this commit.
2016-05-26 13:49:03 -03:00
Torsten Grote 3f2b85ac0d Introduce a MessageContext class for more flexibility
This change will allow to pass message dependencies from the client
validators to the ValidationManager.
2016-05-20 02:46:37 +00:00
akwizgran 9714713d73 Add transports to DB during startup. #269 2016-03-28 13:47:23 +01:00
akwizgran efa06527c9 Moved validation interfaces into respective managers. 2016-03-08 16:22:09 +00:00
akwizgran c9276de399 Renamed validation hooks to incoming message hooks. 2016-03-07 18:36:30 +00:00
akwizgran 640f5484e0 Moved PrivateGroupFactory to clients package. 2016-02-29 14:25:29 +00:00
str4d 5a6ab9bb96 Made UniqueId a subclass of Bytes. 2016-02-19 11:55:31 +00:00
akwizgran de8cc50fb4 Moved transactions out of database component. 2016-02-11 16:26:19 +00:00
akwizgran 0c392e8b78 Replaced PacketWriter methods with a constant. 2016-02-11 16:21:26 +00:00
akwizgran 6e1ec41d21 Handle events that affect list of available forums. 2016-02-10 10:47:30 +00:00
akwizgran 18db17bf5b Moved subscription updates to the client layer. 2016-02-10 10:47:30 +00:00
akwizgran 54272c8836 MessageFactory never throws IOException. 2016-02-10 10:47:29 +00:00
akwizgran 3837efca6b Updated group-related events and exceptions. 2016-02-10 10:47:26 +00:00
akwizgran 9fdc510843 Removed SubscriptionUpdate and SubscriptionAck. 2016-02-10 10:46:41 +00:00
akwizgran 741571bdb8 Run hooks when messages are validated. 2016-02-05 12:08:48 +00:00
akwizgran e76aef3dc8 Unshared messages. 2016-01-29 13:45:22 +00:00
akwizgran 4e17621081 Factored out code for creating private groups. 2016-01-28 18:05:01 +00:00
akwizgran cd175fd119 Removed TransportUpdate and TransportAck. 2016-01-27 12:51:54 +00:00
akwizgran 3c543b0d62 Fixed crash caused by using DB too early in lifecycle. 2016-01-20 15:03:10 +00:00
akwizgran 82cf12040f Contact manager hooks. #209 2016-01-20 14:43:46 +00:00
akwizgran 33ef09a6bf Implement Service interface rather than extending it.
Whether or not a class needs to run as a service is an implementation decision.
2016-01-20 14:43:46 +00:00
akwizgran 5355951466 Separate the sync layer from its clients. #112 2016-01-20 10:35:09 +00:00
akwizgran 7c869a6ebd Cleaned up some javadocs. 2016-01-04 12:56:06 +00:00
akwizgran c5282c5b17 Moved some API classes into packages. 2015-12-17 16:56:57 +00:00
akwizgran e9226dc8e2 Fixed some missing imports from recent refactoring. 2015-12-16 12:50:17 +00:00
akwizgran 6e61504d24 Removed message expiry code. #180 2015-12-16 12:17:38 +00:00
akwizgran 2ca2356ecc Moved MessageHeader to sync package. 2015-12-15 15:05:16 +00:00
akwizgran e370cafb12 Moved classes from messaging package to sync package. 2015-12-15 15:05:06 +00:00