http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/content/releases/qpid-proton-0.13.0/proton/cpp/api/broker_8hpp.html ---------------------------------------------------------------------- diff --git a/content/releases/qpid-proton-0.13.0/proton/cpp/api/broker_8hpp.html b/content/releases/qpid-proton-0.13.0/proton/cpp/api/broker_8hpp.html deleted file mode 100755 index 89d5822..0000000 --- a/content/releases/qpid-proton-0.13.0/proton/cpp/api/broker_8hpp.html +++ /dev/null @@ -1,149 +0,0 @@ -<!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.10"/> -<title>Qpid Proton C++ API: /tmp/jross/transom/qpid-proton-0.13.0/examples/cpp/broker.hpp File Reference</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); - $(window).load(resizeHeight); -</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 -  <span id="projectnumber">0.13.0</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.10 --> -<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('broker_8hpp.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="summary"> -<a href="#nested-classes">Classes</a> </div> - <div class="headertitle"> -<div class="title">broker.hpp File Reference</div> </div> -</div><!--header--> -<div class="contents"> - -<p>Common code used by different broker examples. -<a href="#details">More...</a></p> -<div class="textblock"><code>#include <proton/connection.hpp></code><br /> -<code>#include <proton/delivery.hpp></code><br /> -<code>#include <proton/messaging_handler.hpp></code><br /> -<code>#include <proton/message.hpp></code><br /> -<code>#include <proton/sasl.hpp></code><br /> -<code>#include <proton/sender.hpp></code><br /> -<code>#include <proton/tracker.hpp></code><br /> -<code>#include <proton/transport.hpp></code><br /> -<code>#include <proton/sender_options.hpp></code><br /> -<code>#include <proton/receiver_options.hpp></code><br /> -<code>#include <proton/source_options.hpp></code><br /> -<code>#include <proton/target_options.hpp></code><br /> -<code>#include <iostream></code><br /> -<code>#include <deque></code><br /> -<code>#include <map></code><br /> -<code>#include <list></code><br /> -<code>#include <sstream></code><br /> -<code>#include <proton/config.hpp></code><br /> -</div> -<p><a href="broker_8hpp_source.html">Go to the source code of this file.</a></p> -<table class="memberdecls"> -<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> -Classes</h2></td></tr> -<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classqueue.html">queue</a></td></tr> -<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A simple implementation of a queue. <a href="classqueue.html#details">More...</a><br /></td></tr> -<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classqueues.html">queues</a></td></tr> -<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A collection of queues and queue factory, used by a broker. <a href="classqueues.html#details">More...</a><br /></td></tr> -<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classbroker__handler.html">broker_handler</a></td></tr> -<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Common handler logic for brokers. <a href="classbroker__handler.html#details">More...</a><br /></td></tr> -<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> -</table> -<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> -<div class="textblock"><p>Common code used by different broker examples. </p> -<p>The examples add functionality as needed, this helps to make it easier to see the important differences between the examples. </p> -</div></div><!-- contents --> -</div><!-- doc-content --> -<!-- start footer part --> -<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> - <ul> - <li class="navelem"><a class="el" href="dir_4d8692bc36455c9e8f279d1418e9c377.html">examples</a></li><li class="navelem"><a class="el" href="dir_68dbebc2d4ee9a03f43003df514bee59.html">cpp</a></li><li class="navelem"><a class="el" href="broker_8hpp.html">broker.hpp</a></li> - <li class="footer">Generated by - <a href="http://www.doxygen.org/index.html"> - <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li> - </ul> -</div> -</body> -</html>
http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/content/releases/qpid-proton-0.13.0/proton/cpp/api/broker_8hpp_source.html ---------------------------------------------------------------------- diff --git a/content/releases/qpid-proton-0.13.0/proton/cpp/api/broker_8hpp_source.html b/content/releases/qpid-proton-0.13.0/proton/cpp/api/broker_8hpp_source.html deleted file mode 100755 index 48a2e99..0000000 --- a/content/releases/qpid-proton-0.13.0/proton/cpp/api/broker_8hpp_source.html +++ /dev/null @@ -1,366 +0,0 @@ -<!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.10"/> -<title>Qpid Proton C++ API: /tmp/jross/transom/qpid-proton-0.13.0/examples/cpp/broker.hpp Source File</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); - $(window).load(resizeHeight); -</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 -  <span id="projectnumber">0.13.0</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.10 --> -<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('broker_8hpp_source.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">broker.hpp</div> </div> -</div><!--header--> -<div class="contents"> -<a href="broker_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef BROKER_HPP</span></div> -<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor">#define BROKER_HPP</span></div> -<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> </div> -<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">/*</span></div> -<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div> -<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * or more contributor license agreements. See the NOTICE file</span></div> -<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * distributed with this work for additional information</span></div> -<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * regarding copyright ownership. The ASF licenses this file</span></div> -<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div> -<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * "License"); you may not use this file except in compliance</span></div> -<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * with the License. You may obtain a copy of the License at</span></div> -<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> *</span></div> -<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div> -<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div> -<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * Unless required by applicable law or agreed to in writing,</span></div> -<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * software distributed under the License is distributed on an</span></div> -<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div> -<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * KIND, either express or implied. See the License for the</span></div> -<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * specific language governing permissions and limitations</span></div> -<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * under the License.</span></div> -<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> */</span></div> -<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div> -<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div> -<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <proton/connection.hpp></span></div> -<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <proton/delivery.hpp></span></div> -<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <proton/messaging_handler.hpp></span></div> -<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <proton/message.hpp></span></div> -<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <proton/sasl.hpp></span></div> -<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <proton/sender.hpp></span></div> -<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <proton/tracker.hpp></span></div> -<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <proton/transport.hpp></span></div> -<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <proton/sender_options.hpp></span></div> -<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <proton/receiver_options.hpp></span></div> -<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <proton/source_options.hpp></span></div> -<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <proton/target_options.hpp></span></div> -<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div> -<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <iostream></span></div> -<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <deque></span></div> -<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <map></span></div> -<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <list></span></div> -<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <sstream></span></div> -<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div> -<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classqueue.html"> 50</a></span> <span class="keyword">class </span><a class="code" href="classqueue.html">queue</a> {</div> -<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keyword">public</span>:</div> -<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="classqueue.html">queue</a>(<span class="keyword">const</span> std::string &name, <span class="keywordtype">bool</span> dynamic = <span class="keyword">false</span>) : name_(name), dynamic_(dynamic) {}</div> -<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div> -<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  std::string name()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> name_; }</div> -<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div> -<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordtype">void</span> subscribe(<a class="code" href="classproton_1_1sender.html">proton::sender</a> s) {</div> -<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  consumers_.push_back(s);</div> -<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  }</div> -<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div> -<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="comment">// Return true if queue can be deleted.</span></div> -<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordtype">bool</span> unsubscribe(<a class="code" href="classproton_1_1sender.html">proton::sender</a> s) {</div> -<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  consumers_.remove(s);</div> -<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">return</span> (consumers_.size() == 0 && (dynamic_ || messages_.size() == 0));</div> -<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  }</div> -<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div> -<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordtype">void</span> publish(<span class="keyword">const</span> <a class="code" href="classproton_1_1message.html">proton::message</a> &m) {</div> -<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  messages_.push_back(m);</div> -<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  dispatch(0);</div> -<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  }</div> -<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div> -<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordtype">void</span> dispatch(<a class="code" href="classproton_1_1sender.html">proton::sender</a> *s) {</div> -<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordflow">while</span> (deliver_to(s)) {}</div> -<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  }</div> -<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div> -<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordtype">bool</span> deliver_to(<a class="code" href="classproton_1_1sender.html">proton::sender</a> *s) {</div> -<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="comment">// Deliver to single sender if supplied, else all consumers</span></div> -<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordtype">int</span> count = s ? 1 : consumers_.size();</div> -<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div> -<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">if</span> (!count) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div> -<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div> -<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordtype">bool</span> result = <span class="keyword">false</span>;</div> -<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  sender_list::iterator it = consumers_.begin();</div> -<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div> -<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordflow">if</span> (!s && count) {</div> -<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  s = &*it;</div> -<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  }</div> -<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div> -<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">while</span> (messages_.size()) {</div> -<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">if</span> (s-><a class="code" href="classproton_1_1link.html#a75360c7515b9f569871c5ea953286649">credit</a>()) {</div> -<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keyword">const</span> <a class="code" href="classproton_1_1message.html">proton::message</a>& m = messages_.front();</div> -<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div> -<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  s-><a class="code" href="classproton_1_1sender.html#a214eb30b24e6831d016a47b9dddda830">send</a>(m);</div> -<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  messages_.pop_front();</div> -<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  result = <span class="keyword">true</span>;</div> -<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  }</div> -<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div> -<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">if</span> (--count) {</div> -<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  it++;</div> -<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  } <span class="keywordflow">else</span> {</div> -<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">return</span> result;</div> -<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  }</div> -<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  }</div> -<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div> -<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div> -<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  }</div> -<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div> -<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keyword">private</span>:</div> -<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keyword">typedef</span> std::deque<proton::message> message_queue;</div> -<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keyword">typedef</span> std::list<proton::sender> sender_list;</div> -<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div> -<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  std::string name_;</div> -<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordtype">bool</span> dynamic_;</div> -<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  message_queue messages_;</div> -<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  sender_list consumers_;</div> -<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> };</div> -<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div> -<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classqueues.html"> 118</a></span> <span class="keyword">class </span><a class="code" href="classqueues.html">queues</a> {</div> -<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keyword">public</span>:</div> -<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <a class="code" href="classqueues.html">queues</a>() : next_id_(0) {}</div> -<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keyword">virtual</span> ~<a class="code" href="classqueues.html">queues</a>() {}</div> -<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div> -<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="comment">// Get or create a queue.</span></div> -<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keyword">virtual</span> <a class="code" href="classqueue.html">queue</a> &<span class="keyword">get</span>(<span class="keyword">const</span> std::string &address = std::string()) {</div> -<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">if</span> (address.empty()) {</div> -<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">"empty queue name"</span>);</div> -<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  }</div> -<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div> -<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <a class="code" href="classqueue.html">queue</a>*& q = queues_[address];</div> -<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div> -<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">if</span> (!q) q = <span class="keyword">new</span> <a class="code" href="classqueue.html">queue</a>(address);</div> -<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div> -<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">return</span> *q;</div> -<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  }</div> -<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div> -<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="comment">// Create a dynamic queue with a unique name.</span></div> -<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keyword">virtual</span> <a class="code" href="classqueue.html">queue</a> &dynamic() {</div> -<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  std::ostringstream os;</div> -<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  os << <span class="stringliteral">"q"</span> << next_id_++;</div> -<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <a class="code" href="classqueue.html">queue</a> *q = queues_[os.str()] = <span class="keyword">new</span> <a class="code" href="classqueue.html">queue</a>(os.str(), <span class="keyword">true</span>);</div> -<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div> -<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">return</span> *q;</div> -<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  }</div> -<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div> -<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="comment">// Delete the named queue</span></div> -<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> erase(std::string &name) {</div> -<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keyword">delete</span> queues_[name];</div> -<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  queues_.erase(name);</div> -<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  }</div> -<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div> -<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keyword">protected</span>:</div> -<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keyword">typedef</span> std::map<std::string, queue *> queue_map;</div> -<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  queue_map queues_;</div> -<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  uint64_t next_id_; <span class="comment">// Use to generate unique queue IDs.</span></div> -<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> };</div> -<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div> -<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="preprocessor">#include <proton/config.hpp></span></div> -<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div> -<div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="classbroker__handler.html"> 160</a></span> <span class="keyword">class </span><a class="code" href="classbroker__handler.html">broker_handler</a> : <span class="keyword">public</span> <a class="code" href="classproton_1_1messaging__handler.html">proton::messaging_handler</a> {</div> -<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keyword">public</span>:</div> -<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <a class="code" href="classbroker__handler.html">broker_handler</a>(<a class="code" href="classqueues.html">queues</a>& qs) : queues_(qs) {}</div> -<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div> -<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="classbroker__handler.html#a921fd578050f05c5d4a3455ec4836c79"> 164</a></span>  <span class="keywordtype">void</span> <a class="code" href="classbroker__handler.html#a921fd578050f05c5d4a3455ec4836c79">on_transport_open</a>(<a class="code" href="classproton_1_1transport.html">proton::transport</a> &t) OVERRIDE {</div> -<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  std::cout << <span class="stringliteral">"Connection from user: "</span> << t.sasl().user() << <span class="stringliteral">" (mechanism: "</span> << t.sasl().mech() << <span class="stringliteral">")"</span> << std::endl;</div> -<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  }</div> -<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div> -<div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="classbroker__handler.html#a95946209c119a6e042580b70e0db968b"> 168</a></span>  <span class="keywordtype">void</span> <a class="code" href="classbroker__handler.html#a95946209c119a6e042580b70e0db968b">on_sender_open</a>(<a class="code" href="classproton_1_1sender.html">proton::sender</a> &sender) OVERRIDE {</div> -<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <a class="code" href="classproton_1_1source.html">proton::source</a> src(sender.source());</div> -<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <a class="code" href="classqueue.html">queue</a> &q = src.dynamic() ?</div> -<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  queues_.dynamic() : queues_.get(src.address());</div> -<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  sender.open(<a class="code" href="classproton_1_1sender__options.html">proton::sender_options</a>().source(<a class="code" href="classproton_1_1source__options.html">proton::source_options</a>().address(q.name())));</div> -<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  q.subscribe(sender);</div> -<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  std::cout << <span class="stringliteral">"broker outgoing link from "</span> << q.name() << std::endl;</div> -<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  }</div> -<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div> -<div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classbroker__handler.html#a95d85b0cf35fab68a90782b501d87fb6"> 177</a></span>  <span class="keywordtype">void</span> <a class="code" href="classbroker__handler.html#a95d85b0cf35fab68a90782b501d87fb6">on_receiver_open</a>(<a class="code" href="classproton_1_1receiver.html">proton::receiver</a> &receiver) OVERRIDE {</div> -<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  std::string address = receiver.target().address();</div> -<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">if</span> (!address.empty()) {</div> -<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  receiver.open(<a class="code" href="classproton_1_1receiver__options.html">proton::receiver_options</a>().target(<a class="code" href="classproton_1_1target__options.html">proton::target_options</a>().address(address)));</div> -<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  std::cout << <span class="stringliteral">"broker incoming link to "</span> << address << std::endl;</div> -<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  }</div> -<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  }</div> -<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div> -<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordtype">void</span> unsubscribe(<a class="code" href="classproton_1_1sender.html">proton::sender</a> lnk) {</div> -<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  std::string address = lnk.<a class="code" href="classproton_1_1sender.html#a2f1d8ca25f71dff178c462cf984327f9">source</a>().<a class="code" href="classproton_1_1source.html#a977efa04715923ca4fa290a6ec90c830">address</a>();</div> -<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div> -<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordflow">if</span> (queues_.get(address).unsubscribe(lnk)) {</div> -<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  queues_.erase(address);</div> -<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  }</div> -<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  }</div> -<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div> -<div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="classbroker__handler.html#ae981e071cf64d2662c62ca9965bb3877"> 193</a></span>  <span class="keywordtype">void</span> <a class="code" href="classbroker__handler.html#ae981e071cf64d2662c62ca9965bb3877">on_sender_close</a>(<a class="code" href="classproton_1_1sender.html">proton::sender</a> &sender) OVERRIDE {</div> -<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  unsubscribe(sender);</div> -<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  }</div> -<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div> -<div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="classbroker__handler.html#adde7bec16190792b2d70e298ad99f665"> 197</a></span>  <span class="keywordtype">void</span> <a class="code" href="classbroker__handler.html#adde7bec16190792b2d70e298ad99f665">on_connection_close</a>(<a class="code" href="classproton_1_1connection.html">proton::connection</a> &c) OVERRIDE {</div> -<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  remove_stale_consumers(c);</div> -<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  }</div> -<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div> -<div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="classbroker__handler.html#a8e5a8f33c20429dbe712554ddaa5c352"> 201</a></span>  <span class="keywordtype">void</span> <a class="code" href="classbroker__handler.html#a8e5a8f33c20429dbe712554ddaa5c352">on_transport_close</a>(<a class="code" href="classproton_1_1transport.html">proton::transport</a> &t) OVERRIDE {</div> -<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  remove_stale_consumers(t.connection());</div> -<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  }</div> -<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div> -<div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="classbroker__handler.html#a678640402af78dd3c195fc034d9895dd"> 205</a></span>  <span class="keywordtype">void</span> <a class="code" href="classbroker__handler.html#a678640402af78dd3c195fc034d9895dd">on_transport_error</a>(<a class="code" href="classproton_1_1transport.html">proton::transport</a> &t) OVERRIDE {</div> -<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  std::cout << <span class="stringliteral">"broker client disconnect: "</span> << t.error().what() << std::endl;</div> -<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  }</div> -<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div> -<div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="classbroker__handler.html#a9dd5a301bbbbb4b26073dec207de9a6b"> 209</a></span>  <span class="keywordtype">void</span> <a class="code" href="classbroker__handler.html#a9dd5a301bbbbb4b26073dec207de9a6b">on_error</a>(<span class="keyword">const</span> <a class="code" href="classproton_1_1error__condition.html">proton::error_condition</a> &c) OVERRIDE {</div> -<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  std::cerr << <span class="stringliteral">"broker error: "</span> << c.what() << std::endl;</div> -<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  }</div> -<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div> -<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordtype">void</span> remove_stale_consumers(<a class="code" href="classproton_1_1connection.html">proton::connection</a> connection) {</div> -<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  proton::sender_range sr = connection.<a class="code" href="classproton_1_1connection.html#a58b522eac213ea860e01ca619b694dbf">senders</a>();</div> -<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordflow">for</span> (proton::sender_iterator i = sr.begin(); i != sr.end(); ++i) {</div> -<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">if</span> (i->active())</div> -<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  unsubscribe(*i);</div> -<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  }</div> -<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  }</div> -<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div> -<div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="classbroker__handler.html#a25c09a23de21e65cac7e514c20f3f0a7"> 221</a></span>  <span class="keywordtype">void</span> <a class="code" href="classbroker__handler.html#a25c09a23de21e65cac7e514c20f3f0a7">on_sendable</a>(<a class="code" href="classproton_1_1sender.html">proton::sender</a> &s) OVERRIDE {</div> -<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  std::string address = s.source().address();</div> -<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div> -<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  queues_.get(address).dispatch(&s);</div> -<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  }</div> -<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div> -<div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="classbroker__handler.html#adddc32dfcf9947945fddc30642b33a89"> 227</a></span>  <span class="keywordtype">void</span> <a class="code" href="classbroker__handler.html#adddc32dfcf9947945fddc30642b33a89">on_message</a>(<a class="code" href="classproton_1_1delivery.html">proton::delivery</a> &d, <a class="code" href="classproton_1_1message.html">proton::message</a> &m) OVERRIDE {</div> -<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  std::string address = d.receiver().target().address();</div> -<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  queues_.get(address).publish(m);</div> -<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  }</div> -<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div> -<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keyword">protected</span>:</div> -<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <a class="code" href="classqueues.html">queues</a>& queues_;</div> -<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> };</div> -<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div> -<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="preprocessor">#endif // BROKER_HPP</span></div> -<div class="ttc" id="classproton_1_1link_html_a75360c7515b9f569871c5ea953286649"><div class="ttname"><a href="classproton_1_1link.html#a75360c7515b9f569871c5ea953286649">proton::link::credit</a></div><div class="ttdeci">int credit() const </div><div class="ttdoc">Credit available on the link. </div></div> -<div class="ttc" id="classproton_1_1message_html"><div class="ttname"><a href="classproton_1_1message.html">proton::message</a></div><div class="ttdoc">An AMQP message. </div><div class="ttdef"><b>Definition:</b> message.hpp:49</div></div> -<div class="ttc" id="classproton_1_1sender_html"><div class="ttname"><a href="classproton_1_1sender.html">proton::sender</a></div><div class="ttdoc">A channel for sending messages. </div><div class="ttdef"><b>Definition:</b> sender.hpp:40</div></div> -<div class="ttc" id="classproton_1_1sender__options_html"><div class="ttname"><a href="classproton_1_1sender__options.html">proton::sender_options</a></div><div class="ttdoc">Options for creating a sender. </div><div class="ttdef"><b>Definition:</b> sender_options.hpp:64</div></div> -<div class="ttc" id="classbroker__handler_html"><div class="ttname"><a href="classbroker__handler.html">broker_handler</a></div><div class="ttdoc">Common handler logic for brokers. </div><div class="ttdef"><b>Definition:</b> broker.hpp:160</div></div> -<div class="ttc" id="classbroker__handler_html_a95d85b0cf35fab68a90782b501d87fb6"><div class="ttname"><a href="classbroker__handler.html#a95d85b0cf35fab68a90782b501d87fb6">broker_handler::on_receiver_open</a></div><div class="ttdeci">void on_receiver_open(proton::receiver &receiver) OVERRIDE</div><div class="ttdoc">The remote peer opened the link. </div><div class="ttdef"><b>Definition:</b> broker.hpp:177</div></div> -<div class="ttc" id="classbroker__handler_html_a25c09a23de21e65cac7e514c20f3f0a7"><div class="ttname"><a href="classbroker__handler.html#a25c09a23de21e65cac7e514c20f3f0a7">broker_handler::on_sendable</a></div><div class="ttdeci">void on_sendable(proton::sender &s) OVERRIDE</div><div class="ttdoc">A message can be sent. </div><div class="ttdef"><b>Definition:</b> broker.hpp:221</div></div> -<div class="ttc" id="classbroker__handler_html_a9dd5a301bbbbb4b26073dec207de9a6b"><div class="ttname"><a href="classbroker__handler.html#a9dd5a301bbbbb4b26073dec207de9a6b">broker_handler::on_error</a></div><div class="ttdeci">void on_error(const proton::error_condition &c) OVERRIDE</div><div class="ttdoc">Fallback error handling. </div><div class="ttdef"><b>Definition:</b> broker.hpp:209</div></div> -<div class="ttc" id="classproton_1_1connection_html"><div class="ttname"><a href="classproton_1_1connection.html">proton::connection</a></div><div class="ttdoc">A connection to a remote AMQP peer. </div><div class="ttdef"><b>Definition:</b> connection.hpp:48</div></div> -<div class="ttc" id="classproton_1_1source_html"><div class="ttname"><a href="classproton_1_1source.html">proton::source</a></div><div class="ttdoc">A point of origin for messages. </div><div class="ttdef"><b>Definition:</b> source.hpp:41</div></div> -<div class="ttc" id="classbroker__handler_html_ae981e071cf64d2662c62ca9965bb3877"><div class="ttname"><a href="classbroker__handler.html#ae981e071cf64d2662c62ca9965bb3877">broker_handler::on_sender_close</a></div><div class="ttdeci">void on_sender_close(proton::sender &sender) OVERRIDE</div><div class="ttdoc">The remote peer closed the link. </div><div class="ttdef"><b>Definition:</b> broker.hpp:193</div></div> -<div class="ttc" id="classbroker__handler_html_adde7bec16190792b2d70e298ad99f665"><div class="ttname"><a href="classbroker__handler.html#adde7bec16190792b2d70e298ad99f665">broker_handler::on_connection_close</a></div><div class="ttdeci">void on_connection_close(proton::connection &c) OVERRIDE</div><div class="ttdoc">The remote peer closed the connection. </div><div class="ttdef"><b>Definition:</b> broker.hpp:197</div></div> -<div class="ttc" id="classqueue_html"><div class="ttname"><a href="classqueue.html">queue</a></div><div class="ttdoc">A simple implementation of a queue. </div><div class="ttdef"><b>Definition:</b> broker.hpp:50</div></div> -<div class="ttc" id="classproton_1_1delivery_html"><div class="ttname"><a href="classproton_1_1delivery.html">proton::delivery</a></div><div class="ttdoc">A received message. </div><div class="ttdef"><b>Definition:</b> delivery.hpp:40</div></div> -<div class="ttc" id="classproton_1_1sender_html_a2f1d8ca25f71dff178c462cf984327f9"><div class="ttname"><a href="classproton_1_1sender.html#a2f1d8ca25f71dff178c462cf984327f9">proton::sender::source</a></div><div class="ttdeci">class source source() const </div><div class="ttdoc">Get the source node. </div></div> -<div class="ttc" id="classbroker__handler_html_a95946209c119a6e042580b70e0db968b"><div class="ttname"><a href="classbroker__handler.html#a95946209c119a6e042580b70e0db968b">broker_handler::on_sender_open</a></div><div class="ttdeci">void on_sender_open(proton::sender &sender) OVERRIDE</div><div class="ttdoc">The remote peer opened the link. </div><div class="ttdef"><b>Definition:</b> broker.hpp:168</div></div> -<div class="ttc" id="classqueues_html"><div class="ttname"><a href="classqueues.html">queues</a></div><div class="ttdoc">A collection of queues and queue factory, used by a broker. </div><div class="ttdef"><b>Definition:</b> broker.hpp:118</div></div> -<div class="ttc" id="classbroker__handler_html_adddc32dfcf9947945fddc30642b33a89"><div class="ttname"><a href="classbroker__handler.html#adddc32dfcf9947945fddc30642b33a89">broker_handler::on_message</a></div><div class="ttdeci">void on_message(proton::delivery &d, proton::message &m) OVERRIDE</div><div class="ttdoc">A message is received. </div><div class="ttdef"><b>Definition:</b> broker.hpp:227</div></div> -<div class="ttc" id="classproton_1_1source__options_html"><div class="ttname"><a href="classproton_1_1source__options.html">proton::source_options</a></div><div class="ttdoc">Options for creating a source node for a sender or receiver. </div><div class="ttdef"><b>Definition:</b> source_options.hpp:45</div></div> -<div class="ttc" id="classbroker__handler_html_a678640402af78dd3c195fc034d9895dd"><div class="ttname"><a href="classbroker__handler.html#a678640402af78dd3c195fc034d9895dd">broker_handler::on_transport_error</a></div><div class="ttdeci">void on_transport_error(proton::transport &t) OVERRIDE</div><div class="ttdoc">The underlying network transport has closed with an error condition. </div><div class="ttdef"><b>Definition:</b> broker.hpp:205</div></div> -<div class="ttc" id="classproton_1_1connection_html_a58b522eac213ea860e01ca619b694dbf"><div class="ttname"><a href="classproton_1_1connection.html#a58b522eac213ea860e01ca619b694dbf">proton::connection::senders</a></div><div class="ttdeci">sender_range senders() const </div><div class="ttdoc">Return all senders on this connection. </div></div> -<div class="ttc" id="classproton_1_1receiver__options_html"><div class="ttname"><a href="classproton_1_1receiver__options.html">proton::receiver_options</a></div><div class="ttdoc">Options for creating a receiver. </div><div class="ttdef"><b>Definition:</b> receiver_options.hpp:62</div></div> -<div class="ttc" id="classbroker__handler_html_a8e5a8f33c20429dbe712554ddaa5c352"><div class="ttname"><a href="classbroker__handler.html#a8e5a8f33c20429dbe712554ddaa5c352">broker_handler::on_transport_close</a></div><div class="ttdeci">void on_transport_close(proton::transport &t) OVERRIDE</div><div class="ttdoc">The underlying network transport has closed. </div><div class="ttdef"><b>Definition:</b> broker.hpp:201</div></div> -<div class="ttc" id="classproton_1_1receiver_html"><div class="ttname"><a href="classproton_1_1receiver.html">proton::receiver</a></div><div class="ttdoc">A channel for receiving messages. </div><div class="ttdef"><b>Definition:</b> receiver.hpp:39</div></div> -<div class="ttc" id="classproton_1_1source_html_a977efa04715923ca4fa290a6ec90c830"><div class="ttname"><a href="classproton_1_1source.html#a977efa04715923ca4fa290a6ec90c830">proton::source::address</a></div><div class="ttdeci">std::string address() const </div><div class="ttdoc">The address of the source. </div></div> -<div class="ttc" id="classbroker__handler_html_a921fd578050f05c5d4a3455ec4836c79"><div class="ttname"><a href="classbroker__handler.html#a921fd578050f05c5d4a3455ec4836c79">broker_handler::on_transport_open</a></div><div class="ttdeci">void on_transport_open(proton::transport &t) OVERRIDE</div><div class="ttdoc">The underlying network transport is open. </div><div class="ttdef"><b>Definition:</b> broker.hpp:164</div></div> -<div class="ttc" id="classproton_1_1messaging__handler_html"><div class="ttname"><a href="classproton_1_1messaging__handler.html">proton::messaging_handler</a></div><div class="ttdoc">A handler for Proton messaging events. </div><div class="ttdef"><b>Definition:</b> messaging_handler.hpp:75</div></div> -<div class="ttc" id="classproton_1_1transport_html"><div class="ttname"><a href="classproton_1_1transport.html">proton::transport</a></div><div class="ttdoc">A network channel supporting an AMQP connection. </div><div class="ttdef"><b>Definition:</b> transport.hpp:42</div></div> -<div class="ttc" id="classproton_1_1target__options_html"><div class="ttname"><a href="classproton_1_1target__options.html">proton::target_options</a></div><div class="ttdoc">Options for creating a target node for a sender or receiver. </div><div class="ttdef"><b>Definition:</b> target_options.hpp:47</div></div> -<div class="ttc" id="classproton_1_1sender_html_a214eb30b24e6831d016a47b9dddda830"><div class="ttname"><a href="classproton_1_1sender.html#a214eb30b24e6831d016a47b9dddda830">proton::sender::send</a></div><div class="ttdeci">tracker send(const message &m)</div><div class="ttdoc">Send a message on the sender. </div></div> -<div class="ttc" id="classproton_1_1error__condition_html"><div class="ttname"><a href="classproton_1_1error__condition.html">proton::error_condition</a></div><div class="ttdoc">Describes an endpoint error state. </div><div class="ttdef"><b>Definition:</b> error_condition.hpp:37</div></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="navelem"><a class="el" href="dir_4d8692bc36455c9e8f279d1418e9c377.html">examples</a></li><li class="navelem"><a class="el" href="dir_68dbebc2d4ee9a03f43003df514bee59.html">cpp</a></li><li class="navelem"><a class="el" href="broker_8hpp.html">broker.hpp</a></li> - <li class="footer">Generated by - <a href="http://www.doxygen.org/index.html"> - <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li> - </ul> -</div> -</body> -</html> http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/content/releases/qpid-proton-0.13.0/proton/cpp/api/classbroker__handler-members.html ---------------------------------------------------------------------- diff --git a/content/releases/qpid-proton-0.13.0/proton/cpp/api/classbroker__handler-members.html b/content/releases/qpid-proton-0.13.0/proton/cpp/api/classbroker__handler-members.html deleted file mode 100755 index 4adab28..0000000 --- a/content/releases/qpid-proton-0.13.0/proton/cpp/api/classbroker__handler-members.html +++ /dev/null @@ -1,141 +0,0 @@ -<!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.10"/> -<title>Qpid Proton C++ API: Member List</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); - $(window).load(resizeHeight); -</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 -  <span id="projectnumber">0.13.0</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.10 --> -<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('classbroker__handler.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">broker_handler Member List</div> </div> -</div><!--header--> -<div class="contents"> - -<p>This is the complete list of members for <a class="el" href="classbroker__handler.html">broker_handler</a>, including all inherited members.</p> -<table class="directory"> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>broker_handler</b>(queues &qs) (defined in <a class="el" href="classbroker__handler.html">broker_handler</a>)</td><td class="entry"><a class="el" href="classbroker__handler.html">broker_handler</a></td><td class="entry"><span class="mlabel">inline</span></td></tr> - <tr bgcolor="#f0f0f0"><td class="entry"><b>messaging_handler</b>() (defined in <a class="el" href="classproton_1_1messaging__handler.html">messaging_handler</a>)</td><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html">messaging_handler</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classbroker__handler.html#adde7bec16190792b2d70e298ad99f665">on_connection_close</a>(proton::connection &c) OVERRIDE</td><td class="entry"><a class="el" href="classbroker__handler.html">broker_handler</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr> - <tr><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html#aafa83dc2f8f477ba1f76e86dc69cd1e9">on_connection_error</a>(connection &c)</td><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html">messaging_handler</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html#a16ba022e899957b2e25b9561b1f53968">on_connection_open</a>(connection &c)</td><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html">messaging_handler</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> - <tr><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html#a4949b0c93402fae0c07492d984688a25">on_container_start</a>(container &c)</td><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html">messaging_handler</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html#afc96eabc76c471d61627493eadb58ac8">on_delivery_settle</a>(delivery &d)</td><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html">messaging_handler</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> - <tr><td class="entry"><a class="el" href="classbroker__handler.html#a9dd5a301bbbbb4b26073dec207de9a6b">on_error</a>(const proton::error_condition &c) OVERRIDE</td><td class="entry"><a class="el" href="classbroker__handler.html">broker_handler</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classbroker__handler.html#adddc32dfcf9947945fddc30642b33a89">on_message</a>(proton::delivery &d, proton::message &m) OVERRIDE</td><td class="entry"><a class="el" href="classbroker__handler.html">broker_handler</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr> - <tr><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html#a77ac5c1fd05404728451cd06dee1c907">on_receiver_close</a>(receiver &l)</td><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html">messaging_handler</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html#a815e30c6d10d923d88dc1085b7b0f116">on_receiver_drain_finish</a>(receiver &r)</td><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html">messaging_handler</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> - <tr><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html#a0c281aee5483822bdf4b428834bd7f28">on_receiver_error</a>(receiver &l)</td><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html">messaging_handler</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classbroker__handler.html#a95d85b0cf35fab68a90782b501d87fb6">on_receiver_open</a>(proton::receiver &receiver) OVERRIDE</td><td class="entry"><a class="el" href="classbroker__handler.html">broker_handler</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr> - <tr><td class="entry"><a class="el" href="classbroker__handler.html#a25c09a23de21e65cac7e514c20f3f0a7">on_sendable</a>(proton::sender &s) OVERRIDE</td><td class="entry"><a class="el" href="classbroker__handler.html">broker_handler</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classbroker__handler.html#ae981e071cf64d2662c62ca9965bb3877">on_sender_close</a>(proton::sender &sender) OVERRIDE</td><td class="entry"><a class="el" href="classbroker__handler.html">broker_handler</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr> - <tr><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html#ad3d23a7c3849dabd137610f8ee1569e3">on_sender_drain_start</a>(sender &s)</td><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html">messaging_handler</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html#a2d9d98eee878f1e734457ba01e21228a">on_sender_error</a>(sender &l)</td><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html">messaging_handler</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> - <tr><td class="entry"><a class="el" href="classbroker__handler.html#a95946209c119a6e042580b70e0db968b">on_sender_open</a>(proton::sender &sender) OVERRIDE</td><td class="entry"><a class="el" href="classbroker__handler.html">broker_handler</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html#a54fe4fc5394418f8606f9263f13d2e98">on_session_close</a>(session &s)</td><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html">messaging_handler</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> - <tr><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html#aca924d2f68649df7945719be3d29a597">on_session_error</a>(session &s)</td><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html">messaging_handler</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html#adddbfd9b7fc7719490bdc21331c42302">on_session_open</a>(session &s)</td><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html">messaging_handler</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> - <tr><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html#a003afbb57c00ce404a863152db7867ad">on_tracker_accept</a>(tracker &d)</td><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html">messaging_handler</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html#a0740e8c9ed9d0c304d2adced09802893">on_tracker_reject</a>(tracker &d)</td><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html">messaging_handler</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> - <tr><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html#acfde5590c6e826ef9e2c33a28edefe19">on_tracker_release</a>(tracker &d)</td><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html">messaging_handler</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html#a023a5c57eeeaf79ed5b768cd172ad0ac">on_tracker_settle</a>(tracker &d)</td><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html">messaging_handler</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> - <tr><td class="entry"><a class="el" href="classbroker__handler.html#a8e5a8f33c20429dbe712554ddaa5c352">on_transport_close</a>(proton::transport &t) OVERRIDE</td><td class="entry"><a class="el" href="classbroker__handler.html">broker_handler</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="classbroker__handler.html#a678640402af78dd3c195fc034d9895dd">on_transport_error</a>(proton::transport &t) OVERRIDE</td><td class="entry"><a class="el" href="classbroker__handler.html">broker_handler</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr> - <tr><td class="entry"><a class="el" href="classbroker__handler.html#a921fd578050f05c5d4a3455ec4836c79">on_transport_open</a>(proton::transport &t) OVERRIDE</td><td class="entry"><a class="el" href="classbroker__handler.html">broker_handler</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>remove_stale_consumers</b>(proton::connection connection) (defined in <a class="el" href="classbroker__handler.html">broker_handler</a>)</td><td class="entry"><a class="el" href="classbroker__handler.html">broker_handler</a></td><td class="entry"><span class="mlabel">inline</span></td></tr> - <tr bgcolor="#f0f0f0"><td class="entry"><b>unsubscribe</b>(proton::sender lnk) (defined in <a class="el" href="classbroker__handler.html">broker_handler</a>)</td><td class="entry"><a class="el" href="classbroker__handler.html">broker_handler</a></td><td class="entry"><span class="mlabel">inline</span></td></tr> - <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~messaging_handler</b>() (defined in <a class="el" href="classproton_1_1messaging__handler.html">messaging_handler</a>)</td><td class="entry"><a class="el" href="classproton_1_1messaging__handler.html">messaging_handler</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr> -</table></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.10 </li> - </ul> -</div> -</body> -</html> --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org