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

[36/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__delivery.html
----------------------------------------------------------------------
diff --git a/content/releases/qpid-proton-master/proton/c/api/group__delivery.html b/content/releases/qpid-proton-master/proton/c/api/group__delivery.html
index 981d4c4..2038de2 100755
--- a/content/releases/qpid-proton-master/proton/c/api/group__delivery.html
+++ b/content/releases/qpid-proton-master/proton/c/api/group__delivery.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: Delivery</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__delivery.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:gaae349c977b37b584aa62fff6515802ca"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaae349c977b37b584aa62fff6515802ca"></a>
+<tr class="memitem:gaae349c977b37b584aa62fff6515802ca"><td class="memItemLeft" align="right" valign="top"><a id="gaae349c977b37b584aa62fff6515802ca"></a>
 #define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__delivery.html#gaae349c977b37b584aa62fff6515802ca">PN_RECEIVED</a></td></tr>
 <tr class="memdesc:gaae349c977b37b584aa62fff6515802ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">The PN_RECEIVED delivery state is a non terminal state indicating how much (if any) message data has been received for a delivery. <br /></td></tr>
 <tr class="separator:gaae349c977b37b584aa62fff6515802ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -122,7 +122,7 @@ Macros</h2></td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
 Typedefs</h2></td></tr>
-<tr class="memitem:ga085159cb4136f84a02777bcc72c73fa3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga085159cb4136f84a02777bcc72c73fa3"></a>
+<tr class="memitem:ga085159cb4136f84a02777bcc72c73fa3"><td class="memItemLeft" align="right" valign="top"><a id="ga085159cb4136f84a02777bcc72c73fa3"></a>
 typedef <a class="el" href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__delivery.html#ga085159cb4136f84a02777bcc72c73fa3">pn_delivery_tag_t</a></td></tr>
 <tr class="memdesc:ga085159cb4136f84a02777bcc72c73fa3"><td class="mdescLeft">&#160;</td><td class="mdescRight">An AMQP delivery tag. <br /></td></tr>
 <tr class="separator:ga085159cb4136f84a02777bcc72c73fa3"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -211,6 +211,10 @@ Functions</h2></td></tr>
 <tr class="memitem:ga42387f728f4817fdd393cc98315db332"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__delivery.html#ga42387f728f4817fdd393cc98315db332">pn_disposition_type</a> (<a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a> *disposition)</td></tr>
 <tr class="memdesc:ga42387f728f4817fdd393cc98315db332"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the type of a disposition.  <a href="#ga42387f728f4817fdd393cc98315db332">More...</a><br /></td></tr>
 <tr class="separator:ga42387f728f4817fdd393cc98315db332"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga73aa02fe7f66d07514d4e5e1f74f8947"><td class="memItemLeft" align="right" valign="top"><a id="ga73aa02fe7f66d07514d4e5e1f74f8947"></a>
+const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__delivery.html#ga73aa02fe7f66d07514d4e5e1f74f8947">pn_disposition_type_name</a> (uint64_t disposition_type)</td></tr>
+<tr class="memdesc:ga73aa02fe7f66d07514d4e5e1f74f8947"><td class="mdescLeft">&#160;</td><td class="mdescRight">Name of a disposition type for logging and debugging: "received", "accepted" etc. <br /></td></tr>
+<tr class="separator:ga73aa02fe7f66d07514d4e5e1f74f8947"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga8989de9cdcbbc7d0fadc1bba1f71d991"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__delivery.html#ga8989de9cdcbbc7d0fadc1bba1f71d991">pn_disposition_condition</a> (<a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a> *disposition)</td></tr>
 <tr class="memdesc:ga8989de9cdcbbc7d0fadc1bba1f71d991"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access the condition object associated with a disposition.  <a href="#ga8989de9cdcbbc7d0fadc1bba1f71d991">More...</a><br /></td></tr>
 <tr class="separator:ga8989de9cdcbbc7d0fadc1bba1f71d991"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -248,7 +252,9 @@ Functions</h2></td></tr>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <p>A message transfer. </p>
 <h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="gac64952b813a707586c6b3898e09552e4"></a>
+<a id="gac64952b813a707586c6b3898e09552e4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gac64952b813a707586c6b3898e09552e4">&#9670;&nbsp;</a></span>PN_ACCEPTED</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -260,57 +266,82 @@ Functions</h2></td></tr>
 
 <p>The PN_ACCEPTED delivery state is a terminal state indicating that the delivery was successfully processed. </p>
 <p>Once in this state there will be no further state changes prior to the delivery being settled. </p>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a66">broker.c</a>, <a class="el" href="receive_8c-example.html#a30">receive.c</a>, and <a class="el" href="send_8c-example.html#a52">send.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a64">broker.c</a>, <a class="el" href="direct_8c-example.html#a40">direct.c</a>, <a class="el" href="receive_8c-example.html#a30">receive.c</a>, and <a class="el" href="send_8c-example.html#a47">send.c</a>.</dd>
 </dl>
 </div>
 </div>
-<a class="anchor" id="ga247e3d1ac7c9096cdd28424353582962"></a>
+<a id="ga44a2635392fe2e6f8869a7e1cd64db2f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga44a2635392fe2e6f8869a7e1cd64db2f">&#9670;&nbsp;</a></span>PN_REJECTED</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">#define PN_MODIFIED</td>
+          <td class="memname">#define PN_REJECTED</td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>The PN_MODIFIED delivery state is a terminal state indicating that the delivery is being returned to the sender and should be annotated by the sender prior to further delivery attempts. </p>
+<p>The PN_REJECTED delivery state is a terminal state indicating that the delivery could not be processed due to some error condition. </p>
 <p>Once in this state there will be no further state changes prior to the delivery being settled. </p>
 
 </div>
 </div>
-<a class="anchor" id="ga44a2635392fe2e6f8869a7e1cd64db2f"></a>
+<a id="ga628179c16c4a5f5fd7734bc1bfc6edc3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga628179c16c4a5f5fd7734bc1bfc6edc3">&#9670;&nbsp;</a></span>PN_RELEASED</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">#define PN_REJECTED</td>
+          <td class="memname">#define PN_RELEASED</td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>The PN_REJECTED delivery state is a terminal state indicating that the delivery could not be processed due to some error condition. </p>
+<p>The PN_RELEASED delivery state is a terminal state indicating that the delivery is being returned to the sender. </p>
 <p>Once in this state there will be no further state changes prior to the delivery being settled. </p>
 
 </div>
 </div>
-<a class="anchor" id="ga628179c16c4a5f5fd7734bc1bfc6edc3"></a>
+<a id="ga247e3d1ac7c9096cdd28424353582962"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga247e3d1ac7c9096cdd28424353582962">&#9670;&nbsp;</a></span>PN_MODIFIED</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">#define PN_RELEASED</td>
+          <td class="memname">#define PN_MODIFIED</td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>The PN_RELEASED delivery state is a terminal state indicating that the delivery is being returned to the sender. </p>
+<p>The PN_MODIFIED delivery state is a terminal state indicating that the delivery is being returned to the sender and should be annotated by the sender prior to further delivery attempts. </p>
 <p>Once in this state there will be no further state changes prior to the delivery being settled. </p>
 
 </div>
 </div>
 <h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="gacdfce854066c0a4ff4db9f9a0478f340"></a>
+<a id="ga4b28f6cd033babd8a7595fc5d292dca1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga4b28f6cd033babd8a7595fc5d292dca1">&#9670;&nbsp;</a></span>pn_disposition_t</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef struct <a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a> <a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Dispositions record the current state and/or final outcome of a transfer. </p>
+<p>Every delivery contains both a local and remote disposition. The local disposition holds the local state of the delivery, and the remote disposition holds the last known remote state of the delivery. </p>
+
+</div>
+</div>
+<a id="gacdfce854066c0a4ff4db9f9a0478f340"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gacdfce854066c0a4ff4db9f9a0478f340">&#9670;&nbsp;</a></span>pn_delivery_t</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -360,23 +391,49 @@ least once" semantics.</p>
 
 </div>
 </div>
-<a class="anchor" id="ga4b28f6cd033babd8a7595fc5d292dca1"></a>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="gaea4522ac1fef9228fb6c743d2a36fd27"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaea4522ac1fef9228fb6c743d2a36fd27">&#9670;&nbsp;</a></span>pn_dtag()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">typedef struct <a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a> <a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a></td>
+          <td class="memname"><a class="el" href="group__delivery.html#ga085159cb4136f84a02777bcc72c73fa3">pn_delivery_tag_t</a> pn_dtag </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></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Dispositions record the current state and/or final outcome of a transfer. </p>
-<p>Every delivery contains both a local and remote disposition. The local disposition holds the local state of the delivery, and the remote disposition holds the last known remote state of the delivery. </p>
-
+<p>Construct a delivery tag. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">bytes</td><td>a pointer to the beginning of the tag </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>the size of the tag </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the delivery tag </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a5">broker.c</a>, <a class="el" href="direct_8c-example.html#a52">direct.c</a>, and <a class="el" href="send_8c-example.html#a39">send.c</a>.</dd>
+</dl>
 </div>
 </div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ga6a7ef2e317b4ed292cafbb358f0ba6ad"></a>
+<a id="ga6a7ef2e317b4ed292cafbb358f0ba6ad"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga6a7ef2e317b4ed292cafbb358f0ba6ad">&#9670;&nbsp;</a></span>pn_delivery()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -410,16 +467,18 @@ least once" semantics.</p>
   </dd>
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>a newly created delivery, or NULL if there was an error </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a5">broker.c</a>, and <a class="el" href="send_8c-example.html#a25">send.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a4">broker.c</a>, <a class="el" href="direct_8c-example.html#a51">direct.c</a>, and <a class="el" href="send_8c-example.html#a38">send.c</a>.</dd>
 </dl>
 </div>
 </div>
-<a class="anchor" id="ga3e014fc1759a212bc3ee9e513a274331"></a>
+<a id="ga17c16f34252597f9e737efae1e2ebb81"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga17c16f34252597f9e737efae1e2ebb81">&#9670;&nbsp;</a></span>pn_delivery_get_context()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pn_record_t* pn_delivery_attachments </td>
+          <td class="memname">void* pn_delivery_get_context </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a> *&#160;</td>
           <td class="paramname"><em>delivery</em></td><td>)</td>
@@ -427,51 +486,65 @@ least once" semantics.</p>
         </tr>
       </table>
 </div><div class="memdoc">
-
-<p>Get the attachments that are associated with a delivery object. </p>
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated:</a></b></dt><dd></dd></dl>
+<p>Get the application context that is associated with a delivery object.</p>
+<p>The application context for a delivery may be set using <a class="el" href="group__delivery.html#ga91519d3e4568ee8b622d3653e20f60a6">pn_delivery_set_context</a>.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>the delivery whose attachments are to be returned. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>the delivery whose context is to be returned. </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the attachments for the delivery object </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the application context for the delivery object </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga1b7d56bd985e12a524c5cc5bc969bbdf"></a>
+<a id="ga91519d3e4568ee8b622d3653e20f60a6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga91519d3e4568ee8b622d3653e20f60a6">&#9670;&nbsp;</a></span>pn_delivery_set_context()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">bool pn_delivery_buffered </td>
+          <td class="memname">void pn_delivery_set_context </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a> *&#160;</td>
-          <td class="paramname"><em>delivery</em></td><td>)</td>
+          <td class="paramname"><em>delivery</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>
+        <tr>
           <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
-
-<p>Check if a delivery is buffered. </p>
-<p>A delivery that is buffered has not yet been written to the wire.</p>
-<p>Note that returning false does not imply that a delivery was definitely written to the wire. If false is returned, it is not known whether the delivery was actually written to the wire or not.</p>
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000005">Deprecated:</a></b></dt><dd></dd></dl>
+<p>Set a new application context for a delivery object.</p>
+<p>The application context for a delivery object may be retrieved using <a class="el" href="group__delivery.html#ga17c16f34252597f9e737efae1e2ebb81">pn_delivery_get_context</a>.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>a delivery object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>the delivery 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>true if the delivery is buffered </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga2e5da4adf0738458ba8568d894e6ea5b"></a>
+<a id="ga3e014fc1759a212bc3ee9e513a274331"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga3e014fc1759a212bc3ee9e513a274331">&#9670;&nbsp;</a></span>pn_delivery_attachments()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pn_delivery_clear </td>
+          <td class="memname">pn_record_t* pn_delivery_attachments </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a> *&#160;</td>
           <td class="paramname"><em>delivery</em></td><td>)</td>
@@ -480,23 +553,25 @@ least once" semantics.</p>
       </table>
 </div><div class="memdoc">
 
-<p>Clear the updated flag for a delivery. </p>
-<p>See <a class="el" href="group__delivery.html#ga56d7f16a93e5dd16147a2ecd4896fcb9" title="Check if a delivery is updated. ">pn_delivery_updated</a>.</p>
+<p>Get the attachments that are associated with a delivery object. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>a delivery object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>the delivery whose attachments are to be returned. </td></tr>
   </table>
   </dd>
 </dl>
+<dl class="section return"><dt>Returns</dt><dd>the attachments for the delivery object </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga365b3efbdd225a239dcf4746127c5f33"></a>
+<a id="ga6b4029fa3c5a04c3e2320b9fdd0a76c5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga6b4029fa3c5a04c3e2320b9fdd0a76c5">&#9670;&nbsp;</a></span>pn_delivery_tag()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">bool pn_delivery_current </td>
+          <td class="memname"><a class="el" href="group__delivery.html#ga085159cb4136f84a02777bcc72c73fa3">pn_delivery_tag_t</a> pn_delivery_tag </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a> *&#160;</td>
           <td class="paramname"><em>delivery</em></td><td>)</td>
@@ -505,23 +580,25 @@ least once" semantics.</p>
       </table>
 </div><div class="memdoc">
 
-<p>Return true if delivery is the current delivery for its link. </p>
+<p>Get the tag for a delivery object. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>a delivery object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>true if delivery is the current delivery for its link. </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the delivery tag </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga0dbbc51564aea5b181d161ee7add1ddb"></a>
+<a id="gad3dd82fe9a649d70d4f3430c34699638"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gad3dd82fe9a649d70d4f3430c34699638">&#9670;&nbsp;</a></span>pn_delivery_link()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pn_delivery_dump </td>
+          <td class="memname"><a class="el" href="group__link.html#ga89dad3aa7934329a7ff467c636687bc0">pn_link_t</a>* pn_delivery_link </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a> *&#160;</td>
           <td class="paramname"><em>delivery</em></td><td>)</td>
@@ -530,22 +607,26 @@ least once" semantics.</p>
       </table>
 </div><div class="memdoc">
 
-<p>Utility function for printing details of a delivery. </p>
+<p>Get the parent link for a delivery object. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>a delivery object </td></tr>
   </table>
   </dd>
 </dl>
-
+<dl class="section return"><dt>Returns</dt><dd>the parent link </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a57">broker.c</a>, <a class="el" href="direct_8c-example.html#a28">direct.c</a>, and <a class="el" href="receive_8c-example.html#a9">receive.c</a>.</dd>
+</dl>
 </div>
 </div>
-<a class="anchor" id="ga17c16f34252597f9e737efae1e2ebb81"></a>
+<a id="ga404728c55cb6984dbb51956d764265a0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga404728c55cb6984dbb51956d764265a0">&#9670;&nbsp;</a></span>pn_delivery_local()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void* pn_delivery_get_context </td>
+          <td class="memname"><a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a>* pn_delivery_local </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a> *&#160;</td>
           <td class="paramname"><em>delivery</em></td><td>)</td>
@@ -553,25 +634,27 @@ least once" semantics.</p>
         </tr>
       </table>
 </div><div class="memdoc">
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated:</a></b></dt><dd></dd></dl>
-<p>Get the application context that is associated with a delivery object.</p>
-<p>The application context for a delivery may be set using <a class="el" href="group__delivery.html#ga91519d3e4568ee8b622d3653e20f60a6">pn_delivery_set_context</a>.</p>
+
+<p>Get the local disposition for a delivery. </p>
+<p>The pointer returned by this object is valid until the delivery is settled.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>the delivery whose context is to be returned. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>a delivery object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the application context for the delivery object </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>a pointer to the local disposition </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="gad3dd82fe9a649d70d4f3430c34699638"></a>
+<a id="gaee6fa7698d4b7cf335c2d7a4c7622898"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaee6fa7698d4b7cf335c2d7a4c7622898">&#9670;&nbsp;</a></span>pn_delivery_local_state()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="group__link.html#ga89dad3aa7934329a7ff467c636687bc0">pn_link_t</a>* pn_delivery_link </td>
+          <td class="memname">uint64_t pn_delivery_local_state </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a> *&#160;</td>
           <td class="paramname"><em>delivery</em></td><td>)</td>
@@ -580,24 +663,25 @@ least once" semantics.</p>
       </table>
 </div><div class="memdoc">
 
-<p>Get the parent link for a delivery object. </p>
+<p>Get the local disposition state for a delivery. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>a delivery object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the parent link </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a59">broker.c</a>, and <a class="el" href="receive_8c-example.html#a8">receive.c</a>.</dd>
-</dl>
+<dl class="section return"><dt>Returns</dt><dd>the local disposition state </dd></dl>
+
 </div>
 </div>
-<a class="anchor" id="ga404728c55cb6984dbb51956d764265a0"></a>
+<a id="ga2a666cb1a4cec190f0c9d20a7bcfae3f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga2a666cb1a4cec190f0c9d20a7bcfae3f">&#9670;&nbsp;</a></span>pn_delivery_remote()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a>* pn_delivery_local </td>
+          <td class="memname"><a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a>* pn_delivery_remote </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a> *&#160;</td>
           <td class="paramname"><em>delivery</em></td><td>)</td>
@@ -606,7 +690,7 @@ least once" semantics.</p>
       </table>
 </div><div class="memdoc">
 
-<p>Get the local disposition for a delivery. </p>
+<p>Get the remote disposition for a delivery. </p>
 <p>The pointer returned by this object is valid until the delivery is settled.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
@@ -614,16 +698,18 @@ least once" semantics.</p>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>a pointer to the local disposition </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>a pointer to the remote disposition </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="gaee6fa7698d4b7cf335c2d7a4c7622898"></a>
+<a id="gac1c3f2e7217b51f0e2f8c4264b0689d1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gac1c3f2e7217b51f0e2f8c4264b0689d1">&#9670;&nbsp;</a></span>pn_delivery_remote_state()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">uint64_t pn_delivery_local_state </td>
+          <td class="memname">uint64_t pn_delivery_remote_state </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a> *&#160;</td>
           <td class="paramname"><em>delivery</em></td><td>)</td>
@@ -632,23 +718,26 @@ least once" semantics.</p>
       </table>
 </div><div class="memdoc">
 
-<p>Get the local disposition state for a delivery. </p>
+<p>Get the remote disposition state for a delivery. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>a delivery object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the local disposition state </dd></dl>
-
+<dl class="section return"><dt>Returns</dt><dd>the remote disposition state </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="direct_8c-example.html#a56">direct.c</a>, and <a class="el" href="send_8c-example.html#a46">send.c</a>.</dd>
+</dl>
 </div>
 </div>
-<a class="anchor" id="ga23c7b3c678228ccb21378e7c8ec9a72d"></a>
+<a id="ga516aee25357ac7cfde863bbceef02529"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga516aee25357ac7cfde863bbceef02529">&#9670;&nbsp;</a></span>pn_delivery_settled()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">bool pn_delivery_partial </td>
+          <td class="memname">bool pn_delivery_settled </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a> *&#160;</td>
           <td class="paramname"><em>delivery</em></td><td>)</td>
@@ -657,19 +746,20 @@ least once" semantics.</p>
       </table>
 </div><div class="memdoc">
 
-<p>Check if a delivery only has partial message data. </p>
+<p>Check if a delivery is remotely settled. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>a delivery object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>true if the delivery only contains part of a message, false otherwise </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a62">broker.c</a>, and <a class="el" href="receive_8c-example.html#a28">receive.c</a>.</dd>
-</dl>
+<dl class="section return"><dt>Returns</dt><dd>true if the delivery is settled at the remote endpoint, false otherwise </dd></dl>
+
 </div>
 </div>
-<a class="anchor" id="ga17523835dbc8d1906bd71df69d09cc40"></a>
+<a id="ga17523835dbc8d1906bd71df69d09cc40"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga17523835dbc8d1906bd71df69d09cc40">&#9670;&nbsp;</a></span>pn_delivery_pending()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
@@ -691,16 +781,18 @@ least once" semantics.</p>
   </dd>
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>the amount of pending message data in bytes </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a63">broker.c</a>, and <a class="el" href="receive_8c-example.html#a6">receive.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a61">broker.c</a>, <a class="el" href="direct_8c-example.html#a26">direct.c</a>, and <a class="el" href="receive_8c-example.html#a7">receive.c</a>.</dd>
 </dl>
 </div>
 </div>
-<a class="anchor" id="ga13364206124b653b90f5ee3ddae9ff35"></a>
+<a id="ga23c7b3c678228ccb21378e7c8ec9a72d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga23c7b3c678228ccb21378e7c8ec9a72d">&#9670;&nbsp;</a></span>pn_delivery_partial()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">bool pn_delivery_readable </td>
+          <td class="memname">bool pn_delivery_partial </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a> *&#160;</td>
           <td class="paramname"><em>delivery</em></td><td>)</td>
@@ -709,25 +801,26 @@ least once" semantics.</p>
       </table>
 </div><div class="memdoc">
 
-<p>Check if a delivery is readable. </p>
-<p>A delivery is considered readable if it is the current delivery on an incoming link.</p>
+<p>Check if a delivery only has partial message data. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>a delivery object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>true if the delivery is readable, false otherwise </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a61">broker.c</a>, and <a class="el" href="receive_8c-example.html#a27">receive.c</a>.</dd>
+<dl class="section return"><dt>Returns</dt><dd>true if the delivery only contains part of a message, false otherwise </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a60">broker.c</a>, <a class="el" href="direct_8c-example.html#a38">direct.c</a>, and <a class="el" href="receive_8c-example.html#a28">receive.c</a>.</dd>
 </dl>
 </div>
 </div>
-<a class="anchor" id="ga2a666cb1a4cec190f0c9d20a7bcfae3f"></a>
+<a id="ga533bd8dd766786695b6e71f8505252f1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga533bd8dd766786695b6e71f8505252f1">&#9670;&nbsp;</a></span>pn_delivery_writable()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a>* pn_delivery_remote </td>
+          <td class="memname">bool pn_delivery_writable </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a> *&#160;</td>
           <td class="paramname"><em>delivery</em></td><td>)</td>
@@ -736,24 +829,26 @@ least once" semantics.</p>
       </table>
 </div><div class="memdoc">
 
-<p>Get the remote disposition for a delivery. </p>
-<p>The pointer returned by this object is valid until the delivery is settled.</p>
+<p>Check if a delivery is writable. </p>
+<p>A delivery is considered writable if it is the current delivery on an outgoing link, and the link has positive credit.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>a delivery object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>a pointer to the remote disposition </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>true if the delivery is writable, false otherwise </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="gac1c3f2e7217b51f0e2f8c4264b0689d1"></a>
+<a id="ga13364206124b653b90f5ee3ddae9ff35"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga13364206124b653b90f5ee3ddae9ff35">&#9670;&nbsp;</a></span>pn_delivery_readable()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">uint64_t pn_delivery_remote_state </td>
+          <td class="memname">bool pn_delivery_readable </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a> *&#160;</td>
           <td class="paramname"><em>delivery</em></td><td>)</td>
@@ -762,87 +857,94 @@ least once" semantics.</p>
       </table>
 </div><div class="memdoc">
 
-<p>Get the remote disposition state for a delivery. </p>
+<p>Check if a delivery is readable. </p>
+<p>A delivery is considered readable if it is the current delivery on an incoming link.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>a delivery object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the remote disposition state </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="send_8c-example.html#a51">send.c</a>.</dd>
+<dl class="section return"><dt>Returns</dt><dd>true if the delivery is readable, false otherwise </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a59">broker.c</a>, <a class="el" href="direct_8c-example.html#a37">direct.c</a>, and <a class="el" href="receive_8c-example.html#a27">receive.c</a>.</dd>
 </dl>
 </div>
 </div>
-<a class="anchor" id="ga91519d3e4568ee8b622d3653e20f60a6"></a>
+<a id="ga56d7f16a93e5dd16147a2ecd4896fcb9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga56d7f16a93e5dd16147a2ecd4896fcb9">&#9670;&nbsp;</a></span>pn_delivery_updated()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pn_delivery_set_context </td>
+          <td class="memname">bool pn_delivery_updated </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a> *&#160;</td>
-          <td class="paramname"><em>delivery</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>
-        <tr>
+          <td class="paramname"><em>delivery</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#_deprecated000005">Deprecated:</a></b></dt><dd></dd></dl>
-<p>Set a new application context for a delivery object.</p>
-<p>The application context for a delivery object may be retrieved using <a class="el" href="group__delivery.html#ga17c16f34252597f9e737efae1e2ebb81">pn_delivery_get_context</a>.</p>
+
+<p>Check if a delivery is updated. </p>
+<p>A delivery is considered updated whenever the peer communicates a new disposition for the delivery. Once a delivery becomes updated, it will remain so until <a class="el" href="group__delivery.html#ga2e5da4adf0738458ba8568d894e6ea5b" title="Clear the updated flag for a delivery. ">pn_delivery_clear</a> is called.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>the delivery object </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>the application context </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>a delivery object </td></tr>
   </table>
   </dd>
 </dl>
+<dl class="section return"><dt>Returns</dt><dd>true if the delivery is updated, false otherwise </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga98c275fd7158e8b9d7d48d70503d68df"></a>
+<a id="ga570c54003c2ba18b84405737925e5176"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga570c54003c2ba18b84405737925e5176">&#9670;&nbsp;</a></span>pn_delivery_update()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pn_delivery_settle </td>
+          <td class="memname">void pn_delivery_update </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a> *&#160;</td>
-          <td class="paramname"><em>delivery</em></td><td>)</td>
+          <td class="paramname"><em>delivery</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint64_t&#160;</td>
+          <td class="paramname"><em>state</em>&#160;</td>
+        </tr>
+        <tr>
           <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Settle a delivery. </p>
-<p>A settled delivery can never be used again.</p>
-<dl class="section note"><dt>Note</dt><dd>If pn_delivery_current(delivery) is true before the call then pn_link_advance(pn_delivery_link(deliver)) is called automatically.</dd></dl>
+<p>Update the disposition of a delivery. </p>
+<p>When update is invoked the updated disposition of the delivery will be communicated to the peer.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>a delivery object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the updated delivery state </td></tr>
   </table>
   </dd>
 </dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a10">broker.c</a>, and <a class="el" href="receive_8c-example.html#a32">receive.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a63">broker.c</a>, <a class="el" href="direct_8c-example.html#a39">direct.c</a>, and <a class="el" href="receive_8c-example.html#a29">receive.c</a>.</dd>
 </dl>
 </div>
 </div>
-<a class="anchor" id="ga516aee25357ac7cfde863bbceef02529"></a>
+<a id="ga2e5da4adf0738458ba8568d894e6ea5b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga2e5da4adf0738458ba8568d894e6ea5b">&#9670;&nbsp;</a></span>pn_delivery_clear()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">bool pn_delivery_settled </td>
+          <td class="memname">void pn_delivery_clear </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a> *&#160;</td>
           <td class="paramname"><em>delivery</em></td><td>)</td>
@@ -851,23 +953,25 @@ least once" semantics.</p>
       </table>
 </div><div class="memdoc">
 
-<p>Check if a delivery is remotely settled. </p>
+<p>Clear the updated flag for a delivery. </p>
+<p>See <a class="el" href="group__delivery.html#ga56d7f16a93e5dd16147a2ecd4896fcb9" title="Check if a delivery is updated. ">pn_delivery_updated</a>.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>a delivery object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>true if the delivery is settled at the remote endpoint, false otherwise </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga6b4029fa3c5a04c3e2320b9fdd0a76c5"></a>
+<a id="ga365b3efbdd225a239dcf4746127c5f33"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga365b3efbdd225a239dcf4746127c5f33">&#9670;&nbsp;</a></span>pn_delivery_current()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="group__delivery.html#ga085159cb4136f84a02777bcc72c73fa3">pn_delivery_tag_t</a> pn_delivery_tag </td>
+          <td class="memname">bool pn_delivery_current </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a> *&#160;</td>
           <td class="paramname"><em>delivery</em></td><td>)</td>
@@ -876,60 +980,54 @@ least once" semantics.</p>
       </table>
 </div><div class="memdoc">
 
-<p>Get the tag for a delivery object. </p>
+<p>Return true if delivery is the current delivery for its link. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>a delivery object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the delivery tag </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>true if delivery is the current delivery for its link. </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga570c54003c2ba18b84405737925e5176"></a>
+<a id="ga98c275fd7158e8b9d7d48d70503d68df"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga98c275fd7158e8b9d7d48d70503d68df">&#9670;&nbsp;</a></span>pn_delivery_settle()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pn_delivery_update </td>
+          <td class="memname">void pn_delivery_settle </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a> *&#160;</td>
-          <td class="paramname"><em>delivery</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint64_t&#160;</td>
-          <td class="paramname"><em>state</em>&#160;</td>
-        </tr>
-        <tr>
+          <td class="paramname"><em>delivery</em></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Update the disposition of a delivery. </p>
-<p>When update is invoked the updated disposition of the delivery will be communicated to the peer.</p>
+<p>Settle a delivery. </p>
+<p>A settled delivery can never be used again.</p>
+<dl class="section note"><dt>Note</dt><dd>If pn_delivery_current(delivery) is true before the call then pn_link_advance(pn_delivery_link(deliver)) is called automatically.</dd></dl>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>a delivery object </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the updated delivery state </td></tr>
   </table>
   </dd>
 </dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a65">broker.c</a>, and <a class="el" href="receive_8c-example.html#a29">receive.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a9">broker.c</a>, <a class="el" href="direct_8c-example.html#a42">direct.c</a>, and <a class="el" href="receive_8c-example.html#a32">receive.c</a>.</dd>
 </dl>
 </div>
 </div>
-<a class="anchor" id="ga56d7f16a93e5dd16147a2ecd4896fcb9"></a>
+<a id="ga0dbbc51564aea5b181d161ee7add1ddb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga0dbbc51564aea5b181d161ee7add1ddb">&#9670;&nbsp;</a></span>pn_delivery_dump()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">bool pn_delivery_updated </td>
+          <td class="memname">void pn_delivery_dump </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a> *&#160;</td>
           <td class="paramname"><em>delivery</em></td><td>)</td>
@@ -938,24 +1036,24 @@ least once" semantics.</p>
       </table>
 </div><div class="memdoc">
 
-<p>Check if a delivery is updated. </p>
-<p>A delivery is considered updated whenever the peer communicates a new disposition for the delivery. Once a delivery becomes updated, it will remain so until <a class="el" href="group__delivery.html#ga2e5da4adf0738458ba8568d894e6ea5b" title="Clear the updated flag for a delivery. ">pn_delivery_clear</a> is called.</p>
+<p>Utility function for printing details of a delivery. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>a delivery object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>true if the delivery is updated, false otherwise </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga533bd8dd766786695b6e71f8505252f1"></a>
+<a id="ga1b7d56bd985e12a524c5cc5bc969bbdf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga1b7d56bd985e12a524c5cc5bc969bbdf">&#9670;&nbsp;</a></span>pn_delivery_buffered()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">bool pn_delivery_writable </td>
+          <td class="memname">bool pn_delivery_buffered </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a> *&#160;</td>
           <td class="paramname"><em>delivery</em></td><td>)</td>
@@ -964,78 +1062,82 @@ least once" semantics.</p>
       </table>
 </div><div class="memdoc">
 
-<p>Check if a delivery is writable. </p>
-<p>A delivery is considered writable if it is the current delivery on an outgoing link, and the link has positive credit.</p>
+<p>Check if a delivery is buffered. </p>
+<p>A delivery that is buffered has not yet been written to the wire.</p>
+<p>Note that returning false does not imply that a delivery was definitely written to the wire. If false is returned, it is not known whether the delivery was actually written to the wire or not.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>a delivery object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>true if the delivery is writable, false otherwise </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>true if the delivery is buffered </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga6ffa5f235cb616c823746a592a191fdb"></a>
+<a id="ga5cb4f352dafe1b4866b68f27c37cbeac"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga5cb4f352dafe1b4866b68f27c37cbeac">&#9670;&nbsp;</a></span>pn_work_head()</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_disposition_annotations </td>
+          <td class="memname"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a>* pn_work_head </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a> *&#160;</td>
-          <td class="paramname"><em>disposition</em></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">
 
-<p>Access the annotations associated with a disposition. </p>
-<p>The <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> object retrieved by this operation may be modified prior to updating a delivery. When a delivery is updated, the annotations described by the <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> are reported to the peer if applicable to the current delivery state, e.g. states such as <a class="el" href="group__delivery.html#ga247e3d1ac7c9096cdd28424353582962" title="The PN_MODIFIED delivery state is a terminal state indicating that the delivery is being returned to ...">PN_MODIFIED</a>. The <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> must be empty or contain a symbol keyed map.</p>
-<p>The pointer returned by this operation is valid until the parent delivery is settled.</p>
+<p>Extracts the first delivery on the connection that has pending operations. </p>
+<p>Retrieves the first delivery on the Connection that has pending operations. A readable delivery indicates message data is waiting to be read. A writable delivery indicates that message data may be sent. An updated delivery indicates that the delivery's disposition has changed. A delivery will never be both readable and writible, but it may be both readable and updated or both writiable and updated.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">disposition</td><td>a disposition 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 annotations associated with the disposition </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the first delivery object that needs to be serviced, else NULL if none </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga8989de9cdcbbc7d0fadc1bba1f71d991"></a>
+<a id="gad7b9248f26e4787983378e5310e4ffdd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gad7b9248f26e4787983378e5310e4ffdd">&#9670;&nbsp;</a></span>pn_work_next()</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_disposition_condition </td>
+          <td class="memname"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a>* pn_work_next </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a> *&#160;</td>
-          <td class="paramname"><em>disposition</em></td><td>)</td>
+          <td class="paramtype"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a> *&#160;</td>
+          <td class="paramname"><em>delivery</em></td><td>)</td>
           <td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Access the condition object associated with a disposition. </p>
-<p>The <a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5" title="An AMQP Condition object. ">pn_condition_t</a> object retrieved by this operation may be modified prior to updating a delivery. When a delivery is updated, the condition described by the disposition is reported to the peer if applicable to the current delivery state, e.g. states such as <a class="el" href="group__delivery.html#ga44a2635392fe2e6f8869a7e1cd64db2f" title="The PN_REJECTED delivery state is a terminal state indicating that the delivery could not be processe...">PN_REJECTED</a>.</p>
-<p>The pointer returned by this operation is valid until the parent delivery is settled.</p>
+<p>Get the next delivery on the connection that needs has pending operations. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">disposition</td><td>a disposition object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>the previous delivery retrieved from either pn_work_head or pn_work_next </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>a pointer to the disposition condition </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the next delivery that has pending operations, else NULL if none </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga9c168eb2b16c68d20b1e46ab904963cb"></a>
+<a id="ga42387f728f4817fdd393cc98315db332"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga42387f728f4817fdd393cc98315db332">&#9670;&nbsp;</a></span>pn_disposition_type()</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_disposition_data </td>
+          <td class="memname">uint64_t pn_disposition_type </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a> *&#160;</td>
           <td class="paramname"><em>disposition</em></td><td>)</td>
@@ -1044,25 +1146,33 @@ least once" semantics.</p>
       </table>
 </div><div class="memdoc">
 
-<p>Access the disposition as a raw pn_data_t. </p>
-<p>Dispositions are an extension point in the AMQP protocol. The disposition interface provides setters/getters for those dispositions that are predefined by the specification, however access to the raw disposition data is provided so that other dispositions can be used.</p>
-<p>The <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> pointer returned by this operation is valid until the parent delivery is settled.</p>
+<p>Get the type of a disposition. </p>
+<p>Defined values are:</p>
+<ul>
+<li><a class="el" href="group__delivery.html#gaae349c977b37b584aa62fff6515802ca" title="The PN_RECEIVED delivery state is a non terminal state indicating how much (if any) message data has ...">PN_RECEIVED</a></li>
+<li><a class="el" href="group__delivery.html#gac64952b813a707586c6b3898e09552e4" title="The PN_ACCEPTED delivery state is a terminal state indicating that the delivery was successfully proc...">PN_ACCEPTED</a></li>
+<li><a class="el" href="group__delivery.html#ga44a2635392fe2e6f8869a7e1cd64db2f" title="The PN_REJECTED delivery state is a terminal state indicating that the delivery could not be processe...">PN_REJECTED</a></li>
+<li><a class="el" href="group__delivery.html#ga628179c16c4a5f5fd7734bc1bfc6edc3" title="The PN_RELEASED delivery state is a terminal state indicating that the delivery is being returned to ...">PN_RELEASED</a></li>
+<li><a class="el" href="group__delivery.html#ga247e3d1ac7c9096cdd28424353582962" title="The PN_MODIFIED delivery state is a terminal state indicating that the delivery is being returned to ...">PN_MODIFIED</a></li>
+</ul>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">disposition</td><td>a disposition object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>a pointer to the raw disposition data </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the type of the disposition </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga5d0a4239487a90010403007f6cb268f0"></a>
+<a id="ga8989de9cdcbbc7d0fadc1bba1f71d991"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga8989de9cdcbbc7d0fadc1bba1f71d991">&#9670;&nbsp;</a></span>pn_disposition_condition()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">uint32_t pn_disposition_get_section_number </td>
+          <td class="memname"><a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a>* pn_disposition_condition </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a> *&#160;</td>
           <td class="paramname"><em>disposition</em></td><td>)</td>
@@ -1071,23 +1181,27 @@ least once" semantics.</p>
       </table>
 </div><div class="memdoc">
 
-<p>Get the section number associated with a disposition. </p>
+<p>Access the condition object associated with a disposition. </p>
+<p>The <a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5" title="An AMQP Condition object. ">pn_condition_t</a> object retrieved by this operation may be modified prior to updating a delivery. When a delivery is updated, the condition described by the disposition is reported to the peer if applicable to the current delivery state, e.g. states such as <a class="el" href="group__delivery.html#ga44a2635392fe2e6f8869a7e1cd64db2f" title="The PN_REJECTED delivery state is a terminal state indicating that the delivery could not be processe...">PN_REJECTED</a>.</p>
+<p>The pointer returned by this operation is valid until the parent delivery is settled.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">disposition</td><td>a disposition object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>a section number </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>a pointer to the disposition condition </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga7c5a14c31891750fcd211d90770a96d7"></a>
+<a id="ga9c168eb2b16c68d20b1e46ab904963cb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga9c168eb2b16c68d20b1e46ab904963cb">&#9670;&nbsp;</a></span>pn_disposition_data()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">uint64_t pn_disposition_get_section_offset </td>
+          <td class="memname"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a>* pn_disposition_data </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a> *&#160;</td>
           <td class="paramname"><em>disposition</em></td><td>)</td>
@@ -1096,23 +1210,27 @@ least once" semantics.</p>
       </table>
 </div><div class="memdoc">
 
-<p>Get the section offset associated with a disposition. </p>
+<p>Access the disposition as a raw pn_data_t. </p>
+<p>Dispositions are an extension point in the AMQP protocol. The disposition interface provides setters/getters for those dispositions that are predefined by the specification, however access to the raw disposition data is provided so that other dispositions can be used.</p>
+<p>The <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> pointer returned by this operation is valid until the parent delivery is settled.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">disposition</td><td>a disposition object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>a section offset </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>a pointer to the raw disposition data </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga62d917e8a18288fdb1719bf5488c3f53"></a>
+<a id="ga5d0a4239487a90010403007f6cb268f0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga5d0a4239487a90010403007f6cb268f0">&#9670;&nbsp;</a></span>pn_disposition_get_section_number()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">bool pn_disposition_is_failed </td>
+          <td class="memname">uint32_t pn_disposition_get_section_number </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a> *&#160;</td>
           <td class="paramname"><em>disposition</em></td><td>)</td>
@@ -1121,83 +1239,89 @@ least once" semantics.</p>
       </table>
 </div><div class="memdoc">
 
-<p>Check if a disposition has the failed flag set. </p>
+<p>Get the section number associated with a disposition. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">disposition</td><td>a disposition object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>true if the disposition has the failed flag set, false otherwise </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>a section number </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="gae4d5ce97c27e18d3dd843b829b81c585"></a>
+<a id="ga102eb1d46ff8fbed816d5c619e5fa52f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga102eb1d46ff8fbed816d5c619e5fa52f">&#9670;&nbsp;</a></span>pn_disposition_set_section_number()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">bool pn_disposition_is_undeliverable </td>
+          <td class="memname">void pn_disposition_set_section_number </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a> *&#160;</td>
-          <td class="paramname"><em>disposition</em></td><td>)</td>
+          <td class="paramname"><em>disposition</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint32_t&#160;</td>
+          <td class="paramname"><em>section_number</em>&#160;</td>
+        </tr>
+        <tr>
           <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Check if a disposition has the undeliverable flag set. </p>
+<p>Set the section number associated with a disposition. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">disposition</td><td>a disposition object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">section_number</td><td>a section number </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>true if the disposition has the undeliverable flag set, false otherwise </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga8001f9574b5f37dff71ccfbc0524672e"></a>
+<a id="ga7c5a14c31891750fcd211d90770a96d7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga7c5a14c31891750fcd211d90770a96d7">&#9670;&nbsp;</a></span>pn_disposition_get_section_offset()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pn_disposition_set_failed </td>
+          <td class="memname">uint64_t pn_disposition_get_section_offset </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a> *&#160;</td>
-          <td class="paramname"><em>disposition</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&#160;</td>
-          <td class="paramname"><em>failed</em>&#160;</td>
-        </tr>
-        <tr>
+          <td class="paramname"><em>disposition</em></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Set the failed flag on a disposition. </p>
+<p>Get the section offset associated with a disposition. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">disposition</td><td>a disposition object </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">failed</td><td>the value of the failed flag </td></tr>
   </table>
   </dd>
 </dl>
+<dl class="section return"><dt>Returns</dt><dd>a section offset </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga102eb1d46ff8fbed816d5c619e5fa52f"></a>
+<a id="ga5940110912277fbd543f8be3066be98b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga5940110912277fbd543f8be3066be98b">&#9670;&nbsp;</a></span>pn_disposition_set_section_offset()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pn_disposition_set_section_number </td>
+          <td class="memname">void pn_disposition_set_section_offset </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a> *&#160;</td>
           <td class="paramname"><em>disposition</em>, </td>
@@ -1205,8 +1329,8 @@ least once" semantics.</p>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">uint32_t&#160;</td>
-          <td class="paramname"><em>section_number</em>&#160;</td>
+          <td class="paramtype">uint64_t&#160;</td>
+          <td class="paramname"><em>section_offset</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
@@ -1216,58 +1340,52 @@ least once" semantics.</p>
       </table>
 </div><div class="memdoc">
 
-<p>Set the section number associated with a disposition. </p>
+<p>Set the section offset associated with a disposition. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">disposition</td><td>a disposition object </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">section_number</td><td>a section number </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">section_offset</td><td>a section offset </td></tr>
   </table>
   </dd>
 </dl>
 
 </div>
 </div>
-<a class="anchor" id="ga5940110912277fbd543f8be3066be98b"></a>
+<a id="ga62d917e8a18288fdb1719bf5488c3f53"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga62d917e8a18288fdb1719bf5488c3f53">&#9670;&nbsp;</a></span>pn_disposition_is_failed()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pn_disposition_set_section_offset </td>
+          <td class="memname">bool pn_disposition_is_failed </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a> *&#160;</td>
-          <td class="paramname"><em>disposition</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint64_t&#160;</td>
-          <td class="paramname"><em>section_offset</em>&#160;</td>
-        </tr>
-        <tr>
+          <td class="paramname"><em>disposition</em></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Set the section offset associated with a disposition. </p>
+<p>Check if a disposition has the failed flag set. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">disposition</td><td>a disposition object </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">section_offset</td><td>a section offset </td></tr>
   </table>
   </dd>
 </dl>
+<dl class="section return"><dt>Returns</dt><dd>true if the disposition has the failed flag set, false otherwise </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="ga805e6f4953eb559d5acfcfd7084fc4b3"></a>
+<a id="ga8001f9574b5f37dff71ccfbc0524672e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga8001f9574b5f37dff71ccfbc0524672e">&#9670;&nbsp;</a></span>pn_disposition_set_failed()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pn_disposition_set_undeliverable </td>
+          <td class="memname">void pn_disposition_set_failed </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a> *&#160;</td>
           <td class="paramname"><em>disposition</em>, </td>
@@ -1276,7 +1394,7 @@ least once" semantics.</p>
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype">bool&#160;</td>
-          <td class="paramname"><em>undeliverable</em>&#160;</td>
+          <td class="paramname"><em>failed</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
@@ -1286,23 +1404,25 @@ least once" semantics.</p>
       </table>
 </div><div class="memdoc">
 
-<p>Set the undeliverable flag on a disposition. </p>
+<p>Set the failed flag on a disposition. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">disposition</td><td>a disposition object </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">undeliverable</td><td>the value of the undeliverable flag </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">failed</td><td>the value of the failed flag </td></tr>
   </table>
   </dd>
 </dl>
 
 </div>
 </div>
-<a class="anchor" id="ga42387f728f4817fdd393cc98315db332"></a>
+<a id="gae4d5ce97c27e18d3dd843b829b81c585"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gae4d5ce97c27e18d3dd843b829b81c585">&#9670;&nbsp;</a></span>pn_disposition_is_undeliverable()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">uint64_t pn_disposition_type </td>
+          <td class="memname">bool pn_disposition_is_undeliverable </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a> *&#160;</td>
           <td class="paramname"><em>disposition</em></td><td>)</td>
@@ -1311,40 +1431,34 @@ least once" semantics.</p>
       </table>
 </div><div class="memdoc">
 
-<p>Get the type of a disposition. </p>
-<p>Defined values are:</p>
-<ul>
-<li><a class="el" href="group__delivery.html#gaae349c977b37b584aa62fff6515802ca" title="The PN_RECEIVED delivery state is a non terminal state indicating how much (if any) message data has ...">PN_RECEIVED</a></li>
-<li><a class="el" href="group__delivery.html#gac64952b813a707586c6b3898e09552e4" title="The PN_ACCEPTED delivery state is a terminal state indicating that the delivery was successfully proc...">PN_ACCEPTED</a></li>
-<li><a class="el" href="group__delivery.html#ga44a2635392fe2e6f8869a7e1cd64db2f" title="The PN_REJECTED delivery state is a terminal state indicating that the delivery could not be processe...">PN_REJECTED</a></li>
-<li><a class="el" href="group__delivery.html#ga628179c16c4a5f5fd7734bc1bfc6edc3" title="The PN_RELEASED delivery state is a terminal state indicating that the delivery is being returned to ...">PN_RELEASED</a></li>
-<li><a class="el" href="group__delivery.html#ga247e3d1ac7c9096cdd28424353582962" title="The PN_MODIFIED delivery state is a terminal state indicating that the delivery is being returned to ...">PN_MODIFIED</a></li>
-</ul>
+<p>Check if a disposition has the undeliverable flag set. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in]</td><td class="paramname">disposition</td><td>a disposition object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the type of the disposition </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>true if the disposition has the undeliverable flag set, false otherwise </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="gaea4522ac1fef9228fb6c743d2a36fd27"></a>
+<a id="ga805e6f4953eb559d5acfcfd7084fc4b3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga805e6f4953eb559d5acfcfd7084fc4b3">&#9670;&nbsp;</a></span>pn_disposition_set_undeliverable()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="group__delivery.html#ga085159cb4136f84a02777bcc72c73fa3">pn_delivery_tag_t</a> pn_dtag </td>
+          <td class="memname">void pn_disposition_set_undeliverable </td>
           <td>(</td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>bytes</em>, </td>
+          <td class="paramtype"><a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a> *&#160;</td>
+          <td class="paramname"><em>disposition</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>undeliverable</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
@@ -1354,67 +1468,43 @@ least once" semantics.</p>
       </table>
 </div><div class="memdoc">
 
-<p>Construct a delivery tag. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">bytes</td><td>a pointer to the beginning of the tag </td></tr>
-    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>the size of the tag </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the delivery tag </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="broker_8c-example.html#a6">broker.c</a>, and <a class="el" href="send_8c-example.html#a26">send.c</a>.</dd>
-</dl>
-</div>
-</div>
-<a class="anchor" id="ga5cb4f352dafe1b4866b68f27c37cbeac"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a>* pn_work_head </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">
-
-<p>Extracts the first delivery on the connection that has pending operations. </p>
-<p>Retrieves the first delivery on the Connection that has pending operations. A readable delivery indicates message data is waiting to be read. A writable delivery indicates that message data may be sent. An updated delivery indicates that the delivery's disposition has changed. A delivery will never be both readable and writible, but it may be both readable and updated or both writiable and updated.</p>
+<p>Set the undeliverable flag on a disposition. </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">disposition</td><td>a disposition object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">undeliverable</td><td>the value of the undeliverable flag </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the first delivery object that needs to be serviced, else NULL if none </dd></dl>
 
 </div>
 </div>
-<a class="anchor" id="gad7b9248f26e4787983378e5310e4ffdd"></a>
+<a id="ga6ffa5f235cb616c823746a592a191fdb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga6ffa5f235cb616c823746a592a191fdb">&#9670;&nbsp;</a></span>pn_disposition_annotations()</h2>
+
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a>* pn_work_next </td>
+          <td class="memname"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a>* pn_disposition_annotations </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="group__delivery.html#gacdfce854066c0a4ff4db9f9a0478f340">pn_delivery_t</a> *&#160;</td>
-          <td class="paramname"><em>delivery</em></td><td>)</td>
+          <td class="paramtype"><a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a> *&#160;</td>
+          <td class="paramname"><em>disposition</em></td><td>)</td>
           <td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Get the next delivery on the connection that needs has pending operations. </p>
+<p>Access the annotations associated with a disposition. </p>
+<p>The <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> object retrieved by this operation may be modified prior to updating a delivery. When a delivery is updated, the annotations described by the <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> are reported to the peer if applicable to the current delivery state, e.g. states such as <a class="el" href="group__delivery.html#ga247e3d1ac7c9096cdd28424353582962" title="The PN_MODIFIED delivery state is a terminal state indicating that the delivery is being returned to ...">PN_MODIFIED</a>. The <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object. ">pn_data_t</a> must be empty or contain a symbol keyed map.</p>
+<p>The pointer returned by this operation is valid until the parent delivery is settled.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">delivery</td><td>the previous delivery retrieved from either pn_work_head or pn_work_next </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">disposition</td><td>a disposition object </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>the next delivery that has pending operations, else NULL if none </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>the annotations associated with the disposition </dd></dl>
 
 </div>
 </div>
@@ -1425,7 +1515,7 @@ least once" semantics.</p>
   <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