Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Open a valid database also in the NullChangeReplay and skip internal keys | Christian Mollekopf | 2016-05-31 |
| | |||
* | Dummyresource cleanup | Christian Mollekopf | 2016-05-30 |
| | |||
* | Fixed genericresource so it works with the maildirresourcetest | Christian Mollekopf | 2016-05-29 |
| | |||
* | Moved the classes to individual files | Christian Mollekopf | 2016-05-28 |
| | |||
* | Refactored the generic resource to use separate classes for | Christian Mollekopf | 2016-05-28 |
| | | | | | | | | changereplay and synchronization. This cleans up the API and avoids the excessive passing around of transactions. It also provides more flexibility in eventually using different synchronization strategies for different resources. | ||
* | Property definitions | Christian Mollekopf | 2016-05-10 |
| | | | | | Instead of hardcoding assumptions all over the place we create typesafe setters and getters for all properties. | ||
* | Use Sink instead of SinkCommon | Christian Mollekopf | 2016-02-09 |
| | |||
* | Gather more timings | Christian Mollekopf | 2016-02-08 |
| | |||
* | Executed database removal in the resource instead of the client. | Christian Mollekopf | 2016-02-08 |
| | | | | | The resource doesn't really notify all clients properly about the removal, but the tests all still pass. | ||
* | Renamed Akonadi2 to Sink | Christian Mollekopf | 2016-01-20 |
| | | | | (except for documentation). | ||
* | Working resource inspection | Christian Mollekopf | 2016-01-18 |
| | |||
* | Draft of inspection API | Christian Mollekopf | 2016-01-18 |
| | |||
* | Use the existing synchronization facilities also in the DummyResource | Christian Mollekopf | 2015-12-30 |
| | |||
* | Centralize where we create the stores | Christian Mollekopf | 2015-12-30 |
| | |||
* | Removed an unnecessary member variable | Christian Mollekopf | 2015-12-17 |
| | |||
* | Use the terser version to express the same thing | Christian Mollekopf | 2015-12-17 |
| | |||
* | Use the domain adaptor in the synchornization code of the dummy | Christian Mollekopf | 2015-12-17 |
| | | | | | | | resource as well. The code is easier to read that way, depends less on flatbuffers, and there is no measurable impact on performance. | ||
* | Avoid duplication accross resource implementations | Christian Mollekopf | 2015-12-15 |
| | |||
* | Add something random to subject, so the mails are easy to differentiate | Christian Mollekopf | 2015-12-10 |
| | |||
* | Resolve the right remote id | Christian Mollekopf | 2015-12-10 |
| | |||
* | A change-replay function | Christian Mollekopf | 2015-12-10 |
| | |||
* | example client and properties | Christian Mollekopf | 2015-12-04 |
| | |||
* | Added mail and folder properties | Christian Mollekopf | 2015-12-04 |
| | |||
* | Synchronizer: One transaction per sync, and check if entity already | Christian Mollekopf | 2015-12-01 |
| | | | | | | exists. With this we no longer repeatedly create entities on every sync. | ||
* | We don't need the remoteId index | Christian Mollekopf | 2015-12-01 |
| | |||
* | Resolve remoteIds during sync | Christian Mollekopf | 2015-12-01 |
| | | | | | | | Remote id's need to be resolved while syncing any references. This is done by the synchronizer by consulting the rid to entity id mapping. If the referenced entity doesn't exist yet we create a local id anyways, that we then need to pick up once the actual entity arrives. | ||
* | Cleanup | Christian Mollekopf | 2015-11-28 |
| | |||
* | Introduced a QueryRunner object | Christian Mollekopf | 2015-11-27 |
| | | | | | | | | The QueryRunner object lives for the duration of the query (so just for the initial query for non-live queries, and for the lifetime of the result model for live queries). It's supposed to handle all the threading internally and decouple the lifetime of the facade. | ||
* | Separate the default index updater from other generic indexers | Christian Mollekopf | 2015-11-25 |
| | |||
* | Move implementations to the cpp file. | Christian Mollekopf | 2015-11-19 |
| | | | | | | | | I finally figured out how to do that with cpp files. It requires instantiating the code with all expected classes, but that's not a big problem since we know all types. This will hopefully greatly reduce the compiletimes... | ||
* | Loading data with the new model for the test client | Christian Mollekopf | 2015-11-19 |
| | |||
* | fixup | Christian Mollekopf | 2015-11-18 |
| | |||
* | Don't use a smart pointer for the result provider | Christian Mollekopf | 2015-11-18 |
| | | | | We're not doing any lifetime management anyways. | ||
* | Working folder tree query | Christian Mollekopf | 2015-11-15 |
| | |||
* | It's starting to work | Christian Mollekopf | 2015-11-13 |
| | |||
* | Added a folder type | Christian Mollekopf | 2015-11-09 |
| | |||
* | Fixed warnings | Christian Mollekopf | 2015-11-08 |
| | |||
* | Updated the index on modifications and removals. | Christian Mollekopf | 2015-10-29 |
| | | | | Misses tests. | ||
* | Made pipeline preprocessing synchronous. | Christian Mollekopf | 2015-10-28 |
| | | | | | | | | | | | | | | | | Instead of having the asynchronous preprocessor concept with different pipelines for new/modify/delete we have a single pipeline with synchronous preprocessors that act upon new/modify/delete. This keeps the code simpler due to lack of asynchronity and keeps the new/modify/delete operations together (which at least for the indexing makes a lot of sense). Not supporting asynchronity is ok because the tasks done in preprocessing are not cpu intensive (if they were we had a problem since they are directly involved in the round-trip time), and the main cost comes from i/o, meaning we don't gain much by doing multithreading. Costly tasks (such as full-text indexing) should rather be implemented as post-processing, since that doesn't increase the round-trip time directly, and eventually consistent is typically good enough for that. | ||
* | Cleanup | Christian Mollekopf | 2015-10-21 |
| | |||
* | Added a removeFromDisk method to the resource | Christian Mollekopf | 2015-10-21 |
| | |||
* | Store entities with revisions | Christian Mollekopf | 2015-09-11 |
| | |||
* | Simplified dummyresource indexingcode | Christian Mollekopf | 2015-09-08 |
| | |||
* | Reduced duplication in dummy synchronization code | Christian Mollekopf | 2015-09-08 |
| | |||
* | DummyStore that is not overly complicated by using flatbuffers. | Christian Mollekopf | 2015-09-08 |
| | |||
* | A folder dummy folder facade and a folder property for mails. | Christian Mollekopf | 2015-09-08 |
| | | | | Mails in inbox! | ||
* | Added support for mails to akonadi and the dummyresource. | Christian Mollekopf | 2015-09-08 |
| | | | | Adding new types definitely needs to become easier. | ||
* | Store indexes as named databases in the same db. | Christian Mollekopf | 2015-08-23 |
| | | | | | | Because we also keep using the same transactions this finally makes the resource somewhat performant. On my system genericresourcebenchmark now processes ~4200 messages per second instead of ~280. | ||
* | Untangled the include dependencies a bit. | Christian Mollekopf | 2015-08-13 |
| | | | | We no longer depend on clientapi.h from everywhere. | ||
* | Made the pipeline an implementation detail of the resource. | Christian Mollekopf | 2015-07-30 |
| | | | | | This removes one dependency from the Listener and will allow us to test the Listener better. |