2
0
mirror of https://github.com/boostorg/asio.git synced 2026-01-19 16:12:09 +00:00
Commit Graph

347 Commits

Author SHA1 Message Date
Christopher Kohlhoff
d9fffd9bce Regenerate platform macros documentation. 2021-06-05 17:43:30 +10:00
Christopher Kohlhoff
f807ab9aec Revision history. 2021-04-07 17:32:07 +10:00
Christopher Kohlhoff
efe2bc2051 Regenerate documentation. 2021-04-06 19:24:52 +10:00
Christopher Kohlhoff
06213e7378 Tell doxygen about the BOOST_ASIO_NOEXCEPT_IF macro. 2021-04-06 19:22:20 +10:00
Christopher Kohlhoff
3e88870e34 Exclude any_io_executor traits from documentation. 2021-03-04 15:45:56 +11:00
Christopher Kohlhoff
c970aba69b Use escaped names in index entries. 2021-03-04 15:45:56 +11:00
Christopher Kohlhoff
83503a2370 Regenerate documentation. 2021-03-04 10:00:02 +11:00
Christopher Kohlhoff
787d32a417 Add index entries for classes. 2021-03-04 09:09:00 +11:00
Christopher Kohlhoff
723982b867 Update copyright notices. 2021-02-25 08:29:05 +11:00
Christopher Kohlhoff
933e9373d2 Add missing SFINAE constraint to strand<>'s execute_member trait. 2020-12-03 12:14:41 +11:00
Christopher Kohlhoff
0e75749835 Fix revision history heading. 2020-12-01 10:08:36 +11:00
Christopher Kohlhoff
e2f224ab76 Revision history. 2020-12-01 10:03:15 +11:00
Christopher Kohlhoff
c31065b6c9 Remove link to defunct example. 2020-11-29 17:51:31 +11:00
Christopher Kohlhoff
23f2818953 Update list of tested configurations. 2020-11-29 17:50:33 +11:00
Christopher Kohlhoff
66ccbb3a23 Add documentation for more configuration macros. 2020-11-29 17:49:20 +11:00
Christopher Kohlhoff
50b9d5247f Improve build doc discoverability 2020-11-29 17:40:19 +11:00
Christopher Kohlhoff
c81ba25e9f Add auto-generated documentation for compiler/platform feature macros. 2020-11-29 17:39:38 +11:00
Christopher Kohlhoff
dfad49ed56 Add interim release notes. 2020-11-04 21:59:36 +11:00
Christopher Kohlhoff
eb1f1131c1 Add executor-converting construction/assignment to ip::basic_resolver. 2020-11-02 14:03:10 +11:00
Christopher Kohlhoff
311d355ab4 Add experimental::as_single completion token adapter.
The as_single completion token adapter can be used to specify that the
completion handler arguments should be combined into a single argument.
For completion signatures with a single parameter, the argument is
passed through as-is. For signatures with two or more parameters, the
arguments are combined into a tuple.

The as_single adapter may be used in conjunction with use_awaitable and
structured bindings as follows:

    auto [e, n] = co_await socket.async_read_some(
        boost::asio::buffer(data), as_single(use_awaitable));

Alternatively, it may be used as a default completion token like so:

    using default_token = as_single_t<use_awaitable_t<>>;
    using tcp_socket = default_token::as_default_on_t<tcp::socket>;
    // ...
    awaitable<void> do_read(tcp_socket socket)
    {
      // ...
      auto [e, n] = co_await socket.async_read_some(boost::asio::buffer(data));
      // ...
    }
2020-11-02 14:03:09 +11:00
Christopher Kohlhoff
c034e3906f Clarify when the select reactor is used on Windows. 2020-11-02 14:03:09 +11:00
Christopher Kohlhoff
b3c8f8ed5e Revert "Restore null pointer check for better performance."
This reverts commit 50b38b57e6. This
change was applied in the wrong spot and introduced an uninitialised
memory access. The corresponding entry in the Revision History has
also been removed.
2020-08-11 09:33:07 +10:00
Christopher Kohlhoff
fd68805a3f Update revision history. 2020-08-05 23:13:10 +10:00
Christopher Kohlhoff
2a0773e1e0 Add some basic documentation on standard executors support. 2020-08-05 23:13:10 +10:00
Christopher Kohlhoff
18deb3dc5f Document that there are multiple types of I/O execution context. 2020-08-05 22:54:41 +10:00
Christopher Kohlhoff
917e05ceb3 Clarify impact of any_io_executor change. 2020-08-05 22:51:20 +10:00
Christopher Kohlhoff
06f8c1f98d Add shape_type and index_type to static_thread_pool executor, as per specification. 2020-08-04 12:52:40 +10:00
Christopher Kohlhoff
e53feeb5bf Add constraints to strand<>'s constructor to prevent template instantiation recursion. 2020-07-31 18:47:27 +10:00
Christopher Kohlhoff
bbbda48bfb Mark constructors in synopses for nested classes and classes in sub-namespaces. 2020-07-30 10:40:56 +10:00
Christopher Kohlhoff
543c453423 Make blocking_t::always_t::is_preferable false as per specification. 2020-07-28 22:16:24 +10:00
Christopher Kohlhoff
db0d05de01 Fix typos. 2020-07-28 22:14:03 +10:00
Christopher Kohlhoff
bfdf118094 Fix reference to asio::query customisation point. 2020-07-28 22:12:31 +10:00
Christopher Kohlhoff
7ddf71b69b Exclude I/O objects' impl_ data members from documentation. 2020-07-28 22:10:58 +10:00
Christopher Kohlhoff
680130daf2 Mark constructors/destructors in class synopses. 2020-07-28 22:09:10 +10:00
Christopher Kohlhoff
7d3c889c60 Mark static members in class synopses. 2020-07-28 22:07:38 +10:00
Christopher Kohlhoff
3ee1087d1c Add detailed descriptions for standard executor-related member functions. 2020-07-27 09:37:15 +10:00
Christopher Kohlhoff
87d0d486f2 Documentation generation tweaks. 2020-07-27 09:34:51 +10:00
Christopher Kohlhoff
c5d029aeba Interim revision history. 2020-07-10 10:25:42 +10:00
Christopher Kohlhoff
7506766744 Regenerate documentation. 2020-07-06 23:56:06 +10:00
Christopher Kohlhoff
d8af4e6287 Add new execution facilities to quick reference. 2020-07-06 23:53:55 +10:00
Christopher Kohlhoff
365661a7e3 More documentation generation tweaks for new execution facilities. 2020-07-06 23:53:55 +10:00
Christopher Kohlhoff
0e6f996a94 Add documentation for execution concepts. 2020-07-06 23:31:31 +10:00
Christopher Kohlhoff
c06347a602 Documentation fix for the execution::allocator property. 2020-06-24 11:42:43 +10:00
Christopher Kohlhoff
c4adb6ff02 Regenerate documentation. 2020-06-23 11:29:09 +10:00
Christopher Kohlhoff
93eb961014 Add new execution facilities to quick reference. 2020-06-23 11:08:25 +10:00
Christopher Kohlhoff
8ce21b0001 Add new executor type requirements. 2020-06-23 11:08:25 +10:00
Christopher Kohlhoff
c55037795c Documentation generation tweaks for new execution facilities. 2020-06-23 11:08:25 +10:00
Christopher Kohlhoff
5d65dba5c8 Fix copy/paste errors in "Networking TS compatibility" docs. 2020-06-22 23:16:39 +10:00
Christopher Kohlhoff
3f12308c03 Add overloads of co_spawn that launch an awaitable.
This change allows us to write:

 co_spawn(executor,
     echo(std::move(socket)),
     detached);

instead of:

 co_spawn(executor,
     [socket = std::move(socket)]() mutable
     {
       return echo(std::move(socket));
     },
     detached);
2020-06-22 20:49:30 +10:00
Christopher Kohlhoff
cb60b08ff5 Add source location support to handler tracking.
The BOOST_ASIO_HANDLER_LOCATION((file_name, line, function_name)) macro
may be used to inform the handler tracking mechanism of a source
location. This macro declares an object that is placed on the stack.

When an asynchronous operation is launched with location information, it
outputs lines using the <action> 'n^m', prior to the 'n*m' line that
signifies the beginning of the asynchronous operation. For example:

    @asio|1589423304.861944|>7|ec=system:0,bytes_transferred=5
    @asio|1589423304.861952|7^8|in 'async_write' (./../../../include/asio/impl/write.hpp:330)
    @asio|1589423304.861952|7^8|called from 'do_write' (handler_tracking/async_tcp_echo_server.cpp:62)
    @asio|1589423304.861952|7^8|called from 'operator()' (handler_tracking/async_tcp_echo_server.cpp:51)
    @asio|1589423304.861952|7*8|socket@0x7ff61c008230.async_send
    @asio|1589423304.861975|.8|non_blocking_send,ec=system:0,bytes_transferred=5
    @asio|1589423304.861980|<7|

If std::source_location or std::experimental::source_location are
available, the use_awaitable_t token (when default-constructed or used
as a default completion token) will also cause handler tracking to
output a source location for each newly created asynchronous operation.
A use_awaitable_t object may also be explicitly constructed with location
information.
2020-06-22 20:46:29 +10:00