1222 lines
70 KiB
HTML
1222 lines
70 KiB
HTML
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<title>Networking TS compatibility</title>
|
|
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
|
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
|
<link rel="home" href="../index.html" title="Asio">
|
|
<link rel="up" href="../index.html" title="Asio">
|
|
<link rel="prev" href="reference/yield_context.html" title="yield_context">
|
|
<link rel="next" href="std_executors.html" title="Proposed Standard Executors">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
</head>
|
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
|
<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="asio C++ library" width="250" height="60" src="../asio.png"></td></tr></table>
|
|
<hr>
|
|
<div class="spirit-nav">
|
|
<a accesskey="p" href="reference/yield_context.html"><img src="../prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../home.png" alt="Home"></a><a accesskey="n" href="std_executors.html"><img src="../next.png" alt="Next"></a>
|
|
</div>
|
|
<div class="section">
|
|
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
|
<a name="asio.net_ts"></a><a class="link" href="net_ts.html" title="Networking TS compatibility">Networking TS compatibility</a>
|
|
</h2></div></div></div>
|
|
<p>
|
|
Asio now provides the interfaces and functionality specified by the "C++
|
|
Extensions for Networking" Technical Specification. In addition to access
|
|
via the usual Asio header files, this functionality may be accessed through
|
|
special headers that correspond to the header files defined in the TS. These
|
|
are listed in the table below:
|
|
</p>
|
|
<div class="informaltable"><table class="table">
|
|
<colgroup>
|
|
<col>
|
|
<col>
|
|
</colgroup>
|
|
<thead><tr>
|
|
<th>
|
|
<p>
|
|
Networking TS header
|
|
</p>
|
|
</th>
|
|
<th>
|
|
<p>
|
|
Asio header
|
|
</p>
|
|
</th>
|
|
</tr></thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">buffer</span><span class="special">></span></code>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">asio</span><span class="special">/</span><span class="identifier">ts</span><span class="special">/</span><span class="identifier">buffer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">executor</span><span class="special">></span></code>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">asio</span><span class="special">/</span><span class="identifier">ts</span><span class="special">/</span><span class="identifier">executor</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">internet</span><span class="special">></span></code>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">asio</span><span class="special">/</span><span class="identifier">ts</span><span class="special">/</span><span class="identifier">internet</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">io_context</span><span class="special">></span></code>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">asio</span><span class="special">/</span><span class="identifier">ts</span><span class="special">/</span><span class="identifier">io_context</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">net</span><span class="special">></span></code>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">asio</span><span class="special">/</span><span class="identifier">ts</span><span class="special">/</span><span class="identifier">net</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">netfwd</span><span class="special">></span></code>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">asio</span><span class="special">/</span><span class="identifier">ts</span><span class="special">/</span><span class="identifier">netfwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">socket</span><span class="special">></span></code>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">asio</span><span class="special">/</span><span class="identifier">ts</span><span class="special">/</span><span class="identifier">socket</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">timer</span><span class="special">></span></code>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">asio</span><span class="special">/</span><span class="identifier">ts</span><span class="special">/</span><span class="identifier">timer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table></div>
|
|
<p>
|
|
In some cases the new Networking TS compatible interfaces supersede older Asio
|
|
facilities. In these cases the older interfaces have been deprecated. The table
|
|
below shows the new Networking TS interfaces and the facilities they replace:
|
|
</p>
|
|
<div class="informaltable"><table class="table">
|
|
<colgroup>
|
|
<col>
|
|
<col>
|
|
<col>
|
|
</colgroup>
|
|
<thead><tr>
|
|
<th>
|
|
<p>
|
|
New interface
|
|
</p>
|
|
</th>
|
|
<th>
|
|
<p>
|
|
Old interface
|
|
</p>
|
|
</th>
|
|
<th>
|
|
<p>
|
|
Notes
|
|
</p>
|
|
</th>
|
|
</tr></thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/io_context.html" title="io_context"><code class="computeroutput"><span class="identifier">io_context</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The name <code class="computeroutput"><span class="identifier">io_service</span></code>
|
|
is retained as a typedef.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/dispatch.html" title="dispatch"><code class="computeroutput"><span class="identifier">dispatch</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/io_context/dispatch.html" title="io_context::dispatch"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">dispatch</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The <code class="computeroutput"><span class="identifier">dispatch</span></code> free
|
|
function can be used to submit functions to any <a class="link" href="reference/Executor1.html" title="Executor requirements">Executor</a>
|
|
or <a class="link" href="reference/ExecutionContext.html" title="Execution context requirements">ExecutionContext</a>.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/post.html" title="post"><code class="computeroutput"><span class="identifier">post</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/io_context/post.html" title="io_context::post"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The <code class="computeroutput"><span class="identifier">post</span></code> free function
|
|
can be used to submit functions to any <a class="link" href="reference/Executor1.html" title="Executor requirements">Executor</a>
|
|
or <a class="link" href="reference/ExecutionContext.html" title="Execution context requirements">ExecutionContext</a>.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/defer.html" title="defer"><code class="computeroutput"><span class="identifier">defer</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/io_context/post.html" title="io_context::post"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span></code></a>
|
|
when the <a class="link" href="reference/asio_handler_is_continuation.html" title="asio_handler_is_continuation"><code class="computeroutput"><span class="identifier">asio_handler_is_continuation</span></code></a>
|
|
hook returns true
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The <code class="computeroutput"><span class="identifier">defer</span></code> free function
|
|
can be used to submit functions to any <a class="link" href="reference/Executor1.html" title="Executor requirements">Executor</a>
|
|
or <a class="link" href="reference/ExecutionContext.html" title="Execution context requirements">ExecutionContext</a>.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/io_context/poll.html" title="io_context::poll"><code class="computeroutput"><span class="identifier">io_context</span><span class="special">::</span><span class="identifier">poll</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/io_context/poll.html" title="io_context::poll"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll</span></code></a>
|
|
overload that takes <code class="computeroutput"><span class="identifier">error_code</span><span class="special">&</span></code>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The <code class="computeroutput"><span class="identifier">error_code</span></code> overload
|
|
is not required.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/io_context/poll_one.html" title="io_context::poll_one"><code class="computeroutput"><span class="identifier">io_context</span><span class="special">::</span><span class="identifier">poll_one</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/io_context/poll_one.html" title="io_context::poll_one"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll_one</span></code></a> overload that takes
|
|
<code class="computeroutput"><span class="identifier">error_code</span><span class="special">&</span></code>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The <code class="computeroutput"><span class="identifier">error_code</span></code> overload
|
|
is not required.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/io_context/run.html" title="io_context::run"><code class="computeroutput"><span class="identifier">io_context</span><span class="special">::</span><span class="identifier">run</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/io_context/run.html" title="io_context::run"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span></code></a>
|
|
overload that takes <code class="computeroutput"><span class="identifier">error_code</span><span class="special">&</span></code>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The <code class="computeroutput"><span class="identifier">error_code</span></code> overload
|
|
is not required.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/io_context/run_one.html" title="io_context::run_one"><code class="computeroutput"><span class="identifier">io_context</span><span class="special">::</span><span class="identifier">run_one</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/io_context/run_one.html" title="io_context::run_one"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run_one</span></code></a>
|
|
overload that takes <code class="computeroutput"><span class="identifier">error_code</span><span class="special">&</span></code>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The <code class="computeroutput"><span class="identifier">error_code</span></code> overload
|
|
is not required.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/io_context/run_for.html" title="io_context::run_for"><code class="computeroutput"><span class="identifier">io_context</span><span class="special">::</span><span class="identifier">run_for</span></code></a>,
|
|
<a class="link" href="reference/io_context/run_until.html" title="io_context::run_until"><code class="computeroutput"><span class="identifier">io_context</span><span class="special">::</span><span class="identifier">run_until</span></code></a>, <a class="link" href="reference/io_context/run_one_for.html" title="io_context::run_one_for"><code class="computeroutput"><span class="identifier">io_context</span><span class="special">::</span><span class="identifier">run_one_for</span></code></a>, and <a class="link" href="reference/io_context/run_one_until.html" title="io_context::run_one_until"><code class="computeroutput"><span class="identifier">io_context</span><span class="special">::</span><span class="identifier">run_one_until</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
These functions add the ability to run an <code class="computeroutput"><span class="identifier">io_context</span></code>
|
|
for a limited time.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/io_context/restart.html" title="io_context::restart"><code class="computeroutput"><span class="identifier">io_context</span><span class="special">::</span><span class="identifier">restart</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/io_context/reset.html" title="io_context::reset"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">reset</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/io_context/io_context.html" title="io_context::io_context"><code class="computeroutput"><span class="identifier">io_context</span></code></a> constructor
|
|
<code class="computeroutput"><span class="identifier">concurrency_hint</span></code>
|
|
parameter is type <code class="computeroutput"><span class="keyword">int</span></code>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/io_context/io_context.html" title="io_context::io_context"><code class="computeroutput"><span class="identifier">io_context</span></code></a> constructor
|
|
<code class="computeroutput"><span class="identifier">concurrency_hint</span></code>
|
|
parameter is type <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span></code>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The old constructor has not been retained as a deprecated overload.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/execution_context.html" title="execution_context"><code class="computeroutput"><span class="identifier">execution_context</span></code></a>,
|
|
<a class="link" href="reference/execution_context__service.html" title="execution_context::service"><code class="computeroutput"><span class="identifier">execution_context</span><span class="special">::</span><span class="identifier">service</span></code></a>, and <a class="link" href="reference/execution_context__id.html" title="execution_context::id"><code class="computeroutput"><span class="identifier">execution_context</span><span class="special">::</span><span class="identifier">id</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/io_context.html" title="io_context"><code class="computeroutput"><span class="identifier">io_service</span></code></a>,
|
|
<a class="link" href="reference/io_context__service.html" title="io_context::service"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span></code></a>, and <a class="link" href="reference/execution_context__id.html" title="execution_context::id"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The service-related functionality has been moved to the <code class="computeroutput"><span class="identifier">execution_context</span></code> base class. This
|
|
may also be used as a base for creating custom execution contexts.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/execution_context/make_service.html" title="execution_context::make_service"><code class="computeroutput"><span class="identifier">make_service</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/execution_context/add_service.html" title="execution_context::add_service"><code class="computeroutput"><span class="identifier">add_service</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/strand.html" title="strand"><code class="computeroutput"><span class="identifier">strand</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/io_context__strand.html" title="io_context::strand"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
This template works with any valid executor, and is itself a valid
|
|
executor.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/executor_work_guard.html" title="executor_work_guard"><code class="computeroutput"><span class="identifier">executor_work_guard</span></code></a> and
|
|
<a class="link" href="reference/make_work_guard.html" title="make_work_guard"><code class="computeroutput"><span class="identifier">make_work_guard</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/io_context__work.html" title="io_context::work"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">work</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Work tracking is now covered by the <a class="link" href="reference/Executor1.html" title="Executor requirements">Executor</a>
|
|
requirements. These templates work with any valid executor.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/executor_binder.html" title="executor_binder"><code class="computeroutput"><span class="identifier">executor_binder</span></code></a>
|
|
and <a class="link" href="reference/bind_executor.html" title="bind_executor"><code class="computeroutput"><span class="identifier">bind_executor</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/io_context/wrap.html" title="io_context::wrap"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">wrap</span></code></a>
|
|
and <a class="link" href="reference/io_context__strand/wrap.html" title="io_context::strand::wrap"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span><span class="special">::</span><span class="identifier">wrap</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
These templates work with any valid executor.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/async_result.html" title="async_result"><code class="computeroutput"><span class="identifier">async_result</span></code></a>
|
|
with <code class="computeroutput"><span class="identifier">CompletionToken</span></code>
|
|
and <code class="computeroutput"><span class="identifier">Signature</span></code> template
|
|
parameters
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<code class="computeroutput"><span class="identifier">handler_type</span></code> and
|
|
single parameter <code class="computeroutput"><span class="identifier">async_result</span></code>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The <code class="computeroutput"><span class="identifier">async_result</span></code>
|
|
trait is now the single point of customisation for asynchronous operation
|
|
completion handlers and return type.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/associated_executor.html" title="associated_executor"><code class="computeroutput"><span class="identifier">associated_executor</span></code></a> and
|
|
<a class="link" href="reference/get_associated_executor.html" title="get_associated_executor"><code class="computeroutput"><span class="identifier">get_associated_executor</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/asio_handler_invoke.html" title="asio_handler_invoke"><code class="computeroutput"><span class="identifier">asio_handler_invoke</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The handler invocation hook has been replaced by the new <a class="link" href="reference/Executor1.html" title="Executor requirements">Executor</a>
|
|
requirements and the associated executor traits.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/associated_allocator.html" title="associated_allocator"><code class="computeroutput"><span class="identifier">associated_allocator</span></code></a> and
|
|
<a class="link" href="reference/get_associated_allocator.html" title="get_associated_allocator"><code class="computeroutput"><span class="identifier">get_associated_allocator</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/asio_handler_allocate.html" title="asio_handler_allocate"><code class="computeroutput"><span class="identifier">asio_handler_allocate</span></code></a> and
|
|
<a class="link" href="reference/asio_handler_deallocate.html" title="asio_handler_deallocate"><code class="computeroutput"><span class="identifier">asio_handler_deallocate</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The handler allocation hooks have been replaced by the standard Allocator
|
|
requirements and the associated allocator traits.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/const_buffer/data.html" title="const_buffer::data"><code class="computeroutput"><span class="identifier">const_buffer</span><span class="special">::</span><span class="identifier">data</span></code></a>
|
|
and <a class="link" href="reference/mutable_buffer/data.html" title="mutable_buffer::data"><code class="computeroutput"><span class="identifier">mutable_buffer</span><span class="special">::</span><span class="identifier">data</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/buffer_cast.html" title="buffer_cast"><code class="computeroutput"><span class="identifier">buffer_cast</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/const_buffer/size.html" title="const_buffer::size"><code class="computeroutput"><span class="identifier">const_buffer</span><span class="special">::</span><span class="identifier">size</span></code></a>
|
|
and <a class="link" href="reference/mutable_buffer/size.html" title="mutable_buffer::size"><code class="computeroutput"><span class="identifier">mutable_buffer</span><span class="special">::</span><span class="identifier">size</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/buffer_size.html" title="buffer_size"><code class="computeroutput"><span class="identifier">buffer_size</span></code></a>
|
|
for single buffers
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<code class="computeroutput"><span class="identifier">buffer_size</span></code> is not
|
|
deprecated for single buffers as <code class="computeroutput"><span class="identifier">const_buffer</span></code>
|
|
and <code class="computeroutput"><span class="identifier">mutable_buffer</span></code>
|
|
now satisfy the buffer sequence requirements
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/const_buffer.html" title="const_buffer"><code class="computeroutput"><span class="identifier">const_buffer</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/const_buffers_1.html" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The <a class="link" href="reference/ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a>
|
|
requirements have been modified such that <code class="computeroutput"><span class="identifier">const_buffer</span></code>
|
|
now satisfies them.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/mutable_buffer.html" title="mutable_buffer"><code class="computeroutput"><span class="identifier">mutable_buffer</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/mutable_buffers_1.html" title="mutable_buffers_1"><code class="computeroutput"><span class="identifier">mutable_buffers_1</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The <a class="link" href="reference/MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a>
|
|
requirements have been modified such that <code class="computeroutput"><span class="identifier">mutable_buffer</span></code>
|
|
now satisfies them.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_socket/get_executor.html" title="basic_socket::get_executor"><code class="computeroutput"><span class="identifier">basic_socket</span><span class="special">::</span><span class="identifier">get_executor</span></code></a> (and corresponding
|
|
member for I/O objects such as timers, serial ports, etc.)
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_io_object/get_io_service.html" title="basic_io_object::get_io_service"><code class="computeroutput"><span class="identifier">basic_io_object</span><span class="special">::</span><span class="identifier">get_io_service</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Use <code class="computeroutput"><span class="identifier">get_executor</span><span class="special">().</span><span class="identifier">context</span><span class="special">()</span></code> to obtain the associated <code class="computeroutput"><span class="identifier">io_context</span></code>.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/socket_base/max_listen_connections.html" title="socket_base::max_listen_connections"><code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">max_listen_connections</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/socket_base/max_connections.html" title="socket_base::max_connections"><code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">max_connections</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/socket_base/wait_type.html" title="socket_base::wait_type"><code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">wait_type</span></code></a>, <a class="link" href="reference/basic_socket/wait.html" title="basic_socket::wait"><code class="computeroutput"><span class="identifier">basic_socket</span><span class="special">::</span><span class="identifier">wait</span></code></a>, <a class="link" href="reference/basic_socket/async_wait.html" title="basic_socket::async_wait"><code class="computeroutput"><span class="identifier">basic_socket</span><span class="special">::</span><span class="identifier">async_wait</span></code></a>, <a class="link" href="reference/basic_socket_acceptor/wait.html" title="basic_socket_acceptor::wait"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span><span class="special">::</span><span class="identifier">wait</span></code></a>, and <a class="link" href="reference/basic_socket_acceptor/async_wait.html" title="basic_socket_acceptor::async_wait"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span><span class="special">::</span><span class="identifier">async_wait</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/null_buffers.html" title="null_buffers"><code class="computeroutput"><span class="identifier">null_buffers</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Operations for reactive I/O.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_socket_acceptor/accept.html" title="basic_socket_acceptor::accept"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span><span class="special">::</span><span class="identifier">accept</span></code></a> returns a socket
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_socket_acceptor/accept.html" title="basic_socket_acceptor::accept"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span><span class="special">::</span><span class="identifier">accept</span></code></a> takes a socket by
|
|
reference
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Uses move support so requires C++11 or later. To accept a connection
|
|
into a socket object on a different <code class="computeroutput"><span class="identifier">io_context</span></code>,
|
|
pass the destination context to <code class="computeroutput"><span class="identifier">accept</span></code>.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_socket_acceptor/async_accept.html" title="basic_socket_acceptor::async_accept"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span><span class="special">::</span><span class="identifier">async_accept</span></code></a> passes socket
|
|
to handler
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_socket_acceptor/async_accept.html" title="basic_socket_acceptor::async_accept"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span><span class="special">::</span><span class="identifier">async_accept</span></code></a> takes a socket
|
|
by reference
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Uses move support so requires C++11 or later. To accept a connection
|
|
into a socket object on a different <code class="computeroutput"><span class="identifier">io_context</span></code>,
|
|
pass the destination context to <code class="computeroutput"><span class="identifier">async_accept</span></code>.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/connect.html" title="connect"><code class="computeroutput"><span class="identifier">connect</span></code></a>
|
|
overloads that take a range
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/connect.html" title="connect"><code class="computeroutput"><span class="identifier">connect</span></code></a>
|
|
overloads that take a single iterator
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The <a class="link" href="reference/ip__basic_resolver/resolve.html" title="ip::basic_resolver::resolve"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span><span class="special">::</span><span class="identifier">resolve</span></code></a> function now returns
|
|
a range. When the <code class="computeroutput"><span class="identifier">resolve</span></code>
|
|
function's result is passed directly to <code class="computeroutput"><span class="identifier">connect</span></code>,
|
|
the range overload will be selected.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/async_connect.html" title="async_connect"><code class="computeroutput"><span class="identifier">async_connect</span></code></a>
|
|
overloads that take a range
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/async_connect.html" title="async_connect"><code class="computeroutput"><span class="identifier">async_connect</span></code></a>
|
|
overloads that take a single iterator
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The <a class="link" href="reference/ip__basic_resolver/resolve.html" title="ip::basic_resolver::resolve"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span><span class="special">::</span><span class="identifier">resolve</span></code></a> function now returns
|
|
a range. When the <code class="computeroutput"><span class="identifier">resolve</span></code>
|
|
function's result is passed directly to <code class="computeroutput"><span class="identifier">async_connect</span></code>,
|
|
the range overload will be selected.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_socket_streambuf/duration.html" title="basic_socket_streambuf::duration"><code class="computeroutput"><span class="identifier">basic_socket_streambuf</span><span class="special">::</span><span class="identifier">duration</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_socket_streambuf/duration_type.html" title="basic_socket_streambuf::duration_type"><code class="computeroutput"><span class="identifier">basic_socket_streambuf</span><span class="special">::</span><span class="identifier">duration_type</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_socket_streambuf/time_point.html" title="basic_socket_streambuf::time_point"><code class="computeroutput"><span class="identifier">basic_socket_streambuf</span><span class="special">::</span><span class="identifier">time_point</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_socket_streambuf/time_type.html" title="basic_socket_streambuf::time_type"><code class="computeroutput"><span class="identifier">basic_socket_streambuf</span><span class="special">::</span><span class="identifier">time_type</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_socket_streambuf/expiry.html" title="basic_socket_streambuf::expiry"><code class="computeroutput"><span class="identifier">basic_socket_streambuf</span><span class="special">::</span><span class="identifier">expiry</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_socket_streambuf/expires_at.html" title="basic_socket_streambuf::expires_at"><code class="computeroutput"><span class="identifier">basic_socket_streambuf</span><span class="special">::</span><span class="identifier">expires_at</span></code></a> and <a class="link" href="reference/basic_socket_streambuf/expires_from_now.html" title="basic_socket_streambuf::expires_from_now"><code class="computeroutput"><span class="identifier">basic_socket_streambuf</span><span class="special">::</span><span class="identifier">expires_from_now</span></code></a> getters
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_socket_streambuf/expires_after.html" title="basic_socket_streambuf::expires_after"><code class="computeroutput"><span class="identifier">basic_socket_streambuf</span><span class="special">::</span><span class="identifier">expires_after</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_socket_streambuf/expires_from_now.html" title="basic_socket_streambuf::expires_from_now"><code class="computeroutput"><span class="identifier">basic_socket_streambuf</span><span class="special">::</span><span class="identifier">expires_from_now</span></code></a> setter
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_socket_streambuf/error.html" title="basic_socket_streambuf::error"><code class="computeroutput"><span class="identifier">basic_socket_streambuf</span><span class="special">::</span><span class="identifier">error</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_socket_streambuf/puberror.html" title="basic_socket_streambuf::puberror"><code class="computeroutput"><span class="identifier">basic_socket_streambuf</span><span class="special">::</span><span class="identifier">puberror</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_socket_iostream/duration.html" title="basic_socket_iostream::duration"><code class="computeroutput"><span class="identifier">basic_socket_iostream</span><span class="special">::</span><span class="identifier">duration</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_socket_iostream/duration_type.html" title="basic_socket_iostream::duration_type"><code class="computeroutput"><span class="identifier">basic_socket_iostream</span><span class="special">::</span><span class="identifier">duration_type</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_socket_iostream/time_point.html" title="basic_socket_iostream::time_point"><code class="computeroutput"><span class="identifier">basic_socket_iostream</span><span class="special">::</span><span class="identifier">time_point</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_socket_iostream/time_type.html" title="basic_socket_iostream::time_type"><code class="computeroutput"><span class="identifier">basic_socket_iostream</span><span class="special">::</span><span class="identifier">time_type</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_socket_iostream/expiry.html" title="basic_socket_iostream::expiry"><code class="computeroutput"><span class="identifier">basic_socket_iostream</span><span class="special">::</span><span class="identifier">expiry</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_socket_iostream/expires_at.html" title="basic_socket_iostream::expires_at"><code class="computeroutput"><span class="identifier">basic_socket_iostream</span><span class="special">::</span><span class="identifier">expires_at</span></code></a> and <a class="link" href="reference/basic_socket_iostream/expires_from_now.html" title="basic_socket_iostream::expires_from_now"><code class="computeroutput"><span class="identifier">basic_socket_iostream</span><span class="special">::</span><span class="identifier">expires_from_now</span></code></a> getters
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_socket_iostream/expires_after.html" title="basic_socket_iostream::expires_after"><code class="computeroutput"><span class="identifier">basic_socket_iostream</span><span class="special">::</span><span class="identifier">expires_after</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_socket_iostream/expires_from_now.html" title="basic_socket_iostream::expires_from_now"><code class="computeroutput"><span class="identifier">basic_socket_iostream</span><span class="special">::</span><span class="identifier">expires_from_now</span></code></a> setter
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_waitable_timer/cancel.html" title="basic_waitable_timer::cancel"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span><span class="special">::</span><span class="identifier">cancel</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_waitable_timer/cancel.html" title="basic_waitable_timer::cancel"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span><span class="special">::</span><span class="identifier">cancel</span></code></a> overload that takes
|
|
<code class="computeroutput"><span class="identifier">error_code</span><span class="special">&</span></code>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The <code class="computeroutput"><span class="identifier">error_code</span></code> overload
|
|
is not required.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_waitable_timer/cancel_one.html" title="basic_waitable_timer::cancel_one"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span><span class="special">::</span><span class="identifier">cancel_one</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_waitable_timer/cancel_one.html" title="basic_waitable_timer::cancel_one"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span><span class="special">::</span><span class="identifier">cancel_one</span></code></a> overload that
|
|
takes <code class="computeroutput"><span class="identifier">error_code</span><span class="special">&</span></code>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The <code class="computeroutput"><span class="identifier">error_code</span></code> overload
|
|
is not required.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_waitable_timer/expires_at.html" title="basic_waitable_timer::expires_at"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span><span class="special">::</span><span class="identifier">expires_at</span></code></a> setter
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_waitable_timer/expires_at.html" title="basic_waitable_timer::expires_at"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span><span class="special">::</span><span class="identifier">expires_at</span></code></a> setter that takes
|
|
<code class="computeroutput"><span class="identifier">error_code</span><span class="special">&</span></code>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The <code class="computeroutput"><span class="identifier">error_code</span></code> overload
|
|
is not required.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_waitable_timer/expiry.html" title="basic_waitable_timer::expiry"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span><span class="special">::</span><span class="identifier">expiry</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_waitable_timer/expires_at.html" title="basic_waitable_timer::expires_at"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span><span class="special">::</span><span class="identifier">expires_at</span></code></a> and <a class="link" href="reference/basic_waitable_timer/expires_from_now.html" title="basic_waitable_timer::expires_from_now"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span><span class="special">::</span><span class="identifier">expires_from_now</span></code></a> getters
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_waitable_timer/expires_after.html" title="basic_waitable_timer::expires_after"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span><span class="special">::</span><span class="identifier">expires_after</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/basic_waitable_timer/expires_from_now.html" title="basic_waitable_timer::expires_from_now"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span><span class="special">::</span><span class="identifier">expires_from_now</span></code></a> setter
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__address/make_address.html" title="ip::address::make_address"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">make_address</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__address/from_string.html" title="ip::address::from_string"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__address_v4/make_address_v4.html" title="ip::address_v4::make_address_v4"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">make_address_v4</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__address_v4/from_string.html" title="ip::address_v4::from_string"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span><span class="special">::</span><span class="identifier">from_string</span></code></a> and <a class="link" href="reference/ip__address_v6/to_v4.html" title="ip::address_v6::to_v4"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v6</span><span class="special">::</span><span class="identifier">to_v4</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__address_v6/make_address_v6.html" title="ip::address_v6::make_address_v6"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">make_address_v6</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__address_v6/from_string.html" title="ip::address_v6::from_string"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v6</span><span class="special">::</span><span class="identifier">from_string</span></code></a> and <a class="link" href="reference/ip__address_v6/v4_mapped.html" title="ip::address_v6::v4_mapped"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v6</span><span class="special">::</span><span class="identifier">v4_mapped</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__address/to_string.html" title="ip::address::to_string"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">to_string</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__address/to_string.html" title="ip::address::to_string"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">to_string</span></code></a> that takes <code class="computeroutput"><span class="identifier">error_code</span><span class="special">&</span></code>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The <code class="computeroutput"><span class="identifier">error_code</span></code> overload
|
|
is not required.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__address_v4/to_string.html" title="ip::address_v4::to_string"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span><span class="special">::</span><span class="identifier">to_string</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__address_v4/to_string.html" title="ip::address_v4::to_string"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span><span class="special">::</span><span class="identifier">to_string</span></code></a> that takes <code class="computeroutput"><span class="identifier">error_code</span><span class="special">&</span></code>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The <code class="computeroutput"><span class="identifier">error_code</span></code> overload
|
|
is not required.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__address_v6/to_string.html" title="ip::address_v6::to_string"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v6</span><span class="special">::</span><span class="identifier">to_string</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__address_v6/to_string.html" title="ip::address_v6::to_string"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v6</span><span class="special">::</span><span class="identifier">to_string</span></code></a> that takes <code class="computeroutput"><span class="identifier">error_code</span><span class="special">&</span></code>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The <code class="computeroutput"><span class="identifier">error_code</span></code> overload
|
|
is not required.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
No replacement
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__address_v6/is_v4_compatible.html" title="ip::address_v6::is_v4_compatible"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v6</span><span class="special">::</span><span class="identifier">is_v4_compatible</span></code></a> and <a class="link" href="reference/ip__address_v6/v4_compatible.html" title="ip::address_v6::v4_compatible"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v6</span><span class="special">::</span><span class="identifier">v4_compatible</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__network_v4.html" title="ip::network_v4"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">network_v4</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__address_v4/broadcast.html" title="ip::address_v4::broadcast"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span><span class="special">::</span><span class="identifier">broadcast</span></code></a>, <a class="link" href="reference/ip__address_v4/is_class_a.html" title="ip::address_v4::is_class_a"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span><span class="special">::</span><span class="identifier">is_class_a</span></code></a>, <a class="link" href="reference/ip__address_v4/is_class_b.html" title="ip::address_v4::is_class_b"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span><span class="special">::</span><span class="identifier">is_class_b</span></code></a>, <a class="link" href="reference/ip__address_v4/is_class_c.html" title="ip::address_v4::is_class_c"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span><span class="special">::</span><span class="identifier">is_class_c</span></code></a>, and <a class="link" href="reference/ip__address_v4/netmask.html" title="ip::address_v4::netmask"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span><span class="special">::</span><span class="identifier">netmask</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The <code class="computeroutput"><span class="identifier">network_v4</span></code> class
|
|
adds the ability to manipulate IPv4 network addresses using CIDR
|
|
notation.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__network_v6.html" title="ip::network_v6"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">network_v6</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The <code class="computeroutput"><span class="identifier">network_v6</span></code> class
|
|
adds the ability to manipulate IPv6 network addresses using CIDR
|
|
notation.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__basic_address_iterator_lt__address_v4__gt_.html" title="ip::basic_address_iterator< address_v4 >"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4_iterator</span></code></a> and
|
|
<a class="link" href="reference/ip__basic_address_range_lt__address_v4__gt_.html" title="ip::basic_address_range< address_v4 >"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4_range</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4_iterator</span></code> and <code class="computeroutput"><span class="identifier">address_v4_range</span></code> classes add the
|
|
ability to iterate over all, or a subset of, IPv4 addresses.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__basic_address_iterator_lt__address_v6__gt_.html" title="ip::basic_address_iterator< address_v6 >"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v6_iterator</span></code></a> and
|
|
<a class="link" href="reference/ip__basic_address_range_lt__address_v6__gt_.html" title="ip::basic_address_range< address_v6 >"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v6_range</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v6_iterator</span></code> and <code class="computeroutput"><span class="identifier">address_v6_range</span></code> classes add the
|
|
ability to iterate over all, or a subset of, IPv6 addresses.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__basic_resolver/results_type.html" title="ip::basic_resolver::results_type"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span><span class="special">::</span><span class="identifier">results_type</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__basic_resolver/iterator.html" title="ip::basic_resolver::iterator"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span><span class="special">::</span><span class="identifier">iterator</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Resolvers now produce ranges rather than single iterators.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__basic_resolver/resolve.html" title="ip::basic_resolver::resolve"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span><span class="special">::</span><span class="identifier">resolve</span></code></a> overloads taking
|
|
hostname and service as arguments
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__basic_resolver/resolve.html" title="ip::basic_resolver::resolve"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span><span class="special">::</span><span class="identifier">resolve</span></code></a> overloads taking
|
|
a <a class="link" href="reference/ip__basic_resolver/query.html" title="ip::basic_resolver::query"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span><span class="special">::</span><span class="identifier">query</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__basic_resolver/resolve.html" title="ip::basic_resolver::resolve"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span><span class="special">::</span><span class="identifier">resolve</span></code></a> returns a range
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__basic_resolver/resolve.html" title="ip::basic_resolver::resolve"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span><span class="special">::</span><span class="identifier">resolve</span></code></a> returns a single
|
|
iterator
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__basic_resolver/async_resolve.html" title="ip::basic_resolver::async_resolve"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span><span class="special">::</span><span class="identifier">async_resolve</span></code></a> overloads
|
|
taking hostname and service as arguments
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__basic_resolver/async_resolve.html" title="ip::basic_resolver::async_resolve"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span><span class="special">::</span><span class="identifier">async_resolve</span></code></a> overloads
|
|
taking a <a class="link" href="reference/ip__basic_resolver/query.html" title="ip::basic_resolver::query"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span><span class="special">::</span><span class="identifier">query</span></code></a>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__basic_resolver/async_resolve.html" title="ip::basic_resolver::async_resolve"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span><span class="special">::</span><span class="identifier">async_resolve</span></code></a> calls the
|
|
handler with a range
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
<a class="link" href="reference/ip__basic_resolver/async_resolve.html" title="ip::basic_resolver::async_resolve"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span><span class="special">::</span><span class="identifier">async_resolve</span></code></a> calls the
|
|
handler with a single iterator
|
|
</p>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table></div>
|
|
</div>
|
|
<div class="copyright-footer">Copyright © 2003-2023 Christopher M. Kohlhoff<p>
|
|
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
|
</p>
|
|
</div>
|
|
<hr>
|
|
<div class="spirit-nav">
|
|
<a accesskey="p" href="reference/yield_context.html"><img src="../prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../home.png" alt="Home"></a><a accesskey="n" href="std_executors.html"><img src="../next.png" alt="Next"></a>
|
|
</div>
|
|
</body>
|
|
</html>
|