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

39 commits

Author SHA1 Message Date
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
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
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
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
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
Kacper Słomiński
88939c27da basic: add missing virtual destructor to awaitable_base 2020-12-26 13:46:28 +01:00
Alexander van der Grinten
20e521d3ca basic: Add spawn_with_allocator 2020-06-22 18:04:27 +02:00
Alexander van der Grinten
db28d35fc2 basic: Add assertions on any_receiver size 2020-06-22 18:03:54 +02:00
Alexander van der Grinten
72bb77ce96 execution: Add start_inline() fast paths 2020-06-06 16:18:09 +02:00
Alexander van der Grinten
ed99c29bca execution: Add set_value() CPO 2020-06-06 16:10:43 +02:00
Kacper Słomiński
fdf49eb4d1 basic: don't enter io_service when we're already done in run 2020-06-03 18:48:07 +02:00
Kacper Słomiński
86a9ff390e basic: save previous run_queue in queue_scope 2020-06-03 18:47:49 +02:00
Kacper Słomiński
2326f03c51 basic: add run functions that take the io service 2020-06-01 01:10:40 +02:00
Kacper Słomiński
1f1129895d basic: add way to force libasync to use experimental header 2020-05-27 13:50:15 +02:00
Alexander van der Grinten
2f6983c78b basic: Add detach_with_allocator() 2020-05-11 20:29:18 +02:00
Alexander van der Grinten
c070fd892a basic: Add any_receiver<T> 2020-05-11 20:28:23 +02:00
Kacper Słomiński
c202322a8f Use non-experimental coroutine inclue when available 2020-05-09 13:18:52 +02:00
Kacper Słomiński
a1adfee0ea basic: fix sender_receiver with frg::optional value type 2020-05-05 20:30:09 +02:00
Kacper Słomiński
bba6649c3c basic: allow for overriding thread_local 2020-05-03 02:09:11 +02:00
Alexander van der Grinten
339c1dda23 basic: Add run() top-level function 2020-05-02 15:31:44 +02:00
Kacper Słomiński
33caf6b71e Make libasync more freestanding
The only remaining dependencies on the standard library are std::queue
and std::deque.
2020-05-01 20:35:08 +02:00
Alexander van der Grinten
60ee0c24e6 basic: Use frigg for intrusive lists 2020-05-01 16:20:19 +02:00
Alexander van der Grinten
17ebe74b5a basic: Disentangle run_queue and io_service 2020-04-25 21:30:45 +02:00
Alexander van der Grinten
42a917fc86 basic: Implement top-level run_forever() 2020-04-25 20:56:22 +02:00
Arsen
7844490279 basic.hpp: use start cpo in sender_awaiter 2020-04-22 19:29:46 +02:00
Alexander van der Grinten
283acd6aaf basic: Add yield_to_current_queue() 2020-04-21 21:37:27 +02:00
Alexander van der Grinten
c647471ade execution: Add basic sender/receiver infrastructure 2020-04-21 21:27:50 +02:00
Kacper Słomiński
a2187a16f8 Remove libcofiber related code 2019-12-21 15:49:09 +01:00
Alexander van der Grinten
f696968729 Add async::detached and rewrite detach() code 2019-06-22 12:12:04 +02:00
Alexander van der Grinten
3640dc63b4 basic: Fix virtual destructor warning 2019-06-11 20:25:11 +02:00
Alexander van der Grinten
d3fc60f23c run_queue: Add run_queue_item interface 2019-03-21 20:44:55 +01:00
Alexander van der Grinten
4a056038ed general: Start async operation only on await 2019-03-19 19:02:45 +01:00
Alexander van der Grinten
ec38d9c4f7 general: Introduce queue mechanism for awaitables 2018-05-25 23:51:03 +02:00
Alexander van der Grinten
67b62cdde2 Rewrite cancellation support 2018-03-12 20:57:33 +01:00
Alexander van der Grinten
f1b0bfeaee result: Refactor coroutine promise class 2018-03-08 19:00:42 +01:00
Alexander van der Grinten
9133f53c48 Refactor awaitable mechanism
Instead of passing the result value to the callback,
there is now an explicit function to retrieve it.
2018-03-08 18:25:24 +01:00
Alexander van der Grinten
f50e789617 awaitable: Decouple lifetime management
Objects of class awaitable now have to rely on external
memory management insteado of providing a detach() function.
2018-03-07 21:43:49 +01:00
Alexander van der Grinten
a1475a6bba Implement cancellation proof-of-concept 2018-03-07 10:24:45 +01:00
avdgrinten
1663701e49 Initial commit 2016-12-27 14:09:38 +01:00