lumiera_/tests/vault/gear
Ichthyostega 1cbb6b7371 Scheduler-test: rework handling of notifications in the Activity-Language
While the recent refactoring...
206c67cc

...was a step into the right direction, it pushed too hard,
overlooking the requirement to protect the scheduler contents
and thus all of the Activity-chains against concurrent modification.
Moreover, the recent solution still seems not quite orthogonal.

Thus the handling of notifications was thoroughly reworked:
- the explicit "double-dispatch" was removed, since actual usage
  of the language indicates that we only need notifications to
  Gate (and Hook), but not to any other conceivable Activity.
- thus it seems unnecessary to turn "notification" into some kind
  of secondary work mode. Rather, it is folded as special case
  into the regular dispatch.

This leads to new processing rules:
- a POST goes into λ-post (obviously... that's its meaning)
- a NOTIFY now passes its *target* into λ-post
- λ-post invokes ''dispatch''
- and **dispatching a Gate now implies to notify the Gate**

This greatly simplifies the »state machine« in the Activity-Language,
but also incurs some limitations (which seems adequate, since it is
now clear that we do not ''schedule'' or ''dispatch'' arbitrary
Activities — rather we'll do this only with POST and NOTIFY,
and all further processing happens by passing activation
along the chain, without involving the Scheduler)
2023-12-16 23:47:50 +01:00
..
activity-detector-test.cpp Scheduler-test: rework handling of notifications in the Activity-Language 2023-12-16 23:47:50 +01:00
activity-detector.hpp Scheduler-test: rework handling of notifications in the Activity-Language 2023-12-16 23:47:50 +01:00
block-flow-test.cpp Scheduler: connect BlockFlow capacity announcement 2023-11-10 23:52:20 +01:00
scheduler-activity-test.cpp Scheduler-test: rework handling of notifications in the Activity-Language 2023-12-16 23:47:50 +01:00
scheduler-commutator-test.cpp Scheduler: integrate sanity check on timings 2023-11-07 18:37:20 +01:00
scheduler-invocation-test.cpp Scheduler: reconciled into clearer design 2023-11-04 04:49:13 +01:00
scheduler-load-control-test.cpp Scheduler: connect BlockFlow capacity announcement 2023-11-10 23:52:20 +01:00
scheduler-service-test.cpp Scheduler-test: option to require activation by scheduler 2023-12-14 01:49:46 +01:00
scheduler-stress-test.cpp Scheduler: plan for integration 2023-10-20 00:59:50 +02:00
scheduler-usage-test.cpp Scheduler: plan for integration 2023-10-20 00:59:50 +02:00
special-job-fun-test.cpp Scheduler-test: a helper for one-time operations 2023-12-08 03:16:57 +01:00
test-chain-load-test.cpp Scheduler-test: ''can demonstrate running a synthetic load'' (closes #1346) 2023-12-11 23:53:25 +01:00
test-chain-load.hpp Scheduler-test: option to require activation by scheduler 2023-12-14 01:49:46 +01:00
work-force-test.cpp Chain-Load: demonstrate use of the expansion rule 2023-11-29 02:58:55 +01:00