<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>ip::basic_resolver::async_resolve (2 of 2 overloads)</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="../async_resolve.html" title="ip::basic_resolver::async_resolve">
<link rel="prev" href="overload1.html" title="ip::basic_resolver::async_resolve (1 of 2 overloads)">
<link rel="next" href="../basic_resolver.html" title="ip::basic_resolver::basic_resolver">
</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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_resolve.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="../basic_resolver.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h5 class="title">
<a name="boost_asio.reference.ip__basic_resolver.async_resolve.overload2"></a><a class="link" href="overload2.html" title="ip::basic_resolver::async_resolve (2 of 2 overloads)">ip::basic_resolver::async_resolve
          (2 of 2 overloads)</a>
</h5></div></div></div>
<p>
            Asynchronously perform reverse resolution of an endpoint to a list of
            entries.
          </p>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
    <span class="keyword">typename</span> <a class="link" href="../../ResolveHandler.html" title="Resolve handler requirements">ResolveHandler</a><span class="special">&gt;</span>
<span class="keyword">void</span> <span class="identifier">async_resolve</span><span class="special">(</span>
    <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">e</span><span class="special">,</span>
    <span class="identifier">ResolveHandler</span> <span class="identifier">handler</span><span class="special">);</span>
</pre>
<p>
            This function is used to asynchronously resolve an endpoint into a list
            of endpoint entries.
          </p>
<a name="boost_asio.reference.ip__basic_resolver.async_resolve.overload2.parameters"></a><h6>
<a name="id1191150"></a>
            <a class="link" href="overload2.html#boost_asio.reference.ip__basic_resolver.async_resolve.overload2.parameters">Parameters</a>
          </h6>
<div class="variablelist">
<p class="title"><b></b></p>
<dl>
<dt><span class="term">e</span></dt>
<dd><p>
                  An endpoint object that determines what endpoints will be returned.
                </p></dd>
<dt><span class="term">handler</span></dt>
<dd>
<p>
                  The handler to be called when the resolve operation completes.
                  Copies will be made of the handler as required. The function signature
                  of the handler must be: 
</p>
<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
  <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.
</span>  <span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">iterator</span>             <span class="comment">// Forward-only iterator that can
</span>                                          <span class="comment">// be used to traverse the list
</span>                                          <span class="comment">// of endpoint entries.
</span><span class="special">);</span> 
</pre>
<p>
                  Regardless of whether the asynchronous operation completes immediately
                  or not, the handler will not be invoked from within this function.
                  Invocation of the handler will be performed in a manner equivalent
                  to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
                </p>
</dd>
</dl>
</div>
<a name="boost_asio.reference.ip__basic_resolver.async_resolve.overload2.remarks"></a><h6>
<a name="id1191369"></a>
            <a class="link" href="overload2.html#boost_asio.reference.ip__basic_resolver.async_resolve.overload2.remarks">Remarks</a>
          </h6>
<p>
            A default constructed iterator represents the end of the list.
          </p>
<p>
            A successful resolve operation is guaranteed to pass at least one entry
            to the handler.
          </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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_resolve.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="../basic_resolver.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
