summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* Async: only notify watchers once when Future::setFinished() is called ↵Dan Vrátil2015-02-20
| | | | multiple times
* Async: allow appending existing Job objects to the Job chainDan Vrátil2015-02-20
| | | | | | | | | | | | Now it's possible to do something like Job<int, int> job = createSomeJob(); auto main = Async::start<int>(....).then(job); Previously the 'job' would have to be wrapped in a ThenTask-like lambda (which is what we still do internally), but with this new syntax it's possible to append another job chain to existing chain easilly. This syntax is available for all task types.
* Async: allow Async::start() to have input valueDan Vrátil2015-02-20
| | | | | The initial value can be passed in as argument to Job::exec(), or by another job in case of job chaining.
* Async: beautificationDan Vrátil2015-02-09
|
* Async: move public API implementationDan Vrátil2015-02-09
|
* Async: Move Async::PrevOut to Async::detail::prevOutDan Vrátil2015-02-09
|
* Async: improve error handlingDan Vrátil2015-02-09
| | | | | | All jobs and executors now accept ErrorHandler argument which will be invoked on error. Error handling itself has been moved to Executor::exec(), so that we don't have to copy-paste the error handling code into every Executor implementation.
* Async: introduce sync executorsDan Vrátil2015-02-09
| | | | | | | | | Sync executors don't pass Async::Future into the user-provided tasks, but instead work with return values of the task methods, wrapping them into the Async::Future internally. Sync tasks are of course possible since forever, but not the API for those tasks is much cleaner, for users don't have to deal with "future" in synchronous tasks, for instance when synchronously processing results of an async task before passing the data to another async task.
* note on branching model for devAaron Seigo2015-02-09
|
* catch unqlite impl up to current Storage APIAaron Seigo2015-02-09
|
* void const -> const voidAaron Seigo2015-02-09
| | | | | equivalent syntax, but follows the standard idiom we use throughout the code .. const char *, not char const * (e.g.)
* Async: don't leak ExecutorsDan Vrátil2015-02-07
| | | | | | We now hold executors in shared pointers. We cannot easilly delete them, as they are referenced from two objects (the Job they belong to, and the next job), and the lifetime of the jobs is unclear.
* AsyncTest: block until innerJob finishes to prevent crashDan Vrátil2015-02-07
| | | | | | | innerJob.exec() starts an async job, so once exec() returns, the innerJob will go out of scope and will be deleted, which however does not prevent the QTimer from invoking it's lambda slot, which will crash when dereferencing a deleted Future.
* Async: mark our future as finished after returning from error handlerDan Vrátil2015-02-07
| | | | | | Error handlers don't have access to the future, so they can't mark it as finished, so we do it after the error handler is run. This ensures that FutureWatchers will finish.
* Async: remove unused FutureWatchersDan Vrátil2015-02-02
|
* Added JOBAPI todo's.Christian Mollekopf2015-02-02
| | | | Work for dvratil.
* clenupChristian Mollekopf2015-01-30
|
* Shutdown command for synchronizers, used by the dummyresourcetest.Christian Mollekopf2015-01-30
| | | | | Otherwise the synchronizer keeps a Storage object alive, while the tests deletes the db. This causes subsequent writes to fail in the next test.
* Open the database readonly in readonly mode.Christian Mollekopf2015-01-30
|
* DummyResourceBenchmarkChristian Mollekopf2015-01-27
|
* introduce a set of isInternalKey functions to hide this impl detailAaron Seigo2015-01-27
|
* can not delete this as it is an opaque data structureAaron Seigo2015-01-27
| | | | instead, use the lmdb api
* fix buildAaron Seigo2015-01-27
|
* Don't enlessly block in the eventloop.Christian Mollekopf2015-01-27
| | | | | The job currently finishes synchronously. If we just use the eventloop in waitForFinished that's automatically handled for us.
* Avoid shutting down the synchronizer all the time.Christian Mollekopf2015-01-25
|
* debug outputChristian Mollekopf2015-01-25
|
* Stop using Akonadi2::Console.Christian Mollekopf2015-01-25
| | | | We need a decent loggin framework.
* Propagate errors for commands.Christian Mollekopf2015-01-25
|
* Call callbacks after the resource crashed.Christian Mollekopf2015-01-25
|
* debug output, fixed dummyresourcetestChristian Mollekopf2015-01-25
|
* A way to ensure all messages have been processed.Christian Mollekopf2015-01-25
| | | | | As queries become reactive this should become less important. We can then just wait until all results become available. For tests it is in either case useful though.
* Uid index + query using that index.Christian Mollekopf2015-01-24
| | | | ...and a couple of other fixes.
* An index implementation.Christian Mollekopf2015-01-21
|
* Create buffer with values from domain objectChristian Mollekopf2015-01-21
|
* Storage: support for duplicates.Christian Mollekopf2015-01-20
|
* fixed buildChristian Mollekopf2015-01-20
|
* Async: comments, default error job implementation.Christian Mollekopf2015-01-19
|
* Fixed sync, detect errors during sync, wait until sync items are processed ↵Christian Mollekopf2015-01-19
| | | | until signalling completion.
* Async: Error continuation.Christian Mollekopf2015-01-19
|
* debug outputChristian Mollekopf2015-01-19
|
* Fixed pipeline.Christian Mollekopf2015-01-19
| | | | Steps are now finally processed as they should be and a job tracks the processing progress.
* Fixed Async::Future.Christian Mollekopf2015-01-19
| | | | | The future is copied an the finished boolean has to be in the shared part, otherwise the original copy never receives the updated value.
* Use jobs in queries, sync works again.Christian Mollekopf2015-01-18
|
* Use jobs to track progress of write commands.Christian Mollekopf2015-01-18
|
* missing includesChristian Mollekopf2015-01-16
|
* Asynchronously go through messagequeuesChristian Mollekopf2015-01-16
|
* MessagequeuetestChristian Mollekopf2015-01-16
|
* Async test for nested jobs.Christian Mollekopf2015-01-16
|
* Fixed storage removal.Christian Mollekopf2015-01-16
| | | | We have to remove any open environments as well.
* Async message queue processing.Christian Mollekopf2015-01-15
| | | | The Job/Future in Pipeline::newEntity for some reason crashes with async pipeline processing.