Christopher Kohlhoff
65fb03dacb
Revision history.
2021-05-17 20:02:37 +10:00
Christopher Kohlhoff
57577c6db4
Regenerate documentation.
2021-04-06 13:05:37 +10:00
Christopher Kohlhoff
ef0c424b00
Prevent blocking.always from being used with strand<>.
...
Previously, calling `require(E, blocking.always)` on a strand E compiled
but produced incorrect behaviour. Now, `require(E, blocking.always)`
will no longer compile. Furthermore, when used with an always-blocking
inner executor, the strand will report its blocking property as
blocking.possibly.
2021-04-06 12:58:34 +10:00
Christopher Kohlhoff
69f98d2cde
Tell doxygen about the ASIO_NOEXCEPT_IF macro.
2021-04-06 11:43:43 +10:00
Christopher Kohlhoff
70a5952d28
Fix detection of defaulted template arguments on functions with MSVC.
2021-03-18 12:30:17 +11:00
Christopher Kohlhoff
7fe18ba1b3
Compatibility with boost regex v5.
2021-03-15 10:36:34 +11:00
Christopher Kohlhoff
93f87fbdbf
Exclude any_io_executor traits from documentation.
2021-03-04 15:39:48 +11:00
Christopher Kohlhoff
37789151d0
Use escaped names in index entries.
2021-03-04 15:39:48 +11:00
Christopher Kohlhoff
61c273ae09
Regenerate documentation.
2021-03-04 09:47:16 +11:00
Christopher Kohlhoff
7e4772f73c
Use separate SFINAE constraints for read_until and async_read_until.
2021-03-04 09:47:11 +11:00
Christopher Kohlhoff
80c71f02b5
Use separate SFINAE constraints for write and async_write.
2021-03-04 09:47:11 +11:00
Christopher Kohlhoff
2cdf01144f
Use separate SFINAE constraints for read and async_read.
2021-03-04 09:47:11 +11:00
Christopher Kohlhoff
bb7c4d4d54
Add index entries for classes.
2021-03-04 09:08:26 +11:00
Christopher Kohlhoff
6c177789f8
Use constraint<> rather than enable_if<> in public SFINAE-constrained functions.
2021-03-03 23:15:30 +11:00
Christopher Kohlhoff
b5a8065ecc
The executor must be copied when an I/O object is move-assigned.
...
The moved-from I/O object needs to be left in the same state as if
constructed with a valid executor but without a resource.
2021-03-03 18:50:31 +11:00
Christopher Kohlhoff
845d8bfb3c
Ensure call_stacks are accessed only from implementation files.
2021-03-03 08:26:45 +11:00
Christopher Kohlhoff
eb61fc9b93
Test on FreeBSD 12.2.
2021-02-24 22:54:52 +11:00
Christopher Kohlhoff
7447c4da17
Change any_io_executor to a 'strong typedef'-style class.
2021-02-24 11:53:54 +11:00
Christopher Kohlhoff
885d6b7474
Fix boostification of std::hash specialisations.
2021-02-24 11:53:49 +11:00
Christopher Kohlhoff
0355fc5980
Fix long line.
2021-01-16 10:14:17 +11:00
Christopher Kohlhoff
9995748ebc
Remove deprecated file 'asio/impl/src.cpp'.
2021-01-16 10:14:17 +11:00
Christopher Kohlhoff
77ed33821d
Add std::hash specialisations for ip::basic_endpoint<>.
2021-01-09 11:03:52 +11:00
Christopher Kohlhoff
0407653764
Add std::hash specialisations for IP addresses.
2021-01-09 11:03:52 +11:00
Christopher Kohlhoff
54269864e6
Add ip::port_type type alias.
2021-01-09 11:03:52 +11:00
Christopher Kohlhoff
d87b482c34
Add ip::scope_id_type type alias.
2021-01-09 11:03:52 +11:00
Pavel A. Lebedev
00d6e4ccca
Fix outstanding_work.tracked executor move assignment.
...
Move assignments for io_context and thread pool executors are missing
the logic present in copy assignments that finishes work on old contexts.
This causes the following example to hang:
#include <boost/asio/execution/outstanding_work.hpp>
#include <boost/asio/prefer.hpp>
#include <boost/asio/static_thread_pool.hpp>
int main()
{
asio::static_thread_pool tp1{1},tp2{1};
{
auto work = asio::prefer(tp1.get_executor(),
asio::execution::outstanding_work.tracked);
work = asio::prefer(tp2.get_executor(),
asio::execution::outstanding_work.tracked);
}
tp1.join();
tp2.join();
}
2021-01-07 19:37:26 +11:00
Christopher Kohlhoff
5f39960dd9
Make the thread_pool executor's execute, require, and query members private.
2021-01-07 19:37:26 +11:00
Christopher Kohlhoff
ae0f7878bb
Make system_executor's execute, require, and query members private.
2021-01-07 19:37:26 +11:00
Christopher Kohlhoff
b88b70a49f
Make the io_context executor's execute, require, and query functions private.
2021-01-07 19:37:26 +11:00
Christopher Kohlhoff
171328a6cb
Add friendship support to execution::occupancy property.
2021-01-07 19:37:26 +11:00
Christopher Kohlhoff
3c55c553d1
Add friendship support to execution::context_as property.
2021-01-07 19:37:26 +11:00
Christopher Kohlhoff
40ab600042
Add friendship support to execution::context property.
2021-01-07 19:37:26 +11:00
Christopher Kohlhoff
27ce053e07
Add friendship support to execution::allocator property.
2021-01-07 19:37:26 +11:00
Christopher Kohlhoff
e704307b2a
Add friendship support to execution::relationship property.
2021-01-07 19:37:26 +11:00
Christopher Kohlhoff
d6ec314dec
Add friendship support to execution::outstanding_work property.
2021-01-07 19:37:26 +11:00
Christopher Kohlhoff
403f559d2c
Add friendship support to execution::mapping property.
2021-01-07 19:37:26 +11:00
Christopher Kohlhoff
c541383336
Add friendship support to execution::bulk_guarantee property.
2021-01-07 19:37:26 +11:00
Christopher Kohlhoff
0106229b7e
Add friendship support to execution::blocking_adaptation property.
2021-01-07 19:37:26 +11:00
Christopher Kohlhoff
55df45012d
Add friendship support to execution::blocking property.
2021-01-07 19:37:26 +11:00
Christopher Kohlhoff
962a85f7f5
Add friendship support to require_concept CPO.
2021-01-06 13:00:17 +11:00
Christopher Kohlhoff
a3992b6d8e
Add friendship support to prefer CPO.
2021-01-06 12:04:24 +11:00
Christopher Kohlhoff
11f7ae1fab
Add friendship support to require CPO.
2021-01-06 11:56:12 +11:00
Christopher Kohlhoff
9fb71891e1
Add friendship support to query CPO.
2021-01-06 11:43:32 +11:00
Christopher Kohlhoff
359632d9ae
Add friendship support to execution::execute CPO.
2021-01-06 11:42:48 +11:00
Simon Arlott
b239979692
Don't overwrite errno if socket() fails on macOS/FreeBSD.
2021-01-05 19:14:33 +11:00
Christopher Kohlhoff
fedb31ebb2
Clarify thread safety notes on sockets and descriptors.
2021-01-05 10:56:14 +11:00
Christopher Kohlhoff
da1cf294d9
Ensure pthread condition variable attributes are cleaned up.
2021-01-05 09:33:10 +11:00
Christopher Kohlhoff
ce9e7d999a
Update copyright notices.
2021-01-02 09:49:44 +11:00
Christopher Kohlhoff
180bc40ea0
Fix experimental::as_single to work with handler hook deprecation.
2020-12-29 18:52:06 +11:00
Christopher Kohlhoff
439448326c
Don't prefer() an allocator when dispatching through any_executor.
2020-12-29 18:36:27 +11:00