You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by jr...@apache.org on 2016/12/02 23:22:48 UTC

[43/51] [partial] qpid-site git commit: QPID-7553: Update the proton api gen script for changes to the C api docs; republish the proton master doc snapshot

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/cd4363b2/content/releases/qpid-proton-master/proton/c/api/connection__driver_8h.html
----------------------------------------------------------------------
diff --git a/content/releases/qpid-proton-master/proton/c/api/connection__driver_8h.html b/content/releases/qpid-proton-master/proton/c/api/connection__driver_8h.html
new file mode 100755
index 0000000..a541581
--- /dev/null
+++ b/content/releases/qpid-proton-master/proton/c/api/connection__driver_8h.html
@@ -0,0 +1,228 @@
+<!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.11"/>
+<title>Qpid Proton C API: proton/connection_driver.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Qpid Proton C API
+   &#160;<span id="projectnumber">master</span>
+   </div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<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('connection__driver_8h.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">connection_driver.h File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><b>Experimental</b> - Low-level IO integration  
+<a href="#details">More...</a></p>
+<div class="textblock"><code>#include &lt;proton/import_export.h&gt;</code><br />
+<code>#include &lt;<a class="el" href="event_8h_source.html">proton/event.h</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="types_8h_source.html">proton/types.h</a>&gt;</code><br />
+<code>#include &lt;stdarg.h&gt;</code><br />
+</div>
+<p><a href="connection__driver_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:structpn__connection__driver__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a></td></tr>
+<tr class="memdesc:structpn__connection__driver__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">The elements needed to drive AMQP IO and events.  <a href="group__connection__driver.html#structpn__connection__driver__t">More...</a><br /></td></tr>
+<tr class="separator:structpn__connection__driver__t"><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:ga9793522a25c9741e8d17a570a47e9711"><td class="memItemLeft" align="right" valign="top">
+typedef struct <a class="el" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection__driver.html#ga9793522a25c9741e8d17a570a47e9711">pn_connection_driver_t</a></td></tr>
+<tr class="memdesc:ga9793522a25c9741e8d17a570a47e9711"><td class="mdescLeft">&#160;</td><td class="mdescRight">The elements needed to drive AMQP IO and events. <br /></td></tr>
+<tr class="separator:ga9793522a25c9741e8d17a570a47e9711"><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:ga2330d329e295da740ef8d126657470c6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection__driver.html#ga2330d329e295da740ef8d126657470c6">pn_connection_driver_init</a> (<a class="el" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *, <a class="el" href="group__connection.html#ga886351d81ff3a977a284a206526c5aff">pn_connection_t</a> *, <a class="el" href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a> *)</td></tr>
+<tr class="memdesc:ga2330d329e295da740ef8d126657470c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set connection and transport to the provided values, or create a new <a class="el" href="group__connection.html#ga886351d81ff3a977a284a206526c5aff">pn_connection_t</a> or <a class="el" href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a> if either is NULL.  <a href="group__connection__driver.html#ga2330d329e295da740ef8d126657470c6">More...</a><br /></td></tr>
+<tr class="separator:ga2330d329e295da740ef8d126657470c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad2bdef0f5abe7cf593afcee237c6af56"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection__driver.html#gad2bdef0f5abe7cf593afcee237c6af56">pn_connection_driver_bind</a> (<a class="el" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *d)</td></tr>
+<tr class="memdesc:gad2bdef0f5abe7cf593afcee237c6af56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Force binding of the transport.  <a href="group__connection__driver.html#gad2bdef0f5abe7cf593afcee237c6af56">More...</a><br /></td></tr>
+<tr class="separator:gad2bdef0f5abe7cf593afcee237c6af56"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3e8959d7897cd9415f687981c1d94c96"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection__driver.html#ga3e8959d7897cd9415f687981c1d94c96">pn_connection_driver_destroy</a> (<a class="el" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *)</td></tr>
+<tr class="memdesc:ga3e8959d7897cd9415f687981c1d94c96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unbind, release and free the connection and transport.  <a href="group__connection__driver.html#ga3e8959d7897cd9415f687981c1d94c96">More...</a><br /></td></tr>
+<tr class="separator:ga3e8959d7897cd9415f687981c1d94c96"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0dd152968de6ec06de352e1cbc51c438"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__types.html#structpn__rwbytes__t">pn_rwbytes_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection__driver.html#ga0dd152968de6ec06de352e1cbc51c438">pn_connection_driver_read_buffer</a> (<a class="el" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *)</td></tr>
+<tr class="memdesc:ga0dd152968de6ec06de352e1cbc51c438"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the read buffer.  <a href="group__connection__driver.html#ga0dd152968de6ec06de352e1cbc51c438">More...</a><br /></td></tr>
+<tr class="separator:ga0dd152968de6ec06de352e1cbc51c438"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa164510528ce160efddbde2245c438b1"><td class="memItemLeft" align="right" valign="top">
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection__driver.html#gaa164510528ce160efddbde2245c438b1">pn_connection_driver_read_done</a> (<a class="el" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *, size_t n)</td></tr>
+<tr class="memdesc:gaa164510528ce160efddbde2245c438b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Process the first n bytes of data in <a class="el" href="group__connection__driver.html#ga0dd152968de6ec06de352e1cbc51c438" title="Get the read buffer. ">pn_connection_driver_read_buffer()</a> and reclaim the buffer space. <br /></td></tr>
+<tr class="separator:gaa164510528ce160efddbde2245c438b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga11b59aec2b54acdefd63dfbce8d09a3f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection__driver.html#ga11b59aec2b54acdefd63dfbce8d09a3f">pn_connection_driver_read_close</a> (<a class="el" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *)</td></tr>
+<tr class="memdesc:ga11b59aec2b54acdefd63dfbce8d09a3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the read side.  <a href="group__connection__driver.html#ga11b59aec2b54acdefd63dfbce8d09a3f">More...</a><br /></td></tr>
+<tr class="separator:ga11b59aec2b54acdefd63dfbce8d09a3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga56ccde529842f18774fdf827e86afa23"><td class="memItemLeft" align="right" valign="top">
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection__driver.html#ga56ccde529842f18774fdf827e86afa23">pn_connection_driver_read_closed</a> (<a class="el" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *)</td></tr>
+<tr class="memdesc:ga56ccde529842f18774fdf827e86afa23"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if read side is closed. <br /></td></tr>
+<tr class="separator:ga56ccde529842f18774fdf827e86afa23"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3e5795e14572eec632231fe9f916ca5f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection__driver.html#ga3e5795e14572eec632231fe9f916ca5f">pn_connection_driver_write_buffer</a> (<a class="el" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *)</td></tr>
+<tr class="memdesc:ga3e5795e14572eec632231fe9f916ca5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the write buffer.  <a href="group__connection__driver.html#ga3e5795e14572eec632231fe9f916ca5f">More...</a><br /></td></tr>
+<tr class="separator:ga3e5795e14572eec632231fe9f916ca5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaead42b6a9356214d9e2bb591af009243"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection__driver.html#gaead42b6a9356214d9e2bb591af009243">pn_connection_driver_write_done</a> (<a class="el" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *, size_t n)</td></tr>
+<tr class="memdesc:gaead42b6a9356214d9e2bb591af009243"><td class="mdescLeft">&#160;</td><td class="mdescRight">Call when the first n bytes of <a class="el" href="group__connection__driver.html#ga3e5795e14572eec632231fe9f916ca5f" title="Get the write buffer. ">pn_connection_driver_write_buffer()</a> have been written to IO.  <a href="group__connection__driver.html#gaead42b6a9356214d9e2bb591af009243">More...</a><br /></td></tr>
+<tr class="separator:gaead42b6a9356214d9e2bb591af009243"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafdca1cd72d6da760d3df7981085b36ce"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection__driver.html#gafdca1cd72d6da760d3df7981085b36ce">pn_connection_driver_write_close</a> (<a class="el" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *)</td></tr>
+<tr class="memdesc:gafdca1cd72d6da760d3df7981085b36ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the write side.  <a href="group__connection__driver.html#gafdca1cd72d6da760d3df7981085b36ce">More...</a><br /></td></tr>
+<tr class="separator:gafdca1cd72d6da760d3df7981085b36ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga001b2f3c1bfe4d24d53b93d79dccbfe3"><td class="memItemLeft" align="right" valign="top">
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection__driver.html#ga001b2f3c1bfe4d24d53b93d79dccbfe3">pn_connection_driver_write_closed</a> (<a class="el" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *)</td></tr>
+<tr class="memdesc:ga001b2f3c1bfe4d24d53b93d79dccbfe3"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if write side is closed. <br /></td></tr>
+<tr class="separator:ga001b2f3c1bfe4d24d53b93d79dccbfe3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad0c98415e0105efb71e8c1a8c4c1e5fb"><td class="memItemLeft" align="right" valign="top">
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection__driver.html#gad0c98415e0105efb71e8c1a8c4c1e5fb">pn_connection_driver_close</a> (<a class="el" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *c)</td></tr>
+<tr class="memdesc:gad0c98415e0105efb71e8c1a8c4c1e5fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close both sides side. <br /></td></tr>
+<tr class="separator:gad0c98415e0105efb71e8c1a8c4c1e5fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga00b32ae810a25ba6e172d6ed870982a5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__event.html#ga87f3028b4888632bbd56fb71ac737ae8">pn_event_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection__driver.html#ga00b32ae810a25ba6e172d6ed870982a5">pn_connection_driver_next_event</a> (<a class="el" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *)</td></tr>
+<tr class="memdesc:ga00b32ae810a25ba6e172d6ed870982a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the next event to handle.  <a href="group__connection__driver.html#ga00b32ae810a25ba6e172d6ed870982a5">More...</a><br /></td></tr>
+<tr class="separator:ga00b32ae810a25ba6e172d6ed870982a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae51f2124706bb1674e2c623a2dc62da7"><td class="memItemLeft" align="right" valign="top">
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection__driver.html#gae51f2124706bb1674e2c623a2dc62da7">pn_connection_driver_has_event</a> (<a class="el" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *)</td></tr>
+<tr class="memdesc:gae51f2124706bb1674e2c623a2dc62da7"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if <a class="el" href="group__connection__driver.html#ga00b32ae810a25ba6e172d6ed870982a5" title="Get the next event to handle. ">pn_connection_driver_next_event()</a> will return a non-NULL event. <br /></td></tr>
+<tr class="separator:gae51f2124706bb1674e2c623a2dc62da7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga38f56836858b2d4a04ab961f650950d4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection__driver.html#ga38f56836858b2d4a04ab961f650950d4">pn_connection_driver_finished</a> (<a class="el" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *)</td></tr>
+<tr class="memdesc:ga38f56836858b2d4a04ab961f650950d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return true if the the driver is closed for reading and writing and there are no more events.  <a href="group__connection__driver.html#ga38f56836858b2d4a04ab961f650950d4">More...</a><br /></td></tr>
+<tr class="separator:ga38f56836858b2d4a04ab961f650950d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga373eb1f632468582d025f5d6acf9655e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection__driver.html#ga373eb1f632468582d025f5d6acf9655e">pn_connection_driver_errorf</a> (<a class="el" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *d, const char *name, const char *fmt,...)</td></tr>
+<tr class="memdesc:ga373eb1f632468582d025f5d6acf9655e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set IO error information.  <a href="group__connection__driver.html#ga373eb1f632468582d025f5d6acf9655e">More...</a><br /></td></tr>
+<tr class="separator:ga373eb1f632468582d025f5d6acf9655e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad774f90adceaf86748a0ae781f66daf2"><td class="memItemLeft" align="right" valign="top">
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection__driver.html#gad774f90adceaf86748a0ae781f66daf2">pn_connection_driver_verrorf</a> (<a class="el" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *d, const char *name, const char *fmt, va_list)</td></tr>
+<tr class="memdesc:gad774f90adceaf86748a0ae781f66daf2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set IO error information via a va_list, see <a class="el" href="group__connection__driver.html#ga373eb1f632468582d025f5d6acf9655e" title="Set IO error information. ">pn_connection_driver_errorf()</a> <br /></td></tr>
+<tr class="separator:gad774f90adceaf86748a0ae781f66daf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gadb682f03cb66b5898c4b285353e0005e"><td class="memItemLeft" align="right" valign="top">
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection__driver.html#gadb682f03cb66b5898c4b285353e0005e">pn_connection_driver_log</a> (<a class="el" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *d, const char *msg)</td></tr>
+<tr class="memdesc:gadb682f03cb66b5898c4b285353e0005e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Log a string message using the connection's transport log. <br /></td></tr>
+<tr class="separator:gadb682f03cb66b5898c4b285353e0005e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga063c846013adb3a94b1d342ee6bdde1b"><td class="memItemLeft" align="right" valign="top">
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection__driver.html#ga063c846013adb3a94b1d342ee6bdde1b">pn_connection_driver_logf</a> (<a class="el" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *d, char *fmt,...)</td></tr>
+<tr class="memdesc:ga063c846013adb3a94b1d342ee6bdde1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Log a printf formatted message using the connection's transport log. <br /></td></tr>
+<tr class="separator:ga063c846013adb3a94b1d342ee6bdde1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabf97a6a0b608fd096fcaa4f2692c2c63"><td class="memItemLeft" align="right" valign="top">
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection__driver.html#gabf97a6a0b608fd096fcaa4f2692c2c63">pn_connection_driver_vlogf</a> (<a class="el" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *d, const char *fmt, va_list ap)</td></tr>
+<tr class="memdesc:gabf97a6a0b608fd096fcaa4f2692c2c63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Log a printf formatted message using the connection's transport log. <br /></td></tr>
+<tr class="separator:gabf97a6a0b608fd096fcaa4f2692c2c63"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gada5c75a658ae2814f253a91723be9baf"><td class="memItemLeft" align="right" valign="top">
+<a class="el" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection__driver.html#gada5c75a658ae2814f253a91723be9baf">pn_event_batch_connection_driver</a> (<a class="el" href="group__event.html#ga6bc581dfeaa8e8d46d07d37229d565c9">pn_event_batch_t</a> *batch)</td></tr>
+<tr class="memdesc:gada5c75a658ae2814f253a91723be9baf"><td class="mdescLeft">&#160;</td><td class="mdescRight">If batch is part of a connection_driver, return the connection_driver address, else return NULL. <br /></td></tr>
+<tr class="separator:gada5c75a658ae2814f253a91723be9baf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><b>Experimental</b> - Low-level IO integration </p>
+<p>Associate a <a class="el" href="group__connection.html">Connection</a> and <a class="el" href="group__transport.html">Transport</a> with AMQP byte streams from any source.</p>
+<ul>
+<li>process AMQP-encoded bytes from some input byte stream</li>
+<li>generate <a class="el" href="group__event.html#ga87f3028b4888632bbd56fb71ac737ae8" title="Notification of a state change in the protocol engine. ">pn_event_t</a> events for your application to handle</li>
+<li>encode resulting AMQP output bytes for some output byte stream</li>
+</ul>
+<p>The pn_connection_driver_() functions provide a simplified API and extra logic to use <a class="el" href="group__connection.html#ga886351d81ff3a977a284a206526c5aff" title="An AMQP Connection object. ">pn_connection_t</a> and <a class="el" href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8" title="An AMQP Transport object. ">pn_transport_t</a> as a unit. You can also access them directly for features that do not have pn_connection_driver_() functions.</p>
+<p>The driver buffers events and data, you should run it until <a class="el" href="group__connection__driver.html#ga38f56836858b2d4a04ab961f650950d4" title="Return true if the the driver is closed for reading and writing and there are no more events...">pn_connection_driver_finished()</a> is true, to ensure all reading, writing and event handling (including ERROR and FINAL events) is finished.</p>
+<h2>Error handling</h2>
+<p>The pn_connection_driver_*() functions do not return an error code. IO errors set the transport condition and are returned as a PN_TRANSPORT_ERROR. The integration code can set errors using <a class="el" href="group__connection__driver.html#ga373eb1f632468582d025f5d6acf9655e" title="Set IO error information. ">pn_connection_driver_errorf()</a>.</p>
+<h2>IO patterns</h2>
+<p>This API supports asynchronous, proactive, non-blocking and reactive IO. An integration does not have to follow the dispatch-read-write sequence above, but note that you should handle all available events before calling <a class="el" href="group__connection__driver.html#ga0dd152968de6ec06de352e1cbc51c438" title="Get the read buffer. ">pn_connection_driver_read_buffer()</a> and check that <code>size</code> is non-zero before starting a blocking or asynchronous read call. A <code>read</code> started while there are unprocessed CLOSE events in the buffer may never complete.</p>
+<p>AMQP is a full-duplex, asynchronous protocol. The "read" and "write" sides of an AMQP connection can close separately.</p>
+<h2>Thread safety</h2>
+<p>The <a class="el" href="group__connection__driver.html">Connection driver</a> types are not thread safe, but each connection and its associated types forms an independent unit. Different connections can be processed concurrently by different threads. </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_25143d27009f52d175c1d192441a738a.html">proton</a></li><li class="navelem"><a class="el" href="connection__driver_8h.html">connection_driver.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.11 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/cd4363b2/content/releases/qpid-proton-master/proton/c/api/connection__driver_8h.js
----------------------------------------------------------------------
diff --git a/content/releases/qpid-proton-master/proton/c/api/connection__driver_8h.js b/content/releases/qpid-proton-master/proton/c/api/connection__driver_8h.js
new file mode 100755
index 0000000..5be335a
--- /dev/null
+++ b/content/releases/qpid-proton-master/proton/c/api/connection__driver_8h.js
@@ -0,0 +1,25 @@
+var connection__driver_8h =
+[
+    [ "pn_connection_driver_t", "group__connection__driver.html#ga9793522a25c9741e8d17a570a47e9711", null ],
+    [ "pn_connection_driver_bind", "group__connection__driver.html#gad2bdef0f5abe7cf593afcee237c6af56", null ],
+    [ "pn_connection_driver_close", "group__connection__driver.html#gad0c98415e0105efb71e8c1a8c4c1e5fb", null ],
+    [ "pn_connection_driver_destroy", "group__connection__driver.html#ga3e8959d7897cd9415f687981c1d94c96", null ],
+    [ "pn_connection_driver_errorf", "group__connection__driver.html#ga373eb1f632468582d025f5d6acf9655e", null ],
+    [ "pn_connection_driver_finished", "group__connection__driver.html#ga38f56836858b2d4a04ab961f650950d4", null ],
+    [ "pn_connection_driver_has_event", "group__connection__driver.html#gae51f2124706bb1674e2c623a2dc62da7", null ],
+    [ "pn_connection_driver_init", "group__connection__driver.html#ga2330d329e295da740ef8d126657470c6", null ],
+    [ "pn_connection_driver_log", "group__connection__driver.html#gadb682f03cb66b5898c4b285353e0005e", null ],
+    [ "pn_connection_driver_logf", "group__connection__driver.html#ga063c846013adb3a94b1d342ee6bdde1b", null ],
+    [ "pn_connection_driver_next_event", "group__connection__driver.html#ga00b32ae810a25ba6e172d6ed870982a5", null ],
+    [ "pn_connection_driver_read_buffer", "group__connection__driver.html#ga0dd152968de6ec06de352e1cbc51c438", null ],
+    [ "pn_connection_driver_read_close", "group__connection__driver.html#ga11b59aec2b54acdefd63dfbce8d09a3f", null ],
+    [ "pn_connection_driver_read_closed", "group__connection__driver.html#ga56ccde529842f18774fdf827e86afa23", null ],
+    [ "pn_connection_driver_read_done", "group__connection__driver.html#gaa164510528ce160efddbde2245c438b1", null ],
+    [ "pn_connection_driver_verrorf", "group__connection__driver.html#gad774f90adceaf86748a0ae781f66daf2", null ],
+    [ "pn_connection_driver_vlogf", "group__connection__driver.html#gabf97a6a0b608fd096fcaa4f2692c2c63", null ],
+    [ "pn_connection_driver_write_buffer", "group__connection__driver.html#ga3e5795e14572eec632231fe9f916ca5f", null ],
+    [ "pn_connection_driver_write_close", "group__connection__driver.html#gafdca1cd72d6da760d3df7981085b36ce", null ],
+    [ "pn_connection_driver_write_closed", "group__connection__driver.html#ga001b2f3c1bfe4d24d53b93d79dccbfe3", null ],
+    [ "pn_connection_driver_write_done", "group__connection__driver.html#gaead42b6a9356214d9e2bb591af009243", null ],
+    [ "pn_event_batch_connection_driver", "group__connection__driver.html#gada5c75a658ae2814f253a91723be9baf", null ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/cd4363b2/content/releases/qpid-proton-master/proton/c/api/connection__driver_8h_source.html
----------------------------------------------------------------------
diff --git a/content/releases/qpid-proton-master/proton/c/api/connection__driver_8h_source.html b/content/releases/qpid-proton-master/proton/c/api/connection__driver_8h_source.html
new file mode 100755
index 0000000..02e48a1
--- /dev/null
+++ b/content/releases/qpid-proton-master/proton/c/api/connection__driver_8h_source.html
@@ -0,0 +1,139 @@
+<!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.11"/>
+<title>Qpid Proton C API: proton/connection_driver.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);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Qpid Proton C API
+   &#160;<span id="projectnumber">master</span>
+   </div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<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('connection__driver_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">connection_driver.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="connection__driver_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_CONNECTION_DRIVER_H</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define PROTON_CONNECTION_DRIVER_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"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00007"></a><sp
 an class="lineno">    7</span>&#160;<span class="comment"> * distributed with this work for additional information</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00013"></a><span class="lineno
 ">   13</span>&#160;<span class="comment"> *   http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing,</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * software distributed under the License is distributed on an</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * KIND, either express or implied.  See the License for the</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;
 <span class="comment"> * specific language governing permissions and limitations</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * under the License.</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor">#include &lt;proton/import_export.h&gt;</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="event_8h.html">proton/event.h</a>&gt;</span></div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="types_8h.html">proton/types.h</a>&gt;</span></div><div class="line"><a name="l00080
 "></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor">#include &lt;stdarg.h&gt;</span></div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="group__connection__driver.html">   90</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </s
 pan><a class="code" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> {</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <a class="code" href="group__connection.html#ga886351d81ff3a977a284a206526c5aff">pn_connection_t</a> *connection;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  <a class="code" href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a> *transport;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  <a class="code" href="group__event.html#ga6bc581dfeaa8e8d46d07d37229d565c9">pn_event_batch_t</a> batch;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;} <a class="code" href="group__connection__driver.html#ga9793522a25c9741e8d17a570a47e9711">pn_connection_driver_t</a>;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div><di
 v class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;PN_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__connection__driver.html#ga2330d329e295da740ef8d126657470c6">pn_connection_driver_init</a>(<a class="code" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a>*, <a class="code" href="group__connection.html#ga886351d81ff3a977a284a206526c5aff">pn_connection_t</a>*, <a class="code" href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>*);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;PN_EXTERN <span class="keywordtype">int</span> <a class="code" href="group__connection__driver.html#gad2bdef0f5abe7cf593afcee237c6af56">pn_connection_driver_bind</a>(<a class="code" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_dri
 ver_t</a> *d);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;PN_EXTERN <span class="keywordtype">void</span> <a class="code" href="group__connection__driver.html#ga3e8959d7897cd9415f687981c1d94c96">pn_connection_driver_destroy</a>(<a class="code" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;PN_EXTERN <a class="code" href="group__api__types.html#structpn__rwbytes__t">pn_rwbytes_t</a> <a class="code" href="group__connection__driver.html#ga0dd152968de6ec06de352e1cbc51c438">pn_connection_driver_read_buffer</a>(<a class="code" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *);</div><div class="line"><
 a name="l00136"></a><span class="lineno">  136</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;PN_EXTERN <span class="keywordtype">void</span> <a class="code" href="group__connection__driver.html#gaa164510528ce160efddbde2245c438b1">pn_connection_driver_read_done</a>(<a class="code" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *, <span class="keywordtype">size_t</span> n);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;PN_EXTERN <span class="keywordtype">void</span> <a class="code" href="group__connection__driver.html#ga11b59aec2b54acdefd63dfbce8d09a3f">pn_connection_driver_read_close</a>(<a class="code" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *);</div><div class="line"><a name="l00147"></a><span class="lineno">
   147</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;PN_EXTERN <span class="keywordtype">bool</span> <a class="code" href="group__connection__driver.html#ga56ccde529842f18774fdf827e86afa23">pn_connection_driver_read_closed</a>(<a class="code" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160; PN_EXTERN <a class="code" href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a> <a class="code" href="group__connection__driver.html#ga3e5795e14572eec632231fe9f916ca5f">pn_connection_driver_write_buffer</a>(<a class="code" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *);</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div><div class="l
 ine"><a name="l00167"></a><span class="lineno">  167</span>&#160;PN_EXTERN <span class="keywordtype">void</span> <a class="code" href="group__connection__driver.html#gaead42b6a9356214d9e2bb591af009243">pn_connection_driver_write_done</a>(<a class="code" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *, <span class="keywordtype">size_t</span> n);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;PN_EXTERN <span class="keywordtype">void</span> <a class="code" href="group__connection__driver.html#gafdca1cd72d6da760d3df7981085b36ce">pn_connection_driver_write_close</a>(<a class="code" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;</div><div class="line"><a name="l00177"></a><span class="
 lineno">  177</span>&#160;PN_EXTERN <span class="keywordtype">bool</span> <a class="code" href="group__connection__driver.html#ga001b2f3c1bfe4d24d53b93d79dccbfe3">pn_connection_driver_write_closed</a>(<a class="code" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;PN_EXTERN <span class="keywordtype">void</span> <a class="code" href="group__connection__driver.html#gad0c98415e0105efb71e8c1a8c4c1e5fb">pn_connection_driver_close</a>(<a class="code" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> * c);</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;PN_EXTERN <a class="code" href="group__event.html#ga87f302
 8b4888632bbd56fb71ac737ae8">pn_event_t</a>* <a class="code" href="group__connection__driver.html#ga00b32ae810a25ba6e172d6ed870982a5">pn_connection_driver_next_event</a>(<a class="code" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *);</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;PN_EXTERN <span class="keywordtype">bool</span> <a class="code" href="group__connection__driver.html#gae51f2124706bb1674e2c623a2dc62da7">pn_connection_driver_has_event</a>(<a class="code" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *);</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;PN_EXTERN <span class="keywordtype">bool</span> <a class="code" href="group__connection_
 _driver.html#ga38f56836858b2d4a04ab961f650950d4">pn_connection_driver_finished</a>(<a class="code" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *);</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;PN_EXTERN <span class="keywordtype">void</span> <a class="code" href="group__connection__driver.html#ga373eb1f632468582d025f5d6acf9655e">pn_connection_driver_errorf</a>(<a class="code" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *d, <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> <span class="keywordtype">char</span> *fmt, ...);</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;PN_EXTERN <s
 pan class="keywordtype">void</span> <a class="code" href="group__connection__driver.html#gad774f90adceaf86748a0ae781f66daf2">pn_connection_driver_verrorf</a>(<a class="code" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *d, <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> <span class="keywordtype">char</span> *fmt, va_list);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;PN_EXTERN <span class="keywordtype">void</span> <a class="code" href="group__connection__driver.html#gadb682f03cb66b5898c4b285353e0005e">pn_connection_driver_log</a>(<a class="code" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *d, <span class="keyword">const</span> <span class="keywordtype">char</span> *msg);</div><div class="line">
 <a name="l00226"></a><span class="lineno">  226</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;PN_EXTERN <span class="keywordtype">void</span> <a class="code" href="group__connection__driver.html#ga063c846013adb3a94b1d342ee6bdde1b">pn_connection_driver_logf</a>(<a class="code" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *d, <span class="keywordtype">char</span> *fmt, ...);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;PN_EXTERN <span class="keywordtype">void</span> <a class="code" href="group__connection__driver.html#gabf97a6a0b608fd096fcaa4f2692c2c63">pn_connection_driver_vlogf</a>(<a class="code" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a> *d, <span class="keyword">const</span> <span class="keywordtype">char</
 span> *fmt, va_list ap);</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;PN_EXTERN <a class="code" href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a>* <a class="code" href="group__connection__driver.html#gada5c75a658ae2814f253a91723be9baf">pn_event_batch_connection_driver</a>(<a class="code" href="group__event.html#ga6bc581dfeaa8e8d46d07d37229d565c9">pn_event_batch_t</a> *batch);</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;}</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="preprocessor">#endif</span></div><div class="lin
 e"><a name="l00250"></a><span class="lineno">  250</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* connection_driver.h */</span><span class="preprocessor"></span></div><div class="ttc" id="group__connection__driver_html_gadb682f03cb66b5898c4b285353e0005e"><div class="ttname"><a href="group__connection__driver.html#gadb682f03cb66b5898c4b285353e0005e">pn_connection_driver_log</a></div><div class="ttdeci">void pn_connection_driver_log(pn_connection_driver_t *d, const char *msg)</div><div class="ttdoc">Log a string message using the connection&amp;#39;s transport log. </div></div>
+<div class="ttc" id="types_8h_html"><div class="ttname"><a href="types_8h.html">types.h</a></div><div class="ttdoc">AMQP and API data types. </div></div>
+<div class="ttc" id="group__connection__driver_html_ga9793522a25c9741e8d17a570a47e9711"><div class="ttname"><a href="group__connection__driver.html#ga9793522a25c9741e8d17a570a47e9711">pn_connection_driver_t</a></div><div class="ttdeci">struct pn_connection_driver_t pn_connection_driver_t</div><div class="ttdoc">The elements needed to drive AMQP IO and events. </div></div>
+<div class="ttc" id="group__connection__driver_html_gad2bdef0f5abe7cf593afcee237c6af56"><div class="ttname"><a href="group__connection__driver.html#gad2bdef0f5abe7cf593afcee237c6af56">pn_connection_driver_bind</a></div><div class="ttdeci">int pn_connection_driver_bind(pn_connection_driver_t *d)</div><div class="ttdoc">Force binding of the transport. </div></div>
+<div class="ttc" id="group__connection__driver_html_ga373eb1f632468582d025f5d6acf9655e"><div class="ttname"><a href="group__connection__driver.html#ga373eb1f632468582d025f5d6acf9655e">pn_connection_driver_errorf</a></div><div class="ttdeci">void pn_connection_driver_errorf(pn_connection_driver_t *d, const char *name, const char *fmt,...)</div><div class="ttdoc">Set IO error information. </div></div>
+<div class="ttc" id="group__connection__driver_html_gabf97a6a0b608fd096fcaa4f2692c2c63"><div class="ttname"><a href="group__connection__driver.html#gabf97a6a0b608fd096fcaa4f2692c2c63">pn_connection_driver_vlogf</a></div><div class="ttdeci">void pn_connection_driver_vlogf(pn_connection_driver_t *d, const char *fmt, va_list ap)</div><div class="ttdoc">Log a printf formatted message using the connection&amp;#39;s transport log. </div></div>
+<div class="ttc" id="group__connection__driver_html_gada5c75a658ae2814f253a91723be9baf"><div class="ttname"><a href="group__connection__driver.html#gada5c75a658ae2814f253a91723be9baf">pn_event_batch_connection_driver</a></div><div class="ttdeci">pn_connection_driver_t * pn_event_batch_connection_driver(pn_event_batch_t *batch)</div><div class="ttdoc">If batch is part of a connection_driver, return the connection_driver address, else return NULL...</div></div>
+<div class="ttc" id="group__connection__driver_html_ga00b32ae810a25ba6e172d6ed870982a5"><div class="ttname"><a href="group__connection__driver.html#ga00b32ae810a25ba6e172d6ed870982a5">pn_connection_driver_next_event</a></div><div class="ttdeci">pn_event_t * pn_connection_driver_next_event(pn_connection_driver_t *)</div><div class="ttdoc">Get the next event to handle. </div></div>
+<div class="ttc" id="group__connection__driver_html_gae51f2124706bb1674e2c623a2dc62da7"><div class="ttname"><a href="group__connection__driver.html#gae51f2124706bb1674e2c623a2dc62da7">pn_connection_driver_has_event</a></div><div class="ttdeci">bool pn_connection_driver_has_event(pn_connection_driver_t *)</div><div class="ttdoc">True if pn_connection_driver_next_event() will return a non-NULL event. </div></div>
+<div class="ttc" id="group__transport_html_gac26eda05f649bbf0399f3d8d78d12fa8"><div class="ttname"><a href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a></div><div class="ttdeci">struct pn_transport_t pn_transport_t</div><div class="ttdoc">An AMQP Transport object. </div><div class="ttdef"><b>Definition:</b> types.h:419</div></div>
+<div class="ttc" id="group__connection__driver_html_ga0dd152968de6ec06de352e1cbc51c438"><div class="ttname"><a href="group__connection__driver.html#ga0dd152968de6ec06de352e1cbc51c438">pn_connection_driver_read_buffer</a></div><div class="ttdeci">pn_rwbytes_t pn_connection_driver_read_buffer(pn_connection_driver_t *)</div><div class="ttdoc">Get the read buffer. </div></div>
+<div class="ttc" id="group__api__types_html_structpn__rwbytes__t"><div class="ttname"><a href="group__api__types.html#structpn__rwbytes__t">pn_rwbytes_t</a></div><div class="ttdoc">A non-const byte buffer. </div><div class="ttdef"><b>Definition:</b> types.h:225</div></div>
+<div class="ttc" id="group__event_html_ga6bc581dfeaa8e8d46d07d37229d565c9"><div class="ttname"><a href="group__event.html#ga6bc581dfeaa8e8d46d07d37229d565c9">pn_event_batch_t</a></div><div class="ttdeci">struct pn_event_batch_t pn_event_batch_t</div><div class="ttdoc">Experimental - A batch of events to handle. </div><div class="ttdef"><b>Definition:</b> event.h:544</div></div>
+<div class="ttc" id="group__connection__driver_html_structpn__connection__driver__t"><div class="ttname"><a href="group__connection__driver.html#structpn__connection__driver__t">pn_connection_driver_t</a></div><div class="ttdoc">The elements needed to drive AMQP IO and events. </div><div class="ttdef"><b>Definition:</b> connection_driver.h:90</div></div>
+<div class="ttc" id="group__connection__driver_html_ga063c846013adb3a94b1d342ee6bdde1b"><div class="ttname"><a href="group__connection__driver.html#ga063c846013adb3a94b1d342ee6bdde1b">pn_connection_driver_logf</a></div><div class="ttdeci">void pn_connection_driver_logf(pn_connection_driver_t *d, char *fmt,...)</div><div class="ttdoc">Log a printf formatted message using the connection&amp;#39;s transport log. </div></div>
+<div class="ttc" id="group__connection__driver_html_ga001b2f3c1bfe4d24d53b93d79dccbfe3"><div class="ttname"><a href="group__connection__driver.html#ga001b2f3c1bfe4d24d53b93d79dccbfe3">pn_connection_driver_write_closed</a></div><div class="ttdeci">bool pn_connection_driver_write_closed(pn_connection_driver_t *)</div><div class="ttdoc">True if write side is closed. </div></div>
+<div class="ttc" id="group__connection__driver_html_ga11b59aec2b54acdefd63dfbce8d09a3f"><div class="ttname"><a href="group__connection__driver.html#ga11b59aec2b54acdefd63dfbce8d09a3f">pn_connection_driver_read_close</a></div><div class="ttdeci">void pn_connection_driver_read_close(pn_connection_driver_t *)</div><div class="ttdoc">Close the read side. </div></div>
+<div class="ttc" id="group__connection__driver_html_ga56ccde529842f18774fdf827e86afa23"><div class="ttname"><a href="group__connection__driver.html#ga56ccde529842f18774fdf827e86afa23">pn_connection_driver_read_closed</a></div><div class="ttdeci">bool pn_connection_driver_read_closed(pn_connection_driver_t *)</div><div class="ttdoc">True if read side is closed. </div></div>
+<div class="ttc" id="group__connection__driver_html_ga3e5795e14572eec632231fe9f916ca5f"><div class="ttname"><a href="group__connection__driver.html#ga3e5795e14572eec632231fe9f916ca5f">pn_connection_driver_write_buffer</a></div><div class="ttdeci">pn_bytes_t pn_connection_driver_write_buffer(pn_connection_driver_t *)</div><div class="ttdoc">Get the write buffer. </div></div>
+<div class="ttc" id="group__connection__driver_html_gad774f90adceaf86748a0ae781f66daf2"><div class="ttname"><a href="group__connection__driver.html#gad774f90adceaf86748a0ae781f66daf2">pn_connection_driver_verrorf</a></div><div class="ttdeci">void pn_connection_driver_verrorf(pn_connection_driver_t *d, const char *name, const char *fmt, va_list)</div><div class="ttdoc">Set IO error information via a va_list, see pn_connection_driver_errorf() </div></div>
+<div class="ttc" id="group__connection__driver_html_ga2330d329e295da740ef8d126657470c6"><div class="ttname"><a href="group__connection__driver.html#ga2330d329e295da740ef8d126657470c6">pn_connection_driver_init</a></div><div class="ttdeci">int pn_connection_driver_init(pn_connection_driver_t *, pn_connection_t *, pn_transport_t *)</div><div class="ttdoc">Set connection and transport to the provided values, or create a new pn_connection_t or pn_transport_...</div></div>
+<div class="ttc" id="group__connection__driver_html_gad0c98415e0105efb71e8c1a8c4c1e5fb"><div class="ttname"><a href="group__connection__driver.html#gad0c98415e0105efb71e8c1a8c4c1e5fb">pn_connection_driver_close</a></div><div class="ttdeci">void pn_connection_driver_close(pn_connection_driver_t *c)</div><div class="ttdoc">Close both sides side. </div></div>
+<div class="ttc" id="group__connection__driver_html_ga38f56836858b2d4a04ab961f650950d4"><div class="ttname"><a href="group__connection__driver.html#ga38f56836858b2d4a04ab961f650950d4">pn_connection_driver_finished</a></div><div class="ttdeci">bool pn_connection_driver_finished(pn_connection_driver_t *)</div><div class="ttdoc">Return true if the the driver is closed for reading and writing and there are no more events...</div></div>
+<div class="ttc" id="event_8h_html"><div class="ttname"><a href="event_8h.html">event.h</a></div><div class="ttdoc">Protocol and transport events. </div></div>
+<div class="ttc" id="group__connection__driver_html_gafdca1cd72d6da760d3df7981085b36ce"><div class="ttname"><a href="group__connection__driver.html#gafdca1cd72d6da760d3df7981085b36ce">pn_connection_driver_write_close</a></div><div class="ttdeci">void pn_connection_driver_write_close(pn_connection_driver_t *)</div><div class="ttdoc">Close the write side. </div></div>
+<div class="ttc" id="group__connection_html_ga886351d81ff3a977a284a206526c5aff"><div class="ttname"><a href="group__connection.html#ga886351d81ff3a977a284a206526c5aff">pn_connection_t</a></div><div class="ttdeci">struct pn_connection_t pn_connection_t</div><div class="ttdoc">An AMQP Connection object. </div><div class="ttdef"><b>Definition:</b> types.h:275</div></div>
+<div class="ttc" id="group__connection__driver_html_ga3e8959d7897cd9415f687981c1d94c96"><div class="ttname"><a href="group__connection__driver.html#ga3e8959d7897cd9415f687981c1d94c96">pn_connection_driver_destroy</a></div><div class="ttdeci">void pn_connection_driver_destroy(pn_connection_driver_t *)</div><div class="ttdoc">Unbind, release and free the connection and transport. </div></div>
+<div class="ttc" id="group__connection__driver_html_gaead42b6a9356214d9e2bb591af009243"><div class="ttname"><a href="group__connection__driver.html#gaead42b6a9356214d9e2bb591af009243">pn_connection_driver_write_done</a></div><div class="ttdeci">void pn_connection_driver_write_done(pn_connection_driver_t *, size_t n)</div><div class="ttdoc">Call when the first n bytes of pn_connection_driver_write_buffer() have been written to IO...</div></div>
+<div class="ttc" id="group__connection__driver_html_gaa164510528ce160efddbde2245c438b1"><div class="ttname"><a href="group__connection__driver.html#gaa164510528ce160efddbde2245c438b1">pn_connection_driver_read_done</a></div><div class="ttdeci">void pn_connection_driver_read_done(pn_connection_driver_t *, size_t n)</div><div class="ttdoc">Process the first n bytes of data in pn_connection_driver_read_buffer() and reclaim the buffer space...</div></div>
+<div class="ttc" id="group__api__types_html_structpn__bytes__t"><div class="ttname"><a href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a></div><div class="ttdoc">A const byte buffer. </div><div class="ttdef"><b>Definition:</b> types.h:206</div></div>
+<div class="ttc" id="group__event_html_ga87f3028b4888632bbd56fb71ac737ae8"><div class="ttname"><a href="group__event.html#ga87f3028b4888632bbd56fb71ac737ae8">pn_event_t</a></div><div class="ttdeci">struct pn_event_t pn_event_t</div><div class="ttdoc">Notification of a state change in the protocol engine. </div><div class="ttdef"><b>Definition:</b> event.h:75</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="connection__driver_8h.html">connection_driver.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.11 </li>
+  </ul>
+</div>
+</body>
+</html>


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org