Christopher Kohlhoff
7a1b04a5c9
Version bump.
2026-07-09 00:16:21 +10:00
Christopher Kohlhoff
b46135dad6
Remove doc references to the obsolete non_blocking_io I/O control command.
2026-07-09 00:15:43 +10:00
Christopher Kohlhoff
3bfabf4817
Fix @param name in async_immediate docs.
2026-07-08 22:32:39 +10:00
Christopher Kohlhoff
7db34b888f
Add a brief description for ssl::context.
2026-07-08 22:32:39 +10:00
Christopher Kohlhoff
77b39564d8
Augment the reference with links to the overview documentation.
2026-07-08 22:32:39 +10:00
Christopher Kohlhoff
694ac45902
Ensure 16-byte block alignment in co_composed's implementation on MSVC.
2026-07-07 08:13:20 +10:00
Christopher Kohlhoff
d514869ccc
Fix experimental::channel compilation with older MSVC.
2026-07-07 07:52:06 +10:00
Christopher Kohlhoff
ff5a0a5f5c
Add "reactor" / "io_uring_ring_size" (unsigned int) config parameter.
...
This parameter specifies the number of entries used to size each
io_uring instance (passed to io_uring_queue_init). Defaults to 16384.
Specifying smaller values reduces the locked-memory footprint of each
ring.
2026-07-07 07:52:06 +10:00
Christopher Kohlhoff
eccf639bf2
Fix multicast enable_loopback socket option size on NetBSD/OpenBSD.
2026-07-06 23:58:18 +10:00
Christopher Kohlhoff
d299f2b0bd
Add "reactor" / "io_uring_ring_count" (int) config parameter.
...
This parameter is used to configure the number of io_uring "rings" that
are managed by a single execution context. Defaults to 1. Increasing
this value may improve the scalability of io_uring-based io_contexts
and thread_pools when used with multiple threads.
2026-07-06 23:53:36 +10:00
Christopher Kohlhoff
d3e8fe4bbd
Use MSG_DONTWAIT rather than O_NONBLOCK for reactor send/receive.
...
When reliably supported by the OS, use MSG_DONTWAIT for asynchronous
sends and receives, rather than putting the socket into non-blocking
mode. This is currently enabled for Linux, FreeBSD, NetBSD, OpenBSD,
and DragonFly BSD.
Thanks to Lucas Alves for suggesting the use of MSG_DONTWAIT.
2026-07-06 23:53:24 +10:00
Christopher Kohlhoff
e692e5dec5
Detect standard library coroutine support the same way as co_await.
2026-07-06 23:53:15 +10:00
Christopher Kohlhoff
c87fb91e31
Support co_composed under BOOST_ASIO_NO_EXCEPTIONS.
2026-07-06 23:52:58 +10:00
Christopher Kohlhoff
a25a5bb650
Add "reactor" / "io_uring_submit_batch_size" config parameter.
2026-07-06 23:52:47 +10:00
Christopher Kohlhoff
85b1b241ff
Add "reactor" / "io_uring_iowait" (bool) config parameter.
2026-07-06 23:52:38 +10:00
Christopher Kohlhoff
5f0aed2737
Add "scheduler" / "assume_continuation" (bool) config parameter.
...
Specifies that the scheduler can assume that all posted handlers are
short-running, and semantically post work that is a continuation.
2026-07-06 23:52:22 +10:00
Christopher Kohlhoff
ab68de02ba
Add missing concurrency_hint==1 optimisation in poll_one().
2026-07-06 23:52:14 +10:00
Christopher Kohlhoff
ebdf62f18e
Use a cached success error code in the strand implementation.
2026-07-06 23:52:07 +10:00
Christopher Kohlhoff
855ba5b4f6
Add thread sanitizer instrumentation to the io_uring backend.
2026-07-06 23:51:58 +10:00
Christopher Kohlhoff
1ad9cf5475
Fix signed/unsigned warning in basic_resolver_results.
2026-07-06 23:51:46 +10:00
Christopher Kohlhoff
b0d6fcc290
Suppress case fall-through warnings in SSL implementation.
2026-07-06 23:51:35 +10:00
Christopher Kohlhoff
92410f933e
Fix thread sanitizer warnings due to atomic thread fences.
2026-07-06 23:51:24 +10:00
Christopher Kohlhoff
4ddaf57abf
Change all exception classes to use inline implementations.
2026-07-06 23:51:13 +10:00
Christopher Kohlhoff
d5a9ebf767
Fix parallel_group handling of non-terminal cancellation requests.
2026-07-06 23:49:07 +10:00
Christopher Kohlhoff
4babaa7d2e
Use external linkage for constants and CPOs, for C++17 and later.
2026-07-06 23:48:33 +10:00
Christopher Kohlhoff
0980c1ee0d
Include whether inline variables are supported in tagged namespace.
2026-07-06 23:48:22 +10:00
Christopher Kohlhoff
18cdb8eb61
Fix compile error when instantiating work_result for non-invocable functions.
2026-07-06 23:48:09 +10:00
Christopher Kohlhoff
2bd2057324
Allow ssl::stream<>'s internal buffer sizes to be configured.
2026-07-06 23:48:00 +10:00
Christopher Kohlhoff
76d2e245da
Improve wording of buffer invalidation semantics.
2026-07-06 23:47:52 +10:00
Christopher Kohlhoff
dee488c5c0
Fix a buffer invalidation error that is triggered when SSL streams are moved.
2026-07-06 23:47:37 +10:00
Christopher Kohlhoff
8b8e929791
Use futexes for slim_mutex on linux.
2026-07-06 23:47:22 +10:00
Christopher Kohlhoff
d69f7c57dd
Fix integer truncation in basic_streambuf::commit/consume for sizes >= INT_MAX.
2026-07-06 23:47:04 +10:00
Christopher Kohlhoff
489e469823
Fix return type on one cancel_after overload.
2026-07-06 23:44:58 +10:00
Christopher Kohlhoff
9300dc716b
Fix co_composed crash that shows up with MSVC.
2026-07-06 23:44:48 +10:00
Christopher Kohlhoff
0000a79aa1
Add asio/fwd.hpp forward declarations header.
2026-07-06 23:44:33 +10:00
Christopher Kohlhoff
34a04e1466
Make require/query/prefer private on inline_or_executor.
2026-07-06 23:42:15 +10:00
Christopher Kohlhoff
de3843a416
Add missing include.
2026-07-06 23:42:02 +10:00
Christopher Kohlhoff
dc5e582d22
Version bump.
2026-03-04 21:50:50 +11:00
Christopher Kohlhoff
663b846076
Add support for using Cygwin without __USE_W32_SOCKETS.
2026-03-03 20:51:40 +11:00
Christopher Kohlhoff
82fb25241e
Add support for compilation under Cygwin64.
2026-03-03 20:51:21 +11:00
Christopher Kohlhoff
8e132464db
Allow user to override BOOST_ASIO_DECL.
...
Currently, BOOST_ASIO_DECL is set by the library, with the logic:
- Header-only => inline
- Not header-only =>
Win32? => dllexport / dllimport.
In some cases it is important to have more control over this.
For instance:
- To be able to set visibility attributes under ELF platform
- To be able to disable visibility under DLL platform.
etc.
2026-03-03 20:50:52 +11:00
Christopher Kohlhoff
7ef840b0f0
Fix C4242 warning in serial_port_base::character_size::store.
...
Add static_cast<BYTE> to avoid MSVC warning C4242 when converting
from unsigned int to BYTE in character_size::store(). This warning
causes issues for projects that treat warnings as errors.
The cast is safe since character_size values are always in the valid
BYTE range (typically 5, 6, 7, or 8).
2026-03-03 20:50:41 +11:00
Christopher Kohlhoff
17cc9218c1
On Apple platforms, std::aligned_alloc is only available on recent libc++.
2026-03-03 20:50:30 +11:00
Christopher Kohlhoff
e60da62414
Fix compile break when using musl on Android.
...
Fix a compile break when building with _LIBCPP_HAS_MUSL_LIBC and an
Android API older then 28.
On Android both __linux__ and __ANDROID__ are defined. First check for
__ANDROID__ to get the correct behavior and not run into the Linux case.
2026-03-03 20:50:16 +11:00
Christopher Kohlhoff
3b961bc316
Fix compatibility with latest OpenSSL's X509 constness.
...
Use auto variables to ensure that we can build with both old and new
versions of OpenSSL.
2026-03-03 20:49:58 +11:00
Christopher Kohlhoff
dc3f788435
Fix MSG_NOSIGNAL handling on NetBSD.
...
In /usr/include/sys/unistd.h:62, `_POSIX_VERSION' is only `200112L',
but NetBSD supports MSG_NOSIGNAL anyway.
2026-03-03 20:49:49 +11:00
Christopher Kohlhoff
c14b3048b2
Add comment on fall-through switch cases in ip::network_v4.
2026-03-03 20:49:41 +11:00
Christopher Kohlhoff
892da71b19
Update TLS v1.3 context initialization with LibReSSL.
...
LibreSSL support TLS v1.3 from 3.2.0.
See https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.2.0-relnotes.txt
2026-03-03 20:49:31 +11:00
Christopher Kohlhoff
dd76da9499
Clarify IPv4 vs IPv6 semantics of multicast::outbound_interface.
2026-03-03 20:49:19 +11:00
Christopher Kohlhoff
3975462568
Add a slim mutex implementation.
...
Added a "slim" mutex implementation based on std::atomic's wait and
notify_one functions. When supported by the compiler / OS, this reduces
the size of the state required for strands, sockets, and other
descriptors.
2026-03-03 20:49:02 +11:00