1bd95e73e9
Marked async::result as nodiscard
2023-05-05 09:50:18 +02:00
721195383b
Use correct frigg submodule
2022-05-07 20:27:15 +02:00
23d261ee37
Removed CMakelists.txt.user
2022-05-07 20:26:37 +02:00
1d443a264b
Remove meson files and use cmake
2022-05-07 20:24:18 +02:00
Arsen Arsenović
cefe391ca5
docs: fix docs permalink
2022-01-30 19:14:41 +01:00
Arsen Arsenović
3c77027ae1
docs: add docs permalink to index
2022-01-30 19:04:03 +01:00
Arsen Arsenović
e6f528e6b0
docs: add readme
2022-01-30 18:58:14 +01:00
Arsen Arsenović
058528d69a
ci: add docs and coverage pipeline
2022-01-27 06:19:52 +01:00
Alexander van der Grinten
1cd76ff79e
Merge pull request #10 from qookei/master
...
Add documentation
2022-01-26 19:52:55 +01:00
Kacper Słomiński
40ec71b1db
docs: add documentation for existing functionality
2022-01-25 13:44:51 +01:00
Kacper Słomiński
f8380eb3aa
post-ack: replace std::find_if with hand-written loop
...
std::find_if is broken on frg::intrusive_list iterators.
2022-01-25 13:43:52 +01:00
Kacper Słomiński
e6d509f7e3
execution: fix indentation
2022-01-25 13:43:52 +01:00
Kacper Słomiński
450473ddfc
Merge pull request #12 from qookei/meson
...
meson: improve meson.build file and drop library.makefile
2022-01-25 13:22:41 +01:00
Kacper Słomiński
e22243d8d2
meson: improve meson.build file and drop library.makefile
2022-01-25 01:25:08 +01:00
Kacper Słomiński
e9b80a5dde
Merge pull request #9 from qookei/master
...
Remove uses of run_queue
2021-10-29 22:07:23 +02:00
Kacper Słomiński
10b4c78b89
basic: get rid of run_token, current_queue and awaitable<T>
2021-10-29 21:52:43 +02:00
Kacper Słomiński
58a1f1c3f1
tests: use frg::stl_allocator instead of our own impl
...
Also fix the race_and_cancel test
2021-10-29 21:52:43 +02:00
Kacper Słomiński
0a8fc387b4
algorithm: fix race_and_cancel inline completion
2021-10-29 21:52:43 +02:00
Kacper Słomiński
cc49458828
tests: add detached coroutine test
2021-10-19 23:16:15 +02:00
Kacper Słomiński
594da94e7a
basic: refactor detached to not use run_queue
...
basic: rewrite detach() in terms of detach_with_allocator().
2021-10-19 23:16:15 +02:00
Kacper Słomiński
f89a0a91a3
result: refactor result to not use run_queue
2021-10-19 23:16:15 +02:00
Kacper Słomiński
a33e5927f0
recurring-event: fix warning about non-virtual dtor
2021-10-19 23:04:59 +02:00
Kacper Słomiński
7aaba247b9
sequenced-event: rewrite in terms of recurring-event
2021-10-19 23:04:50 +02:00
Kacper Słomiński
7851a18168
sequenced-event: introduce sequenced_event
...
sequenced_event behaves similarly to recurring_event except it uses a
sequence number to track missed raises.
2021-09-25 19:00:45 +02:00
Kacper Słomiński
4d77c02558
promise: refactor into promise + future, move into it's own file
...
This is more flexible than the previous implementation (which was
basically an oneshot_event that carried a value), and it disentangles
the result<T> implementation from promise<T>.
2021-09-25 19:00:45 +02:00
Alexander van der Grinten
d1edb74575
mutex: Fix multiple shared locks in shared_mutex
2021-07-25 14:34:11 +02:00
Alexander van der Grinten
25fe5cd488
mutex: Add shared_mutex
2021-07-04 22:39:39 +02:00
Alexander van der Grinten
abc4e0aa50
oneshot-event: Add non-cancellable wait()
2021-05-20 17:15:03 +02:00
Alexander van der Grinten
6fe5e9d97e
result: Generalize make_result() to arb. types
2021-05-20 14:31:18 +02:00
Alexander van der Grinten
a972ed12f4
basic: Add make_awaiter()
...
This function explicitly calls the appropriate
operator co_await.
2021-05-20 14:31:18 +02:00
Alexander van der Grinten
bf0b368130
Remove async::pledge
...
async::pledge can be replaced by async::oneshot_event
+ a variable to store the value.
2021-05-20 14:31:18 +02:00
Alexander van der Grinten
f6a53d326d
Keep timestamps during installation
...
Fix #8 .
2021-05-20 14:31:18 +02:00
Alexander van der Grinten
fc84b45778
post-ack: Fix locking in fast-path
2021-05-06 17:25:07 +02:00
Alexander van der Grinten
beb8ffdff8
jump: Remove in favor of oneshot_event
...
Like async::doorbell, async:jump is obsolete due
to better alternatives.
2021-05-03 18:15:04 +02:00
Alexander van der Grinten
7cbb42a385
doorbell: Remove in favor of recurring_event
...
recurring_event supports race-free waiting in
multi-threaded situations (by using async_wait_if
instead of async_wait). It is also generally written
in a more modern style, using senders/receivers.
2021-05-03 16:59:14 +02:00
Alexander van der Grinten
3acb96630e
recurring-event: Add async_wait() w/o predicate
2021-05-03 16:59:14 +02:00
Alexander van der Grinten
2e7f45f4e3
oneshot-event: Add fast path
2021-05-03 16:59:14 +02:00
Alexander van der Grinten
1b4e4320fe
Merge pull request #7 from Dennisbonke/master
...
Fix several warnings related to non-virtual destructors
2021-05-03 10:59:27 +02:00
Dennis Bonke
017d9e6eae
mutex: Fix several warnings about non-virtual destructors
...
oneshot-event: Fix a warning about non-virtual destructors
post-ack: Fix several warnings about non-virtual destructors
recurring-event: Fix a warning about non-virtual destructors
Signed-off-by: Dennis Bonke <admin@dennisbonke.com>
2021-05-03 00:39:23 +02:00
Alexander van der Grinten
71b2b9dcdb
exeuction: Require use of set_value_[no]inline
...
Receivers that only provide set_value() are not valid anymore.
This avoids bugs such as the one mentioned in commit
99a16297b7
.
2021-05-02 14:02:21 +02:00
Alexander van der Grinten
8107b5f9bc
recurring-event: Add fast path
2021-05-02 14:02:21 +02:00
Alexander van der Grinten
14984bfa46
Merge pull request #6 from Dennisbonke/master
...
execution: Add missing include
2021-04-30 22:43:37 +02:00
Kacper Słomiński
019f6ddee0
basic: use frg::aligned_storage instead of std::aligned_storage_t
2021-04-29 19:50:01 +02:00
Dennis Bonke
26d6f26447
execution: Add missing include
...
Signed-off-by: Dennis Bonke <admin@dennisbonke.com>
2021-04-29 16:39:13 +02:00
Alexander van der Grinten
c5fcf5efb2
Merge pull request #5 from Dennisbonke/master
...
basic: Mark more stuff with noexcept as requested by clang 12
2021-04-26 12:07:13 +02:00
Dennis Bonke
6266431826
basic: Mark more stuff with noexcept as requested by clang 12
...
Signed-off-by: Dennis Bonke <admin@dennisbonke.com>
2021-04-26 01:34:42 +02:00
Alexander van der Grinten
cbd2d22739
algorithm: Implement ite()
2021-04-25 17:38:16 +02:00
Alexander van der Grinten
cf52688af6
algorithm: Fix missing use of CPO
2021-04-25 17:37:56 +02:00
Alexander van der Grinten
b266c6de57
cancellation: Add missing value_type
2021-04-23 21:19:37 +02:00
Alexander van der Grinten
99a16297b7
execution: Remove start() CPO
...
Users should convert to start_inline() to avoid subtle
bugs (that happened with start() when passing inline-capable
receivers through non-inline-capable algorithms).
2021-04-23 21:18:13 +02:00