http://git-wip-us.apache.org/repos/asf/qpid-site/blob/1859e58c/content/releases/qpid-proton-0.17.0/proton/c/api/group__transport.html
----------------------------------------------------------------------
diff --git 
a/content/releases/qpid-proton-0.17.0/proton/c/api/group__transport.html 
b/content/releases/qpid-proton-0.17.0/proton/c/api/group__transport.html
new file mode 100755
index 0000000..c4fdffd
--- /dev/null
+++ b/content/releases/qpid-proton-0.17.0/proton/c/api/group__transport.html
@@ -0,0 +1,1793 @@
+<!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.3.1"/>
+<title>Qpid Proton C API: Transport</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="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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 style="padding-left: 0.5em;">
+   <div id="projectname">Qpid Proton C API
+   &#160;<span id="projectnumber">0.17.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.3.1 -->
+<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('group__transport.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)">
+<a class="SelectItem" href="javascript:void(0)" 
onclick="searchBox.OnSelectItem(0)"><span 
class="SelectionMark">&#160;</span>All</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span 
class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span 
class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span 
class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span 
class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span 
class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span 
class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" 
href="javascript:vo
 id(0)" onclick="searchBox.OnSelectItem(7)"><span 
class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span 
class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" 
href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span 
class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#define-members">Macros</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">Transport<div class="ingroups"><a class="el" 
href="group__core.html">Core</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A network channel supporting an AMQP connection.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a 
name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:gae8f32e46e94953bab10bee530eee9044"><td class="memItemLeft" 
align="right" valign="top"><a class="anchor" 
id="gae8f32e46e94953bab10bee530eee9044"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="group__transport.html#gae8f32e46e94953bab10bee530eee9044">PN_TRACE_OFF</a></td></tr>
+<tr class="memdesc:gae8f32e46e94953bab10bee530eee9044"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Turn logging off entirely. 
<br/></td></tr>
+<tr class="separator:gae8f32e46e94953bab10bee530eee9044"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafde0eb3c73fb98816f4238d42d48f3d8"><td class="memItemLeft" 
align="right" valign="top"><a class="anchor" 
id="gafde0eb3c73fb98816f4238d42d48f3d8"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="group__transport.html#gafde0eb3c73fb98816f4238d42d48f3d8">PN_TRACE_RAW</a></td></tr>
+<tr class="memdesc:gafde0eb3c73fb98816f4238d42d48f3d8"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Log raw binary data 
into/out of the transport. <br/></td></tr>
+<tr class="separator:gafde0eb3c73fb98816f4238d42d48f3d8"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab8e04b4c128379ff27e6b801c0bce494"><td class="memItemLeft" 
align="right" valign="top"><a class="anchor" 
id="gab8e04b4c128379ff27e6b801c0bce494"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="group__transport.html#gab8e04b4c128379ff27e6b801c0bce494">PN_TRACE_FRM</a></td></tr>
+<tr class="memdesc:gab8e04b4c128379ff27e6b801c0bce494"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Log frames into/out of the 
transport. <br/></td></tr>
+<tr class="separator:gab8e04b4c128379ff27e6b801c0bce494"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7065ad65f95c995a24e416edc95aead4"><td class="memItemLeft" 
align="right" valign="top">#define&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga7065ad65f95c995a24e416edc95aead4">PN_TRACE_DRV</a></td></tr>
+<tr class="memdesc:ga7065ad65f95c995a24e416edc95aead4"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Log driver related events, 
e.g.  <a href="#ga7065ad65f95c995a24e416edc95aead4">More...</a><br/></td></tr>
+<tr class="separator:ga7065ad65f95c995a24e416edc95aead4"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3bde88d15fcfda400a36d8f9e5d51688"><td class="memItemLeft" 
align="right" valign="top"><a class="anchor" 
id="ga3bde88d15fcfda400a36d8f9e5d51688"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="group__transport.html#ga3bde88d15fcfda400a36d8f9e5d51688">PN_TRACE_EVT</a></td></tr>
+<tr class="memdesc:ga3bde88d15fcfda400a36d8f9e5d51688"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Log events. <br/></td></tr>
+<tr class="separator:ga3bde88d15fcfda400a36d8f9e5d51688"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a 
name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:ga4695788da8491f0c7104bfe36634ff94"><td class="memItemLeft" 
align="right" valign="top">typedef int&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga4695788da8491f0c7104bfe36634ff94">pn_trace_t</a></td></tr>
+<tr class="memdesc:ga4695788da8491f0c7104bfe36634ff94"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Holds the trace flags for 
an AMQP transport.  <a 
href="#ga4695788da8491f0c7104bfe36634ff94">More...</a><br/></td></tr>
+<tr class="separator:ga4695788da8491f0c7104bfe36634ff94"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3481dace48ff59d216127a63720038cd"><td class="memItemLeft" 
align="right" valign="top"><a class="anchor" 
id="ga3481dace48ff59d216127a63720038cd"></a>
+typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a 
class="el" 
href="group__transport.html#ga3481dace48ff59d216127a63720038cd">pn_tracer_t</a> 
)(<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport, const char *message)</td></tr>
+<tr class="memdesc:ga3481dace48ff59d216127a63720038cd"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Callback for customizing 
logging behaviour. <br/></td></tr>
+<tr class="separator:ga3481dace48ff59d216127a63720038cd"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac26eda05f649bbf0399f3d8d78d12fa8"><td class="memItemLeft" 
align="right" valign="top">typedef struct <a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>&#160;</td><td
 class="memItemRight" valign="bottom"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a></td></tr>
+<tr class="memdesc:gac26eda05f649bbf0399f3d8d78d12fa8"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">An AMQP Transport object.  
<a href="#gac26eda05f649bbf0399f3d8d78d12fa8">More...</a><br/></td></tr>
+<tr class="separator:gac26eda05f649bbf0399f3d8d78d12fa8"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a 
name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gaf9833d93faf6a6ed68039e4a909cdd77"><td class="memItemLeft" 
align="right" valign="top"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="group__transport.html#gaf9833d93faf6a6ed68039e4a909cdd77">pn_transport</a>
 (void)</td></tr>
+<tr class="memdesc:gaf9833d93faf6a6ed68039e4a909cdd77"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Factory for creating a 
transport.  <a 
href="#gaf9833d93faf6a6ed68039e4a909cdd77">More...</a><br/></td></tr>
+<tr class="separator:gaf9833d93faf6a6ed68039e4a909cdd77"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac5bebd26c0942bc17d7fad36577110f8"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#gac5bebd26c0942bc17d7fad36577110f8">pn_transport_set_server</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:gac5bebd26c0942bc17d7fad36577110f8"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Configure a transport as a 
server.  <a 
href="#gac5bebd26c0942bc17d7fad36577110f8">More...</a><br/></td></tr>
+<tr class="separator:gac5bebd26c0942bc17d7fad36577110f8"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6ab28051242631d9bea4814e8670ab90"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga6ab28051242631d9bea4814e8670ab90">pn_transport_free</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:ga6ab28051242631d9bea4814e8670ab90"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Free a transport object.  
<a href="#ga6ab28051242631d9bea4814e8670ab90">More...</a><br/></td></tr>
+<tr class="separator:ga6ab28051242631d9bea4814e8670ab90"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6b2750a2d313c65aabe5dc8a99f1de58"><td class="memItemLeft" 
align="right" valign="top">const char *&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga6b2750a2d313c65aabe5dc8a99f1de58">pn_transport_get_user</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:ga6b2750a2d313c65aabe5dc8a99f1de58"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the authenticated 
user.  <a href="#ga6b2750a2d313c65aabe5dc8a99f1de58">More...</a><br/></td></tr>
+<tr class="separator:ga6b2750a2d313c65aabe5dc8a99f1de58"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga285b4cced59c665ae178adf26128d3fc"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga285b4cced59c665ae178adf26128d3fc">pn_transport_require_auth</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport, bool required)</td></tr>
+<tr class="memdesc:ga285b4cced59c665ae178adf26128d3fc"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Set whether a 
non-authenticated transport connection is allowed.  <a 
href="#ga285b4cced59c665ae178adf26128d3fc">More...</a><br/></td></tr>
+<tr class="separator:ga285b4cced59c665ae178adf26128d3fc"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8a60f6a48e4bd2d090f5bd264cf7f90d"><td class="memItemLeft" 
align="right" valign="top">bool&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga8a60f6a48e4bd2d090f5bd264cf7f90d">pn_transport_is_authenticated</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:ga8a60f6a48e4bd2d090f5bd264cf7f90d"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Tell whether the transport 
connection is authenticated.  <a 
href="#ga8a60f6a48e4bd2d090f5bd264cf7f90d">More...</a><br/></td></tr>
+<tr class="separator:ga8a60f6a48e4bd2d090f5bd264cf7f90d"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaeb7e30ead4a6ab080d0005379be20e34"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#gaeb7e30ead4a6ab080d0005379be20e34">pn_transport_require_encryption</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport, bool required)</td></tr>
+<tr class="memdesc:gaeb7e30ead4a6ab080d0005379be20e34"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Set whether a non encrypted 
transport connection is allowed.  <a 
href="#gaeb7e30ead4a6ab080d0005379be20e34">More...</a><br/></td></tr>
+<tr class="separator:gaeb7e30ead4a6ab080d0005379be20e34"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga737021ca419e948932071aad2ad38c5b"><td class="memItemLeft" 
align="right" valign="top">bool&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga737021ca419e948932071aad2ad38c5b">pn_transport_is_encrypted</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:ga737021ca419e948932071aad2ad38c5b"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Tell whether the transport 
connection is encrypted.  <a 
href="#ga737021ca419e948932071aad2ad38c5b">More...</a><br/></td></tr>
+<tr class="separator:ga737021ca419e948932071aad2ad38c5b"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac458d9fdb684f9501e89b96fc51f5c34"><td class="memItemLeft" 
align="right" valign="top"><a class="el" 
href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a>
 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="group__transport.html#gac458d9fdb684f9501e89b96fc51f5c34">pn_transport_condition</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:gac458d9fdb684f9501e89b96fc51f5c34"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Get additional information 
about the condition of the transport.  <a 
href="#gac458d9fdb684f9501e89b96fc51f5c34">More...</a><br/></td></tr>
+<tr class="separator:gac458d9fdb684f9501e89b96fc51f5c34"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaede0bc2a0038ccdc7e1b193e322147fa"><td class="memItemLeft" 
align="right" valign="top"><a class="el" 
href="group__error.html#ga24a289d5b32c9bd8a775600a5af83d52">pn_error_t</a> 
*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="group__transport.html#gaede0bc2a0038ccdc7e1b193e322147fa">pn_transport_error</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="separator:gaede0bc2a0038ccdc7e1b193e322147fa"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1a769e2e6c900c78c710407296cb4e13"><td class="memItemLeft" 
align="right" valign="top">int&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga1a769e2e6c900c78c710407296cb4e13">pn_transport_bind</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport, <a class="el" 
href="group__connection.html#ga886351d81ff3a977a284a206526c5aff">pn_connection_t</a>
 *connection)</td></tr>
+<tr class="memdesc:ga1a769e2e6c900c78c710407296cb4e13"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Binds the transport to an 
AMQP connection.  <a 
href="#ga1a769e2e6c900c78c710407296cb4e13">More...</a><br/></td></tr>
+<tr class="separator:ga1a769e2e6c900c78c710407296cb4e13"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2a66ff267333651eb166f3f6fa4ede50"><td class="memItemLeft" 
align="right" valign="top">int&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga2a66ff267333651eb166f3f6fa4ede50">pn_transport_unbind</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:ga2a66ff267333651eb166f3f6fa4ede50"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Unbinds a transport from 
its AMQP connection.  <a 
href="#ga2a66ff267333651eb166f3f6fa4ede50">More...</a><br/></td></tr>
+<tr class="separator:ga2a66ff267333651eb166f3f6fa4ede50"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa83f8c30fc0e7518c6ef214bb7b4ea56"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#gaa83f8c30fc0e7518c6ef214bb7b4ea56">pn_transport_trace</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport, <a class="el" 
href="group__transport.html#ga4695788da8491f0c7104bfe36634ff94">pn_trace_t</a> 
trace)</td></tr>
+<tr class="memdesc:gaa83f8c30fc0e7518c6ef214bb7b4ea56"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Update a transports trace 
flags.  <a href="#gaa83f8c30fc0e7518c6ef214bb7b4ea56">More...</a><br/></td></tr>
+<tr class="separator:gaa83f8c30fc0e7518c6ef214bb7b4ea56"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7eb7915459eb433e68ff5ce80c5020a7"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga7eb7915459eb433e68ff5ce80c5020a7">pn_transport_set_tracer</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport, <a class="el" 
href="group__transport.html#ga3481dace48ff59d216127a63720038cd">pn_tracer_t</a> 
tracer)</td></tr>
+<tr class="memdesc:ga7eb7915459eb433e68ff5ce80c5020a7"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Set the tracing function 
used by a transport.  <a 
href="#ga7eb7915459eb433e68ff5ce80c5020a7">More...</a><br/></td></tr>
+<tr class="separator:ga7eb7915459eb433e68ff5ce80c5020a7"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga30d129d04a387ea34515c1641b83521b"><td class="memItemLeft" 
align="right" valign="top"><a class="el" 
href="group__transport.html#ga3481dace48ff59d216127a63720038cd">pn_tracer_t</a>&#160;</td><td
 class="memItemRight" valign="bottom"><a class="el" 
href="group__transport.html#ga30d129d04a387ea34515c1641b83521b">pn_transport_get_tracer</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:ga30d129d04a387ea34515c1641b83521b"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Get the tracing function 
used by a transport.  <a 
href="#ga30d129d04a387ea34515c1641b83521b">More...</a><br/></td></tr>
+<tr class="separator:ga30d129d04a387ea34515c1641b83521b"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga000b2b9ab82139defb1a103f220ec58e"><td class="memItemLeft" 
align="right" valign="top">void *&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga000b2b9ab82139defb1a103f220ec58e">pn_transport_get_context</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="separator:ga000b2b9ab82139defb1a103f220ec58e"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac22041ff85d1a1f5287ac2ba826edb74"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#gac22041ff85d1a1f5287ac2ba826edb74">pn_transport_set_context</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport, void *context)</td></tr>
+<tr class="separator:gac22041ff85d1a1f5287ac2ba826edb74"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabdd6d56837a028097b1676350d65a864"><td class="memItemLeft" 
align="right" valign="top">pn_record_t *&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#gabdd6d56837a028097b1676350d65a864">pn_transport_attachments</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:gabdd6d56837a028097b1676350d65a864"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Get the attachments that 
are associated with a transport object.  <a 
href="#gabdd6d56837a028097b1676350d65a864">More...</a><br/></td></tr>
+<tr class="separator:gabdd6d56837a028097b1676350d65a864"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad603e8d72578bcedd2d9235f74f28f37"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#gad603e8d72578bcedd2d9235f74f28f37">pn_transport_log</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport, const char *message)</td></tr>
+<tr class="memdesc:gad603e8d72578bcedd2d9235f74f28f37"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Log a message using a 
transport's logging mechanism.  <a 
href="#gad603e8d72578bcedd2d9235f74f28f37">More...</a><br/></td></tr>
+<tr class="separator:gad603e8d72578bcedd2d9235f74f28f37"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac773c1b9226783f36e2f2d4770e90e3f"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#gac773c1b9226783f36e2f2d4770e90e3f">pn_transport_vlogf</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport, const char *fmt, va_list ap)</td></tr>
+<tr class="memdesc:gac773c1b9226783f36e2f2d4770e90e3f"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Log a printf formatted 
message using a transport's logging mechanism.  <a 
href="#gac773c1b9226783f36e2f2d4770e90e3f">More...</a><br/></td></tr>
+<tr class="separator:gac773c1b9226783f36e2f2d4770e90e3f"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga26cff9ffda93e2ffc8606e19eefe7f84"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga26cff9ffda93e2ffc8606e19eefe7f84">pn_transport_logf</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport, const char *fmt,...)</td></tr>
+<tr class="memdesc:ga26cff9ffda93e2ffc8606e19eefe7f84"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Log a printf formatted 
message using a transport's logging mechanism.  <a 
href="#ga26cff9ffda93e2ffc8606e19eefe7f84">More...</a><br/></td></tr>
+<tr class="separator:ga26cff9ffda93e2ffc8606e19eefe7f84"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac14e93cc5e8bc949fe7a0800ebd6e052"><td class="memItemLeft" 
align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#gac14e93cc5e8bc949fe7a0800ebd6e052">pn_transport_get_channel_max</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:gac14e93cc5e8bc949fe7a0800ebd6e052"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Get the maximum allowed 
channel for a transport.  <a 
href="#gac14e93cc5e8bc949fe7a0800ebd6e052">More...</a><br/></td></tr>
+<tr class="separator:gac14e93cc5e8bc949fe7a0800ebd6e052"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8f080d7fb1e7fea2c93391d0b8f59773"><td class="memItemLeft" 
align="right" valign="top">int&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga8f080d7fb1e7fea2c93391d0b8f59773">pn_transport_set_channel_max</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport, uint16_t channel_max)</td></tr>
+<tr class="memdesc:ga8f080d7fb1e7fea2c93391d0b8f59773"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Set the maximum allowed 
channel number for a transport.  <a 
href="#ga8f080d7fb1e7fea2c93391d0b8f59773">More...</a><br/></td></tr>
+<tr class="separator:ga8f080d7fb1e7fea2c93391d0b8f59773"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaff7c08aeb92596ad9d269468d1557647"><td class="memItemLeft" 
align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#gaff7c08aeb92596ad9d269468d1557647">pn_transport_remote_channel_max</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:gaff7c08aeb92596ad9d269468d1557647"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Get the maximum allowed 
channel of a transport's remote peer.  <a 
href="#gaff7c08aeb92596ad9d269468d1557647">More...</a><br/></td></tr>
+<tr class="separator:gaff7c08aeb92596ad9d269468d1557647"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga46552ed46e59de6530d2eee03707a51b"><td class="memItemLeft" 
align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga46552ed46e59de6530d2eee03707a51b">pn_transport_get_max_frame</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:ga46552ed46e59de6530d2eee03707a51b"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Get the maximum frame size 
of a transport.  <a 
href="#ga46552ed46e59de6530d2eee03707a51b">More...</a><br/></td></tr>
+<tr class="separator:ga46552ed46e59de6530d2eee03707a51b"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga51573625b6940884fed214b615f42e0f"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga51573625b6940884fed214b615f42e0f">pn_transport_set_max_frame</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport, uint32_t size)</td></tr>
+<tr class="memdesc:ga51573625b6940884fed214b615f42e0f"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Set the maximum frame size 
of a transport.  <a 
href="#ga51573625b6940884fed214b615f42e0f">More...</a><br/></td></tr>
+<tr class="separator:ga51573625b6940884fed214b615f42e0f"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga351823e18e043576078f361d7dfe1cce"><td class="memItemLeft" 
align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga351823e18e043576078f361d7dfe1cce">pn_transport_get_remote_max_frame</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:ga351823e18e043576078f361d7dfe1cce"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Get the maximum frame size 
of a transport's remote peer.  <a 
href="#ga351823e18e043576078f361d7dfe1cce">More...</a><br/></td></tr>
+<tr class="separator:ga351823e18e043576078f361d7dfe1cce"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6980396c3d890b86656167c3a063eee7"><td class="memItemLeft" 
align="right" valign="top"><a class="el" 
href="group__api__types.html#ga9a701bc6dc9af9f42c3f4679172a723c">pn_millis_t</a>&#160;</td><td
 class="memItemRight" valign="bottom"><a class="el" 
href="group__transport.html#ga6980396c3d890b86656167c3a063eee7">pn_transport_get_idle_timeout</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:ga6980396c3d890b86656167c3a063eee7"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Get the idle timeout for a 
transport.  <a 
href="#ga6980396c3d890b86656167c3a063eee7">More...</a><br/></td></tr>
+<tr class="separator:ga6980396c3d890b86656167c3a063eee7"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafb1c98602d17524eb40e48bf610362d7"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#gafb1c98602d17524eb40e48bf610362d7">pn_transport_set_idle_timeout</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport, <a class="el" 
href="group__api__types.html#ga9a701bc6dc9af9f42c3f4679172a723c">pn_millis_t</a>
 timeout)</td></tr>
+<tr class="memdesc:gafb1c98602d17524eb40e48bf610362d7"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Set the idle timeout for a 
transport.  <a 
href="#gafb1c98602d17524eb40e48bf610362d7">More...</a><br/></td></tr>
+<tr class="separator:gafb1c98602d17524eb40e48bf610362d7"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabdcbd5d08c5b5cd3603dee74421985b5"><td class="memItemLeft" 
align="right" valign="top"><a class="el" 
href="group__api__types.html#ga9a701bc6dc9af9f42c3f4679172a723c">pn_millis_t</a>&#160;</td><td
 class="memItemRight" valign="bottom"><a class="el" 
href="group__transport.html#gabdcbd5d08c5b5cd3603dee74421985b5">pn_transport_get_remote_idle_timeout</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:gabdcbd5d08c5b5cd3603dee74421985b5"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Get the idle timeout for a 
transport's remote peer.  <a 
href="#gabdcbd5d08c5b5cd3603dee74421985b5">More...</a><br/></td></tr>
+<tr class="separator:gabdcbd5d08c5b5cd3603dee74421985b5"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga93f5efd9d63ebd1b1498fdace388ec3d"><td class="memItemLeft" 
align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga93f5efd9d63ebd1b1498fdace388ec3d">pn_transport_input</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport, const char *bytes, size_t available)</td></tr>
+<tr class="separator:ga93f5efd9d63ebd1b1498fdace388ec3d"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae72fdee3b8aae3cb484b0ed98c2b802e"><td class="memItemLeft" 
align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#gae72fdee3b8aae3cb484b0ed98c2b802e">pn_transport_output</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport, char *bytes, size_t size)</td></tr>
+<tr class="separator:gae72fdee3b8aae3cb484b0ed98c2b802e"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa079bb5f5b9ea10734c9d8af26fba333"><td class="memItemLeft" 
align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#gaa079bb5f5b9ea10734c9d8af26fba333">pn_transport_capacity</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:gaa079bb5f5b9ea10734c9d8af26fba333"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Get the amount of free 
space for input following the transport's tail pointer.  <a 
href="#gaa079bb5f5b9ea10734c9d8af26fba333">More...</a><br/></td></tr>
+<tr class="separator:gaa079bb5f5b9ea10734c9d8af26fba333"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4a9e6c6b207c41647ff988b5ae090d85"><td class="memItemLeft" 
align="right" valign="top">char *&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga4a9e6c6b207c41647ff988b5ae090d85">pn_transport_tail</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:ga4a9e6c6b207c41647ff988b5ae090d85"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Get the transport's tail 
pointer.  <a 
href="#ga4a9e6c6b207c41647ff988b5ae090d85">More...</a><br/></td></tr>
+<tr class="separator:ga4a9e6c6b207c41647ff988b5ae090d85"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga50c63f26b8b16f45e6e7912ca54de94b"><td class="memItemLeft" 
align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga50c63f26b8b16f45e6e7912ca54de94b">pn_transport_push</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport, const char *src, size_t size)</td></tr>
+<tr class="memdesc:ga50c63f26b8b16f45e6e7912ca54de94b"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Pushes the supplied bytes 
into the tail of the transport.  <a 
href="#ga50c63f26b8b16f45e6e7912ca54de94b">More...</a><br/></td></tr>
+<tr class="separator:ga50c63f26b8b16f45e6e7912ca54de94b"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1f52a6f11322873e74b9daf004269a91"><td class="memItemLeft" 
align="right" valign="top">int&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga1f52a6f11322873e74b9daf004269a91">pn_transport_process</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport, size_t size)</td></tr>
+<tr class="memdesc:ga1f52a6f11322873e74b9daf004269a91"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Process input data 
following the tail pointer.  <a 
href="#ga1f52a6f11322873e74b9daf004269a91">More...</a><br/></td></tr>
+<tr class="separator:ga1f52a6f11322873e74b9daf004269a91"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa8304f8719610e384aa9a3f5f3c98289"><td class="memItemLeft" 
align="right" valign="top">int&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#gaa8304f8719610e384aa9a3f5f3c98289">pn_transport_close_tail</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:gaa8304f8719610e384aa9a3f5f3c98289"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Indicate that the input has 
reached End Of Stream (EOS).  <a 
href="#gaa8304f8719610e384aa9a3f5f3c98289">More...</a><br/></td></tr>
+<tr class="separator:gaa8304f8719610e384aa9a3f5f3c98289"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga81adf1fd6fa28054f2f80c424aa98122"><td class="memItemLeft" 
align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga81adf1fd6fa28054f2f80c424aa98122">pn_transport_pending</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:ga81adf1fd6fa28054f2f80c424aa98122"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of pending 
output bytes following the transport's head pointer.  <a 
href="#ga81adf1fd6fa28054f2f80c424aa98122">More...</a><br/></td></tr>
+<tr class="separator:ga81adf1fd6fa28054f2f80c424aa98122"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3ef8b0032b2a012c697e853e363338ea"><td class="memItemLeft" 
align="right" valign="top">const char *&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga3ef8b0032b2a012c697e853e363338ea">pn_transport_head</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:ga3ef8b0032b2a012c697e853e363338ea"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Get the transport's head 
pointer.  <a 
href="#ga3ef8b0032b2a012c697e853e363338ea">More...</a><br/></td></tr>
+<tr class="separator:ga3ef8b0032b2a012c697e853e363338ea"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga09a0d15514ca9a14eb40f12425a52797"><td class="memItemLeft" 
align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga09a0d15514ca9a14eb40f12425a52797">pn_transport_peek</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport, char *dst, size_t size)</td></tr>
+<tr class="memdesc:ga09a0d15514ca9a14eb40f12425a52797"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Copies <code>size</code> 
bytes from the head of the transport to the <code>dst</code> pointer.  <a 
href="#ga09a0d15514ca9a14eb40f12425a52797">More...</a><br/></td></tr>
+<tr class="separator:ga09a0d15514ca9a14eb40f12425a52797"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga31470f0b0dbfd2c8c2929cc170858dc9"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga31470f0b0dbfd2c8c2929cc170858dc9">pn_transport_pop</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport, size_t size)</td></tr>
+<tr class="memdesc:ga31470f0b0dbfd2c8c2929cc170858dc9"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Removes <code>size</code> 
bytes of output from the pending output queue following the transport's head 
pointer.  <a 
href="#ga31470f0b0dbfd2c8c2929cc170858dc9">More...</a><br/></td></tr>
+<tr class="separator:ga31470f0b0dbfd2c8c2929cc170858dc9"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab8d0c7878d3d8ecda627678a6ec55072"><td class="memItemLeft" 
align="right" valign="top">int&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#gab8d0c7878d3d8ecda627678a6ec55072">pn_transport_close_head</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:gab8d0c7878d3d8ecda627678a6ec55072"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Indicate that the output 
has closed.  <a 
href="#gab8d0c7878d3d8ecda627678a6ec55072">More...</a><br/></td></tr>
+<tr class="separator:gab8d0c7878d3d8ecda627678a6ec55072"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab8d9e4729b8835d3740de8d2c78831ef"><td class="memItemLeft" 
align="right" valign="top">bool&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#gab8d9e4729b8835d3740de8d2c78831ef">pn_transport_quiesced</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:gab8d9e4729b8835d3740de8d2c78831ef"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Check if a transport has 
buffered data.  <a 
href="#gab8d9e4729b8835d3740de8d2c78831ef">More...</a><br/></td></tr>
+<tr class="separator:gab8d9e4729b8835d3740de8d2c78831ef"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga55c589d9b3e69057b130036c3c2173df"><td class="memItemLeft" 
align="right" valign="top">bool&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga55c589d9b3e69057b130036c3c2173df">pn_transport_closed</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:ga55c589d9b3e69057b130036c3c2173df"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Check if a transport is 
closed.  <a 
href="#ga55c589d9b3e69057b130036c3c2173df">More...</a><br/></td></tr>
+<tr class="separator:ga55c589d9b3e69057b130036c3c2173df"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0f2abc6827e9370c0aebb2e5dd7535a9"><td class="memItemLeft" 
align="right" valign="top"><a class="el" 
href="group__amqp__types.html#gad337c365b498106064ec28e00e5fb6dd">pn_timestamp_t</a>&#160;</td><td
 class="memItemRight" valign="bottom"><a class="el" 
href="group__transport.html#ga0f2abc6827e9370c0aebb2e5dd7535a9">pn_transport_tick</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport, <a class="el" 
href="group__amqp__types.html#gad337c365b498106064ec28e00e5fb6dd">pn_timestamp_t</a>
 now)</td></tr>
+<tr class="memdesc:ga0f2abc6827e9370c0aebb2e5dd7535a9"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Process any pending 
transport timer events.  <a 
href="#ga0f2abc6827e9370c0aebb2e5dd7535a9">More...</a><br/></td></tr>
+<tr class="separator:ga0f2abc6827e9370c0aebb2e5dd7535a9"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3887e8d8c60d06df9978947edaf4d461"><td class="memItemLeft" 
align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga3887e8d8c60d06df9978947edaf4d461">pn_transport_get_frames_output</a>
 (const <a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:ga3887e8d8c60d06df9978947edaf4d461"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of frames 
output by a transport.  <a 
href="#ga3887e8d8c60d06df9978947edaf4d461">More...</a><br/></td></tr>
+<tr class="separator:ga3887e8d8c60d06df9978947edaf4d461"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga92ce0b44ab956c182d646824b4e9ed61"><td class="memItemLeft" 
align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__transport.html#ga92ce0b44ab956c182d646824b4e9ed61">pn_transport_get_frames_input</a>
 (const <a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:ga92ce0b44ab956c182d646824b4e9ed61"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of frames 
input by a transport.  <a 
href="#ga92ce0b44ab956c182d646824b4e9ed61">More...</a><br/></td></tr>
+<tr class="separator:ga92ce0b44ab956c182d646824b4e9ed61"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2b98f594e012c24e7b17dcc91e3d4caf"><td class="memItemLeft" 
align="right" valign="top"><a class="el" 
href="group__connection.html#ga886351d81ff3a977a284a206526c5aff">pn_connection_t</a>
 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="group__transport.html#ga2b98f594e012c24e7b17dcc91e3d4caf">pn_transport_connection</a>
 (<a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:ga2b98f594e012c24e7b17dcc91e3d4caf"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Access the AMQP Connection 
associated with the transport.  <a 
href="#ga2b98f594e012c24e7b17dcc91e3d4caf">More...</a><br/></td></tr>
+<tr class="separator:ga2b98f594e012c24e7b17dcc91e3d4caf"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed 
Description</h2>
+<p>A network channel supporting an AMQP connection. </p>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a class="anchor" id="ga7065ad65f95c995a24e416edc95aead4"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define PN_TRACE_DRV</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Log driver related events, e.g. </p>
+<p>initialization, end of stream, etc. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Typedef Documentation</h2>
+<a class="anchor" id="ga4695788da8491f0c7104bfe36634ff94"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef int <a class="el" 
href="group__transport.html#ga4695788da8491f0c7104bfe36634ff94">pn_trace_t</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Holds the trace flags for an AMQP transport. </p>
+<p>The trace flags for an AMQP transport control what sort of information is 
logged by an AMQP transport. The following bits can be set:</p>
+<ul>
+<li><a class="el" 
href="group__transport.html#gae8f32e46e94953bab10bee530eee9044" title="Turn 
logging off entirely.">PN_TRACE_OFF</a></li>
+<li><a class="el" 
href="group__transport.html#gafde0eb3c73fb98816f4238d42d48f3d8" title="Log raw 
binary data into/out of the transport.">PN_TRACE_RAW</a></li>
+<li><a class="el" 
href="group__transport.html#gab8e04b4c128379ff27e6b801c0bce494" title="Log 
frames into/out of the transport.">PN_TRACE_FRM</a></li>
+<li><a class="el" 
href="group__transport.html#ga7065ad65f95c995a24e416edc95aead4" title="Log 
driver related events, e.g.">PN_TRACE_DRV</a></li>
+<li><a class="el" 
href="group__transport.html#ga3bde88d15fcfda400a36d8f9e5d51688" title="Log 
events.">PN_TRACE_EVT</a> </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gac26eda05f649bbf0399f3d8d78d12fa8"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef struct <a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 <a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>An AMQP Transport object. </p>
+<p>A pn_transport_t encapsulates the transport related state of all AMQP 
endpoint objects associated with a physical network connection at a given point 
in time. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="gaf9833d93faf6a6ed68039e4a909cdd77"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>*
 pn_transport </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Factory for creating a transport. </p>
+<p>A transport is used by a connection to interface with the network. There 
can only be one connection associated with a transport. See <a class="el" 
href="group__transport.html#ga1a769e2e6c900c78c710407296cb4e13" title="Binds 
the transport to an AMQP connection.">pn_transport_bind()</a>.</p>
+<p>Initially a transport is configured to be a client transport. Use <a 
class="el" href="group__transport.html#gac5bebd26c0942bc17d7fad36577110f8" 
title="Configure a transport as a server.">pn_transport_set_server()</a> to 
configure the transport as a server transport.</p>
+<p>A client transport initiates outgoing connections.</p>
+<p>A client transport must be configured with the protocol layers to use and 
cannot configure itself automatically.</p>
+<p>A server transport accepts incoming connections. It can automatically 
configure itself to include the various protocol layers depending on the 
incoming protocol headers.</p>
+<dl class="section return"><dt>Returns</dt><dd>pointer to new transport 
</dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gabdd6d56837a028097b1676350d65a864"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pn_record_t* pn_transport_attachments </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get the attachments that are associated with a transport object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>the transport whose attachments are to be 
returned. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the attachments for the 
transport object </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga1a769e2e6c900c78c710407296cb4e13"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int pn_transport_bind </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" 
href="group__connection.html#ga886351d81ff3a977a284a206526c5aff">pn_connection_t</a>
 *&#160;</td>
+          <td class="paramname"><em>connection</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Binds the transport to an AMQP connection. </p>
+<dl class="section return"><dt>Returns</dt><dd>an error code, or 0 on success 
</dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa079bb5f5b9ea10734c9d8af26fba333"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">ssize_t pn_transport_capacity </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get the amount of free space for input following the transport's tail 
pointer. </p>
+<p>If the engine is in an exceptional state such as encountering an error 
condition or reaching the end of stream state, a negative value will be 
returned indicating the condition. If an error is indicated, futher details can 
be obtained from <a class="el" 
href="group__transport.html#gaede0bc2a0038ccdc7e1b193e322147fa">pn_transport_error</a>.
 Calls to <a class="el" 
href="group__transport.html#ga1f52a6f11322873e74b9daf004269a91" title="Process 
input data following the tail pointer.">pn_transport_process</a> may alter the 
value of this pointer. See <a class="el" 
href="group__transport.html#ga1f52a6f11322873e74b9daf004269a91" title="Process 
input data following the tail pointer.">pn_transport_process</a> for 
details.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>the transport </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the free space in the 
transport, PN_EOS or error code if &lt; 0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gab8d0c7878d3d8ecda627678a6ec55072"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int pn_transport_close_head </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Indicate that the output has closed. </p>
+<p>This tells the transport that no more output will be popped.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>the transport </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 on success, or error code if 
&lt; 0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa8304f8719610e384aa9a3f5f3c98289"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int pn_transport_close_tail </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Indicate that the input has reached End Of Stream (EOS). </p>
+<p>This tells the transport that no more input will be forthcoming.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>the transport </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 on success, or error code if 
&lt; 0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga55c589d9b3e69057b130036c3c2173df"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pn_transport_closed </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Check if a transport is closed. </p>
+<p>A transport is defined to be closed when both the tail and the head are 
closed. In other words, when both <a class="el" 
href="group__transport.html#gaa079bb5f5b9ea10734c9d8af26fba333" title="Get the 
amount of free space for input following the transport&#39;s tail 
pointer.">pn_transport_capacity()</a> &lt; 0 and <a class="el" 
href="group__transport.html#ga81adf1fd6fa28054f2f80c424aa98122" title="Get the 
number of pending output bytes following the transport&#39;s head 
pointer.">pn_transport_pending()</a> &lt; 0.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>a transport object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>true if the transport is 
closed, false otherwise </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gac458d9fdb684f9501e89b96fc51f5c34"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" 
href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a>*
 pn_transport_condition </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get additional information about the condition of the transport. </p>
+<p>When a PN_TRANSPORT_ERROR event occurs, this operation can be used to 
access the details of the error condtion.</p>
+<p>The pointer returned by this operation is valid until the transport object 
is freed.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>the transport object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the transport's condition 
object </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" 
href="broker_8c-example.html#a68">broker.c</a>, <a class="el" 
href="receive_8c-example.html#a40">receive.c</a>, and <a class="el" 
href="send_8c-example.html#a55">send.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ga2b98f594e012c24e7b17dcc91e3d4caf"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" 
href="group__connection.html#ga886351d81ff3a977a284a206526c5aff">pn_connection_t</a>*
 pn_transport_connection </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Access the AMQP Connection associated with the transport. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>a transport object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the connection context for the 
transport, or NULL if none </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaede0bc2a0038ccdc7e1b193e322147fa"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" 
href="group__error.html#ga24a289d5b32c9bd8a775600a5af83d52">pn_error_t</a>* 
pn_transport_error </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="deprecated"><dt><b><a class="el" 
href="deprecated.html#_deprecated000013">Deprecated:</a></b></dt><dd></dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6ab28051242631d9bea4814e8670ab90"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pn_transport_free </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Free a transport object. </p>
+<p>When a transport is freed, it is automatically unbound from its associated 
connection.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>a transport object or NULL </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gac14e93cc5e8bc949fe7a0800ebd6e052"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">uint16_t pn_transport_get_channel_max </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get the maximum allowed channel for a transport. </p>
+<p>This will be the minimum of</p>
+<ol type="1">
+<li>limit imposed by this proton implementation</li>
+<li>limit imposed by remote peer</li>
+<li>limit imposed by this application, using <a class="el" 
href="group__transport.html#ga8f080d7fb1e7fea2c93391d0b8f59773" title="Set the 
maximum allowed channel number for a 
transport.">pn_transport_set_channel_max()</a></li>
+</ol>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>a transport object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the maximum allowed channel 
</dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga000b2b9ab82139defb1a103f220ec58e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void* pn_transport_get_context </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="deprecated"><dt><b><a class="el" 
href="deprecated.html#_deprecated000014">Deprecated:</a></b></dt><dd></dd></dl>
+<p>Get the application context that is associated with a transport object.</p>
+<p>The application context for a transport may be set using <a class="el" 
href="group__transport.html#gac22041ff85d1a1f5287ac2ba826edb74">pn_transport_set_context</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>the transport whose context is to be 
returned. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the application context for the 
transport object </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga92ce0b44ab956c182d646824b4e9ed61"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">uint64_t pn_transport_get_frames_input </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get the number of frames input by a transport. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>a transport object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the number of frames input by 
the transport </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga3887e8d8c60d06df9978947edaf4d461"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">uint64_t pn_transport_get_frames_output </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get the number of frames output by a transport. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>a transport object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the number of frames output by 
the transport </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6980396c3d890b86656167c3a063eee7"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" 
href="group__api__types.html#ga9a701bc6dc9af9f42c3f4679172a723c">pn_millis_t</a>
 pn_transport_get_idle_timeout </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get the idle timeout for a transport. </p>
+<p>A zero idle timeout means heartbeats are disabled.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>a transport object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the transport's idle timeout 
</dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga46552ed46e59de6530d2eee03707a51b"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">uint32_t pn_transport_get_max_frame </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get the maximum frame size of a transport. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>a transport object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the maximum frame size of the 
transport object </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gabdcbd5d08c5b5cd3603dee74421985b5"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" 
href="group__api__types.html#ga9a701bc6dc9af9f42c3f4679172a723c">pn_millis_t</a>
 pn_transport_get_remote_idle_timeout </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get the idle timeout for a transport's remote peer. </p>
+<p>A zero idle timeout means heartbeats are disabled.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>a transport object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the idle timeout for the 
transport's remote peer </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga351823e18e043576078f361d7dfe1cce"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">uint32_t pn_transport_get_remote_max_frame </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get the maximum frame size of a transport's remote peer. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>a transport object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the maximum frame size of the 
transport's remote peer </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga30d129d04a387ea34515c1641b83521b"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" 
href="group__transport.html#ga3481dace48ff59d216127a63720038cd">pn_tracer_t</a> 
pn_transport_get_tracer </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get the tracing function used by a transport. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>a transport object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the tracing function used by a 
transport </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6b2750a2d313c65aabe5dc8a99f1de58"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* pn_transport_get_user </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Retrieve the authenticated user. </p>
+<p>This is usually used at the the server end to find the name of the 
authenticated user. On the client it will merely return whatever user was 
passed in to the <a class="el" 
href="group__connection.html#gafb84dd2ef7551ad864be08cb31010d19" title="Set the 
authentication username for a client connection.">pn_connection_set_user()</a> 
API of the bound connection.</p>
+<p>The returned value is only reliable after the PN_TRANSPORT_AUTHENTICATED 
event has been received.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>the transport</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>If a the user is anonymous 
(either no SASL layer is negotiated or the SASL ANONYMOUS mechanism is used) 
then the user will be "anonymous" Otherwise a string containing the user is 
returned. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga3ef8b0032b2a012c697e853e363338ea"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* pn_transport_head </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get the transport's head pointer. </p>
+<p>This pointer references queued output data. The <a class="el" 
href="group__transport.html#ga81adf1fd6fa28054f2f80c424aa98122" title="Get the 
number of pending output bytes following the transport&#39;s head 
pointer.">pn_transport_pending</a> function reports how many bytes of output 
data follow this pointer. Calls to <a class="el" 
href="group__transport.html#ga31470f0b0dbfd2c8c2929cc170858dc9" title="Removes 
size bytes of output from the pending output queue following the 
transport&#39;s head pointer...">pn_transport_pop</a> may alter this pointer 
and any data it references. See <a class="el" 
href="group__transport.html#ga31470f0b0dbfd2c8c2929cc170858dc9" title="Removes 
size bytes of output from the pending output queue following the 
transport&#39;s head pointer...">pn_transport_pop</a> for details.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>the transport </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>a pointer to the transport's 
output buffer, or NULL if no pending output. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga93f5efd9d63ebd1b1498fdace388ec3d"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">ssize_t pn_transport_input </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>bytes</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>available</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="deprecated"><dt><b><a class="el" 
href="deprecated.html#_deprecated000016">Deprecated:</a></b></dt><dd></dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8a60f6a48e4bd2d090f5bd264cf7f90d"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pn_transport_is_authenticated </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Tell whether the transport connection is authenticated. </p>
+<p>Note that this property may not be stable until the 
PN_CONNECTION_REMOTE_OPEN event is received.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>the transport </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>bool representing 
authentication </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga737021ca419e948932071aad2ad38c5b"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pn_transport_is_encrypted </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Tell whether the transport connection is encrypted. </p>
+<p>Note that this property may not be stable until the 
PN_CONNECTION_REMOTE_OPEN event is received.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>the transport </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>bool representing encryption 
</dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gad603e8d72578bcedd2d9235f74f28f37"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pn_transport_log </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>message</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Log a message using a transport's logging mechanism. </p>
+<p>This can be useful in a debugging context as the log message will be 
prefixed with the transport's identifier.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>a transport object </td></tr>
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">message</td><td>the message to be logged </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga26cff9ffda93e2ffc8606e19eefe7f84"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pn_transport_logf </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>fmt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>...</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Log a printf formatted message using a transport's logging mechanism. </p>
+<p>This can be useful in a debugging context as the log message will be 
prefixed with the transport's identifier.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>a transport object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fmt</td><td>the 
printf formatted message to be logged </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gae72fdee3b8aae3cb484b0ed98c2b802e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">ssize_t pn_transport_output </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&#160;</td>
+          <td class="paramname"><em>bytes</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>size</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="deprecated"><dt><b><a class="el" 
href="deprecated.html#_deprecated000017">Deprecated:</a></b></dt><dd></dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga09a0d15514ca9a14eb40f12425a52797"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">ssize_t pn_transport_peek </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&#160;</td>
+          <td class="paramname"><em>dst</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>size</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Copies <code>size</code> bytes from the head of the transport to the 
<code>dst</code> pointer. </p>
+<p>It is an error to call this with a value of <code>size</code> that is 
greater than the value reported by <a class="el" 
href="group__transport.html#ga81adf1fd6fa28054f2f80c424aa98122" title="Get the 
number of pending output bytes following the transport&#39;s head 
pointer.">pn_transport_pending</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>the transport </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">dst</td><td>the 
destination buffer </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>the 
capacity of the destination buffer </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>number of bytes copied on 
success, or error code if &lt; 0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga81adf1fd6fa28054f2f80c424aa98122"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">ssize_t pn_transport_pending </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get the number of pending output bytes following the transport's head 
pointer. </p>
+<p>If the engine is in an exceptional state such as encountering an error 
condition or reaching the end of stream state, a negative value will be 
returned indicating the condition. If an error is indicated, further details 
can be obtained from <a class="el" 
href="group__transport.html#gaede0bc2a0038ccdc7e1b193e322147fa">pn_transport_error</a>.
 Calls to <a class="el" 
href="group__transport.html#ga31470f0b0dbfd2c8c2929cc170858dc9" title="Removes 
size bytes of output from the pending output queue following the 
transport&#39;s head pointer...">pn_transport_pop</a> may alter the value of 
this pointer. See <a class="el" 
href="group__transport.html#ga31470f0b0dbfd2c8c2929cc170858dc9" title="Removes 
size bytes of output from the pending output queue following the 
transport&#39;s head pointer...">pn_transport_pop</a> for details.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>the transport </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the number of pending output 
bytes, or an error code </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga31470f0b0dbfd2c8c2929cc170858dc9"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pn_transport_pop </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>size</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Removes <code>size</code> bytes of output from the pending output queue 
following the transport's head pointer. </p>
+<p>Calls to this function may alter the transport's head pointer as well as 
the number of pending bytes reported by <a class="el" 
href="group__transport.html#ga81adf1fd6fa28054f2f80c424aa98122" title="Get the 
number of pending output bytes following the transport&#39;s head 
pointer.">pn_transport_pending</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td 
class="paramname">transport</td><td>the transport </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>the 
number of bytes to remove </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga1f52a6f11322873e74b9daf004269a91"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int pn_transport_process </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *&#160;</td>
+          <td class="paramname"><em>transport</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>size</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Process input data following the tail pointer. </p>
+<p>Calling this function will cause the transport to consume <code>size</code> 
bytes of input occupying the free space following the tail pointer. Calls to 
this function may change the value of <a class="el" 
href="group__transport.html#ga4a9e6c6b207c41647ff988b5ae090d85" title="Get the 
transport&#39;s tail pointer.">pn_transport_tail</a>, as well as the amount of 
free space reported by <a class="el" 
href="group__transport.html#gaa079bb5f5b9ea10734c9d8af26fba333" title="Get the 
amount of free space for input following the transport&#39;s tail 
pointer.">pn_transport_capacity</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>

<TRUNCATED>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to