summaryrefslogtreecommitdiffstats
path: root/common/pipeline.cpp
Commit message (Collapse)AuthorAge
* cleanupChristian Mollekopf2017-04-12
|
* Fixed entity creation in pipelineChristian Mollekopf2017-04-12
|
* Allow the preprocessor to move and use in mailtransportChristian Mollekopf2017-04-12
|
* Moved all preprocessing back into the pipelineChristian Mollekopf2017-04-11
|
* Move the preprocssing back out of entitystore into the pipeline.Christian Mollekopf2017-04-11
| | | | | This is where this really belongs, only the indexing is part of storage. This is necessary so preprocessors can move entities as well.
* Don't continue processing the pipeline until we have appended theChristian Mollekopf2017-04-10
| | | | | | message. Otherwise the processor might think its done before it actually is.
* Explicitly convertChristian Mollekopf2017-02-01
|
* Fixed build issues with pedantic enabledChristian Mollekopf2017-01-12
|
* syncThen is no longer necessaryChristian Mollekopf2017-01-12
|
* More Log::ContextChristian Mollekopf2016-12-22
|
* Introduced Log::ContextChristian Mollekopf2016-12-22
| | | | | | | To have hierarchical debug output we have to pass around something at run-time, there is no reasonable alternative. Log::Context provides the identifier to do just that and largely replaces the debug component idea.
* One copy algorithm is enough.Christian Mollekopf2016-12-08
|
* Interresourcemovetest/fixed interresourcemoveChristian Mollekopf2016-12-06
| | | | | We cant take the identifier from the entity where we just cleared the identifier.
* Move mail to sent folder after sending itChristian Mollekopf2016-12-06
|
* Debug outputChristian Mollekopf2016-12-06
|
* Copy command and proper moveChristian Mollekopf2016-12-04
|
* interresource moveChristian Mollekopf2016-12-02
|
* Deal with not using the implicit internal transaction.Christian Mollekopf2016-11-24
|
* Avoid unnecessary transactions.Christian Mollekopf2016-11-22
|
* Make sure the storage exists from the very beginning of the first start.Christian Mollekopf2016-10-21
| | | | Changereplay and synchronizer rely on it.
* 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.
* Ported to the kasync revampChristian Mollekopf2016-09-15
|
* Debug outputChristian Mollekopf2016-09-15
|
* Fixed new diagnostics errorsChristian Mollekopf2016-07-13
|
* A new debug system.Christian Mollekopf2016-07-07
| | | | | | | | | | | | | | | Instead of a single #define as debug area the new system allows for an identifier for each debug message with the structure component.area. The component is a dot separated identifier of the runtime component, such as the process or the plugin. The area is the code component, and can be as such defined at compiletime. The idea of this system is that it becomes possible to i.e. look at the output of all messages in the query subsystem of a specific resource (something that happens in the client process, but in the resource-specific subcomponent). The new macros are supposed to be less likely to clash with other names, hence the new names.
* Less memory leaking with unique_ptrChristian Mollekopf2016-07-07
|
* Fixed a bunch of memory leaks.Christian Mollekopf2016-07-06
| | | | Found with valgrind
* Properly track changes applied by preprocessorsChristian Mollekopf2016-06-30
| | | | | | This is necessary so we get the actual changeset during replay, so a mark-as-read action doesn't result in a new mime message, but only the flag change.
* Avoid unnecesary warningsChristian Mollekopf2016-06-26
|
* Commit also if we did revision cleanupChristian Mollekopf2016-06-26
|
* Workaround mdb_put failuresChristian Mollekopf2016-06-20
| | | | | | | I got failures during a sync during the initial mdb_put that stores the db name for verification on open (invalid parameter passed). It seems the verification step actually prevents the problem in the first place.
* Avoid unnecessary commitsChristian Mollekopf2016-06-20
|
* Made the log-level output a lot less noisyChristian Mollekopf2016-06-20
|
* Moved mailpreprocessors to a shared locationChristian Mollekopf2016-06-19
|
* Get folder moves to work, and fix the mime message moving.Christian Mollekopf2016-06-13
|
* 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.
* A central place to generate uuid'sChristian Mollekopf2016-06-05
|
* Fixed pipelinetestChristian Mollekopf2016-06-03
|
* Track modified properties to detect necessary replay changesChristian Mollekopf2016-06-03
|
* 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}
* Prepared sort indexesChristian Mollekopf2016-02-16
|
* Gather more timingsChristian Mollekopf2016-02-10
|
* Introduced debug areas and prettified output.Christian Mollekopf2016-02-04
|
* Use pimplChristian Mollekopf2016-02-01
|
* Avoid unnecessary namespace usageChristian Mollekopf2016-02-01
|