2501 Commits

Author SHA1 Message Date
Klemens Morgenstern
a4a90af541 all asan uses ucontext. 2023-06-23 09:49:54 +08:00
Klemens Morgenstern
edf11b77fd gh action runs in the correct path. 2023-06-23 09:49:54 +08:00
Klemens Morgenstern
c9874bfd60 jamfile uses openssl.jam 2023-06-23 09:49:54 +08:00
Klemens Morgenstern
19d5992def drone.bat actually runs the tests. 2023-06-23 09:49:54 +08:00
Klemens Morgenstern
72c2eeb398 ssl_stream doesn't use BOOST_BEAST_ASYNC_TPARAM1 due to clang errors.
Closes #2661
2023-06-20 10:40:20 +08:00
Klemens Morgenstern
ae01f0201d Documentation has less typos.
closes #2679.
2023-05-15 09:18:05 +08:00
Ed Catmur
a23e24ffee Reimplement (C++23) deprecated std::aligned_storage (#2680)
Use boost::aligned_storage instead of std::.

The latter is deprecated in C++23.

---------

Co-authored-by: Ed Catmur <edward.catmur@mavensecurities.com>
2023-05-15 09:03:10 +08:00
Edward Nolan
cd6b79db5a headers using std::int8_t et al. include <csdint>. 2023-05-15 08:49:53 +08:00
Michiel De Witte
a4718ee87b change upgrade to Upgrade as connection header value 2023-05-12 18:46:55 +08:00
slowriot
fd18cfa242 Remove unused failure reporting code 2023-05-12 18:46:36 +08:00
Klemens Morgenstern
e65aff42f5 msvc scripts work again. 2023-05-12 14:08:47 +08:00
Klemens Morgenstern
7625ec7531 OSX ASan uses ucontext. 2023-05-12 13:10:53 +08:00
Vinnie Falco
c316c6bd35 Merge branch 'develop' boost-1.83.0.beta1 boost-1.83.0 2023-05-10 16:42:41 -07:00
Klemens Morgenstern
42b6387ae4 Fixes for MSVC 2022 issues.
Closes #2653.
boost-1.82.0
2023-03-22 16:11:06 +08:00
Klemens
0e5cf9ff79 awaitable-ssl example belongs to right directory
Closes #2654
2023-03-22 16:11:06 +08:00
Klemens Morgenstern
b0996f099a Fixes for MSVC 2022 issues.
Closes #2653.
2023-03-21 22:39:14 +08:00
Klemens
685722c505 awaitable-ssl example belongs to right directory
Closes #2654
2023-03-21 22:39:14 +08:00
Klemens Morgenstern
3dddb5fecf Set version to 347. boost-1.82.0.beta1 2023-02-20 14:06:17 +08:00
Klemens Morgenstern
99787227cb boost 1.82 release notes. 2023-02-20 14:01:55 +08:00
Klemens Morgenstern
2bd65b27e1 awaitable server close fix.
Closes #2637
2023-02-20 13:58:07 +08:00
Klemens Morgenstern
78c21308fa Doc grammar & reference corrections.
Closes #2578 & #2634.
2023-02-17 13:54:34 +08:00
Edward Nolan
8dc6daa507 Address bind_handler ambiguous overload error when boost/bind/std_placeholders.hpp is included (#2638)
* Address bind_handler ambiguous overload error when boost/bind/std_placeholders.hpp is included

Previously, the implementation of bind_handler made the assumption
that the trait boost::is_placeholder would be false for types
corresponding to values in the std::placeholders namespace.

However, boost/bind commit c85b31e3d200dda2a73cf0027a82c6d8e29066f8,
`Support use of standard placeholders with boost::bind`, added a new
header, boost/bind/std_placeholders.hpp, which adds specializations to
 boost::is_placeholder for std::placeholders types.

When this header is included before a use of boost::bind_handler, it
results in compiler errors like the following, due to an internal
helper function having overloads for
enable_if<boost::is_placeholder...> and
enable_if<std::is_placeholder...>, which were previously assumed to be
mutually exclusive, but for which both conditions now are true:

../../../boost/beast/core/detail/bind_handler.hpp:126:18: error: call of overloaded 'extract(std::_Placeholder<1>, boost::beast::detail::tuple<int&&>)' is ambiguous
  126 |         h(extract(detail::get<S>(std::move(args)),
      |           ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  127 |             std::forward<ValsTuple>(vals))...);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This header is included in boost/bind/bind.hpp, and is transitively
included by headers in many boost libraries including:

algorithm
asio
atomic
graph
msm
multi_index
property_tree
ptr_container
python
signals2
test
thread

Making it possible that an include from one of these libraries will
randomly cause bind_handler to fail to compile.

This change addresses the issue by eliminating one of the ambiguous
overloads and ensuring that boost/bind/std_placeholders.hpp is
included in the bind_handler implementation file, so that the
enable_if<boost::is_placeholder...> overload can handle both
boost::placeholders and std::placeholders values. It also explicitly
adds a boost/bind/std_placeholders.hpp include to the bind_handler
unit test to prevent this issue from regressing.

* Address boost/bind/std_placeholders.hpp feature guards

boost/bind/std_placeholders.hpp has the following feature guards:

if !defined(BOOST_NO_CXX11_HDR_FUNCTIONAL) && !defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)

If this check fails, it will not detect std::placeholders values as
placeholders, making the previous solution fail.

This update restores the std::is_placeholder overload and adjusts the
SFINAE for the boost::is_placeholder overload so that it triggers only
if std::is_placeholder is false, making bind_handler work regardless
of whether std_placeholders.hpp's feature guard applies.

---------

Co-authored-by: Edward Nolan <enolan@maystreet.com>
2023-02-17 13:50:04 +08:00
Klemens Morgenstern
341ac7591b Set version to 346. 2023-02-06 04:22:37 +08:00
Klemens
1d965752b2 beast file_body & file support seek.
win32 file_body handles seek correctly.
Added seek to win32 file.
file_body_writer handles offsets.
2023-02-05 02:57:41 +08:00
Klemens
4ff4c79d5b file_body buffer size can be configured. 2023-02-05 02:57:41 +08:00
Klemens
99bceb5bff examples & tests use context instead of coroutine. 2023-02-02 23:27:49 +08:00
Klemens
1841a592d6 Minimalistic method examples. 2023-02-02 15:05:11 +08:00
Klemens
51a73f2e64 Adjusted append docs.
Closes #2568.
2023-02-02 14:00:19 +08:00
Klemens Morgenstern
11b267e724 s390x clang is disabled. 2023-02-02 13:59:17 +08:00
Klemens Morgenstern
4f3ba278c6 Fields is not declared deprecated. 2023-02-01 18:00:12 +08:00
sdarwin
8fc6df2a98 Drone: use generate function to build jobs 2023-02-01 17:50:43 +08:00
Klemens Morgenstern
947b225c9e No unused function in awaitable examples. (#2605)
* No unused function in awaitable examples.
* Beast has an awaitable-ssl example.

Closes #2604.
2023-01-24 09:55:05 +08:00
Klemens
c9900625ea buffers_cat uses BOOST_NORETURN. 2023-01-23 21:18:27 +08:00
Klemens
e88185f765 basic_stream doesn't use try-catch with no-exceptions. 2023-01-23 21:18:27 +08:00
Jeremiah Rodriguez
7453ce3260 Fix incorrect ssl_stream async_handshake concept 2023-01-23 17:50:03 +08:00
Klemens Morgenstern
aef9c88c9d error categories use numeric id 2023-01-23 17:48:28 +08:00
Klemens
97ece405b8 rebind test uses ignore_unused. 2023-01-04 08:44:00 +08:00
Klemens
bfd5e55093 advanced_server_flex_awaitable doesn't rely on transitive include. 2023-01-04 08:44:00 +08:00
Klemens
334b9871be Fixed timer usage inside basic_stream.
Closes #2602.
2022-12-24 09:40:08 +08:00
Klemens
5032a20d9d operator= is used to assign ecs without loc. 2022-12-22 11:51:22 +08:00
Klemens
f7079044a7 websocket tests have larger timeouts.
The tests fail on freebsd.
2022-12-20 18:01:12 +08:00
Klemens
027c544a3a test::handler copies the source location. 2022-12-20 18:01:12 +08:00
sdarwin
b9ed7fa6d3 FreeBSD drone tests 2022-12-20 18:01:12 +08:00
Klemens Morgenstern
48f82ac817 Switched self-posting to the io-object's executor.
This is a conceptual change in the recent asio version that is reflected in any_completion_handler.
2022-12-20 14:45:26 +08:00
Klemens
860bfbdeab Added source-location to all ecs.
Closes #2475.
2022-12-20 13:16:39 +08:00
Klemens
ce99605ef9 C++17 builds on clang-5 are disabled.
The C++17 stdlib used by clang-5 is not compliant, so asio doesn't compile.
2022-12-20 13:12:44 +08:00
Dirk Stolle
5c48142df8 Update actions/checkout in GitHub Actions workflows to v3 2022-12-17 18:08:14 +08:00
Klemens Morgenstern
5e55b558e0 Set version to 345. boost-1.81.0 2022-12-07 13:52:54 +08:00
Dirk Stolle
af46c89068 Fix typo in bind_handler.hpp
Closes #2563.
2022-12-07 13:43:16 +08:00
Greg Glover
6e1eb76b1d typo in the json client comment 2022-12-07 13:42:03 +08:00