Christopher Kohlhoff
e935ce35ce
Document per-operation cancellation for serial ports.
2022-03-02 22:13:21 +11:00
Christopher Kohlhoff
4e163b8ac1
Add cancellation_slot support to signal sets.
2022-03-02 22:13:21 +11:00
Christopher Kohlhoff
61ca6c72e8
Enable movable iostreams for clang.
2022-03-02 22:13:21 +11:00
Christopher Kohlhoff
5ca6c06ac3
Add workaround for apparent coroutine codegen bug with Apple's clang.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
00f418b6a0
Mark dynamic_buffer() result as nodiscard.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
0120f59a13
Mark buffer() result as nodiscard.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
faee1d9439
Fix promise.hpp: 'all_of': is not a member of 'std'.
...
Fix missing include (on VS2019).
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
71964b22c7
Header <utility> is needed for std::exchange.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
7925552a89
Mark experimental::make_parallel_group() result as nodiscard.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
b268f81709
Mark experimental::prepend() result as nodiscard.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
22f231df2a
Mark experimental::append() result as nodiscard.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
b8934f95c6
Mark experimental::as_tuple() result as nodiscard.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
8b72c3a6a5
Mark experimental::as_single() result as nodiscard.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
46b8e01a16
Mark get_associated_cancellation_slot() result as nodiscard.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
cc61699a52
Mark get_associated_executor() result as nodiscard.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
eb84be54b2
Mark get_associated_allocator() result as nodiscard.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
4102f2a86e
Mark make_work_guard() result as nodiscard.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
26aa1fb96d
Mark bind_cancellation_slot() result as nodiscard.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
9ab631ecf8
Mark bind_allocator() result as nodiscard.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
72117ebf63
Mark bind_executor() result as nodiscard.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
5d852c14bc
Remove unused lambda capture.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
20a24bfdec
Add missing include of error_code.hpp.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
9ea96c3fa9
Add file_base::sync_all_on_write flag.
...
Maps to:
- O_SYNC on POSIX
- FILE_FLAG_WRITE_THROUGH on Windows
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
768498ab89
Document 'Completion Signature' for each asynchronous operation.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
c469b21031
Add support for adopting an existing SSL* into an ssl::stream<>.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
d30c94297d
Fix any_io_executor with BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT and BOOST_ASIO_SEPARATE_COMPILATION.
...
Previous commits didn't take account of the possibility to use the both defines above.
Hence, any_io_executor.ipp would be compiled anyway, but `any_io_executor` is just a typedef.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
fc021c78b2
Fix bind_cancellation_slot compatibility with legacy completion tokens.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
784575a3d3
Fix bind_executor compatibility with legacy completion tokens.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
64faf0a6d2
Enable executor_work_guard<> even when ASIO_NO_TS_EXECUTORS is defined.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
0bfa387d2c
Add missing implementation of basic_file::release().
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
24cf583761
Fix small typo in documentation for ip::v6_only socket option.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
3329cbe225
Fix move operator= for stream_core.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
67a7e6b5c1
Fix missing reference to sender_endpoint in io_uring_socket_recvfrom_op.
2022-03-02 21:57:42 +11:00
Christopher Kohlhoff
5cc78465eb
Fixed detail::has_allocator_type<T> not matching T::allocator_type
2022-03-02 21:57:41 +11:00
Christopher Kohlhoff
3cd04eee90
Add bind_allocator.
2022-03-02 21:57:41 +11:00
Christopher Kohlhoff
9eb306115d
Include detail/concurrency_hint.hpp from io_context.hpp.
2022-03-02 21:24:32 +11:00
Christopher Kohlhoff
e1ba125248
Fix 'zero as null pointer constant' warning.
2022-03-02 21:24:15 +11:00
Christopher Kohlhoff
20ed628d43
Fix associator specialisations for append and prepend.
2022-03-02 21:24:01 +11:00
Christopher Kohlhoff
ff58013a23
Update copyright notices.
2022-03-02 21:23:52 +11:00
Christopher Kohlhoff
3966a24bae
Version bump.
2021-12-02 10:02:56 +11:00
Christopher Kohlhoff
44eb830ee1
Fix awaitable move operator return value.
2021-12-02 08:55:47 +11:00
Christopher Kohlhoff
c95ce94d39
Make awaitable_operators.hpp self contained
...
It was missing `asio/co_spawn.hpp`
2021-12-02 08:54:38 +11:00
Christopher Kohlhoff
a493ddf11b
Use default 'new' alignment, if available.
...
Fixes an access violation when using coroutines with MSVC and x64
targets, due to misaligned coroutine frames.
2021-12-01 00:07:45 +11:00
Christopher Kohlhoff
723a72bfc9
Eliminate shared_ptr from coro co_spawn() implementation.
2021-12-01 00:07:15 +11:00
Christopher Kohlhoff
0d807a8c47
Prevent async_resume from being called on coro temporaries.
2021-12-01 00:06:47 +11:00
Christopher Kohlhoff
a4af0eac25
Fix any_io_executor with BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT.
...
Commit 98f58ee has overlooked the case of `any_io_executor` being a
typedef to `executor` (when `BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT` is
defined) instead of a proper class, resulting in compilation errors.
2021-11-17 08:42:36 +11:00
Christopher Kohlhoff
842ca6e3e5
Work around header inclusion order problem when io_uring is enabled.
2021-11-17 08:42:18 +11:00
Christopher Kohlhoff
ab630c73d1
Fix shutdown cleanup issue in experimental::parallel_group.
2021-11-17 08:42:06 +11:00
Christopher Kohlhoff
e50201f38d
Add missing move assignment operator to awaitable<>.
2021-11-17 08:39:36 +11:00
Christopher Kohlhoff
59dde8e8ea
Fix bind_executor so that it doesn't require a token to provide legacy async_result support.
2021-11-17 08:38:11 +11:00