Tomographer  v2.0
Tomographer C++ Framework Documentation
TaskDispatcher Interface

The task manager/dispatcher takes care of running tasks. It should handle tasks provided by a Task Interface compliant template parameter, should allow these tasks to share data via a TaskCData Interface compliant type also specified as template parameter, and should allow the results to be collected by a ResultsCollector Interface.

The exact APIs of how these tasks are specified, managed and run is not clearly specified, but it is strongly advised to follow a model such as the simplistic Tomographer::MultiProc::Sequential::TaskDispatcher or the OpenMP-based Tomographer::MultiProc::OMP::TaskDispatcher.

The task manager/dispatcher must, however, provide the following methods:

void setStatusReportHandler(Fn fn)
The argument should be a callable (e.g. lambda function) which accepts a single paramter of const reference to a FullStatusReportType
void requestStatusReport()
Initiate a status report query. The call will typically return immediately, and sometime later the callback set by setStatusReportHandler() will be called with the relevant status report information.