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 </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"> </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"> </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> </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"> </td><td class="mdescRight">An AMQP delivery tag. <br /></td></tr>
<tr class="separator:ga085159cb4136f84a02777bcc72c73fa3"><td class="memSeparator" colspan="2"> </td></tr>
@@ -211,6 +211,10 @@ Functions</h2></td></tr>
<tr class="memitem:ga42387f728f4817fdd393cc98315db332"><td class="memItemLeft" align="right" valign="top">uint64_t </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"> </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"> </td></tr>
+<tr class="memitem:ga73aa02fe7f66d07514d4e5e1f74f8947"><td class="memItemLeft" align="right" valign="top"><a id="ga73aa02fe7f66d07514d4e5e1f74f8947"></a>
+const char * </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"> </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"> </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> * </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"> </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"> </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">◆ </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">◆ </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">◆ </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">◆ </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">◆ </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">◆ </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">◆ </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 * </td>
+ <td class="paramname"><em>bytes</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t </td>
+ <td class="paramname"><em>size</em> </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">◆ </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">◆ </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> * </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">◆ </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> * </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 * </td>
+ <td class="paramname"><em>context</em> </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">◆ </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> * </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">◆ </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> * </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">◆ </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> * </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">◆ </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> * </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">◆ </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> * </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">◆ </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> * </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">◆ </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> * </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">◆ </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> * </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">◆ </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">◆ </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> * </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">◆ </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> * </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">◆ </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> * </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">◆ </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> * </td>
- <td class="paramname"><em>delivery</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void * </td>
- <td class="paramname"><em>context</em> </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">◆ </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> * </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 </td>
+ <td class="paramname"><em>state</em> </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">◆ </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> * </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">◆ </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> * </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">◆ </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> * </td>
- <td class="paramname"><em>delivery</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint64_t </td>
- <td class="paramname"><em>state</em> </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">◆ </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> * </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">◆ </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> * </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">◆ </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> * </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> * </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">◆ </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> * </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> * </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">◆ </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> * </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">◆ </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> * </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">◆ </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> * </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">◆ </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> * </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">◆ </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> * </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 </td>
+ <td class="paramname"><em>section_number</em> </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">◆ </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> * </td>
- <td class="paramname"><em>disposition</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool </td>
- <td class="paramname"><em>failed</em> </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">◆ </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> * </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 </td>
- <td class="paramname"><em>section_number</em> </td>
+ <td class="paramtype">uint64_t </td>
+ <td class="paramname"><em>section_offset</em> </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">◆ </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> * </td>
- <td class="paramname"><em>disposition</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint64_t </td>
- <td class="paramname"><em>section_offset</em> </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">◆ </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> * </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 </td>
- <td class="paramname"><em>undeliverable</em> </td>
+ <td class="paramname"><em>failed</em> </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">◆ </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> * </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">◆ </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 * </td>
- <td class="paramname"><em>bytes</em>, </td>
+ <td class="paramtype"><a class="el" href="group__delivery.html#ga4b28f6cd033babd8a7595fc5d292dca1">pn_disposition_t</a> * </td>
+ <td class="paramname"><em>disposition</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">size_t </td>
- <td class="paramname"><em>size</em> </td>
+ <td class="paramtype">bool </td>
+ <td class="paramname"><em>undeliverable</em> </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> * </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">◆ </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> * </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> * </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