1
0
Fork 0
mirror of https://gitlab.com/niansa/libasync.git synced 2025-03-06 20:53:29 +01:00
Commit graph

156 commits

Author SHA1 Message Date
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