summaryrefslogtreecommitdiffstats
path: root/async/autotests/asynctest.cpp
Commit message (Collapse)AuthorAge
* 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: 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.
* 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: Error continuation.Christian Mollekopf2015-01-19
|
* Async test for nested jobs.Christian Mollekopf2015-01-16
|
* Make async use of jobs work.Christian Mollekopf2015-01-06
|
* Async: bring back synchronous Future::waitForFinished()Dan Vrátil2014-12-14
|
* Async: make the processing truly asynchronousDan Vrátil2014-12-14
| | | | | | Now calling exec() starts the first job and returns a pending Future immediately. Caller can then use Async::FutureWatcher to wait for the future to become finished, i.e. for all jobs to finish execution.
* Async: add Reduce taskDan Vrátil2014-12-12
|
* Async: move the actual task exection into Executor implementationDan Vrátil2014-12-11
| | | | | | | As of now, Job is only front interface to a chain of Executor subclasses. Each Executor subclass specializes for given type of execution (then, each, reduce, ...), and the chain is then executed recursively, as we did with the original Job implementation.
* Async: change syntax of callablesDan Vrátil2014-12-11
| | | | | | We now pass our own Async::Future to each task, instead of expecting tasks to return their future. This allows us to re-use the same Future for repeated invocations, like in the Each task.
* Async: simplify the template magic around In... being empty or voidDan Vrátil2014-12-11
|
* Prototype of Async libraryDan Vrátil2014-12-11