Skip to content

Commit f4f6120

Browse files
authored
Merge pull request #260 from mjcaisse/update-scheduler-doc
📝 Add run_one_trigger to scheduler doc
2 parents 7a050b0 + de8af69 commit f4f6120

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

docs/schedulers.adoc

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -381,6 +381,28 @@ async::run_triggers<"name">(42);
381381
// x is now 42
382382
----
383383

384+
The default behaviour is to run all of the scheduled work when
385+
`async::triggers<"name">.run()` or `async::run_triggers<"name">()` is called.
386+
To run only one work item in FIFO order, call `async::run_one_trigger<"name">()`.
387+
388+
[source,cpp]
389+
----
390+
int x{};
391+
async::trigger_scheduler<"name", int>{}.schedule()
392+
| async::then([&] (auto i) { x = i; })
393+
| async::start_detached();
394+
395+
async::trigger_scheduler<"name", int>{}.schedule()
396+
| async::then([&] (auto i) { x = i*2; })
397+
| async::start_detached();
398+
399+
// when event occurs
400+
async::run_one_trigger<"name">(42);
401+
// x is now 42
402+
async::run_triggers<"name">(12);
403+
// x is now 24
404+
----
405+
384406
NOTE: It is possible to use a `trigger_scheduler` that takes arguments as a
385407
"normal" scheduler, i.e. functions like `start_on` will work; however the
386408
arguments passed to `run_triggers` will be discarded when used with constructs

0 commit comments

Comments
 (0)