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 2017/08/30 03:12:59 UTC

[40/51] [partial] qpid-site git commit: QPID-7903: Publish a snapshot of the Proton C docs

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/36c59045/content/releases/qpid-proton-master/proton/c/api/group__connection.html
----------------------------------------------------------------------
diff --git a/content/releases/qpid-proton-master/proton/c/api/group__connection.html b/content/releases/qpid-proton-master/proton/c/api/group__connection.html
index 9073559..2d6bd35 100755
--- a/content/releases/qpid-proton-master/proton/c/api/group__connection.html
+++ b/content/releases/qpid-proton-master/proton/c/api/group__connection.html
@@ -3,7 +3,8 @@
 <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"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Qpid Proton C API: Connection</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="jquery.js"></script>
@@ -14,7 +15,6 @@
 <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>
@@ -55,7 +55,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.11 -->
+<!-- Generated by Doxygen 1.8.13 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </script>
@@ -103,35 +103,35 @@ $(document).ready(function(){initNavTree('group__connection.html','');});
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
 Macros</h2></td></tr>
-<tr class="memitem:gac83dd8123b992813be86fe0f7eaf8f61"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac83dd8123b992813be86fe0f7eaf8f61"></a>
+<tr class="memitem:gac83dd8123b992813be86fe0f7eaf8f61"><td class="memItemLeft" align="right" valign="top"><a id="gac83dd8123b992813be86fe0f7eaf8f61"></a>
 #define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection.html#gac83dd8123b992813be86fe0f7eaf8f61">PN_LOCAL_UNINIT</a></td></tr>
 <tr class="memdesc:gac83dd8123b992813be86fe0f7eaf8f61"><td class="mdescLeft">&#160;</td><td class="mdescRight">The local <a class="el" href="group__connection.html#gaa83193a655e32bffc18624acc2c39233">endpoint state </a> is uninitialized. <br /></td></tr>
 <tr class="separator:gac83dd8123b992813be86fe0f7eaf8f61"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0c3bf54f0991944a2f6eea36b561fa2b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0c3bf54f0991944a2f6eea36b561fa2b"></a>
+<tr class="memitem:ga0c3bf54f0991944a2f6eea36b561fa2b"><td class="memItemLeft" align="right" valign="top"><a id="ga0c3bf54f0991944a2f6eea36b561fa2b"></a>
 #define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection.html#ga0c3bf54f0991944a2f6eea36b561fa2b">PN_LOCAL_ACTIVE</a></td></tr>
 <tr class="memdesc:ga0c3bf54f0991944a2f6eea36b561fa2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The local <a class="el" href="group__connection.html#gaa83193a655e32bffc18624acc2c39233">endpoint state </a> is active. <br /></td></tr>
 <tr class="separator:ga0c3bf54f0991944a2f6eea36b561fa2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga602c2c870ebed1d9bfe100876909225b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga602c2c870ebed1d9bfe100876909225b"></a>
+<tr class="memitem:ga602c2c870ebed1d9bfe100876909225b"><td class="memItemLeft" align="right" valign="top"><a id="ga602c2c870ebed1d9bfe100876909225b"></a>
 #define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection.html#ga602c2c870ebed1d9bfe100876909225b">PN_LOCAL_CLOSED</a></td></tr>
 <tr class="memdesc:ga602c2c870ebed1d9bfe100876909225b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The local <a class="el" href="group__connection.html#gaa83193a655e32bffc18624acc2c39233">endpoint state </a> is closed. <br /></td></tr>
 <tr class="separator:ga602c2c870ebed1d9bfe100876909225b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4c35fcb0aacd254d586df8594ee770d3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4c35fcb0aacd254d586df8594ee770d3"></a>
+<tr class="memitem:ga4c35fcb0aacd254d586df8594ee770d3"><td class="memItemLeft" align="right" valign="top"><a id="ga4c35fcb0aacd254d586df8594ee770d3"></a>
 #define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection.html#ga4c35fcb0aacd254d586df8594ee770d3">PN_REMOTE_UNINIT</a></td></tr>
 <tr class="memdesc:ga4c35fcb0aacd254d586df8594ee770d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The remote <a class="el" href="group__connection.html#gaa83193a655e32bffc18624acc2c39233">endpoint state </a> is uninitialized. <br /></td></tr>
 <tr class="separator:ga4c35fcb0aacd254d586df8594ee770d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad96220f2886c21a4f2eebc9487f53a87"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad96220f2886c21a4f2eebc9487f53a87"></a>
+<tr class="memitem:gad96220f2886c21a4f2eebc9487f53a87"><td class="memItemLeft" align="right" valign="top"><a id="gad96220f2886c21a4f2eebc9487f53a87"></a>
 #define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection.html#gad96220f2886c21a4f2eebc9487f53a87">PN_REMOTE_ACTIVE</a></td></tr>
 <tr class="memdesc:gad96220f2886c21a4f2eebc9487f53a87"><td class="mdescLeft">&#160;</td><td class="mdescRight">The remote <a class="el" href="group__connection.html#gaa83193a655e32bffc18624acc2c39233">endpoint state </a> is active. <br /></td></tr>
 <tr class="separator:gad96220f2886c21a4f2eebc9487f53a87"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga764c602a20457f9aa8862825b6d13a8d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga764c602a20457f9aa8862825b6d13a8d"></a>
+<tr class="memitem:ga764c602a20457f9aa8862825b6d13a8d"><td class="memItemLeft" align="right" valign="top"><a id="ga764c602a20457f9aa8862825b6d13a8d"></a>
 #define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection.html#ga764c602a20457f9aa8862825b6d13a8d">PN_REMOTE_CLOSED</a></td></tr>
 <tr class="memdesc:ga764c602a20457f9aa8862825b6d13a8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The remote <a class="el" href="group__connection.html#gaa83193a655e32bffc18624acc2c39233">endpoint state </a> is closed. <br /></td></tr>
 <tr class="separator:ga764c602a20457f9aa8862825b6d13a8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga32329c4bb3e23607a243cd8100c01264"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga32329c4bb3e23607a243cd8100c01264"></a>
+<tr class="memitem:ga32329c4bb3e23607a243cd8100c01264"><td class="memItemLeft" align="right" valign="top"><a id="ga32329c4bb3e23607a243cd8100c01264"></a>
 #define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection.html#ga32329c4bb3e23607a243cd8100c01264">PN_LOCAL_MASK</a></td></tr>
 <tr class="memdesc:ga32329c4bb3e23607a243cd8100c01264"><td class="mdescLeft">&#160;</td><td class="mdescRight">A mask for values of <a class="el" href="group__connection.html#gaa83193a655e32bffc18624acc2c39233" title="Holds the state flags for an AMQP endpoint. ">pn_state_t</a> that preserves only the local bits of an endpoint's state. <br /></td></tr>
 <tr class="separator:ga32329c4bb3e23607a243cd8100c01264"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga695af0c2d90d50f4baf403ea60710fa3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga695af0c2d90d50f4baf403ea60710fa3"></a>
+<tr class="memitem:ga695af0c2d90d50f4baf403ea60710fa3"><td class="memItemLeft" align="right" valign="top"><a id="ga695af0c2d90d50f4baf403ea60710fa3"></a>
 #define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__connection.html#ga695af0c2d90d50f4baf403ea60710fa3">PN_REMOTE_MASK</a></td></tr>
 <tr class="memdesc:ga695af0c2d90d50f4baf403ea60710fa3"><td class="mdescLeft">&#160;</td><td class="mdescRight">A mask for values of <a class="el" href="group__connection.html#gaa83193a655e32bffc18624acc2c39233" title="Holds the state flags for an AMQP endpoint. ">pn_state_t</a> that preserves only the remote bits of an endpoint's state. <br /></td></tr>
 <tr class="separator:ga695af0c2d90d50f4baf403ea60710fa3"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -241,39 +241,45 @@ Functions</h2></td></tr>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <p>A channel for communication between two peers on a network. </p>
 <h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="ga886351d81ff3a977a284a206526c5aff"></a>
+<a id="gaa83193a655e32bffc18624acc2c39233"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaa83193a655e32bffc18624acc2c39233">&#9670;&nbsp;</a></span>pn_state_t</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">typedef struct <a class="el" href="group__connection.html#ga886351d81ff3a977a284a206526c5aff">pn_connection_t</a> <a class="el" href="group__connection.html#ga886351d81ff3a977a284a206526c5aff">pn_connection_t</a></td>
+          <td class="memname">typedef int <a class="el" href="group__connection.html#gaa83193a655e32bffc18624acc2c39233">pn_state_t</a></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>An AMQP Connection object. </p>
-<p>A pn_connection_t object encapsulates all of the endpoint state associated with an AMQP Connection. A pn_connection_t object contains zero or more <a class="el" href="group__session.html#ga38ccb93b8f5c2892adafce5d5f0fbcd9" title="An AMQP Session object. ">pn_session_t</a> objects, which in turn contain zero or more <a class="el" href="group__link.html#ga89dad3aa7934329a7ff467c636687bc0" title="An AMQP Link object. ">pn_link_t</a> objects. Each <a class="el" href="group__link.html#ga89dad3aa7934329a7ff467c636687bc0" title="An AMQP Link object. ">pn_link_t</a> object contains an ordered sequence of <a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340" title="An AMQP Delivery object. ">pn_delivery_t</a> objects. A link is either a sender or a receiver but never both. </p>
+<p>Holds the state flags for an AMQP endpoint. </p>
+<p>A pn_state_t is an integral value with flags that encode both the local and remote state of an AMQP Endpoint (<a class="el" href="group__connection.html#ga886351d81ff3a977a284a206526c5aff">Connection </a>, <a class="el" href="group__session.html#ga38ccb93b8f5c2892adafce5d5f0fbcd9">Session </a>, or <a class="el" href="group__link.html#ga89dad3aa7934329a7ff467c636687bc0">Link </a>). The local portion of the state may be accessed using <a class="el" href="group__connection.html#ga32329c4bb3e23607a243cd8100c01264" title="A mask for values of pn_state_t that preserves only the local bits of an endpoint&#39;s state...">PN_LOCAL_MASK</a>, and the remote portion may be accessed using <a class="el" href="group__connection.html#ga695af0c2d90d50f4baf403ea60710fa3" title="A mask for values of pn_state_t that preserves only the remote bits of an endpoint&#39;s state...">PN_REMOTE_MASK</a>. Individual bits may be accessed using <a class="el" href="group__connection.html#gac83dd8123b992813be86f
 e0f7eaf8f61" title="The local endpoint state  is uninitialized. ">PN_LOCAL_UNINIT</a>, <a class="el" href="group__connection.html#ga0c3bf54f0991944a2f6eea36b561fa2b" title="The local endpoint state  is active. ">PN_LOCAL_ACTIVE</a>, <a class="el" href="group__connection.html#ga602c2c870ebed1d9bfe100876909225b" title="The local endpoint state  is closed. ">PN_LOCAL_CLOSED</a>, and <a class="el" href="group__connection.html#ga4c35fcb0aacd254d586df8594ee770d3" title="The remote endpoint state  is uninitialized. ">PN_REMOTE_UNINIT</a>, <a class="el" href="group__connection.html#gad96220f2886c21a4f2eebc9487f53a87" title="The remote endpoint state  is active. ">PN_REMOTE_ACTIVE</a>, <a class="el" href="group__connection.html#ga764c602a20457f9aa8862825b6d13a8d" title="The remote endpoint state  is closed. ">PN_REMOTE_CLOSED</a>.</p>
+<p>Every AMQP endpoint (<a class="el" href="group__connection.html#ga886351d81ff3a977a284a206526c5aff">Connection </a>, <a class="el" href="group__session.html#ga38ccb93b8f5c2892adafce5d5f0fbcd9">Session </a>, or <a class="el" href="group__link.html#ga89dad3aa7934329a7ff467c636687bc0">Link </a>) starts out in an uninitialized state and then proceeds linearly to an active and then closed state. This lifecycle occurs at both endpoints involved, and so the state model for an endpoint includes not only the known local state, but also the last known state of the remote endpoint. </p>
 
 </div>
 </div>
-<a class="anchor" id="gaa83193a655e32bffc18624acc2c39233"></a>
+<a id="ga886351d81ff3a977a284a206526c5aff"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga886351d81ff3a977a284a206526c5aff">&#9670;&nbsp;</a></span>pn_connection_t</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">typedef int <a class="el" href="group__connection.html#gaa83193a655e32bffc18624acc2c39233">pn_state_t</a></td>
+          <td class="memname">typedef struct <a class="el" href="group__connection.html#ga886351d81ff3a977a284a206526c5aff">pn_connection_t</a> <a class="el" href="group__connection.html#ga886351d81ff3a977a284a206526c5aff">pn_connection_t</a></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Holds the state flags for an AMQP endpoint. </p>
-<p>A pn_state_t is an integral value with flags that encode both the local and remote state of an AMQP Endpoint (<a class="el" href="group__connection.html#ga886351d81ff3a977a284a206526c5aff">Connection </a>, <a class="el" href="group__session.html#ga38ccb93b8f5c2892adafce5d5f0fbcd9">Session </a>, or <a class="el" href="group__link.html#ga89dad3aa7934329a7ff467c636687bc0">Link </a>). The local portion of the state may be accessed using <a class="el" href="group__connection.html#ga32329c4bb3e23607a243cd8100c01264" title="A mask for values of pn_state_t that preserves only the local bits of an endpoint&#39;s state...">PN_LOCAL_MASK</a>, and the remote portion may be accessed using <a class="el" href="group__connection.html#ga695af0c2d90d50f4baf403ea60710fa3" title="A mask for values of pn_state_t that preserves only the remote bits of an endpoint&#39;s state...">PN_REMOTE_MASK</a>. Individual bits may be accessed using <a class="el" href="group__connection.html#gac83dd8123b992813be86f
 e0f7eaf8f61" title="The local endpoint state  is uninitialized. ">PN_LOCAL_UNINIT</a>, <a class="el" href="group__connection.html#ga0c3bf54f0991944a2f6eea36b561fa2b" title="The local endpoint state  is active. ">PN_LOCAL_ACTIVE</a>, <a class="el" href="group__connection.html#ga602c2c870ebed1d9bfe100876909225b" title="The local endpoint state  is closed. ">PN_LOCAL_CLOSED</a>, and <a class="el" href="group__connection.html#ga4c35fcb0aacd254d586df8594ee770d3" title="The remote endpoint state  is uninitialized. ">PN_REMOTE_UNINIT</a>, <a class="el" href="group__connection.html#gad96220f2886c21a4f2eebc9487f53a87" title="The remote endpoint state  is active. ">PN_REMOTE_ACTIVE</a>, <a class="el" href="group__connection.html#ga764c602a20457f9aa8862825b6d13a8d" title="The remote endpoint state  is closed. ">PN_REMOTE_CLOSED</a>.</p>
-<p>Every AMQP endpoint (<a class="el" href="group__connection.html#ga886351d81ff3a977a284a206526c5aff">Connection </a>, <a class="el" href="group__session.html#ga38ccb93b8f5c2892adafce5d5f0fbcd9">Session </a>, or <a class="el" href="group__link.html#ga89dad3aa7934329a7ff467c636687bc0">Link </a>) starts out in an uninitialized state and then proceeds linearly to an active and then closed state. This lifecycle occurs at both endpoints involved, and so the state model for an endpoint includes not only the known local state, but also the last known state of the remote endpoint. </p>
+<p>An AMQP Connection object. </p>
+<p>A pn_connection_t object encapsulates all of the endpoint state associated with an AMQP Connection. A pn_connection_t object contains zero or more <a class="el" href="group__session.html#ga38ccb93b8f5c2892adafce5d5f0fbcd9" title="An AMQP Session object. ">pn_session_t</a> objects, which in turn contain zero or more <a class="el" href="group__link.html#ga89dad3aa7934329a7ff467c636687bc0" title="An AMQP Link object. ">pn_link_t</a> objects. Each <a class="el" href="group__link.html#ga89dad3aa7934329a7ff467c636687bc0" title="An AMQP Link object. ">pn_link_t</a> object contains an ordered sequence of <a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340" title="An AMQP Delivery object. ">pn_delivery_t</a> objects. A link is either a sender or a receiver but never both. </p>
 
 </div>
 </div>
 <h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="gaa9e59c468ec0568b1528f5f83c4b301d"></a>
+<a id="gaa9e59c468ec0568b1528f5f83c4b301d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaa9e59c468ec0568b1528f5f83c4b301d">&#9670;&nbsp;</a></span>pn_connection()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -289,16 +295,18 @@ Functions</h2></td></tr>
 
 <p>Factory to construct a new Connection. </p>
 <dl class="section return"><dt>Returns</dt><dd>pointer to a new connection object. </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a31">broker.c</a>, <a class="el" href="receive_8c-example.html#a55">receive.c</a>, and <a class="el" href="send_8c-example.html#a69">send.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a30">broker.c</a>, <a class="el" href="direct_8c-example.html#a61">direct.c</a>, <a class="el" href="receive_8c-example.html#a58">receive.c</a>, and <a class="el" href="send_8c-example.html#a67">send.c</a>.</dd>
 </dl>
 </div>
 </div>
-<a class="anchor" id="gad8b6c777b525c9da9401e3a770db15da"></a>
+<a id="ga00cbef1a9f5062a6e1f113fda923f65e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga00cbef1a9f5062a6e1f113fda923f65e">&#9670;&nbsp;</a></span>pn_connection_free()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pn_record_t* pn_connection_attachments </td>
+          <td class="memname">void pn_connection_free </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></td><td>)</td>
@@ -307,23 +315,25 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the attachments that are associated with a connection object. </p>
+<p>Free a connection object. </p>
+<p>When a connection object is freed, all <a class="el" href="group__session.html#ga38ccb93b8f5c2892adafce5d5f0fbcd9" title="An AMQP Session object. ">pn_session_t</a>, <a class="el" href="group__link.html#ga89dad3aa7934329a7ff467c636687bc0" title="An AMQP Link object. ">pn_link_t</a>, and <a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340" title="An AMQP Delivery object. ">pn_delivery_t</a> objects associated with the connection are also freed.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection whose attachments are to be returned. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object to free (or NULL) </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the attachments for the connection object </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="gac25afdf810ad188b2cb3bf31a7482ca0"></a>
+<a id="ga7c88b4833cf81d801b27d00b45d137b5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga7c88b4833cf81d801b27d00b45d137b5">&#9670;&nbsp;</a></span>pn_connection_release()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pn_connection_close </td>
+          <td class="memname">void pn_connection_release </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></td><td>)</td>
@@ -332,19 +342,49 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Close a connection. </p>
-<p>Once this operation has completed, the PN_LOCAL_CLOSED state flag will be set. This may be called without calling <a class="el" href="group__connection.html#ga4c0a2d40bb95202477ccc5aaa7456670" title="Open a connection. ">pn_connection_open</a>, in this case it is equivalent to calling <a class="el" href="group__connection.html#ga4c0a2d40bb95202477ccc5aaa7456670" title="Open a connection. ">pn_connection_open</a> followed by <a class="el" href="group__connection.html#gac25afdf810ad188b2cb3bf31a7482ca0" title="Close a connection. ">pn_connection_close</a>.</p>
+<p>Release a connection object. </p>
+<p>When a connection object is released, all <a class="el" href="group__session.html#ga38ccb93b8f5c2892adafce5d5f0fbcd9" title="An AMQP Session object. ">pn_session_t</a> and <a class="el" href="group__link.html#ga89dad3aa7934329a7ff467c636687bc0" title="An AMQP Link object. ">pn_link_t</a>, objects associated with the connection are also released and all <a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340" title="An AMQP Delivery object. ">pn_delivery_t</a> objects are settled.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object to be released </td></tr>
   </table>
   </dd>
 </dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a72">broker.c</a>, <a class="el" href="receive_8c-example.html#a37">receive.c</a>, and <a class="el" href="send_8c-example.html#a53">send.c</a>.</dd>
+
+</div>
+</div>
+<a id="gad3aad758ccb4690e78d40c1a73567d73"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gad3aad758ccb4690e78d40c1a73567d73">&#9670;&nbsp;</a></span>pn_connection_error()</h2>
+
+<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_connection_error </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></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd></dd></dl>
+<p>Get additional error information associated with the connection.</p>
+<p>Whenever a connection operation fails (i.e. returns an error code), additional error details can be obtained using this function. The error object that is returned may also be used to clear the error condition.</p>
+<p>The pointer returned by this operation is valid until the connection object is freed.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
+  </table>
+  </dd>
 </dl>
+<dl class="section return"><dt>Returns</dt><dd>the connection's error object </dd></dl>
+
 </div>
 </div>
-<a class="anchor" id="ga2fd2089e8eaa2a362606498f233ada61"></a>
+<a id="ga2fd2089e8eaa2a362606498f233ada61"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga2fd2089e8eaa2a362606498f233ada61">&#9670;&nbsp;</a></span>pn_connection_collect()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -381,7 +421,9 @@ Functions</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="ga663c29ee6de4d522ba061224bc6240ad"></a>
+<a id="ga663c29ee6de4d522ba061224bc6240ad"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga663c29ee6de4d522ba061224bc6240ad">&#9670;&nbsp;</a></span>pn_connection_collector()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -400,12 +442,14 @@ Functions</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="gaace04a030192f34747bb1ff3675c58f1"></a>
+<a id="ga50613e6c09186dc3f1a2f36238c61f07"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga50613e6c09186dc3f1a2f36238c61f07">&#9670;&nbsp;</a></span>pn_connection_get_context()</h2>
+
 <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_connection_condition </td>
+          <td class="memname">void* pn_connection_get_context </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></td><td>)</td>
@@ -413,80 +457,67 @@ Functions</h2></td></tr>
         </tr>
       </table>
 </div><div class="memdoc">
-
-<p>Get the local condition associated with the connection endpoint. </p>
-<p>The <a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5" title="An AMQP Condition object. ">pn_condition_t</a> object retrieved may be modified prior to closing the connection in order to indicate a particular condition exists when the connection closes. This is normally used to communicate error conditions to the remote peer, however it may also be used in non error cases such as redirects. See <a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5" title="An AMQP Condition object. ">pn_condition_t</a> for more details.</p>
-<p>The pointer returned by this operation is valid until the connection object is freed.</p>
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd></dd></dl>
+<p>Get the application context that is associated with a connection object.</p>
+<p>The application context for a connection may be set using <a class="el" href="group__connection.html#gad3203b366cb1ff5becd1778a8dd6b1a6">pn_connection_set_context</a>.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection whose context is to be returned. </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the connection's local condition object </dd></dl>
-
+<dl class="section return"><dt>Returns</dt><dd>the application context for the connection object </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a11">broker.c</a>.</dd>
+</dl>
 </div>
 </div>
-<a class="anchor" id="ga241faafc5a98cf9b91aa919263bd9bd8"></a>
+<a id="gad3203b366cb1ff5becd1778a8dd6b1a6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gad3203b366cb1ff5becd1778a8dd6b1a6">&#9670;&nbsp;</a></span>pn_connection_set_context()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a>* pn_connection_desired_capabilities </td>
+          <td class="memname">void pn_connection_set_context </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></td><td>)</td>
+          <td class="paramname"><em>connection</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
           <td></td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>context</em>&#160;</td>
         </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Access/modify the AMQP desired capabilities data for a connection object. </p>
-<p>This operation will return a pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> object that is valid until the connection object is freed. Any data contained by the <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> object will be sent as the desired capabilites for the parent connection object. Note that this MUST take the form of an array of symbols to be valid.</p>
-<p>The <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> pointer returned is valid until the connection object is freed.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>a pointer to a pn_data_t representing the desired capabilities </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gad3aad758ccb4690e78d40c1a73567d73"></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_connection_error </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></td><td>)</td>
           <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#_deprecated000001">Deprecated:</a></b></dt><dd></dd></dl>
-<p>Get additional error information associated with the connection.</p>
-<p>Whenever a connection operation fails (i.e. returns an error code), additional error details can be obtained using this function. The error object that is returned may also be used to clear the error condition.</p>
-<p>The pointer returned by this operation is valid until the connection object is freed.</p>
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000003">Deprecated:</a></b></dt><dd></dd></dl>
+<p>Set a new application context for a connection object.</p>
+<p>The application context for a connection object may be retrieved using <a class="el" href="group__connection.html#ga50613e6c09186dc3f1a2f36238c61f07">pn_connection_get_context</a>.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>the application context </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the connection's error object </dd></dl>
-
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a10">broker.c</a>.</dd>
+</dl>
 </div>
 </div>
-<a class="anchor" id="ga00cbef1a9f5062a6e1f113fda923f65e"></a>
+<a id="gad8b6c777b525c9da9401e3a770db15da"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gad8b6c777b525c9da9401e3a770db15da">&#9670;&nbsp;</a></span>pn_connection_attachments()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pn_connection_free </td>
+          <td class="memname">pn_record_t* pn_connection_attachments </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></td><td>)</td>
@@ -495,23 +526,25 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Free a connection object. </p>
-<p>When a connection object is freed, all <a class="el" href="group__session.html#ga38ccb93b8f5c2892adafce5d5f0fbcd9" title="An AMQP Session object. ">pn_session_t</a>, <a class="el" href="group__link.html#ga89dad3aa7934329a7ff467c636687bc0" title="An AMQP Link object. ">pn_link_t</a>, and <a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340" title="An AMQP Delivery object. ">pn_delivery_t</a> objects associated with the connection are also freed.</p>
+<p>Get the attachments that are associated with a connection object. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object to free (or NULL) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection whose attachments are to be returned. </td></tr>
   </table>
   </dd>
 </dl>
+<dl class="section return"><dt>Returns</dt><dd>the attachments for the connection object </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga61e1f6386d18a568da50b998200eb87b"></a>
+<a id="ga277d01dc2f87870ee260d43cf40abe13"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga277d01dc2f87870ee260d43cf40abe13">&#9670;&nbsp;</a></span>pn_connection_state()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">const char* pn_connection_get_container </td>
+          <td class="memname"><a class="el" href="group__connection.html#gaa83193a655e32bffc18624acc2c39233">pn_state_t</a> pn_connection_state </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></td><td>)</td>
@@ -520,24 +553,25 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the AMQP Container name advertised by a connection object. </p>
-<p>The pointer returned by this operation is valid until <a class="el" href="group__connection.html#gac4a34e0b1fc5665b26ae47a80a422a1a" title="Set the AMQP Container name advertised by a connection object. ">pn_connection_set_container</a> is called, or until the connection object is freed, whichever happens sooner.</p>
+<p>Get the endpoint state flags for a connection. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>a pointer to the container name </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the connection's state flags </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga50613e6c09186dc3f1a2f36238c61f07"></a>
+<a id="ga4c0a2d40bb95202477ccc5aaa7456670"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga4c0a2d40bb95202477ccc5aaa7456670">&#9670;&nbsp;</a></span>pn_connection_open()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void* pn_connection_get_context </td>
+          <td class="memname">void pn_connection_open </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></td><td>)</td>
@@ -545,26 +579,27 @@ Functions</h2></td></tr>
         </tr>
       </table>
 </div><div class="memdoc">
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd></dd></dl>
-<p>Get the application context that is associated with a connection object.</p>
-<p>The application context for a connection may be set using <a class="el" href="group__connection.html#gad3203b366cb1ff5becd1778a8dd6b1a6">pn_connection_set_context</a>.</p>
+
+<p>Open a connection. </p>
+<p>Once this operation has completed, the PN_LOCAL_ACTIVE state flag will be set.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection whose context is to be returned. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the application context for the connection object </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a12">broker.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a39">broker.c</a>, <a class="el" href="direct_8c-example.html#a70">direct.c</a>, <a class="el" href="receive_8c-example.html#a17">receive.c</a>, and <a class="el" href="send_8c-example.html#a28">send.c</a>.</dd>
 </dl>
 </div>
 </div>
-<a class="anchor" id="ga3ab6a8a556270cff74c39da910a89b5c"></a>
+<a id="gac25afdf810ad188b2cb3bf31a7482ca0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gac25afdf810ad188b2cb3bf31a7482ca0">&#9670;&nbsp;</a></span>pn_connection_close()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">const char* pn_connection_get_hostname </td>
+          <td class="memname">void pn_connection_close </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></td><td>)</td>
@@ -573,24 +608,26 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the value of the AMQP Hostname used by a connection object. </p>
-<p>The pointer returned by this operation is valid until <a class="el" href="group__connection.html#ga0c3bed8e6764915a137a9daff199ecbb" title="Set the name of the virtual host (either fully qualified or relative) to which this connection is con...">pn_connection_set_hostname</a> is called, or until the connection object is freed, whichever happens sooner.</p>
+<p>Close a connection. </p>
+<p>Once this operation has completed, the PN_LOCAL_CLOSED state flag will be set. This may be called without calling <a class="el" href="group__connection.html#ga4c0a2d40bb95202477ccc5aaa7456670" title="Open a connection. ">pn_connection_open</a>, in this case it is equivalent to calling <a class="el" href="group__connection.html#ga4c0a2d40bb95202477ccc5aaa7456670" title="Open a connection. ">pn_connection_open</a> followed by <a class="el" href="group__connection.html#gac25afdf810ad188b2cb3bf31a7482ca0" title="Close a connection. ">pn_connection_close</a>.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>a pointer to the hostname </dd></dl>
-
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a70">broker.c</a>, <a class="el" href="direct_8c-example.html#a6">direct.c</a>, <a class="el" href="receive_8c-example.html#a5">receive.c</a>, and <a class="el" href="send_8c-example.html#a6">send.c</a>.</dd>
+</dl>
 </div>
 </div>
-<a class="anchor" id="ga5f4b94211f97bbc3bb64642f6f597fe8"></a>
+<a id="ga3a76135d214e12a0735441c1ba2c28d3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga3a76135d214e12a0735441c1ba2c28d3">&#9670;&nbsp;</a></span>pn_connection_reset()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">const char* pn_connection_get_user </td>
+          <td class="memname">void pn_connection_reset </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></td><td>)</td>
@@ -599,23 +636,25 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the authentication username for a client connection. </p>
+<p>Reset a connection object back to the uninitialized state. </p>
+<p>Note that this does <em>not</em> remove any contained <a class="el" href="group__session.html#ga38ccb93b8f5c2892adafce5d5f0fbcd9" title="An AMQP Session object. ">pn_session_t</a>, <a class="el" href="group__link.html#ga89dad3aa7934329a7ff467c636687bc0" title="An AMQP Link object. ">pn_link_t</a>, and <a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340" title="An AMQP Delivery object. ">pn_delivery_t</a> objects.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the username passed into the connection </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="gabc8d505108a850837a0d2fb204875390"></a>
+<a id="gaace04a030192f34747bb1ff3675c58f1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaace04a030192f34747bb1ff3675c58f1">&#9670;&nbsp;</a></span>pn_connection_condition()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a>* pn_connection_offered_capabilities </td>
+          <td class="memname"><a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a>* pn_connection_condition </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></td><td>)</td>
@@ -624,25 +663,27 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Access/modify the AMQP offered capabilities data for a connection object. </p>
-<p>This operation will return a pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> object that is valid until the connection object is freed. Any data contained by the <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> object will be sent as the offered capabilites for the parent connection object. Note that this MUST take the form of an array of symbols to be valid.</p>
-<p>The <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> pointer returned is valid until the connection object is freed.</p>
+<p>Get the local condition associated with the connection endpoint. </p>
+<p>The <a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5" title="An AMQP Condition object. ">pn_condition_t</a> object retrieved may be modified prior to closing the connection in order to indicate a particular condition exists when the connection closes. This is normally used to communicate error conditions to the remote peer, however it may also be used in non error cases such as redirects. See <a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5" title="An AMQP Condition object. ">pn_condition_t</a> for more details.</p>
+<p>The pointer returned by this operation is valid until the connection object is freed.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>a pointer to a pn_data_t representing the offered capabilities </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the connection's local condition object </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga4c0a2d40bb95202477ccc5aaa7456670"></a>
+<a id="ga72a362389b99d8e891bf2e4fb4290754"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga72a362389b99d8e891bf2e4fb4290754">&#9670;&nbsp;</a></span>pn_connection_remote_condition()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pn_connection_open </td>
+          <td class="memname"><a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a>* pn_connection_remote_condition </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></td><td>)</td>
@@ -651,24 +692,28 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Open a connection. </p>
-<p>Once this operation has completed, the PN_LOCAL_ACTIVE state flag will be set.</p>
+<p>Get the remote condition associated with the connection endpoint. </p>
+<p>The <a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5" title="An AMQP Condition object. ">pn_condition_t</a> object retrieved may be examined in order to determine whether the remote peer was indicating some sort of exceptional condition when the remote connection endpoint was closed. The <a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5" title="An AMQP Condition object. ">pn_condition_t</a> object returned may not be modified.</p>
+<p>The pointer returned by this operation is valid until the connection object is freed.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
   </table>
   </dd>
 </dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a41">broker.c</a>, <a class="el" href="receive_8c-example.html#a17">receive.c</a>, and <a class="el" href="send_8c-example.html#a35">send.c</a>.</dd>
+<dl class="section return"><dt>Returns</dt><dd>the connection's remote condition object </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a69">broker.c</a>, <a class="el" href="direct_8c-example.html#a78">direct.c</a>, <a class="el" href="receive_8c-example.html#a42">receive.c</a>, and <a class="el" href="send_8c-example.html#a52">send.c</a>.</dd>
 </dl>
 </div>
 </div>
-<a class="anchor" id="gac26de255ed04e73295d6aa973a663142"></a>
+<a id="ga61e1f6386d18a568da50b998200eb87b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga61e1f6386d18a568da50b998200eb87b">&#9670;&nbsp;</a></span>pn_connection_get_container()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a>* pn_connection_properties </td>
+          <td class="memname">const char* pn_connection_get_container </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></td><td>)</td>
@@ -677,105 +722,142 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Access/modify the AMQP properties data for a connection object. </p>
-<p>This operation will return a pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> object that is valid until the connection object is freed. Any data contained by the <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> object will be sent as the AMQP properties for the parent connection object. Note that this MUST take the form of a symbol keyed map to be valid.</p>
-<p>The <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> pointer returned is valid until the connection object is freed.</p>
+<p>Get the AMQP Container name advertised by a connection object. </p>
+<p>The pointer returned by this operation is valid until <a class="el" href="group__connection.html#gac4a34e0b1fc5665b26ae47a80a422a1a" title="Set the AMQP Container name advertised by a connection object. ">pn_connection_set_container</a> is called, or until the connection object is freed, whichever happens sooner.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>a pointer to a pn_data_t representing the connection properties </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>a pointer to the container name </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga7c88b4833cf81d801b27d00b45d137b5"></a>
+<a id="gac4a34e0b1fc5665b26ae47a80a422a1a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gac4a34e0b1fc5665b26ae47a80a422a1a">&#9670;&nbsp;</a></span>pn_connection_set_container()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pn_connection_release </td>
+          <td class="memname">void pn_connection_set_container </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></td><td>)</td>
+          <td class="paramname"><em>connection</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
           <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>container</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Release a connection object. </p>
-<p>When a connection object is released, all <a class="el" href="group__session.html#ga38ccb93b8f5c2892adafce5d5f0fbcd9" title="An AMQP Session object. ">pn_session_t</a> and <a class="el" href="group__link.html#ga89dad3aa7934329a7ff467c636687bc0" title="An AMQP Link object. ">pn_link_t</a>, objects associated with the connection are also released and all <a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340" title="An AMQP Delivery object. ">pn_delivery_t</a> objects are settled.</p>
+<p>Set the AMQP Container name advertised by a connection object. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object to be released </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">container</td><td>the container name </td></tr>
   </table>
   </dd>
 </dl>
-
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a32">broker.c</a>, <a class="el" href="direct_8c-example.html#a63">direct.c</a>, <a class="el" href="receive_8c-example.html#a16">receive.c</a>, and <a class="el" href="send_8c-example.html#a27">send.c</a>.</dd>
+</dl>
 </div>
 </div>
-<a class="anchor" id="ga72a362389b99d8e891bf2e4fb4290754"></a>
+<a id="gafb84dd2ef7551ad864be08cb31010d19"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gafb84dd2ef7551ad864be08cb31010d19">&#9670;&nbsp;</a></span>pn_connection_set_user()</h2>
+
 <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_connection_remote_condition </td>
+          <td class="memname">void pn_connection_set_user </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></td><td>)</td>
+          <td class="paramname"><em>connection</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
           <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>user</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the remote condition associated with the connection endpoint. </p>
-<p>The <a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5" title="An AMQP Condition object. ">pn_condition_t</a> object retrieved may be examined in order to determine whether the remote peer was indicating some sort of exceptional condition when the remote connection endpoint was closed. The <a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5" title="An AMQP Condition object. ">pn_condition_t</a> object returned may not be modified.</p>
-<p>The pointer returned by this operation is valid until the connection object is freed.</p>
+<p>Set the authentication username for a client connection. </p>
+<p>It is necessary to set the username and password before binding the connection to a trasnport and it isn't allowed to change them after the binding.</p>
+<p>If not set then no authentication will be negotiated unless the client sasl layer is explicitly created (this would be for sometting like Kerberos where the credentials are implicit in the environment, or to explicitly use the ANONYMOUS SASL mechanism)</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">user</td><td>the username </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the connection's remote condition object </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a71">broker.c</a>, <a class="el" href="receive_8c-example.html#a43">receive.c</a>, and <a class="el" href="send_8c-example.html#a58">send.c</a>.</dd>
-</dl>
+
 </div>
 </div>
-<a class="anchor" id="gabb5b585ee8bae0e88d2b42b87772082a"></a>
+<a id="ga8be7fdeb5a229d16e45fa122844fb285"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga8be7fdeb5a229d16e45fa122844fb285">&#9670;&nbsp;</a></span>pn_connection_set_password()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">const char* pn_connection_remote_container </td>
+          <td class="memname">void pn_connection_set_password </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></td><td>)</td>
+          <td class="paramname"><em>connection</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>password</em>&#160;</td>
+        </tr>
+        <tr>
           <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the AMQP Container name advertised by the remote connection endpoint. </p>
-<p>This will return NULL until the <a class="el" href="group__connection.html#gad96220f2886c21a4f2eebc9487f53a87" title="The remote endpoint state  is active. ">PN_REMOTE_ACTIVE</a> state is reached. See <a class="el" href="group__connection.html#gaa83193a655e32bffc18624acc2c39233" title="Holds the state flags for an AMQP endpoint. ">pn_state_t</a> for more details on endpoint state.</p>
-<p>Any non null pointer returned by this operation will be valid until the connection object is unbound from a transport or freed, whichever happens sooner.</p>
+<p>Set the authentication password for a client connection. </p>
+<p>It is necessary to set the username and password before binding the connection to a trasnport and it isn't allowed to change them after the binding.</p>
+<p>Note that the password is write only and has no accessor as the underlying implementation should be zeroing the password after use to avoid the password being present in memory longer than necessary</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">password</td><td>the password corresponding to the username - this will be copied and zeroed out after use </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>a pointer to the remote container name </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga722d53b6063278fbcab5f814613c70ec"></a>
+<a id="ga5f4b94211f97bbc3bb64642f6f597fe8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga5f4b94211f97bbc3bb64642f6f597fe8">&#9670;&nbsp;</a></span>pn_connection_get_user()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a>* pn_connection_remote_desired_capabilities </td>
+          <td class="memname">const char* pn_connection_get_user </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></td><td>)</td>
@@ -784,24 +866,25 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Access the AMQP desired capabilites supplied by the remote connection endpoint. </p>
-<p>This operation will return a pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> object that is valid until the connection object is freed. This data object will be empty until the remote connection is opened as indicated by the <a class="el" href="group__connection.html#gad96220f2886c21a4f2eebc9487f53a87" title="The remote endpoint state  is active. ">PN_REMOTE_ACTIVE</a> flag.</p>
+<p>Get the authentication username for a client connection. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the remote desired capabilities </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the username passed into the connection </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="gabf25d7b763951b4a9c856536d6db0600"></a>
+<a id="ga3ab6a8a556270cff74c39da910a89b5c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga3ab6a8a556270cff74c39da910a89b5c">&#9670;&nbsp;</a></span>pn_connection_get_hostname()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">const char* pn_connection_remote_hostname </td>
+          <td class="memname">const char* pn_connection_get_hostname </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></td><td>)</td>
@@ -810,51 +893,65 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the AMQP Hostname set by the remote connection endpoint. </p>
-<p>This will return NULL until the <a class="el" href="group__connection.html#gad96220f2886c21a4f2eebc9487f53a87" title="The remote endpoint state  is active. ">PN_REMOTE_ACTIVE</a> state is reached. See <a class="el" href="group__connection.html#gaa83193a655e32bffc18624acc2c39233" title="Holds the state flags for an AMQP endpoint. ">pn_state_t</a> for more details on endpoint state.</p>
-<p>Any non null pointer returned by this operation will be valid until the connection object is unbound from a transport or freed, whichever happens sooner.</p>
+<p>Get the value of the AMQP Hostname used by a connection object. </p>
+<p>The pointer returned by this operation is valid until <a class="el" href="group__connection.html#ga0c3bed8e6764915a137a9daff199ecbb" title="Set the name of the virtual host (either fully qualified or relative) to which this connection is con...">pn_connection_set_hostname</a> is called, or until the connection object is freed, whichever happens sooner.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>a pointer to the remote hostname </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>a pointer to the hostname </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga9bf90f0f395d26e320293063b70d040f"></a>
+<a id="ga0c3bed8e6764915a137a9daff199ecbb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga0c3bed8e6764915a137a9daff199ecbb">&#9670;&nbsp;</a></span>pn_connection_set_hostname()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a>* pn_connection_remote_offered_capabilities </td>
+          <td class="memname">void pn_connection_set_hostname </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></td><td>)</td>
+          <td class="paramname"><em>connection</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>hostname</em>&#160;</td>
+        </tr>
+        <tr>
           <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Access the AMQP offered capabilites supplied by the remote connection endpoint. </p>
-<p>This operation will return a pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> object that is valid until the connection object is freed. This data object will be empty until the remote connection is opened as indicated by the <a class="el" href="group__connection.html#gad96220f2886c21a4f2eebc9487f53a87" title="The remote endpoint state  is active. ">PN_REMOTE_ACTIVE</a> flag.</p>
+<p>Set the name of the virtual host (either fully qualified or relative) to which this connection is connecting to. </p>
+<p>This information may be used by the remote peer to determine the correct back-end service to connect the client to. This value will be sent in the Open performative, and will be used by SSL and SASL layers to identify the peer.</p>
+<dl class="section note"><dt>Note</dt><dd>Note: the virtual host string is passed verbatim, it is not parsed as a URL or modified in any way. It should not contain numeric IP addresses or port numbers unless that is what you intend to send as the virtual host name </dd></dl>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">hostname</td><td>the virtual host name </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the remote offered capabilities </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga24a2d5aba432db549257993bfaa761dd"></a>
+<a id="gabb5b585ee8bae0e88d2b42b87772082a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gabb5b585ee8bae0e88d2b42b87772082a">&#9670;&nbsp;</a></span>pn_connection_remote_container()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a>* pn_connection_remote_properties </td>
+          <td class="memname">const char* pn_connection_remote_container </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></td><td>)</td>
@@ -863,24 +960,27 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Access the AMQP connection properties supplied by the remote connection endpoint. </p>
-<p>This operation will return a pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> object that is valid until the connection object is freed. This data object will be empty until the remote connection is opened as indicated by the <a class="el" href="group__connection.html#gad96220f2886c21a4f2eebc9487f53a87" title="The remote endpoint state  is active. ">PN_REMOTE_ACTIVE</a> flag.</p>
+<p>Get the AMQP Container name advertised by the remote connection endpoint. </p>
+<p>This will return NULL until the <a class="el" href="group__connection.html#gad96220f2886c21a4f2eebc9487f53a87" title="The remote endpoint state  is active. ">PN_REMOTE_ACTIVE</a> state is reached. See <a class="el" href="group__connection.html#gaa83193a655e32bffc18624acc2c39233" title="Holds the state flags for an AMQP endpoint. ">pn_state_t</a> for more details on endpoint state.</p>
+<p>Any non null pointer returned by this operation will be valid until the connection object is unbound from a transport or freed, whichever happens sooner.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the remote connection properties </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>a pointer to the remote container name </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga3a76135d214e12a0735441c1ba2c28d3"></a>
+<a id="gabf25d7b763951b4a9c856536d6db0600"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gabf25d7b763951b4a9c856536d6db0600">&#9670;&nbsp;</a></span>pn_connection_remote_hostname()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pn_connection_reset </td>
+          <td class="memname">const char* pn_connection_remote_hostname </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></td><td>)</td>
@@ -889,207 +989,170 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Reset a connection object back to the uninitialized state. </p>
-<p>Note that this does <em>not</em> remove any contained <a class="el" href="group__session.html#ga38ccb93b8f5c2892adafce5d5f0fbcd9" title="An AMQP Session object. ">pn_session_t</a>, <a class="el" href="group__link.html#ga89dad3aa7934329a7ff467c636687bc0" title="An AMQP Link object. ">pn_link_t</a>, and <a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340" title="An AMQP Delivery object. ">pn_delivery_t</a> objects.</p>
+<p>Get the AMQP Hostname set by the remote connection endpoint. </p>
+<p>This will return NULL until the <a class="el" href="group__connection.html#gad96220f2886c21a4f2eebc9487f53a87" title="The remote endpoint state  is active. ">PN_REMOTE_ACTIVE</a> state is reached. See <a class="el" href="group__connection.html#gaa83193a655e32bffc18624acc2c39233" title="Holds the state flags for an AMQP endpoint. ">pn_state_t</a> for more details on endpoint state.</p>
+<p>Any non null pointer returned by this operation will be valid until the connection object is unbound from a transport or freed, whichever happens sooner.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
   </table>
   </dd>
 </dl>
+<dl class="section return"><dt>Returns</dt><dd>a pointer to the remote hostname </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="gac4a34e0b1fc5665b26ae47a80a422a1a"></a>
+<a id="gabc8d505108a850837a0d2fb204875390"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gabc8d505108a850837a0d2fb204875390">&#9670;&nbsp;</a></span>pn_connection_offered_capabilities()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pn_connection_set_container </td>
+          <td class="memname"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a>* pn_connection_offered_capabilities </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>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
+          <td class="paramname"><em>connection</em></td><td>)</td>
           <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>container</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Set the AMQP Container name advertised by a connection object. </p>
+<p>Access/modify the AMQP offered capabilities data for a connection object. </p>
+<p>This operation will return a pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> object that is valid until the connection object is freed. Any data contained by the <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> object will be sent as the offered capabilites for the parent connection object. Note that this MUST take the form of an array of symbols to be valid.</p>
+<p>The <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> pointer returned is valid until the connection object is freed.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">container</td><td>the container name </td></tr>
   </table>
   </dd>
 </dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a33">broker.c</a>, <a class="el" href="receive_8c-example.html#a16">receive.c</a>, and <a class="el" href="send_8c-example.html#a34">send.c</a>.</dd>
-</dl>
+<dl class="section return"><dt>Returns</dt><dd>a pointer to a pn_data_t representing the offered capabilities </dd></dl>
+
 </div>
 </div>
-<a class="anchor" id="gad3203b366cb1ff5becd1778a8dd6b1a6"></a>
+<a id="ga241faafc5a98cf9b91aa919263bd9bd8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga241faafc5a98cf9b91aa919263bd9bd8">&#9670;&nbsp;</a></span>pn_connection_desired_capabilities()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pn_connection_set_context </td>
+          <td class="memname"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a>* pn_connection_desired_capabilities </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>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
+          <td class="paramname"><em>connection</em></td><td>)</td>
           <td></td>
-          <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>context</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#_deprecated000003">Deprecated:</a></b></dt><dd></dd></dl>
-<p>Set a new application context for a connection object.</p>
-<p>The application context for a connection object may be retrieved using <a class="el" href="group__connection.html#ga50613e6c09186dc3f1a2f36238c61f07">pn_connection_get_context</a>.</p>
+
+<p>Access/modify the AMQP desired capabilities data for a connection object. </p>
+<p>This operation will return a pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> object that is valid until the connection object is freed. Any data contained by the <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> object will be sent as the desired capabilites for the parent connection object. Note that this MUST take the form of an array of symbols to be valid.</p>
+<p>The <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> pointer returned is valid until the connection object is freed.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>the application context </td></tr>
   </table>
   </dd>
 </dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a11">broker.c</a>.</dd>
-</dl>
+<dl class="section return"><dt>Returns</dt><dd>a pointer to a pn_data_t representing the desired capabilities </dd></dl>
+
 </div>
 </div>
-<a class="anchor" id="ga0c3bed8e6764915a137a9daff199ecbb"></a>
+<a id="gac26de255ed04e73295d6aa973a663142"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gac26de255ed04e73295d6aa973a663142">&#9670;&nbsp;</a></span>pn_connection_properties()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pn_connection_set_hostname </td>
+          <td class="memname"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a>* pn_connection_properties </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>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>hostname</em>&#160;</td>
-        </tr>
-        <tr>
+          <td class="paramname"><em>connection</em></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Set the name of the virtual host (either fully qualified or relative) to which this connection is connecting to. </p>
-<p>This information may be used by the remote peer to determine the correct back-end service to connect the client to. This value will be sent in the Open performative, and will be used by SSL and SASL layers to identify the peer.</p>
-<dl class="section note"><dt>Note</dt><dd>Note: the virtual host string is passed verbatim, it is not parsed as a URL or modified in any way. It should not contain numeric IP addresses or port numbers unless that is what you intend to send as the virtual host name </dd></dl>
+<p>Access/modify the AMQP properties data for a connection object. </p>
+<p>This operation will return a pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> object that is valid until the connection object is freed. Any data contained by the <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> object will be sent as the AMQP properties for the parent connection object. Note that this MUST take the form of a symbol keyed map to be valid.</p>
+<p>The <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> pointer returned is valid until the connection object is freed.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">hostname</td><td>the virtual host name </td></tr>
   </table>
   </dd>
 </dl>
+<dl class="section return"><dt>Returns</dt><dd>a pointer to a pn_data_t representing the connection properties </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga8be7fdeb5a229d16e45fa122844fb285"></a>
+<a id="ga9bf90f0f395d26e320293063b70d040f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga9bf90f0f395d26e320293063b70d040f">&#9670;&nbsp;</a></span>pn_connection_remote_offered_capabilities()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pn_connection_set_password </td>
+          <td class="memname"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a>* pn_connection_remote_offered_capabilities </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>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>password</em>&#160;</td>
-        </tr>
-        <tr>
+          <td class="paramname"><em>connection</em></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Set the authentication password for a client connection. </p>
-<p>It is necessary to set the username and password before binding the connection to a trasnport and it isn't allowed to change them after the binding.</p>
-<p>Note that the password is write only and has no accessor as the underlying implementation should be zeroing the password after use to avoid the password being present in memory longer than necessary</p>
+<p>Access the AMQP offered capabilites supplied by the remote connection endpoint. </p>
+<p>This operation will return a pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> object that is valid until the connection object is freed. This data object will be empty until the remote connection is opened as indicated by the <a class="el" href="group__connection.html#gad96220f2886c21a4f2eebc9487f53a87" title="The remote endpoint state  is active. ">PN_REMOTE_ACTIVE</a> flag.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">password</td><td>the password corresponding to the username - this will be copied and zeroed out after use </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
   </table>
   </dd>
 </dl>
+<dl class="section return"><dt>Returns</dt><dd>the remote offered capabilities </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="gafb84dd2ef7551ad864be08cb31010d19"></a>
+<a id="ga722d53b6063278fbcab5f814613c70ec"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga722d53b6063278fbcab5f814613c70ec">&#9670;&nbsp;</a></span>pn_connection_remote_desired_capabilities()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pn_connection_set_user </td>
+          <td class="memname"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a>* pn_connection_remote_desired_capabilities </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>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
+          <td class="paramname"><em>connection</em></td><td>)</td>
           <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>user</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Set the authentication username for a client connection. </p>
-<p>It is necessary to set the username and password before binding the connection to a trasnport and it isn't allowed to change them after the binding.</p>
-<p>If not set then no authentication will be negotiated unless the client sasl layer is explicitly created (this would be for sometting like Kerberos where the credentials are implicit in the environment, or to explicitly use the ANONYMOUS SASL mechanism)</p>
+<p>Access the AMQP desired capabilites supplied by the remote connection endpoint. </p>
+<p>This operation will return a pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> object that is valid until the connection object is freed. This data object will be empty until the remote connection is opened as indicated by the <a class="el" href="group__connection.html#gad96220f2886c21a4f2eebc9487f53a87" title="The remote endpoint state  is active. ">PN_REMOTE_ACTIVE</a> flag.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">user</td><td>the username </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
   </table>
   </dd>
 </dl>
+<dl class="section return"><dt>Returns</dt><dd>the remote desired capabilities </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga277d01dc2f87870ee260d43cf40abe13"></a>
+<a id="ga24a2d5aba432db549257993bfaa761dd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga24a2d5aba432db549257993bfaa761dd">&#9670;&nbsp;</a></span>pn_connection_remote_properties()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="group__connection.html#gaa83193a655e32bffc18624acc2c39233">pn_state_t</a> pn_connection_state </td>
+          <td class="memname"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a>* pn_connection_remote_properties </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></td><td>)</td>
@@ -1098,18 +1161,21 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the endpoint state flags for a connection. </p>
+<p>Access the AMQP connection properties supplied by the remote connection endpoint. </p>
+<p>This operation will return a pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> object that is valid until the connection object is freed. This data object will be empty until the remote connection is opened as indicated by the <a class="el" href="group__connection.html#gad96220f2886c21a4f2eebc9487f53a87" title="The remote endpoint state  is active. ">PN_REMOTE_ACTIVE</a> flag.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>the connection object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the connection's state flags </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the remote connection properties </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="gad8bd46661ca997b9b2c2c38cb6983c59"></a>
+<a id="gad8bd46661ca997b9b2c2c38cb6983c59"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gad8bd46661ca997b9b2c2c38cb6983c59">&#9670;&nbsp;</a></span>pn_connection_transport()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -1132,7 +1198,7 @@ Functions</h2></td></tr>
   </dd>
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>the transport bound to a connection, or NULL if the connection is unbound </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a35">broker.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a34">broker.c</a>.</dd>
 </dl>
 </div>
 </div>
@@ -1143,7 +1209,7 @@ Functions</h2></td></tr>
   <ul>
     <li class="footer">Generated by
     <a href="http://www.doxygen.org/index.html">
-    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
   </ul>
 </div>
 </body>


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