summaryrefslogtreecommitdiffstats
path: root/examples/dummyresource/resourcefactory.cpp
Commit message (Collapse)AuthorAge
* Open a valid database also in the NullChangeReplay and skip internal keysChristian Mollekopf2016-05-31
|
* Dummyresource cleanupChristian Mollekopf2016-05-30
|
* Fixed genericresource so it works with the maildirresourcetestChristian Mollekopf2016-05-29
|
* Moved the classes to individual filesChristian Mollekopf2016-05-28
|
* Refactored the generic resource to use separate classes forChristian Mollekopf2016-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.
* Gather more timingsChristian Mollekopf2016-02-08
|
* Executed database removal in the resource instead of the client.Christian Mollekopf2016-02-08
| | | | | The resource doesn't really notify all clients properly about the removal, but the tests all still pass.
* Renamed Akonadi2 to SinkChristian Mollekopf2016-01-20
| | | | (except for documentation).
* Working resource inspectionChristian Mollekopf2016-01-18
|
* Draft of inspection APIChristian Mollekopf2016-01-18
|
* Use the existing synchronization facilities also in the DummyResourceChristian Mollekopf2015-12-30
|
* Centralize where we create the storesChristian Mollekopf2015-12-30
|
* Removed an unnecessary member variableChristian Mollekopf2015-12-17
|
* Use the domain adaptor in the synchornization code of the dummyChristian Mollekopf2015-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 implementationsChristian Mollekopf2015-12-15
|
* Resolve the right remote idChristian Mollekopf2015-12-10
|
* A change-replay functionChristian Mollekopf2015-12-10
|
* example client and propertiesChristian Mollekopf2015-12-04
|
* Added mail and folder propertiesChristian Mollekopf2015-12-04
|
* Synchronizer: One transaction per sync, and check if entity alreadyChristian Mollekopf2015-12-01
| | | | | | exists. With this we no longer repeatedly create entities on every sync.
* We don't need the remoteId indexChristian Mollekopf2015-12-01
|
* Resolve remoteIds during syncChristian Mollekopf2015-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.
* Separate the default index updater from other generic indexersChristian Mollekopf2015-11-25
|
* Loading data with the new model for the test clientChristian Mollekopf2015-11-19
|
* Working folder tree queryChristian Mollekopf2015-11-15
|
* Added a folder typeChristian Mollekopf2015-11-09
|
* Fixed warningsChristian Mollekopf2015-11-08
|
* Updated the index on modifications and removals.Christian Mollekopf2015-10-29
| | | | Misses tests.
* Made pipeline preprocessing synchronous.Christian Mollekopf2015-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.
* CleanupChristian Mollekopf2015-10-21
|
* Added a removeFromDisk method to the resourceChristian Mollekopf2015-10-21
|
* Store entities with revisionsChristian Mollekopf2015-09-11
|
* Simplified dummyresource indexingcodeChristian Mollekopf2015-09-08
|
* Reduced duplication in dummy synchronization codeChristian Mollekopf2015-09-08
|
* DummyStore that is not overly complicated by using flatbuffers.Christian Mollekopf2015-09-08
|
* A folder dummy folder facade and a folder property for mails.Christian Mollekopf2015-09-08
| | | | Mails in inbox!
* Added support for mails to akonadi and the dummyresource.Christian Mollekopf2015-09-08
| | | | Adding new types definitely needs to become easier.
* Store indexes as named databases in the same db.Christian Mollekopf2015-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 Mollekopf2015-08-13
| | | | We no longer depend on clientapi.h from everywhere.
* Made the pipeline an implementation detail of the resource.Christian Mollekopf2015-07-30
| | | | | This removes one dependency from the Listener and will allow us to test the Listener better.
* Deal with non-existing indexChristian Mollekopf2015-07-23
|
* Modify/Delete commandsChristian Mollekopf2015-07-14
|
* cleanupChristian Mollekopf2015-07-09
|
* Read-only transaction during sync.Christian Mollekopf2015-07-09
|
* Use remoteId index instead of scanChristian Mollekopf2015-07-09
|
* Moved SimpleResourceProcessorChristian Mollekopf2015-07-09
| | | | Not really where it belongs, but at least more generic
* Moved the dummy backend to a separate file.Christian Mollekopf2015-07-09
|
* Use the resource instance nameChristian Mollekopf2015-07-07
|
* Differentiate between resource name and instance identifierChristian Mollekopf2015-06-08
|
* Moved default read/write property mapper to TypeImplementationChristian Mollekopf2015-05-31
| | | | | There is always exactly one default buffer that we can centralize in TypeImplementation.