Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Further simplify writing of buffer adaptors. | Christian Mollekopf | 2015-04-12 |
| | | | | Still not quite there but we're avoiding the bulk of duplication by now. | ||
* | Compile with flatbuffers 1.1 | Christian Mollekopf | 2015-04-12 |
| | |||
* | Compile with QT_NO_DEBUG | Christian Mollekopf | 2015-04-12 |
| | |||
* | Merge remote-tracking branch 'origin/develop' into develop | Christian Mollekopf | 2015-04-12 |
|\ | |||
| * | Async: add runtime executor tracing for easier debugging | Dan Vrátil | 2015-04-11 |
| | | |||
| * | Async: use baseclass instead of this-> to refer to parent class member | Dan Vrátil | 2015-04-10 |
| | | |||
| * | Fix build (flatbuffers API changed) | Dan Vrátil | 2015-04-10 |
| | | |||
| * | Async: fix build for real this time | Dan Vrátil | 2015-04-10 |
| | | |||
| * | Async: fix build | Dan Vrátil | 2015-04-10 |
| | | |||
| * | Async: const'ify | Dan Vrátil | 2015-04-06 |
| | | |||
| * | Async: improve error handling and error propagation | Dan Vrátil | 2015-04-06 |
| | | | | | | | | | | | | The error is now propagated to the top-most (user-owned) Future. When an error occurs, no further tasks are executed. The first error handler function in the chain is also called, if there's any. | ||
| * | Async: remove the silly all-tests benchmark | Dan Vrátil | 2015-04-04 |
| | | |||
| * | Async: update components and lifetime documentation | Dan Vrátil | 2015-04-04 |
| | | |||
| * | Async: implement progress reporting through future | Dan Vrátil | 2015-04-04 |
| | | | | | | | | | | | | | | | | | | | | This is a simplified progress reporting, since it does not report progress of ther overcall Job chain, but only of individual tasks, which makes it only really useful on one-task Jobs. TODO: propagate subjob progress to the Future user gets copy of TODO: compound progress reporting (be able to report a progress of the overall Job chain) | ||
| * | Async: move as much Future code as possible from public header to .cpp | Dan Vrátil | 2015-04-04 |
| | | |||
| * | Async: one TODO done, few more to go | Dan Vrátil | 2015-04-04 |
| | | |||
| * | Async: fix crash in Job::nestedJobWrapper | Dan Vrátil | 2015-04-04 |
| | | |||
* | | More generic domainadpator code. | Christian Mollekopf | 2015-04-12 |
| | | | | | | | | | | This should cover read and write for entites that have a 1:1 mapping to the resource buffers. | ||
* | | checkpoint | Christian Mollekopf | 2015-04-10 |
| | | |||
* | | Compile with debug symbols by default for now | Christian Mollekopf | 2015-04-09 |
| | | |||
* | | comments | Christian Mollekopf | 2015-04-09 |
| | | |||
* | | Automatic tests. | Christian Mollekopf | 2015-04-09 |
| | | |||
* | | Only measure appending, not creating the buffer. | Christian Mollekopf | 2015-04-09 |
| | | |||
* | | Moved generic parts of the domain adaptor to common | Christian Mollekopf | 2015-04-09 |
| | | |||
* | | Renamed Akonadi::Domain to Akonadi::ApplicationDomain | Christian Mollekopf | 2015-04-09 |
| | | | | | | | | Because it's really the application domain and not the akonadi domain. | ||
* | | Refactored buffer extraction from vector. | Christian Mollekopf | 2015-04-09 |
| | | |||
* | | Started a facade base implementation. | Christian Mollekopf | 2015-04-09 |
| | | |||
* | | Use QByteArray instead of QString | Christian Mollekopf | 2015-04-09 |
| | | | | | | | | | | All identifiers should be latin1 and we make this explicit by using QByteArray. QString is reserved for strings that can be UTF-8 or alike. | ||
* | | cleanup | Christian Mollekopf | 2015-04-08 |
| | | |||
* | | async simplifications | Christian Mollekopf | 2015-04-08 |
| | | |||
* | | Wait for all queues to drain in processAllMessages. | Christian Mollekopf | 2015-04-08 |
| | | |||
* | | Fixed typo | Christian Mollekopf | 2015-04-08 |
| | | |||
* | | Some more CreateVector => appendAsVector transformations. | Christian Mollekopf | 2015-04-08 |
| | | |||
* | | Less noise | Christian Mollekopf | 2015-04-07 |
| | | |||
* | | Use memcpy to copy tables into vectors. | Christian Mollekopf | 2015-04-07 |
| | | | | | | | | | | | | Ideally we wouldn't be copying at all, and somehow cast the table to a vector. Unfortunately I haven't figured out how to do that, and this solution at least gets us from 0.065 ms to 0.028 ms in testCreateCommand. | ||
* | | Benchmark for in-process writing. | Christian Mollekopf | 2015-04-06 |
|/ | | | | To measure overhead of the communication to the separate process. | ||
* | We have to copy all values anyways, so this transaction is no longer required. | Christian Mollekopf | 2015-04-03 |
| | |||
* | log messages. | Christian Mollekopf | 2015-04-03 |
| | |||
* | Merge remote-tracking branch 'origin/develop' into develop | Christian Mollekopf | 2015-04-03 |
|\ | |||
| * | Async: support (re-)executing single Job multiple times | Dan Vrátil | 2015-04-01 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Storing Future and current Job progress directly in Executors means that we cannot re-execute finished job, or even execute the same Job multiple times in parallel. To do so, we need to make Executors stateless and track the state elsewhere. This change does that by moving the execution state from Executor to Execution class. Executors now only describe the tasks to execute, while Execution holds the current state of execution. New Execution is created every time Job::exec() is called. Execution holds reference to it's result (Future) and Executor which created the Execution. This ensures that Executor is not deleted when Job (which owns Executors) goes out of scope while the execution is still running. At the same time Future holds reference to relevant Execution, so that the Execution is deleted when all copies of Future referring result from the respective Execution are deleted. | ||
* | | debug messages | Christian Mollekopf | 2015-04-03 |
| | | |||
* | | Continue processing if there are more messages. | Christian Mollekopf | 2015-04-03 |
| | | |||
* | | ResourceAccess: copy the buffer before capturing it in the lambda. | Christian Mollekopf | 2015-04-02 |
| | | | | | | | | | | | | | | | | | | | | | | It's lifetime is limited to the end of the function, so we have to copy it before. I switched to QByteArray because it simplifies the code and shouldn't really cost anything, additionally the implicit sharing makes copies cheap. This patch incurs the cost of always copying the buffer instead of writing straight to the socket, but we probably anyways want to keep a copy around, and if it would indeed be a performance issues (I doubt it), we could still optimize that copy away. | ||
* | | async simplifications | Christian Mollekopf | 2015-04-02 |
| | | |||
* | | Unbreak the clientapi. | Christian Mollekopf | 2015-04-02 |
| | | | | | | | | We indeed have to keep the facade alive, otherwise this starts crashing. | ||
* | | Cleanup and debug messages. | Christian Mollekopf | 2015-04-02 |
|/ | |||
* | Async: have the top executor reference itself during execution | Dan Vrátil | 2015-04-01 |
| | | | | | | | | | The only reference to the top executor (the last in chain) is held by the Job. If the Job goes out of scope after it's executed, the top Executor is deleted (which in turn deletes the entire Executor chain). By having the top Executor holding reference to itself during execution we ensure that the Executor chain is not deleted until the job is finished, even when the parent Job object is deleted in the meanwhile. | ||
* | Use dowhile | Christian Mollekopf | 2015-04-01 |
| | |||
* | dowhile cleanup, second dowhile version without separate condition. | Christian Mollekopf | 2015-04-01 |
| | |||
* | Refactored resourcefactory further. | Christian Mollekopf | 2015-04-01 |
| |