Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Added the flush command. | Christian Mollekopf | 2016-11-25 |
| | | | | | | | Instead of trying to actually flush queues, we send a special command through the same queues as the other commands and can thus guarantee that the respective commands have been processed without blocking anything. | ||
* | Ensure we always process the full queue and that flushing works. | Christian Mollekopf | 2016-11-22 |
| | |||
* | Process change replays as part of the synchronization queue | Christian Mollekopf | 2016-11-22 |
| | |||
* | Folded the SourceWriteback into the Synchronizer. | Christian Mollekopf | 2016-11-21 |
| | | | | | | | | | | | | By concentrating all communication to the source in one place we get rid of several oddities. * Quite a bit of duplication since both need access to the synchronizationStore and the source. * We currently have an akward locking in place because both classes access the ync store. This is not easier to resolve cleanly. * The live of resource implementers becomes easier. * An implementation could elect to not use changereplay and always do a full sync... (maybe?) | ||
* | Prepared new query based synchronization API | Christian Mollekopf | 2016-11-11 |
| | |||
* | Implement debug stream operators for query. | Christian Mollekopf | 2016-11-07 |
| | |||
* | TypeImplementation cleanup | Christian Mollekopf | 2016-10-21 |
| | |||
* | Removed the now obsolete EntityStore | Christian Mollekopf | 2016-10-21 |
| | |||
* | Refactor how the storage is used. | Christian Mollekopf | 2016-10-21 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the initial refactoring to improve how we deal with the storage. It does a couple of things: * Rename Sink::Storage to Sink::Storage::DataStore to free up the Sink::Storage namespace * Introduce a Sink::ResourceContext to have a single object that can be passed around containing everything that is necessary to operate on a resource. This is a lot better than the multiple separate parameters that we used to pass around all over the place, while still allowing for dependency injection for tests. * Tie storage access together using the new EntityStore that directly works with ApplicationDomainTypes. This gives us a central place where main storage, indexes and buffer adaptors are tied together, which will also give us a place to implement external indexes, such as a fulltextindex using xapian. * Use ApplicationDomainTypes as the default way to pass around entities. Instead of using various ways to pass around entities (buffers, buffer adaptors, ApplicationDomainTypes), only use a single way. The old approach was confusing, and was only done as: * optimization; really shouldn't be necessary and otherwise I'm sure we can find better ways to optimize ApplicationDomainType itself. * a way to account for entities that have multiple buffers, a concept that I no longer deem relevant. While this commit does the bulk of the work to get there, the following commits will refactor more stuff to get things back to normal. | ||
* | Don' create new entities on flag change. | Christian Mollekopf | 2016-09-15 |
| | |||
* | Commit all databases in the same interval | Christian Mollekopf | 2016-06-20 |
| | |||
* | Don't create a transaction for every appended message. | Christian Mollekopf | 2016-06-20 |
| | | | | | We create now only one transaction for the whole sync which is also not ideal. | ||
* | A working mailtransport resource | Christian Mollekopf | 2016-06-17 |
| | |||
* | Fixed issues found by clang analyzer | Christian Mollekopf | 2016-06-14 |
| | |||
* | Create the drafts folder if necessary and merge it with the source | Christian Mollekopf | 2016-06-10 |
| | | | | version | ||
* | Fixed genericresource so it works with the maildirresourcetest | Christian Mollekopf | 2016-05-29 |
| | |||
* | Moved the classes to individual files | Christian Mollekopf | 2016-05-28 |