summaryrefslogtreecommitdiffstats
path: root/common/pipeline.h
Commit message (Collapse)AuthorAge
* cleanupChristian Mollekopf2017-04-12
|
* Allow the preprocessor to move and use in mailtransportChristian Mollekopf2017-04-12
|
* Adapt to KAsync changesChristian Mollekopf2017-03-01
|
* More Log::ContextChristian Mollekopf2016-12-22
|
* Removed the whole revision cleanup into the entitystoreChristian Mollekopf2016-10-21
|
* Fixed specialpurposeprocessorChristian Mollekopf2016-10-21
|
* Ported the pipeline to the entitystoreChristian Mollekopf2016-10-21
|
* Refactor how the storage is used.Christian Mollekopf2016-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.
* Less memory leaking with unique_ptrChristian Mollekopf2016-07-07
|
* Moved mailpreprocessors to a shared locationChristian Mollekopf2016-06-19
|
* A more convenient preprocessor APIChristian Mollekopf2016-06-11
|
* Allow preprocessors to inject entities.Christian Mollekopf2016-06-10
| | | | | Currently only working when creating an entity, the new entity is always preprended in the store.
* 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.
* Run preprocessors before persising the value.Christian Mollekopf2016-05-08
| | | | And allow preprocessors to modify the result.
* Fromatted the whole codebase with clang-format.Christian Mollekopf2016-03-03
| | | | clang-format -i */**{.cpp,.h}
* Use slots/signals instead of Q_SLOTS/Q_SIGNALS for clang-format compatibilityChristian Mollekopf2016-02-17
|
* Use Sink instead of SinkCommonChristian Mollekopf2016-02-09
|
* Use pimplChristian Mollekopf2016-02-01
|
* Insall sincommon_export.hChristian Mollekopf2016-01-31
|
* Renamed Akonadi2 to SinkChristian Mollekopf2016-01-20
| | | | (except for documentation).
* 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
|
* Cleanup revisions with a delayChristian Mollekopf2015-10-12
|
* StoreNewRevision functionChristian Mollekopf2015-10-10
|
* Revision cleanupChristian Mollekopf2015-09-29
|
* Added support for mails to akonadi and the dummyresource.Christian Mollekopf2015-09-08
| | | | Adding new types definitely needs to become easier.
* Removed convenience APIChristian Mollekopf2015-08-23
|
* 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.
* Pass revision as part of stateChristian Mollekopf2015-08-19
|
* Transactions in the pipelineChristian Mollekopf2015-08-19
|
* Untangled the include dependencies a bit.Christian Mollekopf2015-08-13
| | | | We no longer depend on clientapi.h from everywhere.
* Forward revision updates through resourceChristian Mollekopf2015-07-28
|
* Modify/Delete commandsChristian Mollekopf2015-07-14
|
* Moved SimpleResourceProcessorChristian Mollekopf2015-07-09
| | | | Not really where it belongs, but at least more generic
* KAsync has moved to it's own kasync.git repositoryDan Vrátil2015-05-18
|
* Adapt to KAsync namespace changeDan Vrátil2015-05-15
|
* Fixed pipeline.Christian Mollekopf2015-01-19
| | | | Steps are now finally processed as they should be and a job tracks the processing progress.
* Writing from facade.Christian Mollekopf2015-01-15
|
* Pass entity to preprocessor.Christian Mollekopf2015-01-03
|
* Shared domain adaptors between resource and facade.Christian Mollekopf2015-01-03
|
* DomainTypeAdaptor factory, per type preprocessor pipeline configuration.Christian Mollekopf2015-01-02
|
* Buffers wrapped into entity buffer, async command progress tracking.Christian Mollekopf2014-12-28
|
* unifying buffer, and a better way to implement domain object adapters.Christian Mollekopf2014-12-24
|
* PipelineFilter -> PreprocessorAaron Seigo2014-12-18
|
* a basically-working Pipeline implementationAaron Seigo2014-12-17
| | | | | still a skeleton rather than a full body with flesh and blood, but it is getting there!
* add pipelines (as a sketch only), message ids and message responsesAaron Seigo2014-12-16