blob: 37ac8b714d43631abced07346c141ea822d42f7e [file] [log] [blame]
<!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: proton/messenger.h 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);
</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">0.21.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.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('messenger_8h_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">messenger.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="messenger_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#ifndef PROTON_MESSENGER_H</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#define PROTON_MESSENGER_H 1</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;</div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * or more contributor license agreements. See the NOTICE file</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * distributed with this work for additional information</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * regarding copyright ownership. The ASF licenses this file</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * with the License. You may obtain a copy of the License at</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing,</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * software distributed under the License is distributed on an</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * KIND, either express or implied. See the License for the</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * specific language governing permissions and limitations</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> * under the License.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &lt;proton/import_export.h&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="message_8h.html">proton/message.h</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &lt;proton/selectable.h&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="link_8h.html">proton/link.h</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="transport_8h.html">proton/transport.h</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="ssl_8h.html">proton/ssl.h</a>&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1"> 154</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> <a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a>;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="group__messenger.html#gabd73703511b9dae193765e9e57864291"> 163</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="group__messenger.html#gabd73703511b9dae193765e9e57864291">pn_subscription_t</a> <a class="code" href="group__messenger.html#gabd73703511b9dae193765e9e57864291">pn_subscription_t</a>;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="group__messenger.html#gab1173cfe4bcaa0a530c8035dc75f42c7"> 169</a></span>&#160;<span class="keyword">typedef</span> int64_t <a class="code" href="group__messenger.html#gab1173cfe4bcaa0a530c8035dc75f42c7">pn_tracker_t</a>;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;</div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="group__messenger.html#ga242e4ee54b9c0a416443c7da5f6e045b"> 175</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba0b46b1041679460baaba2ddcdb2173f2"> 176</a></span>&#160; <a class="code" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba0b46b1041679460baaba2ddcdb2173f2">PN_STATUS_UNKNOWN</a> = 0, </div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba4b0354a77173cd75c69159e15c23f611"> 177</a></span>&#160; <a class="code" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba4b0354a77173cd75c69159e15c23f611">PN_STATUS_PENDING</a> = 1, </div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba693fd9044a50a4f02e842d04a4bf1467"> 180</a></span>&#160; <a class="code" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba693fd9044a50a4f02e842d04a4bf1467">PN_STATUS_ACCEPTED</a> = 2, </div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045baf109df703952744009b3547f3b8f32bf"> 181</a></span>&#160; <a class="code" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045baf109df703952744009b3547f3b8f32bf">PN_STATUS_REJECTED</a> = 3, </div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba67079750477effb7935df83381c47852"> 182</a></span>&#160; <a class="code" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba67079750477effb7935df83381c47852">PN_STATUS_RELEASED</a> = 4, </div><div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba77d94a6b6b745eef9307f144b57e81e8"> 183</a></span>&#160; <a class="code" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba77d94a6b6b745eef9307f144b57e81e8">PN_STATUS_MODIFIED</a> = 5, </div><div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba1239e8ada7eabe2aeab98f2c881cd2ee"> 184</a></span>&#160; <a class="code" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba1239e8ada7eabe2aeab98f2c881cd2ee">PN_STATUS_ABORTED</a> = 6, </div><div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba1181bc7f51502ae11ed240866cd64583"> 185</a></span>&#160; <a class="code" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba1181bc7f51502ae11ed240866cd64583">PN_STATUS_SETTLED</a> = 7 </div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;} <a class="code" href="group__messenger.html#ga242e4ee54b9c0a416443c7da5f6e045b">pn_status_t</a>;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;PNX_EXTERN <a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *<a class="code" href="group__messenger.html#gabe045d16ca8eb1e3cc87387e2ae82433">pn_messenger</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;PNX_EXTERN <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__messenger.html#ga71197163a69770575df74e3cee617429">pn_messenger_name</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#gad61fff52c28501171ecbb0b21bbde954">pn_messenger_set_certificate</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger, <span class="keyword">const</span> <span class="keywordtype">char</span> *certificate);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;PNX_EXTERN <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__messenger.html#ga1d0c003a1fb5e20b894e2deb8b43118b">pn_messenger_get_certificate</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#ga05f059a2fe93e0acbcf76e494e6bf958">pn_messenger_set_private_key</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger, <span class="keyword">const</span> <span class="keywordtype">char</span> *private_key);</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;PNX_EXTERN <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__messenger.html#gab692f989aed2aa83bd71b7fa7196aeb1">pn_messenger_get_private_key</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#ga6b04f7dea2ed8752b8672b4cfe0330f2">pn_messenger_set_password</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger, <span class="keyword">const</span> <span class="keywordtype">char</span> *password);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;PNX_EXTERN <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__messenger.html#ga3f02ad7340a59c5982e6223aaeea803a">pn_messenger_get_password</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#gad901e92e2bee6d5371dcd3b1c8fe2c3b">pn_messenger_set_trusted_certificates</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger, <span class="keyword">const</span> <span class="keywordtype">char</span> *cert_db);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;PNX_EXTERN <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__messenger.html#ga955b218a8f58560e9e228ca14fba21f2">pn_messenger_get_trusted_certificates</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#ga04119bb2b16bb0f657f1dbcf73827d74">pn_messenger_set_timeout</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger, <span class="keywordtype">int</span> timeout);</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#ga083ba6296a1ae1dfe45c0fb82da823eb">pn_messenger_get_timeout</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;PNX_EXTERN <span class="keywordtype">bool</span> <a class="code" href="group__messenger.html#gaf572cbf224105d08898d2906336712f7">pn_messenger_is_blocking</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#gae9d7f1aec6e2cf3ef1ee326a4ae15981">pn_messenger_set_blocking</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger, <span class="keywordtype">bool</span> blocking);</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;PNX_EXTERN <span class="keywordtype">bool</span> <a class="code" href="group__messenger.html#ga63805c35f18ef041c69a14564dc1bce4">pn_messenger_is_passive</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#gac7df7c92396f10f105ec74d35310a7c0">pn_messenger_set_passive</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger, <span class="keywordtype">bool</span> passive);</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;PNX_EXTERN <span class="keywordtype">void</span> <a class="code" href="group__messenger.html#ga530295575eda95e3c19316d41bd1baa7">pn_messenger_free</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#gacfd10311abca28521fe7aa9cabfff61c">pn_messenger_errno</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;PNX_EXTERN <a class="code" href="group__error.html#ga24a289d5b32c9bd8a775600a5af83d52">pn_error_t</a> *<a class="code" href="group__messenger.html#ga0301664be9c54b3a573578776ad2a5d2">pn_messenger_error</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#gac191bdb410b7839d6306a0d8e5ac19e1">pn_messenger_get_outgoing_window</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#ga96487581bd8348f8bc9bacef25042cfc">pn_messenger_set_outgoing_window</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger, <span class="keywordtype">int</span> window);</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#ga45d578f39673ad59ca65d2042054abee">pn_messenger_get_incoming_window</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#gadf8a9cf14bf8d519026ea8c4eeb275c3">pn_messenger_set_incoming_window</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger,</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="keywordtype">int</span> window);</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160;</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#ga6fa594235e316cd2a04b44b283194a43">pn_messenger_start</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160;</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#gad95ab6daf6b2a61b79d5128a7d1d9f5c">pn_messenger_stop</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160;</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;PNX_EXTERN <span class="keywordtype">bool</span> <a class="code" href="group__messenger.html#gae2c4765839c8fd09c0e01d05a118b6d4">pn_messenger_stopped</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;PNX_EXTERN <a class="code" href="group__messenger.html#gabd73703511b9dae193765e9e57864291">pn_subscription_t</a> *<a class="code" href="group__messenger.html#gac36589fe5dc0378cf62558e40060a26f">pn_messenger_subscribe</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger, <span class="keyword">const</span> <span class="keywordtype">char</span> *source);</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160;PNX_EXTERN <a class="code" href="group__messenger.html#gabd73703511b9dae193765e9e57864291">pn_subscription_t</a> *</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160;<a class="code" href="group__messenger.html#ga480a8623fab904690218c0c67493232f">pn_messenger_subscribe_ttl</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger, <span class="keyword">const</span> <span class="keywordtype">char</span> *source,</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <a class="code" href="group__api__types.html#gafdede9be0526a8d0b9ab5d3149069af1">pn_seconds_t</a> timeout);</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160;</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160;PNX_EXTERN <a class="code" href="group__link.html#ga89dad3aa7934329a7ff467c636687bc0">pn_link_t</a> *<a class="code" href="group__messenger.html#ga757aeef23d47ecc2a9a461b882686417">pn_messenger_get_link</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger,</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> *address, <span class="keywordtype">bool</span> sender);</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160;</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160;PNX_EXTERN <span class="keywordtype">void</span> *<a class="code" href="group__messenger.html#ga8ad0f0db6d7cfe0e95d44d433843d787">pn_subscription_get_context</a>(<a class="code" href="group__messenger.html#gabd73703511b9dae193765e9e57864291">pn_subscription_t</a> *sub);</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160;</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;PNX_EXTERN <span class="keywordtype">void</span> <a class="code" href="group__messenger.html#ga3a7f95a2a86f64babe692d21ffe9cd10">pn_subscription_set_context</a>(<a class="code" href="group__messenger.html#gabd73703511b9dae193765e9e57864291">pn_subscription_t</a> *sub, <span class="keywordtype">void</span> *context);</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160;</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160;PNX_EXTERN <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__messenger.html#ga8e87c040776f1941f21d2c15f24b835e">pn_subscription_address</a>(<a class="code" href="group__messenger.html#gabd73703511b9dae193765e9e57864291">pn_subscription_t</a> *sub);</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160;</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#gafede68af29484d50d531cc48ab0d3d4a">pn_messenger_put</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger, <a class="code" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *msg);</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160;</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160;PNX_EXTERN <a class="code" href="group__messenger.html#ga242e4ee54b9c0a416443c7da5f6e045b">pn_status_t</a> <a class="code" href="group__messenger.html#gad398544ad1374f67c922115ae1cceacc">pn_messenger_status</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger, pn_tracker_t tracker);</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160;</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160;PNX_EXTERN <a class="code" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a> *<a class="code" href="group__messenger.html#ga65f22122f08bc93de2bfe155aa12d0b0">pn_messenger_delivery</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger,</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; pn_tracker_t tracker);</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160;</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160;PNX_EXTERN <span class="keywordtype">bool</span> <a class="code" href="group__messenger.html#ga15adeb707f15b86df1e5486c34a060e6">pn_messenger_buffered</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger, pn_tracker_t tracker);</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160;</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#ga475ce593f6b0c6025516ae48360dee4d">pn_messenger_settle</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger, pn_tracker_t tracker, <span class="keywordtype">int</span> flags);</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160;</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160;PNX_EXTERN pn_tracker_t <a class="code" href="group__messenger.html#ga0212b5cfe07a7f758ec472d67d0f56e1">pn_messenger_outgoing_tracker</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160;</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#ga47d60cec6a55e0675b8f073067eff9c4">pn_messenger_work</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger, <span class="keywordtype">int</span> timeout);</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160;</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#ga9da14c67acc17bc5fec6f34e2749534f">pn_messenger_interrupt</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160;</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#gae31f9a99dcbedffe83588cf25b805325">pn_messenger_send</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger, <span class="keywordtype">int</span> n);</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160;</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#ga16c945185e4eb5dcb9aac2be2fcab0d6">pn_messenger_recv</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger, <span class="keywordtype">int</span> limit);</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160;</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#gaf4e22c8cb1436891d42ca0a658fca9c5">pn_messenger_receiving</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160;</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#gaa6d85929e4b4b574690927ddde00c540">pn_messenger_get</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger, <a class="code" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *message);</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160;</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160;PNX_EXTERN pn_tracker_t <a class="code" href="group__messenger.html#gafe31e771826f8107d93fc276c9715aab">pn_messenger_incoming_tracker</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160;</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160;PNX_EXTERN <a class="code" href="group__messenger.html#gabd73703511b9dae193765e9e57864291">pn_subscription_t</a> *<a class="code" href="group__messenger.html#gae351d031d2ef29bdb137a59d461c4253">pn_messenger_incoming_subscription</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160;</div><div class="line"><a name="l00769"></a><span class="lineno"><a class="line" href="group__messenger.html#ga6c2e8d006ec05b913fa1e6dc510d23b9"> 769</a></span>&#160;<span class="preprocessor">#define PN_CUMULATIVE (0x1)</span></div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160;</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#ga11cd0d3423482e1ddda7a8b0cbb581c7">pn_messenger_accept</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger, pn_tracker_t tracker, <span class="keywordtype">int</span> flags);</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160;</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#ga22d6de108fa967a43ab2473d6a915e9c">pn_messenger_reject</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger, pn_tracker_t tracker, <span class="keywordtype">int</span> flags);</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160;</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160;PNX_EXTERN <a class="code" href="group__link.html#ga89dad3aa7934329a7ff467c636687bc0">pn_link_t</a> *<a class="code" href="group__messenger.html#gae4e5e89c6ea2a820a221af61cc741c7d">pn_messenger_tracker_link</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger,</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; pn_tracker_t tracker);</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160;</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#ga06c3a066422f8a966523b43a61f62eb9">pn_messenger_outgoing</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160;</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#ga43cf91b5528c2729b3ff9ae1d2a7d257">pn_messenger_incoming</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160;</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#ga6c85a08d72ae73a18f9fb64ccf0c470e">pn_messenger_route</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger, <span class="keyword">const</span> <span class="keywordtype">char</span> *pattern,</div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> *address);</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160;</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#gac7dc5d9b82f9e015fd2c7d9743099eff">pn_messenger_rewrite</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger, <span class="keyword">const</span> <span class="keywordtype">char</span> *pattern,</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> *address);</div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160;</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160;PNX_EXTERN pn_selectable_t *<a class="code" href="group__messenger.html#ga8521b0999200c076bf12568ac10fe925">pn_messenger_selectable</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160;</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160;PNX_EXTERN <a class="code" href="group__amqp__types.html#gad337c365b498106064ec28e00e5fb6dd">pn_timestamp_t</a> <a class="code" href="group__messenger.html#ga223e7c16f3e84f4e573864c3881b3b4b">pn_messenger_deadline</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160;</div><div class="line"><a name="l00970"></a><span class="lineno"><a class="line" href="group__messenger.html#gad5ad0b67fef0e761dc0138b9621ffa14"> 970</a></span>&#160;<span class="preprocessor">#define PN_FLAGS_CHECK_ROUTES \</span></div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160;<span class="preprocessor"> (0x1) </span></div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160;<span class="preprocessor">#define PN_FLAGS_ALLOW_INSECURE_MECHS \</span></div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160;<span class="preprocessor"> (0x2) </span></div><div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160;<span class="preprocessor">PNX_EXTERN int pn_messenger_set_flags(pn_messenger_t *messenger,</span></div><div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> flags);</div><div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160;</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#ga9f4e2fbfb7eb7bfd9acd7ad758d24085">pn_messenger_get_flags</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger);</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160;</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#ga7b0872d6712c53e307bf2babfd91bf6e">pn_messenger_set_snd_settle_mode</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger,</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160; <span class="keyword">const</span> <a class="code" href="group__link.html#ga3fb58bd0b88d37407ebb615c2630e608">pn_snd_settle_mode_t</a> mode);</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;PNX_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__messenger.html#gae9f2d3ab15602b27f1b87a4f6349a9f1">pn_messenger_set_rcv_settle_mode</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger,</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; <span class="keyword">const</span> <a class="code" href="group__link.html#gad1c2388cdae687be26222a5d66fd2d58">pn_rcv_settle_mode_t</a> mode);</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;PNX_EXTERN <span class="keywordtype">void</span> <a class="code" href="group__messenger.html#ga6c2cfb88f59980bb13821a6f25cf30f6">pn_messenger_set_tracer</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger,</div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160; <a class="code" href="group__transport.html#gae9b49fcbf6397e6916eb4e1357c90ff3">pn_tracer_t</a> tracer);</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;PNX_EXTERN <a class="code" href="group__api__types.html#ga9a701bc6dc9af9f42c3f4679172a723c">pn_millis_t</a></div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; <a class="code" href="group__messenger.html#ga9be25d57cda5a6e1c5658b0f362c41c7">pn_messenger_get_remote_idle_timeout</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger,</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> *address);</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;PNX_EXTERN <span class="keywordtype">int</span></div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;<a class="code" href="group__messenger.html#ga59ebaf21eaafaa4b1c359e4284564ff6">pn_messenger_set_ssl_peer_authentication_mode</a>(<a class="code" href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a> *messenger,</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; <span class="keyword">const</span> <a class="code" href="group__ssl.html#gae5e33024ed6af3432d4c76d1484d7ecb">pn_ssl_verify_mode_t</a> mode);</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;}</div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* messenger.h */</span><span class="preprocessor"></span></div><div class="ttc" id="group__messenger_html_ga083ba6296a1ae1dfe45c0fb82da823eb"><div class="ttname"><a href="group__messenger.html#ga083ba6296a1ae1dfe45c0fb82da823eb">pn_messenger_get_timeout</a></div><div class="ttdeci">int pn_messenger_get_timeout(pn_messenger_t *messenger)</div><div class="ttdoc">Gets the timeout for a messenger object. </div></div>
<div class="ttc" id="group__messenger_html_gae351d031d2ef29bdb137a59d461c4253"><div class="ttname"><a href="group__messenger.html#gae351d031d2ef29bdb137a59d461c4253">pn_messenger_incoming_subscription</a></div><div class="ttdeci">pn_subscription_t * pn_messenger_incoming_subscription(pn_messenger_t *messenger)</div><div class="ttdoc">Get the subscription of the message most recently retrieved by pn_messenger_get(). </div></div>
<div class="ttc" id="group__messenger_html_gab692f989aed2aa83bd71b7fa7196aeb1"><div class="ttname"><a href="group__messenger.html#gab692f989aed2aa83bd71b7fa7196aeb1">pn_messenger_get_private_key</a></div><div class="ttdeci">const char * pn_messenger_get_private_key(pn_messenger_t *messenger)</div><div class="ttdoc">Gets the private key file for a messenger. </div></div>
<div class="ttc" id="group__messenger_html_ga0301664be9c54b3a573578776ad2a5d2"><div class="ttname"><a href="group__messenger.html#ga0301664be9c54b3a573578776ad2a5d2">pn_messenger_error</a></div><div class="ttdeci">pn_error_t * pn_messenger_error(pn_messenger_t *messenger)</div><div class="ttdoc">Get a messenger&amp;#39;s error object. </div></div>
<div class="ttc" id="group__api__types_html_ga9a701bc6dc9af9f42c3f4679172a723c"><div class="ttname"><a href="group__api__types.html#ga9a701bc6dc9af9f42c3f4679172a723c">pn_millis_t</a></div><div class="ttdeci">uint32_t pn_millis_t</div><div class="ttdoc">A span of time in milliseconds. </div><div class="ttdef"><b>Definition:</b> types.h:145</div></div>
<div class="ttc" id="group__messenger_html_ga3f02ad7340a59c5982e6223aaeea803a"><div class="ttname"><a href="group__messenger.html#ga3f02ad7340a59c5982e6223aaeea803a">pn_messenger_get_password</a></div><div class="ttdeci">const char * pn_messenger_get_password(pn_messenger_t *messenger)</div><div class="ttdoc">Gets the private key file password for a messenger. </div></div>
<div class="ttc" id="group__messenger_html_ga05f059a2fe93e0acbcf76e494e6bf958"><div class="ttname"><a href="group__messenger.html#ga05f059a2fe93e0acbcf76e494e6bf958">pn_messenger_set_private_key</a></div><div class="ttdeci">int pn_messenger_set_private_key(pn_messenger_t *messenger, const char *private_key)</div><div class="ttdoc">Set path to the private key that was used to sign the certificate. </div></div>
<div class="ttc" id="group__messenger_html_gafe31e771826f8107d93fc276c9715aab"><div class="ttname"><a href="group__messenger.html#gafe31e771826f8107d93fc276c9715aab">pn_messenger_incoming_tracker</a></div><div class="ttdeci">pn_tracker_t pn_messenger_incoming_tracker(pn_messenger_t *messenger)</div><div class="ttdoc">Get a tracker for the message most recently retrieved by pn_messenger_get(). </div></div>
<div class="ttc" id="group__messenger_html_gad901e92e2bee6d5371dcd3b1c8fe2c3b"><div class="ttname"><a href="group__messenger.html#gad901e92e2bee6d5371dcd3b1c8fe2c3b">pn_messenger_set_trusted_certificates</a></div><div class="ttdeci">int pn_messenger_set_trusted_certificates(pn_messenger_t *messenger, const char *cert_db)</div><div class="ttdoc">Sets the trusted certificates database for a messenger. </div></div>
<div class="ttc" id="transport_8h_html"><div class="ttname"><a href="transport_8h.html">transport.h</a></div><div class="ttdoc">A network channel supporting an AMQP connection. </div></div>
<div class="ttc" id="group__messenger_html_gaf4e22c8cb1436891d42ca0a658fca9c5"><div class="ttname"><a href="group__messenger.html#gaf4e22c8cb1436891d42ca0a658fca9c5">pn_messenger_receiving</a></div><div class="ttdeci">int pn_messenger_receiving(pn_messenger_t *messenger)</div><div class="ttdoc">Get the capacity of the incoming message queue of a messenger. </div></div>
<div class="ttc" id="group__messenger_html_ga7b0872d6712c53e307bf2babfd91bf6e"><div class="ttname"><a href="group__messenger.html#ga7b0872d6712c53e307bf2babfd91bf6e">pn_messenger_set_snd_settle_mode</a></div><div class="ttdeci">int pn_messenger_set_snd_settle_mode(pn_messenger_t *messenger, const pn_snd_settle_mode_t mode)</div><div class="ttdoc">Set the local sender settle mode for the underlying link. </div></div>
<div class="ttc" id="group__messenger_html_ga1d0c003a1fb5e20b894e2deb8b43118b"><div class="ttname"><a href="group__messenger.html#ga1d0c003a1fb5e20b894e2deb8b43118b">pn_messenger_get_certificate</a></div><div class="ttdeci">const char * pn_messenger_get_certificate(pn_messenger_t *messenger)</div><div class="ttdoc">Get the certificate path. </div></div>
<div class="ttc" id="group__messenger_html_ga8e87c040776f1941f21d2c15f24b835e"><div class="ttname"><a href="group__messenger.html#ga8e87c040776f1941f21d2c15f24b835e">pn_subscription_address</a></div><div class="ttdeci">const char * pn_subscription_address(pn_subscription_t *sub)</div><div class="ttdoc">Get the source address of a subscription. </div></div>
<div class="ttc" id="group__messenger_html_ga480a8623fab904690218c0c67493232f"><div class="ttname"><a href="group__messenger.html#ga480a8623fab904690218c0c67493232f">pn_messenger_subscribe_ttl</a></div><div class="ttdeci">pn_subscription_t * pn_messenger_subscribe_ttl(pn_messenger_t *messenger, const char *source, pn_seconds_t timeout)</div><div class="ttdoc">Subscribes a messenger to messages from the specified source with the given timeout for the subscript...</div></div>
<div class="ttc" id="group__messenger_html_ga9da14c67acc17bc5fec6f34e2749534f"><div class="ttname"><a href="group__messenger.html#ga9da14c67acc17bc5fec6f34e2749534f">pn_messenger_interrupt</a></div><div class="ttdeci">int pn_messenger_interrupt(pn_messenger_t *messenger)</div><div class="ttdoc">Interrupt a messenger object that may be blocking in another thread. </div></div>
<div class="ttc" id="group__messenger_html_ga63805c35f18ef041c69a14564dc1bce4"><div class="ttname"><a href="group__messenger.html#ga63805c35f18ef041c69a14564dc1bce4">pn_messenger_is_passive</a></div><div class="ttdeci">bool pn_messenger_is_passive(pn_messenger_t *messenger)</div><div class="ttdoc">Check if a messenger is in passive mode. </div></div>
<div class="ttc" id="group__message_html_gad9259fa9271e8844c8e05a7e8978e3b2"><div class="ttname"><a href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a></div><div class="ttdeci">struct pn_message_t pn_message_t</div><div class="ttdoc">An AMQP Message object. </div><div class="ttdef"><b>Definition:</b> message.h:51</div></div>
<div class="ttc" id="group__messenger_html_gae2c4765839c8fd09c0e01d05a118b6d4"><div class="ttname"><a href="group__messenger.html#gae2c4765839c8fd09c0e01d05a118b6d4">pn_messenger_stopped</a></div><div class="ttdeci">bool pn_messenger_stopped(pn_messenger_t *messenger)</div><div class="ttdoc">Returns true if a messenger is in the stopped state. </div></div>
<div class="ttc" id="group__messenger_html_ga96487581bd8348f8bc9bacef25042cfc"><div class="ttname"><a href="group__messenger.html#ga96487581bd8348f8bc9bacef25042cfc">pn_messenger_set_outgoing_window</a></div><div class="ttdeci">int pn_messenger_set_outgoing_window(pn_messenger_t *messenger, int window)</div><div class="ttdoc">Set the size of a messenger&amp;#39;s outgoing window. </div></div>
<div class="ttc" id="group__messenger_html_gae9f2d3ab15602b27f1b87a4f6349a9f1"><div class="ttname"><a href="group__messenger.html#gae9f2d3ab15602b27f1b87a4f6349a9f1">pn_messenger_set_rcv_settle_mode</a></div><div class="ttdeci">int pn_messenger_set_rcv_settle_mode(pn_messenger_t *messenger, const pn_rcv_settle_mode_t mode)</div><div class="ttdoc">Set the local receiver settle mode for the underlying link. </div></div>
<div class="ttc" id="group__messenger_html_gae31f9a99dcbedffe83588cf25b805325"><div class="ttname"><a href="group__messenger.html#gae31f9a99dcbedffe83588cf25b805325">pn_messenger_send</a></div><div class="ttdeci">int pn_messenger_send(pn_messenger_t *messenger, int n)</div><div class="ttdoc">Send messages from a messenger&amp;#39;s outgoing queue. </div></div>
<div class="ttc" id="group__messenger_html_gacfd10311abca28521fe7aa9cabfff61c"><div class="ttname"><a href="group__messenger.html#gacfd10311abca28521fe7aa9cabfff61c">pn_messenger_errno</a></div><div class="ttdeci">int pn_messenger_errno(pn_messenger_t *messenger)</div><div class="ttdoc">Get the code for a messenger&amp;#39;s most recent error. </div></div>
<div class="ttc" id="group__messenger_html_gab1173cfe4bcaa0a530c8035dc75f42c7"><div class="ttname"><a href="group__messenger.html#gab1173cfe4bcaa0a530c8035dc75f42c7">pn_tracker_t</a></div><div class="ttdeci">int64_t pn_tracker_t</div><div class="ttdoc">Trackers provide a lightweight handle used to track the status of incoming and outgoing deliveries...</div><div class="ttdef"><b>Definition:</b> messenger.h:169</div></div>
<div class="ttc" id="group__link_html_ga89dad3aa7934329a7ff467c636687bc0"><div class="ttname"><a href="group__link.html#ga89dad3aa7934329a7ff467c636687bc0">pn_link_t</a></div><div class="ttdeci">struct pn_link_t pn_link_t</div><div class="ttdoc">An AMQP Link object. </div><div class="ttdef"><b>Definition:</b> types.h:311</div></div>
<div class="ttc" id="group__messenger_html_gad398544ad1374f67c922115ae1cceacc"><div class="ttname"><a href="group__messenger.html#gad398544ad1374f67c922115ae1cceacc">pn_messenger_status</a></div><div class="ttdeci">pn_status_t pn_messenger_status(pn_messenger_t *messenger, pn_tracker_t tracker)</div><div class="ttdoc">Track the status of a delivery. </div></div>
<div class="ttc" id="group__ssl_html_gae5e33024ed6af3432d4c76d1484d7ecb"><div class="ttname"><a href="group__ssl.html#gae5e33024ed6af3432d4c76d1484d7ecb">pn_ssl_verify_mode_t</a></div><div class="ttdeci">pn_ssl_verify_mode_t</div><div class="ttdoc">Determines the level of peer validation. </div><div class="ttdef"><b>Definition:</b> ssl.h:195</div></div>
<div class="ttc" id="group__error_html_ga24a289d5b32c9bd8a775600a5af83d52"><div class="ttname"><a href="group__error.html#ga24a289d5b32c9bd8a775600a5af83d52">pn_error_t</a></div><div class="ttdeci">struct pn_error_t pn_error_t</div><div class="ttdoc">An int error code and some string text to describe the error. </div><div class="ttdef"><b>Definition:</b> error.h:44</div></div>
<div class="ttc" id="message_8h_html"><div class="ttname"><a href="message_8h.html">message.h</a></div><div class="ttdoc">A mutable holder of application content. </div></div>
<div class="ttc" id="group__messenger_html_ga8ad0f0db6d7cfe0e95d44d433843d787"><div class="ttname"><a href="group__messenger.html#ga8ad0f0db6d7cfe0e95d44d433843d787">pn_subscription_get_context</a></div><div class="ttdeci">void * pn_subscription_get_context(pn_subscription_t *sub)</div><div class="ttdoc">Get a subscription&amp;#39;s application context. </div></div>
<div class="ttc" id="group__messenger_html_ga242e4ee54b9c0a416443c7da5f6e045b"><div class="ttname"><a href="group__messenger.html#ga242e4ee54b9c0a416443c7da5f6e045b">pn_status_t</a></div><div class="ttdeci">pn_status_t</div><div class="ttdoc">Describes all the possible states for a message associated with a given tracker. </div><div class="ttdef"><b>Definition:</b> messenger.h:175</div></div>
<div class="ttc" id="group__messenger_html_gaf572cbf224105d08898d2906336712f7"><div class="ttname"><a href="group__messenger.html#gaf572cbf224105d08898d2906336712f7">pn_messenger_is_blocking</a></div><div class="ttdeci">bool pn_messenger_is_blocking(pn_messenger_t *messenger)</div><div class="ttdoc">Check if a messenger is in blocking mode. </div></div>
<div class="ttc" id="group__messenger_html_ga59ebaf21eaafaa4b1c359e4284564ff6"><div class="ttname"><a href="group__messenger.html#ga59ebaf21eaafaa4b1c359e4284564ff6">pn_messenger_set_ssl_peer_authentication_mode</a></div><div class="ttdeci">int pn_messenger_set_ssl_peer_authentication_mode(pn_messenger_t *messenger, const pn_ssl_verify_mode_t mode)</div><div class="ttdoc">Sets the SSL peer authentication mode required when a trust certificate is used. </div></div>
<div class="ttc" id="group__messenger_html_ga47d60cec6a55e0675b8f073067eff9c4"><div class="ttname"><a href="group__messenger.html#ga47d60cec6a55e0675b8f073067eff9c4">pn_messenger_work</a></div><div class="ttdeci">int pn_messenger_work(pn_messenger_t *messenger, int timeout)</div><div class="ttdoc">Sends or receives any outstanding messages queued for a messenger. </div></div>
<div class="ttc" id="group__messenger_html_gabd73703511b9dae193765e9e57864291"><div class="ttname"><a href="group__messenger.html#gabd73703511b9dae193765e9e57864291">pn_subscription_t</a></div><div class="ttdeci">struct pn_subscription_t pn_subscription_t</div><div class="ttdoc">A subscription is a request for incoming messages. </div><div class="ttdef"><b>Definition:</b> messenger.h:163</div></div>
<div class="ttc" id="group__messenger_html_ga71197163a69770575df74e3cee617429"><div class="ttname"><a href="group__messenger.html#ga71197163a69770575df74e3cee617429">pn_messenger_name</a></div><div class="ttdeci">const char * pn_messenger_name(pn_messenger_t *messenger)</div><div class="ttdoc">Get the name of a messenger. </div></div>
<div class="ttc" id="group__messenger_html_ga11cd0d3423482e1ddda7a8b0cbb581c7"><div class="ttname"><a href="group__messenger.html#ga11cd0d3423482e1ddda7a8b0cbb581c7">pn_messenger_accept</a></div><div class="ttdeci">int pn_messenger_accept(pn_messenger_t *messenger, pn_tracker_t tracker, int flags)</div><div class="ttdoc">Signal successful processing of message(s). </div></div>
<div class="ttc" id="group__messenger_html_gga242e4ee54b9c0a416443c7da5f6e045ba693fd9044a50a4f02e842d04a4bf1467"><div class="ttname"><a href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba693fd9044a50a4f02e842d04a4bf1467">PN_STATUS_ACCEPTED</a></div><div class="ttdoc">The message was accepted. </div><div class="ttdef"><b>Definition:</b> messenger.h:180</div></div>
<div class="ttc" id="group__messenger_html_ga475ce593f6b0c6025516ae48360dee4d"><div class="ttname"><a href="group__messenger.html#ga475ce593f6b0c6025516ae48360dee4d">pn_messenger_settle</a></div><div class="ttdeci">int pn_messenger_settle(pn_messenger_t *messenger, pn_tracker_t tracker, int flags)</div><div class="ttdoc">Frees a Messenger from tracking the status associated with a given tracker. </div></div>
<div class="ttc" id="group__messenger_html_ga8521b0999200c076bf12568ac10fe925"><div class="ttname"><a href="group__messenger.html#ga8521b0999200c076bf12568ac10fe925">pn_messenger_selectable</a></div><div class="ttdeci">pn_selectable_t * pn_messenger_selectable(pn_messenger_t *messenger)</div><div class="ttdoc">Extract selectables from a passive messenger. </div></div>
<div class="ttc" id="group__link_html_ga3fb58bd0b88d37407ebb615c2630e608"><div class="ttname"><a href="group__link.html#ga3fb58bd0b88d37407ebb615c2630e608">pn_snd_settle_mode_t</a></div><div class="ttdeci">pn_snd_settle_mode_t</div><div class="ttdoc">Describes the permitted/expected settlement behaviours of a sending link. </div><div class="ttdef"><b>Definition:</b> link.h:474</div></div>
<div class="ttc" id="group__messenger_html_gafede68af29484d50d531cc48ab0d3d4a"><div class="ttname"><a href="group__messenger.html#gafede68af29484d50d531cc48ab0d3d4a">pn_messenger_put</a></div><div class="ttdeci">int pn_messenger_put(pn_messenger_t *messenger, pn_message_t *msg)</div><div class="ttdoc">Puts a message onto the messenger&amp;#39;s outgoing queue. </div></div>
<div class="ttc" id="group__messenger_html_gadf8a9cf14bf8d519026ea8c4eeb275c3"><div class="ttname"><a href="group__messenger.html#gadf8a9cf14bf8d519026ea8c4eeb275c3">pn_messenger_set_incoming_window</a></div><div class="ttdeci">int pn_messenger_set_incoming_window(pn_messenger_t *messenger, int window)</div><div class="ttdoc">Set the size of a messenger&amp;#39;s incoming window. </div></div>
<div class="ttc" id="group__messenger_html_gac7dc5d9b82f9e015fd2c7d9743099eff"><div class="ttname"><a href="group__messenger.html#gac7dc5d9b82f9e015fd2c7d9743099eff">pn_messenger_rewrite</a></div><div class="ttdeci">int pn_messenger_rewrite(pn_messenger_t *messenger, const char *pattern, const char *address)</div><div class="ttdoc">Rewrite message addresses prior to transmission. </div></div>
<div class="ttc" id="group__messenger_html_gad95ab6daf6b2a61b79d5128a7d1d9f5c"><div class="ttname"><a href="group__messenger.html#gad95ab6daf6b2a61b79d5128a7d1d9f5c">pn_messenger_stop</a></div><div class="ttdeci">int pn_messenger_stop(pn_messenger_t *messenger)</div><div class="ttdoc">Stops a messenger. </div></div>
<div class="ttc" id="group__messenger_html_gga242e4ee54b9c0a416443c7da5f6e045ba4b0354a77173cd75c69159e15c23f611"><div class="ttname"><a href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba4b0354a77173cd75c69159e15c23f611">PN_STATUS_PENDING</a></div><div class="ttdoc">The message is in flight. </div><div class="ttdef"><b>Definition:</b> messenger.h:177</div></div>
<div class="ttc" id="group__delivery_html_gacdfce854066c0a4ff4db9f9a0478f340"><div class="ttname"><a href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a></div><div class="ttdeci">struct pn_delivery_t pn_delivery_t</div><div class="ttdoc">An AMQP Delivery object. </div><div class="ttdef"><b>Definition:</b> types.h:401</div></div>
<div class="ttc" id="group__messenger_html_ga757aeef23d47ecc2a9a461b882686417"><div class="ttname"><a href="group__messenger.html#ga757aeef23d47ecc2a9a461b882686417">pn_messenger_get_link</a></div><div class="ttdeci">pn_link_t * pn_messenger_get_link(pn_messenger_t *messenger, const char *address, bool sender)</div><div class="ttdoc">Get a link based on link name and whether the link is a sender or receiver. </div></div>
<div class="ttc" id="group__messenger_html_gad61fff52c28501171ecbb0b21bbde954"><div class="ttname"><a href="group__messenger.html#gad61fff52c28501171ecbb0b21bbde954">pn_messenger_set_certificate</a></div><div class="ttdeci">int pn_messenger_set_certificate(pn_messenger_t *messenger, const char *certificate)</div><div class="ttdoc">Sets the path that will be used to get the certificate that will be used to identify this messenger t...</div></div>
<div class="ttc" id="group__messenger_html_ga6c85a08d72ae73a18f9fb64ccf0c470e"><div class="ttname"><a href="group__messenger.html#ga6c85a08d72ae73a18f9fb64ccf0c470e">pn_messenger_route</a></div><div class="ttdeci">int pn_messenger_route(pn_messenger_t *messenger, const char *pattern, const char *address)</div><div class="ttdoc">Adds a routing rule to a Messenger&amp;#39;s internal routing table. </div></div>
<div class="ttc" id="group__messenger_html_ga9be25d57cda5a6e1c5658b0f362c41c7"><div class="ttname"><a href="group__messenger.html#ga9be25d57cda5a6e1c5658b0f362c41c7">pn_messenger_get_remote_idle_timeout</a></div><div class="ttdeci">pn_millis_t pn_messenger_get_remote_idle_timeout(pn_messenger_t *messenger, const char *address)</div><div class="ttdoc">Gets the remote idle timeout for the specified remote service address. </div></div>
<div class="ttc" id="group__messenger_html_gga242e4ee54b9c0a416443c7da5f6e045baf109df703952744009b3547f3b8f32bf"><div class="ttname"><a href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045baf109df703952744009b3547f3b8f32bf">PN_STATUS_REJECTED</a></div><div class="ttdoc">The message was rejected. </div><div class="ttdef"><b>Definition:</b> messenger.h:181</div></div>
<div class="ttc" id="group__messenger_html_ga6fa594235e316cd2a04b44b283194a43"><div class="ttname"><a href="group__messenger.html#ga6fa594235e316cd2a04b44b283194a43">pn_messenger_start</a></div><div class="ttdeci">int pn_messenger_start(pn_messenger_t *messenger)</div><div class="ttdoc">Currently a no-op placeholder. </div></div>
<div class="ttc" id="group__messenger_html_gae4e5e89c6ea2a820a221af61cc741c7d"><div class="ttname"><a href="group__messenger.html#gae4e5e89c6ea2a820a221af61cc741c7d">pn_messenger_tracker_link</a></div><div class="ttdeci">pn_link_t * pn_messenger_tracker_link(pn_messenger_t *messenger, pn_tracker_t tracker)</div><div class="ttdoc">Get link for the message referenced by the given tracker. </div></div>
<div class="ttc" id="group__messenger_html_gga242e4ee54b9c0a416443c7da5f6e045ba77d94a6b6b745eef9307f144b57e81e8"><div class="ttname"><a href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba77d94a6b6b745eef9307f144b57e81e8">PN_STATUS_MODIFIED</a></div><div class="ttdoc">The message was modified. </div><div class="ttdef"><b>Definition:</b> messenger.h:183</div></div>
<div class="ttc" id="group__messenger_html_gga242e4ee54b9c0a416443c7da5f6e045ba1181bc7f51502ae11ed240866cd64583"><div class="ttname"><a href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba1181bc7f51502ae11ed240866cd64583">PN_STATUS_SETTLED</a></div><div class="ttdoc">The remote party has settled the message. </div><div class="ttdef"><b>Definition:</b> messenger.h:185</div></div>
<div class="ttc" id="group__messenger_html_ga15adeb707f15b86df1e5486c34a060e6"><div class="ttname"><a href="group__messenger.html#ga15adeb707f15b86df1e5486c34a060e6">pn_messenger_buffered</a></div><div class="ttdeci">bool pn_messenger_buffered(pn_messenger_t *messenger, pn_tracker_t tracker)</div><div class="ttdoc">Check if the delivery associated with a given tracker is still waiting to be sent. </div></div>
<div class="ttc" id="group__messenger_html_ga955b218a8f58560e9e228ca14fba21f2"><div class="ttname"><a href="group__messenger.html#ga955b218a8f58560e9e228ca14fba21f2">pn_messenger_get_trusted_certificates</a></div><div class="ttdeci">const char * pn_messenger_get_trusted_certificates(pn_messenger_t *messenger)</div><div class="ttdoc">Gets the trusted certificates database for a messenger. </div></div>
<div class="ttc" id="group__messenger_html_ga3a7f95a2a86f64babe692d21ffe9cd10"><div class="ttname"><a href="group__messenger.html#ga3a7f95a2a86f64babe692d21ffe9cd10">pn_subscription_set_context</a></div><div class="ttdeci">void pn_subscription_set_context(pn_subscription_t *sub, void *context)</div><div class="ttdoc">Set an application context for a subscription. </div></div>
<div class="ttc" id="group__api__types_html_gafdede9be0526a8d0b9ab5d3149069af1"><div class="ttname"><a href="group__api__types.html#gafdede9be0526a8d0b9ab5d3149069af1">pn_seconds_t</a></div><div class="ttdeci">uint32_t pn_seconds_t</div><div class="ttdoc">A span of time in seconds. </div><div class="ttdef"><b>Definition:</b> types.h:159</div></div>
<div class="ttc" id="group__messenger_html_gabe045d16ca8eb1e3cc87387e2ae82433"><div class="ttname"><a href="group__messenger.html#gabe045d16ca8eb1e3cc87387e2ae82433">pn_messenger</a></div><div class="ttdeci">pn_messenger_t * pn_messenger(const char *name)</div><div class="ttdoc">Construct a new pn_messenger_t with the given name. </div></div>
<div class="ttc" id="group__messenger_html_ga16c945185e4eb5dcb9aac2be2fcab0d6"><div class="ttname"><a href="group__messenger.html#ga16c945185e4eb5dcb9aac2be2fcab0d6">pn_messenger_recv</a></div><div class="ttdeci">int pn_messenger_recv(pn_messenger_t *messenger, int limit)</div><div class="ttdoc">Retrieve messages into a messenger&amp;#39;s incoming queue. </div></div>
<div class="ttc" id="group__messenger_html_gga242e4ee54b9c0a416443c7da5f6e045ba1239e8ada7eabe2aeab98f2c881cd2ee"><div class="ttname"><a href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba1239e8ada7eabe2aeab98f2c881cd2ee">PN_STATUS_ABORTED</a></div><div class="ttdoc">The message was aborted. </div><div class="ttdef"><b>Definition:</b> messenger.h:184</div></div>
<div class="ttc" id="group__messenger_html_gga242e4ee54b9c0a416443c7da5f6e045ba0b46b1041679460baaba2ddcdb2173f2"><div class="ttname"><a href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba0b46b1041679460baaba2ddcdb2173f2">PN_STATUS_UNKNOWN</a></div><div class="ttdoc">The tracker is unknown. </div><div class="ttdef"><b>Definition:</b> messenger.h:176</div></div>
<div class="ttc" id="group__messenger_html_gac7df7c92396f10f105ec74d35310a7c0"><div class="ttname"><a href="group__messenger.html#gac7df7c92396f10f105ec74d35310a7c0">pn_messenger_set_passive</a></div><div class="ttdeci">int pn_messenger_set_passive(pn_messenger_t *messenger, bool passive)</div><div class="ttdoc">Set the passive mode for a messenger. </div></div>
<div class="ttc" id="group__link_html_gad1c2388cdae687be26222a5d66fd2d58"><div class="ttname"><a href="group__link.html#gad1c2388cdae687be26222a5d66fd2d58">pn_rcv_settle_mode_t</a></div><div class="ttdeci">pn_rcv_settle_mode_t</div><div class="ttdoc">Describes the permitted/expected settlement behaviours of a receiving link. </div><div class="ttdef"><b>Definition:</b> link.h:491</div></div>
<div class="ttc" id="group__messenger_html_ga45d578f39673ad59ca65d2042054abee"><div class="ttname"><a href="group__messenger.html#ga45d578f39673ad59ca65d2042054abee">pn_messenger_get_incoming_window</a></div><div class="ttdeci">int pn_messenger_get_incoming_window(pn_messenger_t *messenger)</div><div class="ttdoc">Get the size of a messenger&amp;#39;s incoming window. </div></div>
<div class="ttc" id="group__messenger_html_ga43cf91b5528c2729b3ff9ae1d2a7d257"><div class="ttname"><a href="group__messenger.html#ga43cf91b5528c2729b3ff9ae1d2a7d257">pn_messenger_incoming</a></div><div class="ttdeci">int pn_messenger_incoming(pn_messenger_t *messenger)</div><div class="ttdoc">Get the number of messages in the incoming message queue of a messenger. </div></div>
<div class="ttc" id="group__transport_html_gae9b49fcbf6397e6916eb4e1357c90ff3"><div class="ttname"><a href="group__transport.html#gae9b49fcbf6397e6916eb4e1357c90ff3">pn_tracer_t</a></div><div class="ttdeci">void(* pn_tracer_t)(pn_transport_t *transport, const char *message)</div><div class="ttdoc">Callback for customizing logging behaviour. </div><div class="ttdef"><b>Definition:</b> transport.h:62</div></div>
<div class="ttc" id="group__messenger_html_ga06c3a066422f8a966523b43a61f62eb9"><div class="ttname"><a href="group__messenger.html#ga06c3a066422f8a966523b43a61f62eb9">pn_messenger_outgoing</a></div><div class="ttdeci">int pn_messenger_outgoing(pn_messenger_t *messenger)</div><div class="ttdoc">Get the number of messages in the outgoing message queue of a messenger. </div></div>
<div class="ttc" id="group__messenger_html_ga530295575eda95e3c19316d41bd1baa7"><div class="ttname"><a href="group__messenger.html#ga530295575eda95e3c19316d41bd1baa7">pn_messenger_free</a></div><div class="ttdeci">void pn_messenger_free(pn_messenger_t *messenger)</div><div class="ttdoc">Frees a Messenger. </div></div>
<div class="ttc" id="group__messenger_html_gga242e4ee54b9c0a416443c7da5f6e045ba67079750477effb7935df83381c47852"><div class="ttname"><a href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba67079750477effb7935df83381c47852">PN_STATUS_RELEASED</a></div><div class="ttdoc">The message was released. </div><div class="ttdef"><b>Definition:</b> messenger.h:182</div></div>
<div class="ttc" id="group__messenger_html_ga9f4e2fbfb7eb7bfd9acd7ad758d24085"><div class="ttname"><a href="group__messenger.html#ga9f4e2fbfb7eb7bfd9acd7ad758d24085">pn_messenger_get_flags</a></div><div class="ttdeci">int pn_messenger_get_flags(pn_messenger_t *messenger)</div><div class="ttdoc">Gets the flags for a Messenger. </div></div>
<div class="ttc" id="ssl_8h_html"><div class="ttname"><a href="ssl_8h.html">ssl.h</a></div><div class="ttdoc">SSL secure transport layer. </div></div>
<div class="ttc" id="link_8h_html"><div class="ttname"><a href="link_8h.html">link.h</a></div><div class="ttdoc">A channel for transferring messages. </div></div>
<div class="ttc" id="group__messenger_html_ga04119bb2b16bb0f657f1dbcf73827d74"><div class="ttname"><a href="group__messenger.html#ga04119bb2b16bb0f657f1dbcf73827d74">pn_messenger_set_timeout</a></div><div class="ttdeci">int pn_messenger_set_timeout(pn_messenger_t *messenger, int timeout)</div><div class="ttdoc">Set the default timeout for a messenger. </div></div>
<div class="ttc" id="group__messenger_html_ga0212b5cfe07a7f758ec472d67d0f56e1"><div class="ttname"><a href="group__messenger.html#ga0212b5cfe07a7f758ec472d67d0f56e1">pn_messenger_outgoing_tracker</a></div><div class="ttdeci">pn_tracker_t pn_messenger_outgoing_tracker(pn_messenger_t *messenger)</div><div class="ttdoc">Get a tracker for the outgoing message most recently given to pn_messenger_put. </div></div>
<div class="ttc" id="group__messenger_html_ga0d342bb795d48591ad6b3f867766b8b1"><div class="ttname"><a href="group__messenger.html#ga0d342bb795d48591ad6b3f867766b8b1">pn_messenger_t</a></div><div class="ttdeci">struct pn_messenger_t pn_messenger_t</div><div class="ttdoc">A pn_messenger_t provides a high level interface for sending and receiving messages (See pn_message_t...</div><div class="ttdef"><b>Definition:</b> messenger.h:154</div></div>
<div class="ttc" id="group__messenger_html_gac36589fe5dc0378cf62558e40060a26f"><div class="ttname"><a href="group__messenger.html#gac36589fe5dc0378cf62558e40060a26f">pn_messenger_subscribe</a></div><div class="ttdeci">pn_subscription_t * pn_messenger_subscribe(pn_messenger_t *messenger, const char *source)</div><div class="ttdoc">Subscribes a messenger to messages from the specified source. </div></div>
<div class="ttc" id="group__messenger_html_ga65f22122f08bc93de2bfe155aa12d0b0"><div class="ttname"><a href="group__messenger.html#ga65f22122f08bc93de2bfe155aa12d0b0">pn_messenger_delivery</a></div><div class="ttdeci">pn_delivery_t * pn_messenger_delivery(pn_messenger_t *messenger, pn_tracker_t tracker)</div><div class="ttdoc">Get delivery information about a delivery. </div></div>
<div class="ttc" id="group__messenger_html_ga223e7c16f3e84f4e573864c3881b3b4b"><div class="ttname"><a href="group__messenger.html#ga223e7c16f3e84f4e573864c3881b3b4b">pn_messenger_deadline</a></div><div class="ttdeci">pn_timestamp_t pn_messenger_deadline(pn_messenger_t *messenger)</div><div class="ttdoc">Get the nearest deadline for selectables associated with a messenger. </div></div>
<div class="ttc" id="group__messenger_html_ga6c2cfb88f59980bb13821a6f25cf30f6"><div class="ttname"><a href="group__messenger.html#ga6c2cfb88f59980bb13821a6f25cf30f6">pn_messenger_set_tracer</a></div><div class="ttdeci">void pn_messenger_set_tracer(pn_messenger_t *messenger, pn_tracer_t tracer)</div><div class="ttdoc">Set the tracer associated with a messenger. </div></div>
<div class="ttc" id="group__amqp__types_html_gad337c365b498106064ec28e00e5fb6dd"><div class="ttname"><a href="group__amqp__types.html#gad337c365b498106064ec28e00e5fb6dd">pn_timestamp_t</a></div><div class="ttdeci">int64_t pn_timestamp_t</div><div class="ttdoc">A 64-bit timestamp in milliseconds since the Unix epoch. </div><div class="ttdef"><b>Definition:</b> types.h:166</div></div>
<div class="ttc" id="group__messenger_html_gae9d7f1aec6e2cf3ef1ee326a4ae15981"><div class="ttname"><a href="group__messenger.html#gae9d7f1aec6e2cf3ef1ee326a4ae15981">pn_messenger_set_blocking</a></div><div class="ttdeci">int pn_messenger_set_blocking(pn_messenger_t *messenger, bool blocking)</div><div class="ttdoc">Enable or disable blocking behavior for a messenger during calls to pn_messenger_send and pn_messenge...</div></div>
<div class="ttc" id="group__messenger_html_ga22d6de108fa967a43ab2473d6a915e9c"><div class="ttname"><a href="group__messenger.html#ga22d6de108fa967a43ab2473d6a915e9c">pn_messenger_reject</a></div><div class="ttdeci">int pn_messenger_reject(pn_messenger_t *messenger, pn_tracker_t tracker, int flags)</div><div class="ttdoc">Signal unsuccessful processing of message(s). </div></div>
<div class="ttc" id="group__messenger_html_gac191bdb410b7839d6306a0d8e5ac19e1"><div class="ttname"><a href="group__messenger.html#gac191bdb410b7839d6306a0d8e5ac19e1">pn_messenger_get_outgoing_window</a></div><div class="ttdeci">int pn_messenger_get_outgoing_window(pn_messenger_t *messenger)</div><div class="ttdoc">Get the size of a messenger&amp;#39;s outgoing window. </div></div>
<div class="ttc" id="group__messenger_html_ga6b04f7dea2ed8752b8672b4cfe0330f2"><div class="ttname"><a href="group__messenger.html#ga6b04f7dea2ed8752b8672b4cfe0330f2">pn_messenger_set_password</a></div><div class="ttdeci">int pn_messenger_set_password(pn_messenger_t *messenger, const char *password)</div><div class="ttdoc">Sets the private key password for a messenger. </div></div>
<div class="ttc" id="group__messenger_html_gaa6d85929e4b4b574690927ddde00c540"><div class="ttname"><a href="group__messenger.html#gaa6d85929e4b4b574690927ddde00c540">pn_messenger_get</a></div><div class="ttdeci">int pn_messenger_get(pn_messenger_t *messenger, pn_message_t *message)</div><div class="ttdoc">Get the next message from the head of a messenger&amp;#39;s incoming queue. </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_25143d27009f52d175c1d192441a738a.html">proton</a></li><li class="navelem"><a class="el" href="messenger_8h.html">messenger.h</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.13 </li>
</ul>
</div>
</body>
</html>