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:49 UTC

[30/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__message.html
----------------------------------------------------------------------
diff --git a/content/releases/qpid-proton-master/proton/c/api/group__message.html b/content/releases/qpid-proton-master/proton/c/api/group__message.html
index 54528d3..6216f50 100755
--- a/content/releases/qpid-proton-master/proton/c/api/group__message.html
+++ b/content/releases/qpid-proton-master/proton/c/api/group__message.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: Message</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,7 +103,7 @@ $(document).ready(function(){initNavTree('group__message.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:ga732b155202644a5c5be75a651a3c4fac"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga732b155202644a5c5be75a651a3c4fac"></a>
+<tr class="memitem:ga732b155202644a5c5be75a651a3c4fac"><td class="memItemLeft" align="right" valign="top"><a id="ga732b155202644a5c5be75a651a3c4fac"></a>
 #define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__message.html#ga732b155202644a5c5be75a651a3c4fac">PN_DEFAULT_PRIORITY</a></td></tr>
 <tr class="memdesc:ga732b155202644a5c5be75a651a3c4fac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default priority for messages. <br /></td></tr>
 <tr class="separator:ga732b155202644a5c5be75a651a3c4fac"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -276,7 +276,9 @@ Functions</h2></td></tr>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <p>A mutable holder of application content. </p>
 <h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="gad9259fa9271e8844c8e05a7e8978e3b2"></a>
+<a id="gad9259fa9271e8844c8e05a7e8978e3b2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gad9259fa9271e8844c8e05a7e8978e3b2">&#9670;&nbsp;</a></span>pn_message_t</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -292,7 +294,9 @@ Functions</h2></td></tr>
 </div>
 </div>
 <h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="gaaf98d84b9ddc1c6537dddd4c9c5b979e"></a>
+<a id="gaaf98d84b9ddc1c6537dddd4c9c5b979e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaaf98d84b9ddc1c6537dddd4c9c5b979e">&#9670;&nbsp;</a></span>pn_message()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -309,43 +313,18 @@ Functions</h2></td></tr>
 <p>Construct a new <a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2" title="An AMQP Message object. ">pn_message_t</a>. </p>
 <p>Every message that is constructed must be freed using <a class="el" href="group__message.html#ga69aadbc3a80f1fa16962774e711392f8" title="Free a previously constructed pn_message_t. ">pn_message_free()</a>.</p>
 <dl class="section return"><dt>Returns</dt><dd>pointer to a new <a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2" title="An AMQP Message object. ">pn_message_t</a> </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="receive_8c-example.html#a9">receive.c</a>, and <a class="el" href="send_8c-example.html#a7">send.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="direct_8c-example.html#a9">direct.c</a>, <a class="el" href="receive_8c-example.html#a10">receive.c</a>, and <a class="el" href="send_8c-example.html#a9">send.c</a>.</dd>
 </dl>
 </div>
 </div>
-<a class="anchor" id="gadadb16710eccb6d332d039acc9dc1042"></a>
-<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_message_annotations </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
-          <td class="paramname"><em>msg</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
+<a id="ga69aadbc3a80f1fa16962774e711392f8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga69aadbc3a80f1fa16962774e711392f8">&#9670;&nbsp;</a></span>pn_message_free()</h2>
 
-<p>Get/set the annotations for a message. </p>
-<p>This operation returns a pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> representing the content of the annotations section of a message. The pointer is valid until the message is freed and may be used to both access and modify the content of the annotations section of a message.</p>
-<p>The <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> must either be empty or consist of a symbol keyed map in order to be considered valid message annotations.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>a pointer to the message annotations </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga145c06edbcccfbe97136bfb5cb2b22b1"></a>
 <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_message_body </td>
+          <td class="memname">void pn_message_free </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
           <td class="paramname"><em>msg</em></td><td>)</td>
@@ -354,20 +333,20 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get/set the body of a message. </p>
-<p>This operation returns a pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> representing the body of a message. The pointer is valid until the message is freed and may be used to both access and modify the content of the message body.</p>
+<p>Free a previously constructed <a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2" title="An AMQP Message object. ">pn_message_t</a>. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>pointer to a <a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2" title="An AMQP Message object. ">pn_message_t</a> or NULL </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>a pointer to the message body </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="receive_8c-example.html#a12">receive.c</a>, and <a class="el" href="send_8c-example.html#a10">send.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="direct_8c-example.html#a25">direct.c</a>, <a class="el" href="receive_8c-example.html#a14">receive.c</a>, and <a class="el" href="send_8c-example.html#a25">send.c</a>.</dd>
 </dl>
 </div>
 </div>
-<a class="anchor" id="ga918c90a049d6b39041b0a2044f9048c6"></a>
+<a id="ga918c90a049d6b39041b0a2044f9048c6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga918c90a049d6b39041b0a2044f9048c6">&#9670;&nbsp;</a></span>pn_message_clear()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -392,12 +371,14 @@ Functions</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="gaceb08618e468fdb4a95e103cce6e7cbd"></a>
+<a id="gac10c5d8f12e4817fec126fdb608baf53"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gac10c5d8f12e4817fec126fdb608baf53">&#9670;&nbsp;</a></span>pn_message_errno()</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_message_correlation_id </td>
+          <td class="memname">int pn_message_errno </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
           <td class="paramname"><em>msg</em></td><td>)</td>
@@ -406,98 +387,83 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get/set the correlation id for a message. </p>
-<p>A correlation id can be an a string, an unsigned long, a uuid or a binary value. This operation returns a pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> that can be used to access and/or modify the value of the correlation id. The pointer is valid until the message is freed. See <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> for details on how to get/set the value.</p>
+<p>Access the error code of a message. </p>
+<p>Every operation on a message that can result in an error will set the message's error code in case of error. The <a class="el" href="group__message.html#gac10c5d8f12e4817fec126fdb608baf53" title="Access the error code of a message. ">pn_message_errno()</a> call will access the error code of the most recent failed operation.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> holding the correlation id </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the message's error code </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga013d429f94d653bc1e00f1f438a079a6"></a>
+<a id="ga9ad09178e7682efde76e2d39f352dfe8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga9ad09178e7682efde76e2d39f352dfe8">&#9670;&nbsp;</a></span>pn_message_error()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">int pn_message_data </td>
+          <td class="memname"><a class="el" href="group__error.html#ga24a289d5b32c9bd8a775600a5af83d52">pn_error_t</a>* pn_message_error </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
-          <td class="paramname"><em>msg</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
-          <td class="paramname"><em>data</em>&#160;</td>
-        </tr>
-        <tr>
+          <td class="paramname"><em>msg</em></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Save message content into a pn_data_t object data. </p>
-<p>The data object will first be cleared. </p>
-
+<p>Access the error information for a message. </p>
+<p>Every operation on a message that can result in an error will update the error information held by its error descriptor should that operation fail. The <a class="el" href="group__message.html#ga9ad09178e7682efde76e2d39f352dfe8" title="Access the error information for a message. ">pn_message_error()</a> call will access the error information of the most recent failed operation. The pointer returned by this call is valid until the message is freed.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the message's error descriptor </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="direct_8c-example.html#a24">direct.c</a>, and <a class="el" href="send_8c-example.html#a24">send.c</a>.</dd>
+</dl>
 </div>
 </div>
-<a class="anchor" id="gab0bae90838f4661b0c82c15f25e1e988"></a>
+<a id="ga5d9367609d74ca3511d4172806eeb55b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga5d9367609d74ca3511d4172806eeb55b">&#9670;&nbsp;</a></span>pn_message_is_inferred()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">int pn_message_decode </td>
+          <td class="memname">bool pn_message_is_inferred </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
-          <td class="paramname"><em>msg</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>bytes</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>size</em>&#160;</td>
-        </tr>
-        <tr>
+          <td class="paramname"><em>msg</em></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Decode/load message content from AMQP formatted binary data. </p>
-<p>Upon invoking this operation, any existing message content will be cleared and replaced with the content from the provided binary data.</p>
+<p>Get the inferred flag for a message. </p>
+<p>The inferred flag for a message indicates how the message content is encoded into AMQP sections. If inferred is true then binary and list values in the body of the message will be encoded as AMQP DATA and AMQP SEQUENCE sections, respectively. If inferred is false, then all values in the body of the message will be encoded as AMQP VALUE sections regardless of their type. Use <a class="el" href="group__message.html#ga63bdd43b7cee8741665db999fac97a62" title="Set the inferred flag for a message. ">pn_message_set_inferred</a> to set the value.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">bytes</td><td>the start of the encoded AMQP data </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>the size of the encoded AMQP data </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="receive_8c-example.html#a11">receive.c</a>.</dd>
-</dl>
+<dl class="section return"><dt>Returns</dt><dd>the value of the inferred flag for the message </dd></dl>
+
 </div>
 </div>
-<a class="anchor" id="ga2173bbce3c1f4b04074e42d2fe7da473"></a>
+<a id="ga63bdd43b7cee8741665db999fac97a62"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga63bdd43b7cee8741665db999fac97a62">&#9670;&nbsp;</a></span>pn_message_set_inferred()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">int pn_message_encode </td>
+          <td class="memname">int pn_message_set_inferred </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
           <td class="paramname"><em>msg</em>, </td>
@@ -505,14 +471,8 @@ Functions</h2></td></tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>bytes</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t *&#160;</td>
-          <td class="paramname"><em>size</em>&#160;</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>inferred</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
@@ -522,28 +482,27 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Encode/save message content as AMQP formatted binary data. </p>
-<p>If the buffer space provided is insufficient to store the content held in the message, the operation will fail and return a PN_OVERFLOW error code.</p>
+<p>Set the inferred flag for a message. </p>
+<p>See <a class="el" href="group__message.html#ga5d9367609d74ca3511d4172806eeb55b" title="Get the inferred flag for a message. ">pn_message_is_inferred()</a> for a description of what the inferred flag is.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">bytes</td><td>the start of empty buffer space </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>the amount of empty buffer space </td></tr>
-    <tr><td class="paramdir">[out]</td><td class="paramname">size</td><td>the amount of data written </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">inferred</td><td>the new value of the inferred flag </td></tr>
   </table>
   </dd>
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="send_8c-example.html#a17">send.c</a>.</dd>
-</dl>
+
 </div>
 </div>
-<a class="anchor" id="gac10c5d8f12e4817fec126fdb608baf53"></a>
+<a id="gaf9e131dcfb094bebc3424661042d3c36"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaf9e131dcfb094bebc3424661042d3c36">&#9670;&nbsp;</a></span>pn_message_is_durable()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">int pn_message_errno </td>
+          <td class="memname">bool pn_message_is_durable </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
           <td class="paramname"><em>msg</em></td><td>)</td>
@@ -552,51 +511,65 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Access the error code of a message. </p>
-<p>Every operation on a message that can result in an error will set the message's error code in case of error. The <a class="el" href="group__message.html#gac10c5d8f12e4817fec126fdb608baf53" title="Access the error code of a message. ">pn_message_errno()</a> call will access the error code of the most recent failed operation.</p>
+<p>Get the durable flag for a message. </p>
+<p>The durable flag indicates that any parties taking responsibility for the message must durably store the content.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the message's error code </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the value of the durable flag </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga9ad09178e7682efde76e2d39f352dfe8"></a>
+<a id="ga63f6065e770ddf435e38d8c0e01bc5ad"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga63f6065e770ddf435e38d8c0e01bc5ad">&#9670;&nbsp;</a></span>pn_message_set_durable()</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_message_error </td>
+          <td class="memname">int pn_message_set_durable </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
-          <td class="paramname"><em>msg</em></td><td>)</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
           <td></td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>durable</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Access the error information for a message. </p>
-<p>Every operation on a message that can result in an error will update the error information held by its error descriptor should that operation fail. The <a class="el" href="group__message.html#ga9ad09178e7682efde76e2d39f352dfe8" title="Access the error information for a message. ">pn_message_error()</a> call will access the error information of the most recent failed operation. The pointer returned by this call is valid until the message is freed.</p>
+<p>Set the durable flag for a message. </p>
+<p>See <a class="el" href="group__message.html#gaf9e131dcfb094bebc3424661042d3c36" title="Get the durable flag for a message. ">pn_message_is_durable()</a> for a description of the durable flag.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">durable</td><td>the new value of the durable flag </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the message's error descriptor </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="send_8c-example.html#a22">send.c</a>.</dd>
-</dl>
+<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
+
 </div>
 </div>
-<a class="anchor" id="ga69aadbc3a80f1fa16962774e711392f8"></a>
+<a id="ga5e6769354fcb71c9053fff0045301a0e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga5e6769354fcb71c9053fff0045301a0e">&#9670;&nbsp;</a></span>pn_message_get_priority()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pn_message_free </td>
+          <td class="memname">uint8_t pn_message_get_priority </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
           <td class="paramname"><em>msg</em></td><td>)</td>
@@ -605,54 +578,65 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Free a previously constructed <a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2" title="An AMQP Message object. ">pn_message_t</a>. </p>
+<p>Get the priority for a message. </p>
+<p>The priority of a message impacts ordering guarantees. Within a given ordered context, higher priority messages may jump ahead of lower priority messages.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>pointer to a <a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2" title="An AMQP Message object. ">pn_message_t</a> or NULL </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
   </table>
   </dd>
 </dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="receive_8c-example.html#a13">receive.c</a>, and <a class="el" href="send_8c-example.html#a23">send.c</a>.</dd>
-</dl>
+<dl class="section return"><dt>Returns</dt><dd>the message priority </dd></dl>
+
 </div>
 </div>
-<a class="anchor" id="gaa4f5b4884d5422123a4e6f48bf00701c"></a>
+<a id="ga62c632d8bd001658cf6206eb5fac7e6c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga62c632d8bd001658cf6206eb5fac7e6c">&#9670;&nbsp;</a></span>pn_message_set_priority()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">const char* pn_message_get_address </td>
+          <td class="memname">int pn_message_set_priority </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
-          <td class="paramname"><em>msg</em></td><td>)</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
           <td></td>
+          <td class="paramtype">uint8_t&#160;</td>
+          <td class="paramname"><em>priority</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the address for a message. </p>
-<p>This operation will return NULL if no address has been set or if the address has been set to NULL. The pointer returned by this operation is valid until any one of the following operations occur:</p>
-<ul>
-<li><a class="el" href="group__message.html#ga69aadbc3a80f1fa16962774e711392f8" title="Free a previously constructed pn_message_t. ">pn_message_free()</a></li>
-<li><a class="el" href="group__message.html#ga918c90a049d6b39041b0a2044f9048c6" title="Clears the content of a pn_message_t. ">pn_message_clear()</a></li>
-<li><a class="el" href="group__message.html#ga38ecee233f94e128bed9be3e530f27e5" title="Set the address for a message. ">pn_message_set_address()</a></li>
-</ul>
+<p>Set the priority for a message. </p>
+<p>See <a class="el" href="group__message.html#ga5e6769354fcb71c9053fff0045301a0e" title="Get the priority for a message. ">pn_message_get_priority()</a> for details on message priority.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">priority</td><td>the new priority for the message </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>a pointer to the address of the message (or NULL) </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="gacb97f21822b058b6297bc618f6d190b0"></a>
+<a id="ga2ade598da4a8bb0464980ae227f29d5c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga2ade598da4a8bb0464980ae227f29d5c">&#9670;&nbsp;</a></span>pn_message_get_ttl()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">const char* pn_message_get_content_encoding </td>
+          <td class="memname"><a class="el" href="group__api__types.html#ga9a701bc6dc9af9f42c3f4679172a723c">pn_millis_t</a> pn_message_get_ttl </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
           <td class="paramname"><em>msg</em></td><td>)</td>
@@ -661,60 +645,65 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the content_encoding for a message. </p>
-<p>This operation will return NULL if no content_encoding has been set or if the content_encoding has been set to NULL. The pointer returned by this operation is valid until any one of the following operations occur:</p>
-<ul>
-<li><a class="el" href="group__message.html#ga69aadbc3a80f1fa16962774e711392f8" title="Free a previously constructed pn_message_t. ">pn_message_free()</a></li>
-<li><a class="el" href="group__message.html#ga918c90a049d6b39041b0a2044f9048c6" title="Clears the content of a pn_message_t. ">pn_message_clear()</a></li>
-<li><a class="el" href="group__message.html#gafc79b5a0c8bd56aaa07f1357ba07475b" title="Set the content_encoding for a message. ">pn_message_set_content_encoding()</a></li>
-</ul>
+<p>Get the ttl for a message. </p>
+<p>The ttl for a message determines how long a message is considered live. When a message is held for retransmit, the ttl is decremented. Once the ttl reaches zero, the message is considered dead. Once a message is considered dead it may be dropped. Use <a class="el" href="group__message.html#gaf39d162f5ee8f43b32cc7f1ebf56ffa3" title="Set the ttl for a message. ">pn_message_set_ttl()</a> to set the ttl for a message.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>a pointer to the content_encoding of the message (or NULL) </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the ttl in milliseconds </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga280a96bf80dd37a4062432f45e679ea1"></a>
+<a id="gaf39d162f5ee8f43b32cc7f1ebf56ffa3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaf39d162f5ee8f43b32cc7f1ebf56ffa3">&#9670;&nbsp;</a></span>pn_message_set_ttl()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">const char* pn_message_get_content_type </td>
+          <td class="memname">int pn_message_set_ttl </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
-          <td class="paramname"><em>msg</em></td><td>)</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
           <td></td>
+          <td class="paramtype"><a class="el" href="group__api__types.html#ga9a701bc6dc9af9f42c3f4679172a723c">pn_millis_t</a>&#160;</td>
+          <td class="paramname"><em>ttl</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the content_type for a message. </p>
-<p>This operation will return NULL if no content_type has been set or if the content_type has been set to NULL. The pointer returned by this operation is valid until any one of the following operations occur:</p>
-<ul>
-<li><a class="el" href="group__message.html#ga69aadbc3a80f1fa16962774e711392f8" title="Free a previously constructed pn_message_t. ">pn_message_free()</a></li>
-<li><a class="el" href="group__message.html#ga918c90a049d6b39041b0a2044f9048c6" title="Clears the content of a pn_message_t. ">pn_message_clear()</a></li>
-<li><a class="el" href="group__message.html#gaa0247560f0cd4590bc8ece20565eb611" title="Set the content_type for a message. ">pn_message_set_content_type()</a></li>
-</ul>
+<p>Set the ttl for a message. </p>
+<p>See <a class="el" href="group__message.html#ga2ade598da4a8bb0464980ae227f29d5c" title="Get the ttl for a message. ">pn_message_get_ttl()</a> for a detailed description of message ttl.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">ttl</td><td>the new value for the message ttl </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>a pointer to the content_type of the message (or NULL) </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga7c7a49b84141d130f885e3a6b357d65a"></a>
+<a id="gac8a1e35c70d625b69e0d1769d9c898d2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gac8a1e35c70d625b69e0d1769d9c898d2">&#9670;&nbsp;</a></span>pn_message_is_first_acquirer()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="group__api__types.html#structpn__atom__t">pn_atom_t</a> pn_message_get_correlation_id </td>
+          <td class="memname">bool pn_message_is_first_acquirer </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
           <td class="paramname"><em>msg</em></td><td>)</td>
@@ -723,45 +712,60 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the correlation id for a message. </p>
-<p>A correlation id can be an a string, an unsigned long, a uuid or a binary value. This operation returns the value of the id using the <a class="el" href="group__api__types.html#structpn__atom__t" title="A descriminated union that holds any scalar AMQP value. ">pn_atom_t</a> descriminated union. See <a class="el" href="group__api__types.html#structpn__atom__t" title="A descriminated union that holds any scalar AMQP value. ">pn_atom_t</a> for details on how to access the value.</p>
+<p>Get the first acquirer flag for a message. </p>
+<p>When set to true, the first acquirer flag for a message indicates that the recipient of the message is the first recipient to acquire the message, i.e. there have been no failed delivery attempts to other acquirers. Note that this does not mean the message has not been delivered to, but not acquired, by other recipients.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the message id </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the first acquirer flag for the message </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga4a18377a68cc26d68141e1b1afd82a52"></a>
+<a id="ga64240467da74892010a7282116b0b234"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga64240467da74892010a7282116b0b234">&#9670;&nbsp;</a></span>pn_message_set_first_acquirer()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="group__amqp__types.html#gad337c365b498106064ec28e00e5fb6dd">pn_timestamp_t</a> pn_message_get_creation_time </td>
+          <td class="memname">int pn_message_set_first_acquirer </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
-          <td class="paramname"><em>msg</em></td><td>)</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
           <td></td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>first</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the creation time for a message. </p>
-<p>A zero value for the creation time indicates that the creation time has not been set. This is the default value.</p>
+<p>Set the first acquirer flag for a message. </p>
+<p>See <a class="el" href="group__message.html#gac8a1e35c70d625b69e0d1769d9c898d2" title="Get the first acquirer flag for a message. ">pn_message_is_first_acquirer()</a> for details on the first acquirer flag.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">first</td><td>the new value for the first acquirer flag </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the creation time for the message </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="gad514ef95e642698876bedf6ec772eb72"></a>
+<a id="gad514ef95e642698876bedf6ec772eb72"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gad514ef95e642698876bedf6ec772eb72">&#9670;&nbsp;</a></span>pn_message_get_delivery_count()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -787,69 +791,53 @@ Functions</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="ga8fdfd3daca961bbfaa7affacee6047ce"></a>
+<a id="ga195472fabe3416dccf8a4bfcdacfa6c0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga195472fabe3416dccf8a4bfcdacfa6c0">&#9670;&nbsp;</a></span>pn_message_set_delivery_count()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="group__amqp__types.html#gad337c365b498106064ec28e00e5fb6dd">pn_timestamp_t</a> pn_message_get_expiry_time </td>
+          <td class="memname">int pn_message_set_delivery_count </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
-          <td class="paramname"><em>msg</em></td><td>)</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
           <td></td>
+          <td class="paramtype">uint32_t&#160;</td>
+          <td class="paramname"><em>count</em>&#160;</td>
         </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Get the expiry time for a message. </p>
-<p>A zero value for the expiry time indicates that the message will never expire. This is the default value.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the expiry time for the message </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga4ebc7c7e7f524f5bf36214ff0ccaa00b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
         <tr>
-          <td class="memname">const char* pn_message_get_group_id </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
-          <td class="paramname"><em>msg</em></td><td>)</td>
           <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the group_id for a message. </p>
-<p>This operation will return NULL if no group_id has been set or if the group_id has been set to NULL. The pointer returned by this operation is valid until any one of the following operations occur:</p>
-<ul>
-<li><a class="el" href="group__message.html#ga69aadbc3a80f1fa16962774e711392f8" title="Free a previously constructed pn_message_t. ">pn_message_free()</a></li>
-<li><a class="el" href="group__message.html#ga918c90a049d6b39041b0a2044f9048c6" title="Clears the content of a pn_message_t. ">pn_message_clear()</a></li>
-<li><a class="el" href="group__message.html#ga0ec7ed8750b4d418c60aa77e4b1812bc" title="Set the group_id for a message. ">pn_message_set_group_id()</a></li>
-</ul>
+<p>Set the delivery count for a message. </p>
+<p>See <a class="el" href="group__message.html#gad514ef95e642698876bedf6ec772eb72" title="Get the delivery count for a message. ">pn_message_get_delivery_count()</a> for details on what the delivery count means.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>the new delivery count </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>a pointer to the group_id of the message (or NULL) </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga4c33c1f6b80dd62e2b4bdf23d0b2dbf4"></a>
+<a id="ga296bd7b984c4b9cfabc297ab5badf7de"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga296bd7b984c4b9cfabc297ab5badf7de">&#9670;&nbsp;</a></span>pn_message_id()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="group__api__types.html#ga92033eaa8a158e7e4bb5d1f0e94ca606">pn_sequence_t</a> pn_message_get_group_sequence </td>
+          <td class="memname"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a>* pn_message_id </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
           <td class="paramname"><em>msg</em></td><td>)</td>
@@ -858,19 +846,22 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the group sequence for a message. </p>
-<p>The group sequence of a message identifies the relative ordering of messages within a group. The default value for the group sequence of a message is zero.</p>
+<p>Get/set the id for a message. </p>
+<p>The message id provides a globally unique identifier for a message. A message id can be an a string, an unsigned long, a uuid or a binary value. This operation returns a pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> that can be used to access and/or modify the value of the message id. The pointer is valid until the message is freed. See <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> for details on how to get/set the value.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the group sequence for the message </dd></dl>
-
+<dl class="section return"><dt>Returns</dt><dd>pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> holding the id </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="direct_8c-example.html#a11">direct.c</a>, and <a class="el" href="send_8c-example.html#a11">send.c</a>.</dd>
+</dl>
 </div>
 </div>
-<a class="anchor" id="gad7d3aa060b7666dce6a6d955945bedce"></a>
+<a id="gad7d3aa060b7666dce6a6d955945bedce"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gad7d3aa060b7666dce6a6d955945bedce">&#9670;&nbsp;</a></span>pn_message_get_id()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -896,38 +887,53 @@ Functions</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="ga5e6769354fcb71c9053fff0045301a0e"></a>
+<a id="gad169c319e27eacf91864da26a23b6d74"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gad169c319e27eacf91864da26a23b6d74">&#9670;&nbsp;</a></span>pn_message_set_id()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">uint8_t pn_message_get_priority </td>
+          <td class="memname">int pn_message_set_id </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
-          <td class="paramname"><em>msg</em></td><td>)</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
           <td></td>
+          <td class="paramtype"><a class="el" href="group__api__types.html#structpn__atom__t">pn_atom_t</a>&#160;</td>
+          <td class="paramname"><em>id</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the priority for a message. </p>
-<p>The priority of a message impacts ordering guarantees. Within a given ordered context, higher priority messages may jump ahead of lower priority messages.</p>
+<p>Set the id for a message. </p>
+<p>See <a class="el" href="group__message.html#gad7d3aa060b7666dce6a6d955945bedce" title="Get the id for a message. ">pn_message_get_id()</a> for more details on the meaning of the message id. Note that only string, unsigned long, uuid, or binary values are permitted.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>the new value of the message id </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the message priority </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga5b9e011902e7bd3a9f94ecf52b723c33"></a>
+<a id="ga957f54f40b8a297cdf9ceee8a71b3c1c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga957f54f40b8a297cdf9ceee8a71b3c1c">&#9670;&nbsp;</a></span>pn_message_get_user_id()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">const char* pn_message_get_reply_to </td>
+          <td class="memname"><a class="el" href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a> pn_message_get_user_id </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
           <td class="paramname"><em>msg</em></td><td>)</td>
@@ -936,12 +942,12 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the reply_to for a message. </p>
-<p>This operation will return NULL if no reply_to has been set or if the reply_to has been set to NULL. The pointer returned by this operation is valid until any one of the following operations occur:</p>
+<p>Get the user id for a message. </p>
+<p>The pointer referenced by the <a class="el" href="group__api__types.html#structpn__bytes__t" title="A const byte buffer. ">pn_bytes_t</a> struct will be valid until any one of the following operations occur:</p>
 <ul>
 <li><a class="el" href="group__message.html#ga69aadbc3a80f1fa16962774e711392f8" title="Free a previously constructed pn_message_t. ">pn_message_free()</a></li>
 <li><a class="el" href="group__message.html#ga918c90a049d6b39041b0a2044f9048c6" title="Clears the content of a pn_message_t. ">pn_message_clear()</a></li>
-<li><a class="el" href="group__message.html#gaa9a53e784afb72ea8a4d2033f99ce313" title="Set the reply_to for a message. ">pn_message_set_reply_to()</a></li>
+<li><a class="el" href="group__message.html#ga5fc42eff5ec52b83099089f5888be38d" title="Set the user id for a message. ">pn_message_set_user_id()</a></li>
 </ul>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
@@ -949,47 +955,57 @@ Functions</h2></td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>a pointer to the reply_to of the message (or NULL) </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>a <a class="el" href="group__api__types.html#structpn__bytes__t" title="A const byte buffer. ">pn_bytes_t</a> referencing the message's user_id </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga7163a0174e7c71361172a1f6387f232a"></a>
+<a id="ga5fc42eff5ec52b83099089f5888be38d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga5fc42eff5ec52b83099089f5888be38d">&#9670;&nbsp;</a></span>pn_message_set_user_id()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">const char* pn_message_get_reply_to_group_id </td>
+          <td class="memname">int pn_message_set_user_id </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
-          <td class="paramname"><em>msg</em></td><td>)</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
           <td></td>
+          <td class="paramtype"><a class="el" href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a>&#160;</td>
+          <td class="paramname"><em>user_id</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the reply_to_group_id for a message. </p>
-<p>This operation will return NULL if no reply_to_group_id has been set or if the reply_to_group_id has been set to NULL. The pointer returned by this operation is valid until any one of the following operations occur:</p>
-<ul>
-<li><a class="el" href="group__message.html#ga69aadbc3a80f1fa16962774e711392f8" title="Free a previously constructed pn_message_t. ">pn_message_free()</a></li>
-<li><a class="el" href="group__message.html#ga918c90a049d6b39041b0a2044f9048c6" title="Clears the content of a pn_message_t. ">pn_message_clear()</a></li>
-<li><a class="el" href="group__message.html#ga304bbec66cac6f09f01cbf7014196fd9" title="Set the reply_to_group_id for a message. ">pn_message_set_reply_to_group_id()</a></li>
-</ul>
+<p>Set the user id for a message. </p>
+<p>This operation copies the bytes referenced by the provided <a class="el" href="group__api__types.html#structpn__bytes__t" title="A const byte buffer. ">pn_bytes_t</a> struct.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">user_id</td><td>the new user_id for the message </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>a pointer to the reply_to_group_id of the message (or NULL) </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="gaf35cc7fb503f99b434a970ff669e5c4c"></a>
+<a id="gaa4f5b4884d5422123a4e6f48bf00701c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaa4f5b4884d5422123a4e6f48bf00701c">&#9670;&nbsp;</a></span>pn_message_get_address()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">const char* pn_message_get_subject </td>
+          <td class="memname">const char* pn_message_get_address </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
           <td class="paramname"><em>msg</em></td><td>)</td>
@@ -998,12 +1014,12 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the subject for a message. </p>
-<p>This operation will return NULL if no subject has been set or if the subject has been set to NULL. The pointer returned by this operation is valid until any one of the following operations occur:</p>
+<p>Get the address for a message. </p>
+<p>This operation will return NULL if no address has been set or if the address has been set to NULL. The pointer returned by this operation is valid until any one of the following operations occur:</p>
 <ul>
 <li><a class="el" href="group__message.html#ga69aadbc3a80f1fa16962774e711392f8" title="Free a previously constructed pn_message_t. ">pn_message_free()</a></li>
 <li><a class="el" href="group__message.html#ga918c90a049d6b39041b0a2044f9048c6" title="Clears the content of a pn_message_t. ">pn_message_clear()</a></li>
-<li><a class="el" href="group__message.html#gaa8594da8507dc031b1e0e89d51a2f281" title="Set the subject for a message. ">pn_message_set_subject()</a></li>
+<li><a class="el" href="group__message.html#ga38ecee233f94e128bed9be3e530f27e5" title="Set the address for a message. ">pn_message_set_address()</a></li>
 </ul>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
@@ -1011,42 +1027,57 @@ Functions</h2></td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>a pointer to the subject of the message (or NULL) </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>a pointer to the address of the message (or NULL) </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga2ade598da4a8bb0464980ae227f29d5c"></a>
+<a id="ga38ecee233f94e128bed9be3e530f27e5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga38ecee233f94e128bed9be3e530f27e5">&#9670;&nbsp;</a></span>pn_message_set_address()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="group__api__types.html#ga9a701bc6dc9af9f42c3f4679172a723c">pn_millis_t</a> pn_message_get_ttl </td>
+          <td class="memname">int pn_message_set_address </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
-          <td class="paramname"><em>msg</em></td><td>)</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
           <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>address</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the ttl for a message. </p>
-<p>The ttl for a message determines how long a message is considered live. When a message is held for retransmit, the ttl is decremented. Once the ttl reaches zero, the message is considered dead. Once a message is considered dead it may be dropped. Use <a class="el" href="group__message.html#gaf39d162f5ee8f43b32cc7f1ebf56ffa3" title="Set the ttl for a message. ">pn_message_set_ttl()</a> to set the ttl for a message.</p>
+<p>Set the address for a message. </p>
+<p>The supplied address pointer must either be NULL or reference a NUL terminated string. When the pointer is NULL, the address of the message is set to NULL. When the pointer is non NULL, the contents are copied into the message.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">address</td><td>a pointer to the new address (or NULL) </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the ttl in milliseconds </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga957f54f40b8a297cdf9ceee8a71b3c1c"></a>
+<a id="gaf35cc7fb503f99b434a970ff669e5c4c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaf35cc7fb503f99b434a970ff669e5c4c">&#9670;&nbsp;</a></span>pn_message_get_subject()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a> pn_message_get_user_id </td>
+          <td class="memname">const char* pn_message_get_subject </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
           <td class="paramname"><em>msg</em></td><td>)</td>
@@ -1055,12 +1086,12 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the user id for a message. </p>
-<p>The pointer referenced by the <a class="el" href="group__api__types.html#structpn__bytes__t" title="A const byte buffer. ">pn_bytes_t</a> struct will be valid until any one of the following operations occur:</p>
+<p>Get the subject for a message. </p>
+<p>This operation will return NULL if no subject has been set or if the subject has been set to NULL. The pointer returned by this operation is valid until any one of the following operations occur:</p>
 <ul>
 <li><a class="el" href="group__message.html#ga69aadbc3a80f1fa16962774e711392f8" title="Free a previously constructed pn_message_t. ">pn_message_free()</a></li>
 <li><a class="el" href="group__message.html#ga918c90a049d6b39041b0a2044f9048c6" title="Clears the content of a pn_message_t. ">pn_message_clear()</a></li>
-<li><a class="el" href="group__message.html#ga5fc42eff5ec52b83099089f5888be38d" title="Set the user id for a message. ">pn_message_set_user_id()</a></li>
+<li><a class="el" href="group__message.html#gaa8594da8507dc031b1e0e89d51a2f281" title="Set the subject for a message. ">pn_message_set_subject()</a></li>
 </ul>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
@@ -1068,43 +1099,57 @@ Functions</h2></td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>a <a class="el" href="group__api__types.html#structpn__bytes__t" title="A const byte buffer. ">pn_bytes_t</a> referencing the message's user_id </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>a pointer to the subject of the message (or NULL) </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga296bd7b984c4b9cfabc297ab5badf7de"></a>
+<a id="gaa8594da8507dc031b1e0e89d51a2f281"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaa8594da8507dc031b1e0e89d51a2f281">&#9670;&nbsp;</a></span>pn_message_set_subject()</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_message_id </td>
+          <td class="memname">int pn_message_set_subject </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
-          <td class="paramname"><em>msg</em></td><td>)</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>subject</em>&#160;</td>
+        </tr>
+        <tr>
           <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get/set the id for a message. </p>
-<p>The message id provides a globally unique identifier for a message. A message id can be an a string, an unsigned long, a uuid or a binary value. This operation returns a pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> that can be used to access and/or modify the value of the message id. The pointer is valid until the message is freed. See <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> for details on how to get/set the value.</p>
+<p>Set the subject for a message. </p>
+<p>The supplied subject pointer must either be NULL or reference a NUL terminated string. When the pointer is NULL, the subject is set to NULL. When the pointer is non NULL, the contents are copied into the message.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">subject</td><td>a pointer to the new subject (or NULL) </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> holding the id </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="send_8c-example.html#a9">send.c</a>.</dd>
-</dl>
+<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
+
 </div>
 </div>
-<a class="anchor" id="ga02347ad161f972e4b94567f329b53a8a"></a>
+<a id="ga5b9e011902e7bd3a9f94ecf52b723c33"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga5b9e011902e7bd3a9f94ecf52b723c33">&#9670;&nbsp;</a></span>pn_message_get_reply_to()</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_message_instructions </td>
+          <td class="memname">const char* pn_message_get_reply_to </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
           <td class="paramname"><em>msg</em></td><td>)</td>
@@ -1113,51 +1158,70 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get/set the delivery instructions for a message. </p>
-<p>This operation returns a pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> representing the content of the delivery instructions section of a message. The pointer is valid until the message is freed and may be used to both access and modify the content of the delivery instructions section of a message.</p>
-<p>The <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> must either be empty or consist of a symbol keyed map in order to be considered valid delivery instructions.</p>
+<p>Get the reply_to for a message. </p>
+<p>This operation will return NULL if no reply_to has been set or if the reply_to has been set to NULL. The pointer returned by this operation is valid until any one of the following operations occur:</p>
+<ul>
+<li><a class="el" href="group__message.html#ga69aadbc3a80f1fa16962774e711392f8" title="Free a previously constructed pn_message_t. ">pn_message_free()</a></li>
+<li><a class="el" href="group__message.html#ga918c90a049d6b39041b0a2044f9048c6" title="Clears the content of a pn_message_t. ">pn_message_clear()</a></li>
+<li><a class="el" href="group__message.html#gaa9a53e784afb72ea8a4d2033f99ce313" title="Set the reply_to for a message. ">pn_message_set_reply_to()</a></li>
+</ul>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>a pointer to the delivery instructions </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>a pointer to the reply_to of the message (or NULL) </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="gaf9e131dcfb094bebc3424661042d3c36"></a>
+<a id="gaa9a53e784afb72ea8a4d2033f99ce313"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaa9a53e784afb72ea8a4d2033f99ce313">&#9670;&nbsp;</a></span>pn_message_set_reply_to()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">bool pn_message_is_durable </td>
+          <td class="memname">int pn_message_set_reply_to </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
-          <td class="paramname"><em>msg</em></td><td>)</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>reply_to</em>&#160;</td>
+        </tr>
+        <tr>
           <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the durable flag for a message. </p>
-<p>The durable flag indicates that any parties taking responsibility for the message must durably store the content.</p>
+<p>Set the reply_to for a message. </p>
+<p>The supplied reply_to pointer must either be NULL or reference a NUL terminated string. When the pointer is NULL, the reply_to is set to NULL. When the pointer is non NULL, the contents are copied into the message.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">reply_to</td><td>a pointer to the new reply_to (or NULL) </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the value of the durable flag </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="gac8a1e35c70d625b69e0d1769d9c898d2"></a>
+<a id="gaceb08618e468fdb4a95e103cce6e7cbd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaceb08618e468fdb4a95e103cce6e7cbd">&#9670;&nbsp;</a></span>pn_message_correlation_id()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">bool pn_message_is_first_acquirer </td>
+          <td class="memname"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a>* pn_message_correlation_id </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
           <td class="paramname"><em>msg</em></td><td>)</td>
@@ -1166,24 +1230,26 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the first acquirer flag for a message. </p>
-<p>When set to true, the first acquirer flag for a message indicates that the recipient of the message is the first recipient to acquire the message, i.e. there have been no failed delivery attempts to other acquirers. Note that this does not mean the message has not been delivered to, but not acquired, by other recipients.</p>
+<p>Get/set the correlation id for a message. </p>
+<p>A correlation id can be an a string, an unsigned long, a uuid or a binary value. This operation returns a pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> that can be used to access and/or modify the value of the correlation id. The pointer is valid until the message is freed. See <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> for details on how to get/set the value.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the first acquirer flag for the message </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> holding the correlation id </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga5d9367609d74ca3511d4172806eeb55b"></a>
+<a id="ga7c7a49b84141d130f885e3a6b357d65a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga7c7a49b84141d130f885e3a6b357d65a">&#9670;&nbsp;</a></span>pn_message_get_correlation_id()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">bool pn_message_is_inferred </td>
+          <td class="memname"><a class="el" href="group__api__types.html#structpn__atom__t">pn_atom_t</a> pn_message_get_correlation_id </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
           <td class="paramname"><em>msg</em></td><td>)</td>
@@ -1192,88 +1258,98 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the inferred flag for a message. </p>
-<p>The inferred flag for a message indicates how the message content is encoded into AMQP sections. If inferred is true then binary and list values in the body of the message will be encoded as AMQP DATA and AMQP SEQUENCE sections, respectively. If inferred is false, then all values in the body of the message will be encoded as AMQP VALUE sections regardless of their type. Use <a class="el" href="group__message.html#ga63bdd43b7cee8741665db999fac97a62" title="Set the inferred flag for a message. ">pn_message_set_inferred</a> to set the value.</p>
+<p>Get the correlation id for a message. </p>
+<p>A correlation id can be an a string, an unsigned long, a uuid or a binary value. This operation returns the value of the id using the <a class="el" href="group__api__types.html#structpn__atom__t" title="A descriminated union that holds any scalar AMQP value. ">pn_atom_t</a> descriminated union. See <a class="el" href="group__api__types.html#structpn__atom__t" title="A descriminated union that holds any scalar AMQP value. ">pn_atom_t</a> for details on how to access the value.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the value of the inferred flag for the message </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the message id </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga43c7ee6ab70316145fb2bb5fcad210ad"></a>
+<a id="ga2179a56c66e47eb65c61a8f84ae4488a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga2179a56c66e47eb65c61a8f84ae4488a">&#9670;&nbsp;</a></span>pn_message_set_correlation_id()</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_message_properties </td>
+          <td class="memname">int pn_message_set_correlation_id </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
-          <td class="paramname"><em>msg</em></td><td>)</td>
+          <td class="paramname"><em>msg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__api__types.html#structpn__atom__t">pn_atom_t</a>&#160;</td>
+          <td class="paramname"><em>id</em>&#160;</td>
+        </tr>
+        <tr>
           <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get/set the properties for a message. </p>
-<p>This operation returns a pointer to a <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> representing the content of the properties section of a message. The pointer is valid until the message is freed and may be used to both access and modify the content of the properties section of a message.</p>
-<p>The <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> must either be empty or consist of a string keyed map in order to be considered valid message properties.</p>
+<p>Set the correlation id for a message. </p>
+<p>See <a class="el" href="group__message.html#ga7c7a49b84141d130f885e3a6b357d65a" title="Get the correlation id for a message. ">pn_message_get_correlation_id()</a> for more details on the meaning of the correlation id. Note that only string, unsigned long, uuid, or binary values are permitted.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>the new value of the message id </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>a pointer to the message properties </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga38ecee233f94e128bed9be3e530f27e5"></a>
+<a id="ga280a96bf80dd37a4062432f45e679ea1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga280a96bf80dd37a4062432f45e679ea1">&#9670;&nbsp;</a></span>pn_message_get_content_type()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">int pn_message_set_address </td>
+          <td class="memname">const char* pn_message_get_content_type </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
-          <td class="paramname"><em>msg</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>address</em>&#160;</td>
-        </tr>
-        <tr>
+          <td class="paramname"><em>msg</em></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Set the address for a message. </p>
-<p>The supplied address pointer must either be NULL or reference a NUL terminated string. When the pointer is NULL, the address of the message is set to NULL. When the pointer is non NULL, the contents are copied into the message.</p>
+<p>Get the content_type for a message. </p>
+<p>This operation will return NULL if no content_type has been set or if the content_type has been set to NULL. The pointer returned by this operation is valid until any one of the following operations occur:</p>
+<ul>
+<li><a class="el" href="group__message.html#ga69aadbc3a80f1fa16962774e711392f8" title="Free a previously constructed pn_message_t. ">pn_message_free()</a></li>
+<li><a class="el" href="group__message.html#ga918c90a049d6b39041b0a2044f9048c6" title="Clears the content of a pn_message_t. ">pn_message_clear()</a></li>
+<li><a class="el" href="group__message.html#gaa0247560f0cd4590bc8ece20565eb611" title="Set the content_type for a message. ">pn_message_set_content_type()</a></li>
+</ul>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">address</td><td>a pointer to the new address (or NULL) </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>a pointer to the content_type of the message (or NULL) </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="gafc79b5a0c8bd56aaa07f1357ba07475b"></a>
+<a id="gaa0247560f0cd4590bc8ece20565eb611"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaa0247560f0cd4590bc8ece20565eb611">&#9670;&nbsp;</a></span>pn_message_set_content_type()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">int pn_message_set_content_encoding </td>
+          <td class="memname">int pn_message_set_content_type </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
           <td class="paramname"><em>msg</em>, </td>
@@ -1282,7 +1358,7 @@ Functions</h2></td></tr>
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>encoding</em>&#160;</td>
+          <td class="paramname"><em>type</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
@@ -1292,12 +1368,12 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Set the content_encoding for a message. </p>
-<p>The supplied content_encoding pointer must either be NULL or reference a NUL terminated string. When the pointer is NULL, the content_encoding is set to NULL. When the pointer is non NULL, the contents are copied into the message.</p>
+<p>Set the content_type for a message. </p>
+<p>The supplied content_type pointer must either be NULL or reference a NUL terminated string. When the pointer is NULL, the content_type is set to NULL. When the pointer is non NULL, the contents are copied into the message.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">encoding</td><td>a pointer to the new content_encoding (or NULL) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>a pointer to the new content_type (or NULL) </td></tr>
   </table>
   </dd>
 </dl>
@@ -1305,49 +1381,47 @@ Functions</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="gaa0247560f0cd4590bc8ece20565eb611"></a>
+<a id="gacb97f21822b058b6297bc618f6d190b0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gacb97f21822b058b6297bc618f6d190b0">&#9670;&nbsp;</a></span>pn_message_get_content_encoding()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">int pn_message_set_content_type </td>
+          <td class="memname">const char* pn_message_get_content_encoding </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
-          <td class="paramname"><em>msg</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>type</em>&#160;</td>
-        </tr>
-        <tr>
+          <td class="paramname"><em>msg</em></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Set the content_type for a message. </p>
-<p>The supplied content_type pointer must either be NULL or reference a NUL terminated string. When the pointer is NULL, the content_type is set to NULL. When the pointer is non NULL, the contents are copied into the message.</p>
+<p>Get the content_encoding for a message. </p>
+<p>This operation will return NULL if no content_encoding has been set or if the content_encoding has been set to NULL. The pointer returned by this operation is valid until any one of the following operations occur:</p>
+<ul>
+<li><a class="el" href="group__message.html#ga69aadbc3a80f1fa16962774e711392f8" title="Free a previously constructed pn_message_t. ">pn_message_free()</a></li>
+<li><a class="el" href="group__message.html#ga918c90a049d6b39041b0a2044f9048c6" title="Clears the content of a pn_message_t. ">pn_message_clear()</a></li>
+<li><a class="el" href="group__message.html#gafc79b5a0c8bd56aaa07f1357ba07475b" title="Set the content_encoding for a message. ">pn_message_set_content_encoding()</a></li>
+</ul>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>a pointer to the new content_type (or NULL) </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>a pointer to the content_encoding of the message (or NULL) </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga2179a56c66e47eb65c61a8f84ae4488a"></a>
+<a id="gafc79b5a0c8bd56aaa07f1357ba07475b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gafc79b5a0c8bd56aaa07f1357ba07475b">&#9670;&nbsp;</a></span>pn_message_set_content_encoding()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">int pn_message_set_correlation_id </td>
+          <td class="memname">int pn_message_set_content_encoding </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
           <td class="paramname"><em>msg</em>, </td>
@@ -1355,8 +1429,8 @@ Functions</h2></td></tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype"><a class="el" href="group__api__types.html#structpn__atom__t">pn_atom_t</a>&#160;</td>
-          <td class="paramname"><em>id</em>&#160;</td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>encoding</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
@@ -1366,12 +1440,12 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Set the correlation id for a message. </p>
-<p>See <a class="el" href="group__message.html#ga7c7a49b84141d130f885e3a6b357d65a" title="Get the correlation id for a message. ">pn_message_get_correlation_id()</a> for more details on the meaning of the correlation id. Note that only string, unsigned long, uuid, or binary values are permitted.</p>
+<p>Set the content_encoding for a message. </p>
+<p>The supplied content_encoding pointer must either be NULL or reference a NUL terminated string. When the pointer is NULL, the content_encoding is set to NULL. When the pointer is non NULL, the contents are copied into the message.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>the new value of the message id </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">encoding</td><td>a pointer to the new content_encoding (or NULL) </td></tr>
   </table>
   </dd>
 </dl>
@@ -1379,49 +1453,42 @@ Functions</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="gab7f1c0d93b93dee6c3eef730e35ef5e2"></a>
+<a id="ga8fdfd3daca961bbfaa7affacee6047ce"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga8fdfd3daca961bbfaa7affacee6047ce">&#9670;&nbsp;</a></span>pn_message_get_expiry_time()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">int pn_message_set_creation_time </td>
+          <td class="memname"><a class="el" href="group__amqp__types.html#gad337c365b498106064ec28e00e5fb6dd">pn_timestamp_t</a> pn_message_get_expiry_time </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
-          <td class="paramname"><em>msg</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group__amqp__types.html#gad337c365b498106064ec28e00e5fb6dd">pn_timestamp_t</a>&#160;</td>
-          <td class="paramname"><em>time</em>&#160;</td>
-        </tr>
-        <tr>
+          <td class="paramname"><em>msg</em></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Set the creation time for a message. </p>
-<p>See <a class="el" href="group__message.html#ga4a18377a68cc26d68141e1b1afd82a52" title="Get the creation time for a message. ">pn_message_get_creation_time()</a> for more details.</p>
+<p>Get the expiry time for a message. </p>
+<p>A zero value for the expiry time indicates that the message will never expire. This is the default value.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>a message object </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">time</td><td>the new creation time for the message </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the expiry time for the message </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga195472fabe3416dccf8a4bfcdacfa6c0"></a>
+<a id="ga6c108bc39b13c5257671aee68ea981c7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga6c108bc39b13c5257671aee68ea981c7">&#9670;&nbsp;</a></span>pn_message_set_expiry_time()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">int pn_message_set_delivery_count </td>
+          <td class="memname">int pn_message_set_expiry_time </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__message.html#gad9259fa9271e8844c8e05a7e8978e3b2">pn_message_t</a> *&#160;</td>
           <td class="paramname"><em>msg</em>, </td>
@@ -1429,8 +1496,8 @@ Functions</h2></td></tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">uint32_t&#160;</td>
-          <td class="paramname"><em>count</em>&#160;</td>
+          <td class="paramtype"><a class="el" href="group__amqp__types.html#gad337c365b498106064ec28e00e5fb6dd">pn_timestamp_t</a>&#160;</td>
+          <td class="paramname"><em>time</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
@@ -1440,12 +1507,12 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Set the delivery count for a message. </p>
-<p>See <a class="el" href="group__message.html#gad514ef95e642698876bedf6ec772eb72" title="Get the delivery count for a message. ">pn_message_get_delivery_count()</a> for details on what the delivery count means.</p>
+<p>Set the expiry time for a message. </p>
+<p>See <a class="el" href="group__message.html#ga8fdfd3daca961bbfaa7affacee6047ce" title="Get the expiry time for a message. ">pn_message_get_expiry_time()</a> for more details.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="pa

<TRUNCATED>

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