<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Proton DotNet: Apache.Qpid.Proton.Client.IStreamReceiverMessage Interface Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Proton DotNet
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceApache.html">Apache</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid.html">Qpid</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton.html">Proton</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Client.html">Client</a></li><li class="navelem"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IStreamReceiverMessage.html">IStreamReceiverMessage</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#properties">Properties</a> &#124;
<a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IStreamReceiverMessage-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Apache.Qpid.Proton.Client.IStreamReceiverMessage Interface Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A specialized message type that represents a streamed delivery possibly spanning many incoming AMQP transfer frames from the remote peer. It is possible for various calls in this message type to block while awaiting the receipt of sufficient bytes to provide the result.  
 <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IStreamReceiverMessage.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for Apache.Qpid.Proton.Client.IStreamReceiverMessage:</div>
<div class="dyncontent">
 <div class="center">
  <img src="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IStreamReceiverMessage.png" usemap="#Apache.Qpid.Proton.Client.IStreamReceiverMessage_map" alt=""/>
  <map id="Apache.Qpid.Proton.Client.IStreamReceiverMessage_map" name="Apache.Qpid.Proton.Client.IStreamReceiverMessage_map">
<area href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html" alt="Apache.Qpid.Proton.Client.IAdvancedMessage&lt; Stream &gt;" shape="rect" coords="0,0,427,24"/>
<area href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Implementation_1_1ClientStreamReceiverMessage.html" alt="Apache.Qpid.Proton.Client.Implementation.ClientStreamReceiverMessage" shape="rect" coords="0,112,427,136"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:a7f1c791602c9321e0a2ee47b320cf05d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IStreamDelivery.html">IStreamDelivery</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IStreamReceiverMessage.html#a7f1c791602c9321e0a2ee47b320cf05d">Delivery</a><code> [get]</code></td></tr>
<tr class="memdesc:a7f1c791602c9321e0a2ee47b320cf05d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the stream delivery that is linked to this message.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IStreamReceiverMessage.html#a7f1c791602c9321e0a2ee47b320cf05d">More...</a><br /></td></tr>
<tr class="separator:a7f1c791602c9321e0a2ee47b320cf05d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0fb37a4b512a3530c49f5cfb2b9866d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IStreamReceiver.html">IStreamReceiver</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IStreamReceiverMessage.html#ae0fb37a4b512a3530c49f5cfb2b9866d">Receiver</a><code> [get]</code></td></tr>
<tr class="memdesc:ae0fb37a4b512a3530c49f5cfb2b9866d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the stream receiver instance that owns this incoming stream message.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IStreamReceiverMessage.html#ae0fb37a4b512a3530c49f5cfb2b9866d">More...</a><br /></td></tr>
<tr class="separator:ae0fb37a4b512a3530c49f5cfb2b9866d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2107bcd78005316b0744d4932ce79e7a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IStreamReceiverMessage.html#a2107bcd78005316b0744d4932ce79e7a">Aborted</a><code> [get]</code></td></tr>
<tr class="memdesc:a2107bcd78005316b0744d4932ce79e7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the streamed delivery that was assigned to this message has been marked as aborted by the remote.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IStreamReceiverMessage.html#a2107bcd78005316b0744d4932ce79e7a">More...</a><br /></td></tr>
<tr class="separator:a2107bcd78005316b0744d4932ce79e7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1f6cea774a0f1492c1dce2243195566"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IStreamReceiverMessage.html#aa1f6cea774a0f1492c1dce2243195566">Completed</a><code> [get]</code></td></tr>
<tr class="memdesc:aa1f6cea774a0f1492c1dce2243195566"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the streamed delivery that was assigned to this message has been marked as complete by the remote.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IStreamReceiverMessage.html#aa1f6cea774a0f1492c1dce2243195566">More...</a><br /></td></tr>
<tr class="separator:aa1f6cea774a0f1492c1dce2243195566"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td colspan="2" onclick="javascript:toggleInherit('properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage')"><img src="closed.png" alt="-"/>&#160;Properties inherited from <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html">Apache.Qpid.Proton.Client.IAdvancedMessage&lt; Stream &gt;</a></td></tr>
<tr class="memitem:a5feee9911f57192bd75fb05813c14be3 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Messaging_1_1Header.html">Header</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#a5feee9911f57192bd75fb05813c14be3">Header</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a5feee9911f57192bd75fb05813c14be3 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides access to the AMQP Header instance that is carried in the message.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#a5feee9911f57192bd75fb05813c14be3">More...</a><br /></td></tr>
<tr class="separator:a5feee9911f57192bd75fb05813c14be3 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93b038cef300b2ba59fd32816504ccd6 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Messaging_1_1Properties.html">Properties</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#a93b038cef300b2ba59fd32816504ccd6">Properties</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a93b038cef300b2ba59fd32816504ccd6 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides access to the AMQP Properties instance that is carried in the message.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#a93b038cef300b2ba59fd32816504ccd6">More...</a><br /></td></tr>
<tr class="separator:a93b038cef300b2ba59fd32816504ccd6 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab06b53475bba2600b2f3ee5973c2404d inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Messaging_1_1MessageAnnotations.html">MessageAnnotations</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#ab06b53475bba2600b2f3ee5973c2404d">Annotations</a><code> [get, set]</code></td></tr>
<tr class="memdesc:ab06b53475bba2600b2f3ee5973c2404d inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides access to the AMQP MessageAnnotations instance that is carried in the message.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#ab06b53475bba2600b2f3ee5973c2404d">More...</a><br /></td></tr>
<tr class="separator:ab06b53475bba2600b2f3ee5973c2404d inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab77704943ae674031c55433125bad115 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Messaging_1_1ApplicationProperties.html">ApplicationProperties</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#ab77704943ae674031c55433125bad115">ApplicationProperties</a><code> [get, set]</code></td></tr>
<tr class="memdesc:ab77704943ae674031c55433125bad115 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides access to the AMQP ApplicationProperties instance that is carried in the message.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#ab77704943ae674031c55433125bad115">More...</a><br /></td></tr>
<tr class="separator:ab77704943ae674031c55433125bad115 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9008ac8b6cce4c5bb15fb36bff30260 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Messaging_1_1Footer.html">Footer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#aa9008ac8b6cce4c5bb15fb36bff30260">Footer</a><code> [get, set]</code></td></tr>
<tr class="memdesc:aa9008ac8b6cce4c5bb15fb36bff30260 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides access to the AMQP Footer instance that is carried in the message.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#aa9008ac8b6cce4c5bb15fb36bff30260">More...</a><br /></td></tr>
<tr class="separator:aa9008ac8b6cce4c5bb15fb36bff30260 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af399fd6928471ceef6ae89db2a6103e5 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memItemLeft" align="right" valign="top">uint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#af399fd6928471ceef6ae89db2a6103e5">MessageFormat</a><code> [get, set]</code></td></tr>
<tr class="memdesc:af399fd6928471ceef6ae89db2a6103e5 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access the message format value present in this message. The exact structure of a message, together with its encoding, is defined by the message format (default is the AMQP defined message format zero.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#af399fd6928471ceef6ae89db2a6103e5">More...</a><br /></td></tr>
<tr class="separator:af399fd6928471ceef6ae89db2a6103e5 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html">Apache.Qpid.Proton.Client.IAdvancedMessage&lt; Stream &gt;</a></td></tr>
<tr class="memitem:a10cc5fc74f1a160b9edb48b4b304d5f1 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html">IAdvancedMessage</a>&lt; T &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#a10cc5fc74f1a160b9edb48b4b304d5f1">AddBodySection</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Types_1_1Messaging_1_1ISection.html">ISection</a> section)</td></tr>
<tr class="memdesc:a10cc5fc74f1a160b9edb48b4b304d5f1 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the given section to the internal collection of sections that will be sent to the remote peer when this message is encoded. If a previous section was added by a call to the set body method it should be retained as the first element of the running list of body sections contained in this message.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#a10cc5fc74f1a160b9edb48b4b304d5f1">More...</a><br /></td></tr>
<tr class="separator:a10cc5fc74f1a160b9edb48b4b304d5f1 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0606733180f8e20cc1a6a26bf110a77 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html">IAdvancedMessage</a>&lt; T &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#ad0606733180f8e20cc1a6a26bf110a77">SetBodySections</a> (IEnumerable&lt; <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Types_1_1Messaging_1_1ISection.html">ISection</a> &gt; section)</td></tr>
<tr class="memdesc:ad0606733180f8e20cc1a6a26bf110a77 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the body section instances to use when encoding this message. The value set replaces any existing sections assigned to this message through the add body sections API or the singular body set method. Calling the set method with a null or empty enumerable is equivalent to calling the clear body sections method. The values from the passed enumerable are copied and changes to it following calls to this method are not reflected in the collection contained in this message.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#ad0606733180f8e20cc1a6a26bf110a77">More...</a><br /></td></tr>
<tr class="separator:ad0606733180f8e20cc1a6a26bf110a77 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2bd9e213ab637bf0e32bc9acf801264 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memItemLeft" align="right" valign="top">IEnumerable&lt; <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Types_1_1Messaging_1_1ISection.html">ISection</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#aa2bd9e213ab637bf0e32bc9acf801264">GetBodySections</a> ()</td></tr>
<tr class="memdesc:aa2bd9e213ab637bf0e32bc9acf801264 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create and return an unmodifiable read-only view that contains the section instances currently assigned to this message.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#aa2bd9e213ab637bf0e32bc9acf801264">More...</a><br /></td></tr>
<tr class="separator:aa2bd9e213ab637bf0e32bc9acf801264 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a05ca1d750361e63bde433f47d2f4e0 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html">IAdvancedMessage</a>&lt; T &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#a1a05ca1d750361e63bde433f47d2f4e0">ClearBodySections</a> ()</td></tr>
<tr class="memdesc:a1a05ca1d750361e63bde433f47d2f4e0 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears all currently set body sections from this message instance.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#a1a05ca1d750361e63bde433f47d2f4e0">More...</a><br /></td></tr>
<tr class="separator:a1a05ca1d750361e63bde433f47d2f4e0 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b8bcc3c6edc3d37b743b56be89372f5 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html">IAdvancedMessage</a>&lt; T &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#a7b8bcc3c6edc3d37b743b56be89372f5">ForEachBodySection</a> (Action&lt; <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Types_1_1Messaging_1_1ISection.html">ISection</a> &gt; consumer)</td></tr>
<tr class="memdesc:a7b8bcc3c6edc3d37b743b56be89372f5 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="mdescLeft">&#160;</td><td class="mdescRight">Efficient enumeration over all currently assigned body sections in this message.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#a7b8bcc3c6edc3d37b743b56be89372f5">More...</a><br /></td></tr>
<tr class="separator:a7b8bcc3c6edc3d37b743b56be89372f5 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1f4c102cdc2ac11647708f04dd88141 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#ac1f4c102cdc2ac11647708f04dd88141">Encode</a> (IDictionary&lt; string, object &gt; deliveryAnnotations)</td></tr>
<tr class="memdesc:ac1f4c102cdc2ac11647708f04dd88141 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encodes the advanced message for transmission by the client. The provided delivery annotations can be included or augmented by the advanced implementation based on the target message format. The implementation is responsible for ensuring that the delivery annotations are treated correctly encoded into the correct location in the message.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#ac1f4c102cdc2ac11647708f04dd88141">More...</a><br /></td></tr>
<tr class="separator:ac1f4c102cdc2ac11647708f04dd88141 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html">Apache.Qpid.Proton.Client.IAdvancedMessage&lt; Stream &gt;</a></td></tr>
<tr class="memitem:a38921acd559608834cd563b82021a302 inherit pub_static_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memItemLeft" align="right" valign="top">static new <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html">IAdvancedMessage</a>&lt; T &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#a38921acd559608834cd563b82021a302">Create</a> ()</td></tr>
<tr class="memdesc:a38921acd559608834cd563b82021a302 inherit pub_static_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new advanced message instance using the Proton implementation.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#a38921acd559608834cd563b82021a302">More...</a><br /></td></tr>
<tr class="separator:a38921acd559608834cd563b82021a302 inherit pub_static_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A specialized message type that represents a streamed delivery possibly spanning many incoming AMQP transfer frames from the remote peer. It is possible for various calls in this message type to block while awaiting the receipt of sufficient bytes to provide the result. </p>
</div><h2 class="groupheader">Property Documentation</h2>
<a id="a2107bcd78005316b0744d4932ce79e7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2107bcd78005316b0744d4932ce79e7a">&#9670;&nbsp;</a></span>Aborted</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Apache.Qpid.Proton.Client.IStreamReceiverMessage.Aborted</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Check if the streamed delivery that was assigned to this message has been marked as aborted by the remote. </p>

</div>
</div>
<a id="aa1f6cea774a0f1492c1dce2243195566"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1f6cea774a0f1492c1dce2243195566">&#9670;&nbsp;</a></span>Completed</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Apache.Qpid.Proton.Client.IStreamReceiverMessage.Completed</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Check if the streamed delivery that was assigned to this message has been marked as complete by the remote. </p>

</div>
</div>
<a id="a7f1c791602c9321e0a2ee47b320cf05d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f1c791602c9321e0a2ee47b320cf05d">&#9670;&nbsp;</a></span>Delivery</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IStreamDelivery.html">IStreamDelivery</a> Apache.Qpid.Proton.Client.IStreamReceiverMessage.Delivery</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the stream delivery that is linked to this message. </p>

</div>
</div>
<a id="ae0fb37a4b512a3530c49f5cfb2b9866d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0fb37a4b512a3530c49f5cfb2b9866d">&#9670;&nbsp;</a></span>Receiver</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IStreamReceiver.html">IStreamReceiver</a> Apache.Qpid.Proton.Client.IStreamReceiverMessage.Receiver</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the stream receiver instance that owns this incoming stream message. </p>

</div>
</div>
<hr/>The documentation for this interface was generated from the following file:<ul>
<li>src/Proton.Client/Client/IStreamReceiverMessage.cs</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>
