<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Qpid Proton C++ API: direct_recv.cpp</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Qpid Proton C++ API
   &#160;<span id="projectnumber">master</span>
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('direct_recv_8cpp-example.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">direct_recv.cpp</div>  </div>
</div><!--header-->
<div class="contents">
<p>Accepts an incoming connection and then receives like <code>simple_recv</code>. You can connect directly to <code>direct_recv</code> <em>without</em> a broker using <a class="el" href="simple_send_8cpp-example.html">simple_send.cpp</a>. Make sure to stop the broker first or use a different port for <code>direct_recv</code>.</p>
<div class="fragment"><div class="line"><span class="comment">/*</span></div><div class="line"><span class="comment"> *</span></div><div class="line"><span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><span class="comment"> * or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><span class="comment"> * distributed with this work for additional information</span></div><div class="line"><span class="comment"> * regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div><div class="line"><span class="comment"> * &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><span class="comment"> * with the License.  You may obtain a copy of the License at</span></div><div class="line"><span class="comment"> *</span></div><div class="line"><span class="comment"> *   http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><span class="comment"> *</span></div><div class="line"><span class="comment"> * Unless required by applicable law or agreed to in writing,</span></div><div class="line"><span class="comment"> * software distributed under the License is distributed on an</span></div><div class="line"><span class="comment"> * &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div><div class="line"><span class="comment"> * KIND, either express or implied.  See the License for the</span></div><div class="line"><span class="comment"> * specific language governing permissions and limitations</span></div><div class="line"><span class="comment"> * under the License.</span></div><div class="line"><span class="comment"> *</span></div><div class="line"><span class="comment"> */</span></div><div class="line"></div><div class="line"><span class="preprocessor">#include &quot;options.hpp&quot;</span></div><div class="line"></div><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="connection_8hpp.html">proton/connection.hpp</a>&gt;</span></div><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="container_8hpp.html">proton/container.hpp</a>&gt;</span></div><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="delivery_8hpp.html">proton/delivery.hpp</a>&gt;</span></div><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="message_8hpp.html">proton/message.hpp</a>&gt;</span></div><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="message__id_8hpp.html">proton/message_id.hpp</a>&gt;</span></div><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="messaging__handler_8hpp.html">proton/messaging_handler.hpp</a>&gt;</span></div><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="link_8hpp.html">proton/link.hpp</a>&gt;</span></div><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="listen__handler_8hpp.html">proton/listen_handler.hpp</a>&gt;</span></div><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="listener_8hpp.html">proton/listener.hpp</a>&gt;</span></div><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="value_8hpp.html">proton/value.hpp</a>&gt;</span></div><div class="line"></div><div class="line"><span class="preprocessor">#include &lt;iostream&gt;</span></div><div class="line"><span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"></div><div class="line"><span class="preprocessor">#include &quot;fake_cpp11.hpp&quot;</span></div><div class="line"></div><div class="line"><span class="keyword">class </span>direct_recv : <span class="keyword">public</span> <a name="_a0"></a><a class="code" href="classproton_1_1messaging__handler.html">proton::messaging_handler</a> {</div><div class="line">  <span class="keyword">private</span>:</div><div class="line">    <span class="keyword">class </span>listener_ready_handler : <span class="keyword">public</span> <a name="_a1"></a><a class="code" href="classproton_1_1listen__handler.html">proton::listen_handler</a> {</div><div class="line">        <span class="keywordtype">void</span> on_open(<a name="_a2"></a><a class="code" href="classproton_1_1listener.html">proton::listener</a>&amp; l) OVERRIDE {</div><div class="line">            std::cout &lt;&lt; <span class="stringliteral">&quot;listening on &quot;</span> &lt;&lt; l.<a name="a3"></a><a class="code" href="classproton_1_1listener.html#a0a3b88007d7cb5fa8d890376c5a8b102">port</a>() &lt;&lt; std::endl;</div><div class="line">        }</div><div class="line">    };</div><div class="line"></div><div class="line">    std::string url;</div><div class="line">    <a class="code" href="classproton_1_1listener.html">proton::listener</a> listener;</div><div class="line">    listener_ready_handler listen_handler;</div><div class="line">    <span class="keywordtype">int</span> expected;</div><div class="line">    <span class="keywordtype">int</span> received;</div><div class="line"></div><div class="line">  <span class="keyword">public</span>:</div><div class="line">    direct_recv(<span class="keyword">const</span> std::string &amp;s, <span class="keywordtype">int</span> c) : url(s), expected(c), received(0) {}</div><div class="line"></div><div class="line">    <span class="keywordtype">void</span> on_container_start(<a name="_a4"></a><a class="code" href="classproton_1_1container.html">proton::container</a> &amp;c) OVERRIDE {</div><div class="line">        listener = c.<a name="a5"></a><a class="code" href="classproton_1_1container.html#a9e138b28e9589583915cf5c5e0e7a524">listen</a>(url, listen_handler);</div><div class="line">    }</div><div class="line"></div><div class="line">    <span class="keywordtype">void</span> on_message(<a name="_a6"></a><a class="code" href="classproton_1_1delivery.html">proton::delivery</a> &amp;d, <a name="_a7"></a><a class="code" href="classproton_1_1message.html">proton::message</a> &amp;msg) OVERRIDE {</div><div class="line">        <span class="keywordflow">if</span> (proton::coerce&lt;int&gt;(msg.<a name="a8"></a><a class="code" href="classproton_1_1message.html#a84811758e758988a802673edca6b77cb">id</a>()) &lt; received) {</div><div class="line">            <span class="keywordflow">return</span>; <span class="comment">// Ignore duplicate</span></div><div class="line">        }</div><div class="line"></div><div class="line">        <span class="keywordflow">if</span> (expected == 0 || received &lt; expected) {</div><div class="line">            std::cout &lt;&lt; msg.<a name="a9"></a><a class="code" href="classproton_1_1message.html#ae9af642f154a68ec0eb8e715ecaf95ae">body</a>() &lt;&lt; std::endl;</div><div class="line">            received++;</div><div class="line">        }</div><div class="line"></div><div class="line">        <span class="keywordflow">if</span> (received == expected) {</div><div class="line">            d.<a name="a10"></a><a class="code" href="classproton_1_1delivery.html#aeb4319de46c92afec4ebbb3116d67c39">receiver</a>().<a name="a11"></a><a class="code" href="classproton_1_1link.html#a5ae591df94fc66ccb85cbb6565368bca">close</a>();</div><div class="line">            d.<a name="a12"></a><a class="code" href="classproton_1_1transfer.html#aff302bb6016f2ae29f01bb4e07389a52">connection</a>().<a name="a13"></a><a class="code" href="classproton_1_1connection.html#a5ae591df94fc66ccb85cbb6565368bca">close</a>();</div><div class="line">            listener.<a name="a14"></a><a class="code" href="classproton_1_1listener.html#a8c528baf37154d347366083f0f816846">stop</a>();</div><div class="line">        }</div><div class="line">    }</div><div class="line">};</div><div class="line"></div><div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv) {</div><div class="line">    std::string address(<span class="stringliteral">&quot;127.0.0.1:5672/examples&quot;</span>);</div><div class="line">    <span class="keywordtype">int</span> message_count = 100;</div><div class="line">    example::options opts(argc, argv);</div><div class="line"></div><div class="line">    opts.add_value(address, <span class="charliteral">&#39;a&#39;</span>, <span class="stringliteral">&quot;address&quot;</span>, <span class="stringliteral">&quot;listen and receive on URL&quot;</span>, <span class="stringliteral">&quot;URL&quot;</span>);</div><div class="line">    opts.add_value(message_count, <span class="charliteral">&#39;m&#39;</span>, <span class="stringliteral">&quot;messages&quot;</span>, <span class="stringliteral">&quot;receive COUNT messages&quot;</span>, <span class="stringliteral">&quot;COUNT&quot;</span>);</div><div class="line"></div><div class="line">    <span class="keywordflow">try</span> {</div><div class="line">        opts.parse();</div><div class="line"></div><div class="line">        direct_recv recv(address, message_count);</div><div class="line">        <a class="code" href="classproton_1_1container.html">proton::container</a>(recv).<a name="a15"></a><a class="code" href="classproton_1_1container.html#a13a43e6d814de94978c515cb084873b1">run</a>();</div><div class="line"></div><div class="line">        <span class="keywordflow">return</span> 0;</div><div class="line">    } <span class="keywordflow">catch</span> (<span class="keyword">const</span> example::bad_option&amp; e) {</div><div class="line">        std::cout &lt;&lt; opts &lt;&lt; std::endl &lt;&lt; e.what() &lt;&lt; std::endl;</div><div class="line">    } <span class="keywordflow">catch</span> (<span class="keyword">const</span> std::exception&amp; e) {</div><div class="line">        std::cerr &lt;&lt; e.what() &lt;&lt; std::endl;</div><div class="line">    }</div><div class="line"></div><div class="line">    <span class="keywordflow">return</span> 1;</div><div class="line">}</div></div><!-- fragment --> </div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
