[WIP] Depends on !89 (merged) .
Add a ThreadedBaseClass
that ProcessorBase
inherit from.
It allows the computation of the ProcessorBase::process(...)
to be performed in a separated thread. Threads aren't instantiated/killed but instead are put to sleep waiting for new CaptureBase
.
ThreadedBaseClass
API is rather simple :
max_frequency
allowing the user to set guess what, a max frequency at which the processor operates.run()
to start the thread and so the processor.stop()
allows to stop the thread and so the processor.isRunning()
let the user know if the processor is running or not.Finally it has the pure virtual function :
executeImpl()
where the derived class do its job.