Ticket #60 (closed feature: implemented) | |||||||||||||||||||||
Replaceable main loop
Description
Currently we have two main loops, which can be enabled by a compile time switch. Both main loops offer the very same layout, but one is with time tracker support to get times of different loop steps.
In the future we might want to have completely different main loops, like one with the vision running concurrent to the rest of the program. Also the possibility to just enable the benchmarking main loop at runtime for a couple of loops could help debugging a lagging plugin thread.
The solution is to define a MainLoop interface class which is used in the main application and comes with the current loop as the default main loop. A MainLoopAspect has to be added that allows for replacing the current main loop (with a uniqueness constraint, only one thread may replace the main loop at a time).
Special care has to be taken about loop locking and it has to be investigated if and how this can be done in a useful manner. As a test case the mentioned benchmarking loop should be implemented as a plugin. Change History
Note: See
TracTickets for help on using
tickets.
| This list contains all users that will be notified about changes made to this ticket. These roles will be notified: Reporter, Subscriber, Participant
| ||||||||||||||||||||

