lumiera_/src
Ichthyostega 09f0e92ea3 Scheduler-test: reorganise planning-job entrance and coordination
This amounts to a rather massive refactoring, prompted by the enduring problems
observed when pressing the scheduler. All the various glitches and (fixed) crashes
are related to the way how planning-jobs enter the schedule items,
which is also closely tied to the difficulties getting the locking
for planning-jobs correct.

The solution pursued hereby is to reorder the main avenues into the
scheduler implementation. There is now a streamlined main entrance,
which **always** enqueues only, allowing to omit most checks and
coordination. On the other hand, the complete coordination and dispatch
of the work capacity is now shifted down into the SchedulerCommutator,
thereby linking all coordination and access control close together
into a single implementation facility.

If this works out as intended
 - several repeated checks on the Grooming-Token could be omitted (performance)
 - the planning-job would no longer be able to loose / drop the Token,
   thereby running enforcedly single-threaded (as was the original intention)
 - since all planning effectively originates from planning-jobs, this
   would allow to omit many safety barriers and complexities at the
   scheduler entrance avenue, since now all entries just go into the queue.

WIP: tests pass compiler, but must be adapted / reworked
2023-12-26 03:06:30 +01:00
..
common Library/Application: consolidate Monitor API and usage 2023-10-15 20:42:55 +02:00
include Clip-Drag: consider translation of command ctxID into a InteractionState implementation 2021-03-28 18:03:40 +02:00
lib Scheduler-test: fix out-of-bound access 2023-12-21 20:25:43 +01:00
lumiera Global-Layer-Renaming: adjust namespace qualification 2018-11-15 23:59:23 +01:00
plugin
stage LibraryApplication: tie DispatcherLoop to thread lifecycle 2023-10-12 20:23:59 +02:00
steam Chain-Load: draft usage for Scheduler testing 2023-12-04 00:34:06 +01:00
tool
vault Scheduler-test: reorganise planning-job entrance and coordination 2023-12-26 03:06:30 +01:00
.gitignore
DIR_INFO
doxygen.dox Scheduler: devise the arrangement of basic components 2023-06-24 03:14:17 +02:00
SConscript Global-Layer-Renaming: fix handling of GuiResources in the build 2018-11-16 18:18:33 +01:00