diff --git a/src/vault/gear/scheduler.hpp b/src/vault/gear/scheduler.hpp index 201103b39..2680328a8 100644 --- a/src/vault/gear/scheduler.hpp +++ b/src/vault/gear/scheduler.hpp @@ -194,7 +194,11 @@ namespace gear { /* ==== Implementation of the Concept ExecutionCtx ==== */ - /** λ-post: */ + /** + * λ-post: enqueue for time-bound execution, possibly dispatch immediately. + * This is the »main entrance« to get some Activity scheduled. + * @remark the \a ctx argument is redundant (helpful for test/mocking) + */ activity::Proc post (Time when, Activity& chain, ExecutionCtx& ctx) { diff --git a/wiki/thinkPad.ichthyo.mm b/wiki/thinkPad.ichthyo.mm index 06ac81e2d..2b6c0e694 100644 --- a/wiki/thinkPad.ichthyo.mm +++ b/wiki/thinkPad.ichthyo.mm @@ -57327,9 +57327,7 @@ - - - +

damit kann man von jedem »Invocable« eine Signatur abgreifen @@ -57355,9 +57353,7 @@ - - - +

...denn man verwendet diese Metafunktion ja stets explizit mit einem gegebenen Typ, und im Falle eines Ausdrucks muß man noch einen decltype() darum wickeln. Mögliche Probleme: @@ -57382,9 +57378,7 @@ - - - +

Beispiel: explore(elements).transform(....irgendwas....) @@ -57411,9 +57405,7 @@ - - - +

has_Sig sollte keine Compile-Fehler auslösen, wenn der gegebene Typ überhaupt nicht Funktions-artig ist (⟹ denn dann ist die Aussage trivialer Weise wiederlegt; was gar keine Signatur hat, kann auch nicht eine bestimmte Signatur haben). Realisieren kann man das über den bool-Check, den ich vor einiger Zeit bereits in lib::meta::_Fun eingebaut habe (im Zusammenhang mit IterExplorer) @@ -57423,9 +57415,7 @@ - - - +

Warum Macro? damit man per STRINGIFY() einen lesbareren Hinweis in die Static-Assertion bekommt @@ -80375,7 +80365,36 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + + + + + + + + + + +

+ weil ja λ-post selbst im ExecutionCtx sitzt +

+ +
+
+ + + + +

+ wenn man nämlich als Funktor oder statische Funktion implementiert, bekommt man kein "this" in die Hand +

+ +
+
+ + + + @@ -80404,9 +80423,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- - - +

...also solange ich nur mit Unit-Tests gearbeitet habe @@ -80416,9 +80433,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- - - +

  • @@ -80432,8 +80447,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- -
+
@@ -80454,9 +80468,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- - - +

im Besonderen λ-post ist im Grunde @@ -80467,9 +80479,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- - - +

...nämlich die Fähigkeit, einen Activity-chain zu einem geplanten Zeitpunkt oder auf Signal hin auszuführen — und diese Fähigkeit muß selbstverständlich der Sprache selber zu Gebote stehen, damit sie komplexe Aktionsmuster flexibel ausdrücken kann @@ -80587,12 +80597,12 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- - + + - + @@ -81947,6 +81957,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
+ @@ -82011,9 +82022,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- - - +

es genügte, an diesen Stellen die Ausführung der abstrahierten Aktionen zu loggen @@ -82030,9 +82039,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- - - +

der Scheduler selber kann diese Rolle generisch übernehmen @@ -82042,9 +82049,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- - - +

  • @@ -82064,6 +82069,26 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
    + + + + + + + + + +

    + ...speziell wenn man λ-post als Funktor implementiert, bekommt man keinen this* +

    +

    + ...entspricht außerdem dem generellen Schema, nach dem alle »downstream« benötigten Argumente durch die ganze Kette möglichst in gleicher Reihenfolge durchgegeben werden. +

    + +
    + +
    +
    @@ -85879,7 +85904,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
    - + @@ -87015,6 +87040,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
    +