blob: 11bcc4d2f71987cadc9f8ccbdbec3161a60d5769 [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.23.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="l00159"></a><span class="lineno"><a class="line" href="group__messenger.html#gabd73703511b9dae193765e9e57864291"> 159</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="l00160"></a><span class="lineno"> 160</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="group__messenger.html#gab1173cfe4bcaa0a530c8035dc75f42c7"> 165</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="l00166"></a><span class="lineno"> 166</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="group__messenger.html#ga242e4ee54b9c0a416443c7da5f6e045b"> 171</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba0b46b1041679460baaba2ddcdb2173f2"> 172</a></span>&#160; <a class="code" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba0b46b1041679460baaba2ddcdb2173f2">PN_STATUS_UNKNOWN</a> = 0, </div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba4b0354a77173cd75c69159e15c23f611"> 173</a></span>&#160; <a class="code" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba4b0354a77173cd75c69159e15c23f611">PN_STATUS_PENDING</a> = 1, </div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba693fd9044a50a4f02e842d04a4bf1467"> 176</a></span>&#160; <a class="code" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba693fd9044a50a4f02e842d04a4bf1467">PN_STATUS_ACCEPTED</a> = 2, </div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045baf109df703952744009b3547f3b8f32bf"> 177</a></span>&#160; <a class="code" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045baf109df703952744009b3547f3b8f32bf">PN_STATUS_REJECTED</a> = 3, </div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba67079750477effb7935df83381c47852"> 178</a></span>&#160; <a class="code" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba67079750477effb7935df83381c47852">PN_STATUS_RELEASED</a> = 4, </div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba77d94a6b6b745eef9307f144b57e81e8"> 179</a></span>&#160; <a class="code" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba77d94a6b6b745eef9307f144b57e81e8">PN_STATUS_MODIFIED</a> = 5, </div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba1239e8ada7eabe2aeab98f2c881cd2ee"> 180</a></span>&#160; <a class="code" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba1239e8ada7eabe2aeab98f2c881cd2ee">PN_STATUS_ABORTED</a> = 6, </div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba1181bc7f51502ae11ed240866cd64583"> 181</a></span>&#160; <a class="code" href="group__messenger.html#gga242e4ee54b9c0a416443c7da5f6e045ba1181bc7f51502ae11ed240866cd64583">PN_STATUS_SETTLED</a> = 7 </div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;} <a class="code" href="group__messenger.html#ga242e4ee54b9c0a416443c7da5f6e045b">pn_status_t</a>;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</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="l00194"></a><span class="lineno"> 194</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</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="l00202"></a><span class="lineno"> 202</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</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="l00213"></a><span class="lineno"> 213</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</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="l00222"></a><span class="lineno"> 222</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</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="l00232"></a><span class="lineno"> 232</span>&#160;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</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="l00240"></a><span class="lineno"> 240</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</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="l00250"></a><span class="lineno"> 250</span>&#160;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</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="l00258"></a><span class="lineno"> 258</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</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="l00271"></a><span class="lineno"> 271</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</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="l00279"></a><span class="lineno"> 279</span>&#160;</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</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="l00293"></a><span class="lineno"> 293</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</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="l00303"></a><span class="lineno"> 303</span>&#160;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</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="l00311"></a><span class="lineno"> 311</span>&#160;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</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="l00321"></a><span class="lineno"> 321</span>&#160;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</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="l00335"></a><span class="lineno"> 335</span>&#160;</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</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="l00347"></a><span class="lineno"> 347</span>&#160;</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</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="l00354"></a><span class="lineno"> 354</span>&#160;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</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="l00369"></a><span class="lineno"> 369</span>&#160;</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</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="l00382"></a><span class="lineno"> 382</span>&#160;</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</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="l00399"></a><span class="lineno"> 399</span>&#160;</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</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="l00411"></a><span class="lineno"> 411</span>&#160;</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</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="l00431"></a><span class="lineno"> 431</span>&#160;</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</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="l00443"></a><span class="lineno"> 443</span>&#160; <span class="keywordtype">int</span> window);</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</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="l00454"></a><span class="lineno"> 454</span>&#160;</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</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="l00470"></a><span class="lineno"> 470</span>&#160;</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</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="l00479"></a><span class="lineno"> 479</span>&#160;</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</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="l00488"></a><span class="lineno"> 488</span>&#160;</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;PNX_EXTERN <a class="code" href="group__messenger.html#gabd73703511b9dae193765e9e57864291">pn_subscription_t</a> *</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</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="l00501"></a><span class="lineno"> 501</span>&#160; <a class="code" href="group__api__types.html#gafdede9be0526a8d0b9ab5d3149069af1">pn_seconds_t</a> timeout);</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</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="l00513"></a><span class="lineno"> 513</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="l00514"></a><span class="lineno"> 514</span>&#160;</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</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="l00524"></a><span class="lineno"> 524</span>&#160;</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</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="l00532"></a><span class="lineno"> 532</span>&#160;</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</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="l00540"></a><span class="lineno"> 540</span>&#160;</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</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="l00552"></a><span class="lineno"> 552</span>&#160;</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</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="l00565"></a><span class="lineno"> 565</span>&#160;</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</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="l00578"></a><span class="lineno"> 578</span>&#160; pn_tracker_t tracker);</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160;</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</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="l00593"></a><span class="lineno"> 593</span>&#160;</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</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="l00607"></a><span class="lineno"> 607</span>&#160;</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</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="l00622"></a><span class="lineno"> 622</span>&#160;</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</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="l00634"></a><span class="lineno"> 634</span>&#160;</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</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="l00647"></a><span class="lineno"> 647</span>&#160;</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</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="l00681"></a><span class="lineno"> 681</span>&#160;</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</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="l00707"></a><span class="lineno"> 707</span>&#160;</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</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="l00719"></a><span class="lineno"> 719</span>&#160;</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</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="l00735"></a><span class="lineno"> 735</span>&#160;</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</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="l00750"></a><span class="lineno"> 750</span>&#160;</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</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="l00761"></a><span class="lineno"> 761</span>&#160;</div><div class="line"><a name="l00765"></a><span class="lineno"><a class="line" href="group__messenger.html#ga6c2e8d006ec05b913fa1e6dc510d23b9"> 765</a></span>&#160;<span class="preprocessor">#define PN_CUMULATIVE (0x1)</span></div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160;</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</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="l00789"></a><span class="lineno"> 789</span>&#160;</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</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="l00812"></a><span class="lineno"> 812</span>&#160;</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</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="l00821"></a><span class="lineno"> 821</span>&#160; pn_tracker_t tracker);</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160;</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</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="l00831"></a><span class="lineno"> 831</span>&#160;</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</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="l00839"></a><span class="lineno"> 839</span>&#160;</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</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="l00903"></a><span class="lineno"> 903</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> *address);</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160;</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</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="l00928"></a><span class="lineno"> 928</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> *address);</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160;</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</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="l00957"></a><span class="lineno"> 957</span>&#160;</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</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="l00965"></a><span class="lineno"> 965</span>&#160;</div><div class="line"><a name="l00966"></a><span class="lineno"><a class="line" href="group__messenger.html#gad5ad0b67fef0e761dc0138b9621ffa14"> 966</a></span>&#160;<span class="preprocessor">#define PN_FLAGS_CHECK_ROUTES \</span></div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160;<span class="preprocessor"> (0x1) </span></div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160;<span class="preprocessor">#define PN_FLAGS_ALLOW_INSECURE_MECHS \</span></div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160;<span class="preprocessor"> (0x2) </span></div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160;<span class="preprocessor">PNX_EXTERN int pn_messenger_set_flags(pn_messenger_t *messenger,</span></div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> flags);</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160;</div><div class="line"><a name="l00993"></a><span class="lineno"> 993</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="l00994"></a><span class="lineno"> 994</span>&#160;</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</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="l01002"></a><span class="lineno"> 1002</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="l01003"></a><span class="lineno"> 1003</span>&#160;</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</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="l01011"></a><span class="lineno"> 1011</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="l01012"></a><span class="lineno"> 1012</span>&#160;</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</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="l01020"></a><span class="lineno"> 1020</span>&#160; <a class="code" href="group__transport.html#gae9b49fcbf6397e6916eb4e1357c90ff3">pn_tracer_t</a> tracer);</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;PNX_EXTERN <a class="code" href="group__api__types.html#ga9a701bc6dc9af9f42c3f4679172a723c">pn_millis_t</a></div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</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="l01031"></a><span class="lineno"> 1031</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> *address);</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;PNX_EXTERN <span class="keywordtype">int</span></div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</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="l01044"></a><span class="lineno"> 1044</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="l01045"></a><span class="lineno"> 1045</span>&#160;</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;}</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</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:165</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:171</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:159</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:176</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:173</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:177</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:179</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:181</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:180</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:172</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:178</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>