<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>io_service::strand</title>
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="io_service__service/_service.html" title="io_service::service::~service">
<link rel="next" href="io_service__strand/dispatch.html" title="io_service::strand::dispatch">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
<td align="center"><a href="../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="io_service__service/_service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_service__strand/dispatch.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_asio.reference.io_service__strand"></a><a class="link" href="io_service__strand.html" title="io_service::strand">io_service::strand</a>
</h3></div></div></div>
<p>
        Provides serialised handler execution.
      </p>
<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">strand</span>
</pre>
<a name="boost_asio.reference.io_service__strand.member_functions"></a><h5>
<a name="id1165155"></a>
        <a class="link" href="io_service__strand.html#boost_asio.reference.io_service__strand.member_functions">Member
        Functions</a>
      </h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Name
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  <a class="link" href="io_service__strand/dispatch.html" title="io_service::strand::dispatch"><span class="bold"><strong>dispatch</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Request the strand to invoke the given handler.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="io_service__strand/get_io_service.html" title="io_service::strand::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get the io_service associated with the strand.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="io_service__strand/io_service.html" title="io_service::strand::io_service"><span class="bold"><strong>io_service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  (Deprecated: use get_io_service().) Get the io_service associated
                  with the strand.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="io_service__strand/post.html" title="io_service::strand::post"><span class="bold"><strong>post</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Request the strand to invoke the given handler and return immediately.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="io_service__strand/strand.html" title="io_service::strand::strand"><span class="bold"><strong>strand</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Constructor.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="io_service__strand/wrap.html" title="io_service::strand::wrap"><span class="bold"><strong>wrap</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Create a new handler that automatically dispatches the wrapped
                  handler on the strand.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="io_service__strand/_strand.html" title="io_service::strand::~strand"><span class="bold"><strong>~strand</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Destructor.
                </p>
              </td>
</tr>
</tbody>
</table></div>
<p>
        The <a class="link" href="io_service__strand.html" title="io_service::strand"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span></code></a> class provides the ability
        to post and dispatch handlers with the guarantee that none of those handlers
        will execute concurrently.
      </p>
<a name="boost_asio.reference.io_service__strand.order_of_handler_invocation"></a><h5>
<a name="id1165453"></a>
        <a class="link" href="io_service__strand.html#boost_asio.reference.io_service__strand.order_of_handler_invocation">Order
        of handler invocation</a>
      </h5>
<p>
        Given:
      </p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
            a strand object <code class="computeroutput"><span class="identifier">s</span></code>
          </li>
<li class="listitem">
            an object <code class="computeroutput"><span class="identifier">a</span></code> meeting completion
            handler requirements
          </li>
<li class="listitem">
            an object <code class="computeroutput"><span class="identifier">a1</span></code> which is
            an arbitrary copy of <code class="computeroutput"><span class="identifier">a</span></code>
            made by the implementation
          </li>
<li class="listitem">
            an object <code class="computeroutput"><span class="identifier">b</span></code> meeting completion
            handler requirements
          </li>
<li class="listitem">
            an object <code class="computeroutput"><span class="identifier">b1</span></code> which is
            an arbitrary copy of <code class="computeroutput"><span class="identifier">b</span></code>
            made by the implementation
          </li>
</ul></div>
<p>
        if any of the following conditions are true:
      </p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
            <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
            happens-before <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>
          </li>
<li class="listitem">
            <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
            happens-before <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>,
            where the latter is performed outside the strand
          </li>
<li class="listitem">
            <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
            happens-before <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>,
            where the former is performed outside the strand
          </li>
<li class="listitem">
            <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
            happens-before <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>,
            where both are performed outside the strand
          </li>
</ul></div>
<p>
        then <code class="computeroutput"><span class="identifier">asio_handler_invoke</span><span class="special">(</span><span class="identifier">a1</span><span class="special">,</span>
        <span class="special">&amp;</span><span class="identifier">a1</span><span class="special">)</span></code> happens-before <code class="computeroutput"><span class="identifier">asio_handler_invoke</span><span class="special">(</span><span class="identifier">b1</span><span class="special">,</span>
        <span class="special">&amp;</span><span class="identifier">b1</span><span class="special">)</span></code>.
      </p>
<p>
        Note that in the following case:
      </p>
<pre class="programlisting"><span class="identifier">async_op_1</span><span class="special">(...,</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">a</span><span class="special">));</span>
<span class="identifier">async_op_2</span><span class="special">(...,</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">b</span><span class="special">));</span> 
</pre>
<p>
        the completion of the first async operation will perform <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>,
        and the second will perform <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>,
        but the order in which those are performed is unspecified. That is, you cannot
        state whether one happens-before the other. Therefore none of the above conditions
        are met and no ordering guarantee is made.
      </p>
<a name="boost_asio.reference.io_service__strand.thread_safety"></a><h5>
<a name="id1166118"></a>
        <a class="link" href="io_service__strand.html#boost_asio.reference.io_service__strand.thread_safety">Thread
        Safety</a>
      </h5>
<p>
        <span class="bold"><strong>Distinct</strong></span> <span class="bold"><strong>objects:</strong></span>
        Safe.
      </p>
<p>
        <span class="bold"><strong>Shared</strong></span> <span class="bold"><strong>objects:</strong></span>
        Safe.
      </p>
<a name="boost_asio.reference.io_service__strand.requirements"></a><h5>
<a name="id1166170"></a>
        <a class="link" href="io_service__strand.html#boost_asio.reference.io_service__strand.requirements">Requirements</a>
      </h5>
<p>
        <span class="bold"><strong>Header: </strong></span><code class="literal">boost/asio/strand.hpp</code>
      </p>
<p>
        <span class="bold"><strong>Convenience header: </strong></span><code class="literal">boost/asio.hpp</code>
      </p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2003 - 2010 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></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="io_service__service/_service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_service__strand/dispatch.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
