<!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.Codec.IDecoder 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_1Codec.html">Codec</a></li><li class="navelem"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html">IDecoder</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Apache.Qpid.Proton.Codec.IDecoder Interface Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Defines a Decoder that handles translating the encoded AMQP performative bytes into the appropriate <a class="el" href="namespaceApache_1_1Qpid_1_1Proton.html">Proton</a> AMQP types.  
 <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for Apache.Qpid.Proton.Codec.IDecoder:</div>
<div class="dyncontent">
 <div class="center">
  <img src="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.png" usemap="#Apache.Qpid.Proton.Codec.IDecoder_map" alt=""/>
  <map id="Apache.Qpid.Proton.Codec.IDecoder_map" name="Apache.Qpid.Proton.Codec.IDecoder_map">
<area href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html" alt="Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder" shape="rect" coords="0,56,318,80"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad048820f90073a0b3842ba2f01bf09c4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#ad048820f90073a0b3842ba2f01bf09c4">NewDecoderState</a> ()</td></tr>
<tr class="memdesc:ad048820f90073a0b3842ba2f01bf09c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates and returns a new decoder state object that should be used when decoding values with the decoder instance.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#ad048820f90073a0b3842ba2f01bf09c4">More...</a><br /></td></tr>
<tr class="separator:ad048820f90073a0b3842ba2f01bf09c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6912cfc4292685eb591e61dbdc5dc643"><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_1Codec_1_1IDecoder.html#a6912cfc4292685eb591e61dbdc5dc643">ReadBoolean</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:a6912cfc4292685eb591e61dbdc5dc643"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a6912cfc4292685eb591e61dbdc5dc643">More...</a><br /></td></tr>
<tr class="separator:a6912cfc4292685eb591e61dbdc5dc643"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04bb4d22185cb2720831c66a7e1f0082"><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_1Codec_1_1IDecoder.html#a04bb4d22185cb2720831c66a7e1f0082">ReadBoolean</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state, bool defaultValue)</td></tr>
<tr class="memdesc:a04bb4d22185cb2720831c66a7e1f0082"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a04bb4d22185cb2720831c66a7e1f0082">More...</a><br /></td></tr>
<tr class="separator:a04bb4d22185cb2720831c66a7e1f0082"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace837af9f83362d25f9d6229b6c133d0"><td class="memItemLeft" align="right" valign="top">sbyte?&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#ace837af9f83362d25f9d6229b6c133d0">ReadByte</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:ace837af9f83362d25f9d6229b6c133d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#ace837af9f83362d25f9d6229b6c133d0">More...</a><br /></td></tr>
<tr class="separator:ace837af9f83362d25f9d6229b6c133d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a279d129e81f0e0bbf7a73525421b007d"><td class="memItemLeft" align="right" valign="top">sbyte&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a279d129e81f0e0bbf7a73525421b007d">ReadByte</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state, sbyte defaultValue)</td></tr>
<tr class="memdesc:a279d129e81f0e0bbf7a73525421b007d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a279d129e81f0e0bbf7a73525421b007d">More...</a><br /></td></tr>
<tr class="separator:a279d129e81f0e0bbf7a73525421b007d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bd38b0db31a43b16c4ef620369fc1c5"><td class="memItemLeft" align="right" valign="top">byte?&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a8bd38b0db31a43b16c4ef620369fc1c5">ReadUnsignedByte</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:a8bd38b0db31a43b16c4ef620369fc1c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a8bd38b0db31a43b16c4ef620369fc1c5">More...</a><br /></td></tr>
<tr class="separator:a8bd38b0db31a43b16c4ef620369fc1c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac11b54a9cc527c0984cbfa35d7c4b12c"><td class="memItemLeft" align="right" valign="top">byte&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#ac11b54a9cc527c0984cbfa35d7c4b12c">ReadUnsignedByte</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state, byte defaultValue)</td></tr>
<tr class="memdesc:ac11b54a9cc527c0984cbfa35d7c4b12c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#ac11b54a9cc527c0984cbfa35d7c4b12c">More...</a><br /></td></tr>
<tr class="separator:ac11b54a9cc527c0984cbfa35d7c4b12c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a4429739be91e5675b8588cb7d6ca16"><td class="memItemLeft" align="right" valign="top">char?&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a2a4429739be91e5675b8588cb7d6ca16">ReadCharacter</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:a2a4429739be91e5675b8588cb7d6ca16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a2a4429739be91e5675b8588cb7d6ca16">More...</a><br /></td></tr>
<tr class="separator:a2a4429739be91e5675b8588cb7d6ca16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd4d657370be558695c2e45ff95d5d81"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#acd4d657370be558695c2e45ff95d5d81">ReadCharacter</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state, char defaultValue)</td></tr>
<tr class="memdesc:acd4d657370be558695c2e45ff95d5d81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#acd4d657370be558695c2e45ff95d5d81">More...</a><br /></td></tr>
<tr class="separator:acd4d657370be558695c2e45ff95d5d81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad645ea149b8dbfbf3559748441b820ad"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Decimal32.html">Decimal32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#ad645ea149b8dbfbf3559748441b820ad">ReadDecimal32</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:ad645ea149b8dbfbf3559748441b820ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#ad645ea149b8dbfbf3559748441b820ad">More...</a><br /></td></tr>
<tr class="separator:ad645ea149b8dbfbf3559748441b820ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09d9c2b241d2a0e87c88767eb26c3af9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Decimal64.html">Decimal64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a09d9c2b241d2a0e87c88767eb26c3af9">ReadDecimal64</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:a09d9c2b241d2a0e87c88767eb26c3af9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a09d9c2b241d2a0e87c88767eb26c3af9">More...</a><br /></td></tr>
<tr class="separator:a09d9c2b241d2a0e87c88767eb26c3af9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab60446fd88761cc534b46b656baef76f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Decimal128.html">Decimal128</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#ab60446fd88761cc534b46b656baef76f">ReadDecimal128</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:ab60446fd88761cc534b46b656baef76f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#ab60446fd88761cc534b46b656baef76f">More...</a><br /></td></tr>
<tr class="separator:ab60446fd88761cc534b46b656baef76f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e75873fa4dd9bd9c386ac06dc5bf233"><td class="memItemLeft" align="right" valign="top">short?&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a6e75873fa4dd9bd9c386ac06dc5bf233">ReadShort</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:a6e75873fa4dd9bd9c386ac06dc5bf233"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a6e75873fa4dd9bd9c386ac06dc5bf233">More...</a><br /></td></tr>
<tr class="separator:a6e75873fa4dd9bd9c386ac06dc5bf233"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f708e508ca5adcd38dbfdee56f0c04f"><td class="memItemLeft" align="right" valign="top">short&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a2f708e508ca5adcd38dbfdee56f0c04f">ReadShort</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state, short defaultValue)</td></tr>
<tr class="memdesc:a2f708e508ca5adcd38dbfdee56f0c04f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a2f708e508ca5adcd38dbfdee56f0c04f">More...</a><br /></td></tr>
<tr class="separator:a2f708e508ca5adcd38dbfdee56f0c04f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8d5a36ed47667a2e67488e351c80b70"><td class="memItemLeft" align="right" valign="top">ushort?&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#ac8d5a36ed47667a2e67488e351c80b70">ReadUnsignedShort</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:ac8d5a36ed47667a2e67488e351c80b70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#ac8d5a36ed47667a2e67488e351c80b70">More...</a><br /></td></tr>
<tr class="separator:ac8d5a36ed47667a2e67488e351c80b70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1aaba465ad9a9524061fcae8ca6bcefb"><td class="memItemLeft" align="right" valign="top">ushort&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a1aaba465ad9a9524061fcae8ca6bcefb">ReadUnsignedShort</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state, ushort defaultValue)</td></tr>
<tr class="memdesc:a1aaba465ad9a9524061fcae8ca6bcefb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a1aaba465ad9a9524061fcae8ca6bcefb">More...</a><br /></td></tr>
<tr class="separator:a1aaba465ad9a9524061fcae8ca6bcefb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3006d7c40a711b9db1f5e44d21e912f3"><td class="memItemLeft" align="right" valign="top">int?&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a3006d7c40a711b9db1f5e44d21e912f3">ReadInteger</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:a3006d7c40a711b9db1f5e44d21e912f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a3006d7c40a711b9db1f5e44d21e912f3">More...</a><br /></td></tr>
<tr class="separator:a3006d7c40a711b9db1f5e44d21e912f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a503a3f5aae1835dfa89e8cc7beb51ce8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a503a3f5aae1835dfa89e8cc7beb51ce8">ReadInteger</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state, int defaultValue)</td></tr>
<tr class="memdesc:a503a3f5aae1835dfa89e8cc7beb51ce8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a503a3f5aae1835dfa89e8cc7beb51ce8">More...</a><br /></td></tr>
<tr class="separator:a503a3f5aae1835dfa89e8cc7beb51ce8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79f4be25b812eb8680c40eb8edc7447b"><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_1Codec_1_1IDecoder.html#a79f4be25b812eb8680c40eb8edc7447b">ReadUnsignedInteger</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:a79f4be25b812eb8680c40eb8edc7447b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a79f4be25b812eb8680c40eb8edc7447b">More...</a><br /></td></tr>
<tr class="separator:a79f4be25b812eb8680c40eb8edc7447b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ac4423cab5b20595b39605fc9e259f5"><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_1Codec_1_1IDecoder.html#a6ac4423cab5b20595b39605fc9e259f5">ReadUnsignedInteger</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state, uint defaultValue)</td></tr>
<tr class="memdesc:a6ac4423cab5b20595b39605fc9e259f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a6ac4423cab5b20595b39605fc9e259f5">More...</a><br /></td></tr>
<tr class="separator:a6ac4423cab5b20595b39605fc9e259f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ebfc8cedb88959211d84d55d10a2604"><td class="memItemLeft" align="right" valign="top">long?&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a6ebfc8cedb88959211d84d55d10a2604">ReadLong</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:a6ebfc8cedb88959211d84d55d10a2604"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a6ebfc8cedb88959211d84d55d10a2604">More...</a><br /></td></tr>
<tr class="separator:a6ebfc8cedb88959211d84d55d10a2604"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af866428b74f092ee1048a4720af875ab"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#af866428b74f092ee1048a4720af875ab">ReadLong</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state, long defaultValue)</td></tr>
<tr class="memdesc:af866428b74f092ee1048a4720af875ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#af866428b74f092ee1048a4720af875ab">More...</a><br /></td></tr>
<tr class="separator:af866428b74f092ee1048a4720af875ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3326dd18edde9be145ae87664e510b9"><td class="memItemLeft" align="right" valign="top">ulong?&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#af3326dd18edde9be145ae87664e510b9">ReadUnsignedLong</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:af3326dd18edde9be145ae87664e510b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#af3326dd18edde9be145ae87664e510b9">More...</a><br /></td></tr>
<tr class="separator:af3326dd18edde9be145ae87664e510b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afeb8b36ffd46b8a2c4e8ad3601b405d3"><td class="memItemLeft" align="right" valign="top">ulong&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#afeb8b36ffd46b8a2c4e8ad3601b405d3">ReadUnsignedLong</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state, ulong defaultValue)</td></tr>
<tr class="memdesc:afeb8b36ffd46b8a2c4e8ad3601b405d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#afeb8b36ffd46b8a2c4e8ad3601b405d3">More...</a><br /></td></tr>
<tr class="separator:afeb8b36ffd46b8a2c4e8ad3601b405d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10edd4d42565b00dd5931014f42a757a"><td class="memItemLeft" align="right" valign="top">float?&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a10edd4d42565b00dd5931014f42a757a">ReadFloat</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:a10edd4d42565b00dd5931014f42a757a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a10edd4d42565b00dd5931014f42a757a">More...</a><br /></td></tr>
<tr class="separator:a10edd4d42565b00dd5931014f42a757a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ff691dacbbc03a1efefd83fda696b55"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a3ff691dacbbc03a1efefd83fda696b55">ReadFloat</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state, float defaultValue)</td></tr>
<tr class="memdesc:a3ff691dacbbc03a1efefd83fda696b55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a3ff691dacbbc03a1efefd83fda696b55">More...</a><br /></td></tr>
<tr class="separator:a3ff691dacbbc03a1efefd83fda696b55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac15323279145dc7abda7cb568f9a39d3"><td class="memItemLeft" align="right" valign="top">double?&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#ac15323279145dc7abda7cb568f9a39d3">ReadDouble</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:ac15323279145dc7abda7cb568f9a39d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#ac15323279145dc7abda7cb568f9a39d3">More...</a><br /></td></tr>
<tr class="separator:ac15323279145dc7abda7cb568f9a39d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39a03c1555b16ed66853675d14af24d7"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a39a03c1555b16ed66853675d14af24d7">ReadDouble</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state, double defaultValue)</td></tr>
<tr class="memdesc:a39a03c1555b16ed66853675d14af24d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a39a03c1555b16ed66853675d14af24d7">More...</a><br /></td></tr>
<tr class="separator:a39a03c1555b16ed66853675d14af24d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21dcf954bc2c326be0ddbe87809249ea"><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_1Codec_1_1IDecoder.html#a21dcf954bc2c326be0ddbe87809249ea">ReadBinary</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:a21dcf954bc2c326be0ddbe87809249ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a21dcf954bc2c326be0ddbe87809249ea">More...</a><br /></td></tr>
<tr class="separator:a21dcf954bc2c326be0ddbe87809249ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11ca9f7389ce2bb5dcea3259932e84c4"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a11ca9f7389ce2bb5dcea3259932e84c4">ReadString</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:a11ca9f7389ce2bb5dcea3259932e84c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a11ca9f7389ce2bb5dcea3259932e84c4">More...</a><br /></td></tr>
<tr class="separator:a11ca9f7389ce2bb5dcea3259932e84c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a943d6ed296e94625c26e14183347fadc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Symbol.html">Symbol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a943d6ed296e94625c26e14183347fadc">ReadSymbol</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:a943d6ed296e94625c26e14183347fadc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a943d6ed296e94625c26e14183347fadc">More...</a><br /></td></tr>
<tr class="separator:a943d6ed296e94625c26e14183347fadc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac7a2523afa4f16f7cfe6b0d01b01b27"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#aac7a2523afa4f16f7cfe6b0d01b01b27">ReadSymbolAsString</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:aac7a2523afa4f16f7cfe6b0d01b01b27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#aac7a2523afa4f16f7cfe6b0d01b01b27">More...</a><br /></td></tr>
<tr class="separator:aac7a2523afa4f16f7cfe6b0d01b01b27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46af9925df19ed6e194f60cfc95193d7"><td class="memItemLeft" align="right" valign="top">ulong?&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a46af9925df19ed6e194f60cfc95193d7">ReadTimestamp</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:a46af9925df19ed6e194f60cfc95193d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a46af9925df19ed6e194f60cfc95193d7">More...</a><br /></td></tr>
<tr class="separator:a46af9925df19ed6e194f60cfc95193d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b36d1d0f14ad92f18c37d20c4f6d365"><td class="memItemLeft" align="right" valign="top">Guid?&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a1b36d1d0f14ad92f18c37d20c4f6d365">ReadGuid</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:a1b36d1d0f14ad92f18c37d20c4f6d365"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a1b36d1d0f14ad92f18c37d20c4f6d365">More...</a><br /></td></tr>
<tr class="separator:a1b36d1d0f14ad92f18c37d20c4f6d365"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c802d98cd71db2ebe5cb8b274e06140"><td class="memItemLeft" align="right" valign="top">object&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a3c802d98cd71db2ebe5cb8b274e06140">ReadObject</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:a3c802d98cd71db2ebe5cb8b274e06140"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a3c802d98cd71db2ebe5cb8b274e06140">More...</a><br /></td></tr>
<tr class="separator:a3c802d98cd71db2ebe5cb8b274e06140"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4817effb768a480826422eaccb1a127c"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a4817effb768a480826422eaccb1a127c">ReadObject&lt; T &gt;</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:a4817effb768a480826422eaccb1a127c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a4817effb768a480826422eaccb1a127c">More...</a><br /></td></tr>
<tr class="separator:a4817effb768a480826422eaccb1a127c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a960c80681b31462205ce1162ca502557"><td class="memItemLeft" align="right" valign="top">T[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a960c80681b31462205ce1162ca502557">ReadMultiple&lt; T &gt;</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:a960c80681b31462205ce1162ca502557"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a960c80681b31462205ce1162ca502557">More...</a><br /></td></tr>
<tr class="separator:a960c80681b31462205ce1162ca502557"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af02a9284e5c0690f14f984b71407bf32"><td class="memItemLeft" align="right" valign="top">IDictionary&lt; K, V &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#af02a9284e5c0690f14f984b71407bf32">ReadMap&lt; K, V &gt;</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:af02a9284e5c0690f14f984b71407bf32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#af02a9284e5c0690f14f984b71407bf32">More...</a><br /></td></tr>
<tr class="separator:af02a9284e5c0690f14f984b71407bf32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac286c1207c0e262238bf9794191f8e59"><td class="memItemLeft" align="right" valign="top">IList&lt; V &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#ac286c1207c0e262238bf9794191f8e59">ReadList&lt; V &gt;</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:ac286c1207c0e262238bf9794191f8e59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#ac286c1207c0e262238bf9794191f8e59">More...</a><br /></td></tr>
<tr class="separator:ac286c1207c0e262238bf9794191f8e59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a028f6b952b1702801eb34fe0e4d60222"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Types_1_1IDeliveryTag.html">IDeliveryTag</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a028f6b952b1702801eb34fe0e4d60222">ReadDeliveryTag</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:a028f6b952b1702801eb34fe0e4d60222"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method expects to read a Binary encoded type from the provided stream and constructs a IDeliveryTag type that wraps the bytes encoded. If the encoding is NULL AMQP type then this method returns null.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a028f6b952b1702801eb34fe0e4d60222">More...</a><br /></td></tr>
<tr class="separator:a028f6b952b1702801eb34fe0e4d60222"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac3ab256e8f916a25284e49208b95922"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder.html">ITypeDecoder</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#aac3ab256e8f916a25284e49208b95922">ReadNextTypeDecoder</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:aac3ab256e8f916a25284e49208b95922"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads from the given IProtonBuffer instance and returns a <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder.html" title="Defines an interface for an decoder of a specific type.">ITypeDecoder</a> that can read the next encoded AMQP type from the byte stream. If an error occurs while attempting to read the encoded type a <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a> is thrown.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#aac3ab256e8f916a25284e49208b95922">More...</a><br /></td></tr>
<tr class="separator:aac3ab256e8f916a25284e49208b95922"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c68134486a0c6f8bd026a896e7ca5d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder.html">ITypeDecoder</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a3c68134486a0c6f8bd026a896e7ca5d9">PeekNextTypeDecoder</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:a3c68134486a0c6f8bd026a896e7ca5d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Peeks ahead in the given IProtonBuffer instance and returns a <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder.html" title="Defines an interface for an decoder of a specific type.">ITypeDecoder</a> that can read the next encoded AMQP type from the byte stream. If an error occurs while attempting to read the encoded type a <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a> is thrown. The underlying buffer state is not modified as a result of calling the peek ahead operation and the returned decoder will not correctly be able to read the encoded type until the type encoding bytes are read.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a3c68134486a0c6f8bd026a896e7ca5d9">More...</a><br /></td></tr>
<tr class="separator:a3c68134486a0c6f8bd026a896e7ca5d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1adbf5c7216d1ae5b9c4684cdf81108e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html">IDecoder</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a1adbf5c7216d1ae5b9c4684cdf81108e">RegisterDescribedTypeDecoder</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDescribedTypeDecoder.html">IDescribedTypeDecoder</a> decoder)</td></tr>
<tr class="memdesc:a1adbf5c7216d1ae5b9c4684cdf81108e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allows for a custom described type decoder to be registered with this decoder instance for use when decoding AMQP described types from incoming byte streams.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a1adbf5c7216d1ae5b9c4684cdf81108e">More...</a><br /></td></tr>
<tr class="separator:a1adbf5c7216d1ae5b9c4684cdf81108e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:a2f35eb046dad3ea35dfe218e11aa23d5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a2f35eb046dad3ea35dfe218e11aa23d5">CachedDecoderState</a><code> [get]</code></td></tr>
<tr class="memdesc:a2f35eb046dad3ea35dfe218e11aa23d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a cached decoder state instance that can be used be single threaded readers that use this decoder instance.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a2f35eb046dad3ea35dfe218e11aa23d5">More...</a><br /></td></tr>
<tr class="separator:a2f35eb046dad3ea35dfe218e11aa23d5"><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>Defines a Decoder that handles translating the encoded AMQP performative bytes into the appropriate <a class="el" href="namespaceApache_1_1Qpid_1_1Proton.html">Proton</a> AMQP types. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="ad048820f90073a0b3842ba2f01bf09c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad048820f90073a0b3842ba2f01bf09c4">&#9670;&nbsp;</a></span>NewDecoderState()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a> Apache.Qpid.Proton.Codec.IDecoder.NewDecoderState </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates and returns a new decoder state object that should be used when decoding values with the decoder instance. </p>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#aef4a37a0682120ed4c5a791661ea3e5c">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a3c68134486a0c6f8bd026a896e7ca5d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c68134486a0c6f8bd026a896e7ca5d9">&#9670;&nbsp;</a></span>PeekNextTypeDecoder()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder.html">ITypeDecoder</a> Apache.Qpid.Proton.Codec.IDecoder.PeekNextTypeDecoder </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Peeks ahead in the given IProtonBuffer instance and returns a <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder.html" title="Defines an interface for an decoder of a specific type.">ITypeDecoder</a> that can read the next encoded AMQP type from the byte stream. If an error occurs while attempting to read the encoded type a <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a> is thrown. The underlying buffer state is not modified as a result of calling the peek ahead operation and the returned decoder will not correctly be able to read the encoded type until the type encoding bytes are read. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">T</td><td>The type that the decoder handles</td></tr>
  </table>
  </dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#ab6bb5e9efafc216f67f0f56360a4ed4f">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a21dcf954bc2c326be0ddbe87809249ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a21dcf954bc2c326be0ddbe87809249ea">&#9670;&nbsp;</a></span>ReadBinary()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> Apache.Qpid.Proton.Codec.IDecoder.ReadBinary </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a7da433f51b4b8f44dcb5b2d1b0e9635a">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a6912cfc4292685eb591e61dbdc5dc643"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6912cfc4292685eb591e61dbdc5dc643">&#9670;&nbsp;</a></span>ReadBoolean() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool? Apache.Qpid.Proton.Codec.IDecoder.ReadBoolean </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#acd78b75b2ad66fc7fc22a097a6e5f614">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a04bb4d22185cb2720831c66a7e1f0082"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04bb4d22185cb2720831c66a7e1f0082">&#9670;&nbsp;</a></span>ReadBoolean() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Apache.Qpid.Proton.Codec.IDecoder.ReadBoolean </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>defaultValue</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
    <tr><td class="paramname">defaultValue</td><td>The default value to return for null encodings</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a846334c2cef89b43082344c5aeec8a34">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="ace837af9f83362d25f9d6229b6c133d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace837af9f83362d25f9d6229b6c133d0">&#9670;&nbsp;</a></span>ReadByte() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sbyte? Apache.Qpid.Proton.Codec.IDecoder.ReadByte </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a7389223c90af592d8a581f1880ddd717">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a279d129e81f0e0bbf7a73525421b007d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a279d129e81f0e0bbf7a73525421b007d">&#9670;&nbsp;</a></span>ReadByte() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">sbyte Apache.Qpid.Proton.Codec.IDecoder.ReadByte </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">sbyte&#160;</td>
          <td class="paramname"><em>defaultValue</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
    <tr><td class="paramname">defaultValue</td><td>The default value to return for null encodings</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#ad01d8e8c53ed68c7e9d1675b3e821a33">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a2a4429739be91e5675b8588cb7d6ca16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a4429739be91e5675b8588cb7d6ca16">&#9670;&nbsp;</a></span>ReadCharacter() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char? Apache.Qpid.Proton.Codec.IDecoder.ReadCharacter </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a8b25c8878731cdec28b24e137feb39bb">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="acd4d657370be558695c2e45ff95d5d81"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd4d657370be558695c2e45ff95d5d81">&#9670;&nbsp;</a></span>ReadCharacter() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char Apache.Qpid.Proton.Codec.IDecoder.ReadCharacter </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>defaultValue</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
    <tr><td class="paramname">defaultValue</td><td>The default value to return for null encodings</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#ad2ecb7292da809cf7af6f6227488685f">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="ab60446fd88761cc534b46b656baef76f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab60446fd88761cc534b46b656baef76f">&#9670;&nbsp;</a></span>ReadDecimal128()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Decimal128.html">Decimal128</a> Apache.Qpid.Proton.Codec.IDecoder.ReadDecimal128 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#ae51201cc2c25064b2fde9b097f0cb372">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="ad645ea149b8dbfbf3559748441b820ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad645ea149b8dbfbf3559748441b820ad">&#9670;&nbsp;</a></span>ReadDecimal32()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Decimal32.html">Decimal32</a> Apache.Qpid.Proton.Codec.IDecoder.ReadDecimal32 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a074f479c78fc3f77e77e9b742c77d7da">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a09d9c2b241d2a0e87c88767eb26c3af9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09d9c2b241d2a0e87c88767eb26c3af9">&#9670;&nbsp;</a></span>ReadDecimal64()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Decimal64.html">Decimal64</a> Apache.Qpid.Proton.Codec.IDecoder.ReadDecimal64 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a4117233a02609abbc082bf10b84d1d24">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a028f6b952b1702801eb34fe0e4d60222"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a028f6b952b1702801eb34fe0e4d60222">&#9670;&nbsp;</a></span>ReadDeliveryTag()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Types_1_1IDeliveryTag.html">IDeliveryTag</a> Apache.Qpid.Proton.Codec.IDecoder.ReadDeliveryTag </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This method expects to read a Binary encoded type from the provided stream and constructs a IDeliveryTag type that wraps the bytes encoded. If the encoding is NULL AMQP type then this method returns null. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a8e4c5168fe1f1a616aa126e302af8e77">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="ac15323279145dc7abda7cb568f9a39d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac15323279145dc7abda7cb568f9a39d3">&#9670;&nbsp;</a></span>ReadDouble() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double? Apache.Qpid.Proton.Codec.IDecoder.ReadDouble </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a85ff760523795b8a6074c2feb1fe9d35">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a39a03c1555b16ed66853675d14af24d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39a03c1555b16ed66853675d14af24d7">&#9670;&nbsp;</a></span>ReadDouble() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double Apache.Qpid.Proton.Codec.IDecoder.ReadDouble </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>defaultValue</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
    <tr><td class="paramname">defaultValue</td><td>The default value to return for null encodings</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a9e63e0f17fe446dac79a97b14a80855d">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a10edd4d42565b00dd5931014f42a757a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10edd4d42565b00dd5931014f42a757a">&#9670;&nbsp;</a></span>ReadFloat() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float? Apache.Qpid.Proton.Codec.IDecoder.ReadFloat </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a5de00b27699926e22f95818e17732f52">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a3ff691dacbbc03a1efefd83fda696b55"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ff691dacbbc03a1efefd83fda696b55">&#9670;&nbsp;</a></span>ReadFloat() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float Apache.Qpid.Proton.Codec.IDecoder.ReadFloat </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>defaultValue</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
    <tr><td class="paramname">defaultValue</td><td>The default value to return for null encodings</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a4507fb411ad255a2156074625c1ac3a9">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a1b36d1d0f14ad92f18c37d20c4f6d365"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b36d1d0f14ad92f18c37d20c4f6d365">&#9670;&nbsp;</a></span>ReadGuid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Guid? Apache.Qpid.Proton.Codec.IDecoder.ReadGuid </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a4253e9c1124e62c25275f23cce9de69e">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a3006d7c40a711b9db1f5e44d21e912f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3006d7c40a711b9db1f5e44d21e912f3">&#9670;&nbsp;</a></span>ReadInteger() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int? Apache.Qpid.Proton.Codec.IDecoder.ReadInteger </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a883974ded6134ed047ee293020d2b013">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a503a3f5aae1835dfa89e8cc7beb51ce8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a503a3f5aae1835dfa89e8cc7beb51ce8">&#9670;&nbsp;</a></span>ReadInteger() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Apache.Qpid.Proton.Codec.IDecoder.ReadInteger </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>defaultValue</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
    <tr><td class="paramname">defaultValue</td><td>The default value to return for null encodings</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#ae7e0e68bd9c694b3f5e02c9f49f01185">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="ac286c1207c0e262238bf9794191f8e59"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac286c1207c0e262238bf9794191f8e59">&#9670;&nbsp;</a></span>ReadList&lt; V &gt;()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">IList&lt;V&gt; Apache.Qpid.Proton.Codec.IDecoder.ReadList&lt; V &gt; </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a6ebfc8cedb88959211d84d55d10a2604"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ebfc8cedb88959211d84d55d10a2604">&#9670;&nbsp;</a></span>ReadLong() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long? Apache.Qpid.Proton.Codec.IDecoder.ReadLong </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a44075c3c608a4a416460af8ba081b085">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="af866428b74f092ee1048a4720af875ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af866428b74f092ee1048a4720af875ab">&#9670;&nbsp;</a></span>ReadLong() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long Apache.Qpid.Proton.Codec.IDecoder.ReadLong </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>defaultValue</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
    <tr><td class="paramname">defaultValue</td><td>The default value to return for null encodings</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#ae619a8ced26c216dc6cdd517613512d1">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="af02a9284e5c0690f14f984b71407bf32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af02a9284e5c0690f14f984b71407bf32">&#9670;&nbsp;</a></span>ReadMap&lt; K, V &gt;()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">IDictionary&lt;K, V&gt; Apache.Qpid.Proton.Codec.IDecoder.ReadMap&lt; K, V &gt; </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#aedbc30eb28007fb4ff3d6b7afc67f9ab">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a960c80681b31462205ce1162ca502557"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a960c80681b31462205ce1162ca502557">&#9670;&nbsp;</a></span>ReadMultiple&lt; T &gt;()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">T [] Apache.Qpid.Proton.Codec.IDecoder.ReadMultiple&lt; T &gt; </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#afc0e62b80dfb17d2ea35a0284c67dabd">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="aac3ab256e8f916a25284e49208b95922"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac3ab256e8f916a25284e49208b95922">&#9670;&nbsp;</a></span>ReadNextTypeDecoder()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder.html">ITypeDecoder</a> Apache.Qpid.Proton.Codec.IDecoder.ReadNextTypeDecoder </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads from the given IProtonBuffer instance and returns a <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder.html" title="Defines an interface for an decoder of a specific type.">ITypeDecoder</a> that can read the next encoded AMQP type from the byte stream. If an error occurs while attempting to read the encoded type a <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a> is thrown. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">T</td><td>The type that the decoder handles</td></tr>
  </table>
  </dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#ac861d4d28d437f1f3c5cce339aa0ea93">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a3c802d98cd71db2ebe5cb8b274e06140"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c802d98cd71db2ebe5cb8b274e06140">&#9670;&nbsp;</a></span>ReadObject()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">object Apache.Qpid.Proton.Codec.IDecoder.ReadObject </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a3a6ff967cfd92547d1606664a61e5a89">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a4817effb768a480826422eaccb1a127c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4817effb768a480826422eaccb1a127c">&#9670;&nbsp;</a></span>ReadObject&lt; T &gt;()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">T <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a3c802d98cd71db2ebe5cb8b274e06140">Apache.Qpid.Proton.Codec.IDecoder.ReadObject</a>&lt; T &gt; </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#af1e96f2ed91a9e889498bb925ff30006">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a6e75873fa4dd9bd9c386ac06dc5bf233"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e75873fa4dd9bd9c386ac06dc5bf233">&#9670;&nbsp;</a></span>ReadShort() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">short? Apache.Qpid.Proton.Codec.IDecoder.ReadShort </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a7824a5da45a93d01586c34b8c38d7241">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a2f708e508ca5adcd38dbfdee56f0c04f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f708e508ca5adcd38dbfdee56f0c04f">&#9670;&nbsp;</a></span>ReadShort() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">short Apache.Qpid.Proton.Codec.IDecoder.ReadShort </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">short&#160;</td>
          <td class="paramname"><em>defaultValue</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
    <tr><td class="paramname">defaultValue</td><td>The default value to return for null encodings</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a06ec2c00a2e036ee6340de094d8ad80c">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a11ca9f7389ce2bb5dcea3259932e84c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11ca9f7389ce2bb5dcea3259932e84c4">&#9670;&nbsp;</a></span>ReadString()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string Apache.Qpid.Proton.Codec.IDecoder.ReadString </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a05bfe60c65438bb42ae2b9dec07c4f70">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a943d6ed296e94625c26e14183347fadc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a943d6ed296e94625c26e14183347fadc">&#9670;&nbsp;</a></span>ReadSymbol()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Symbol.html">Symbol</a> Apache.Qpid.Proton.Codec.IDecoder.ReadSymbol </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a12172900882640f2710d349aa45d6623">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="aac7a2523afa4f16f7cfe6b0d01b01b27"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac7a2523afa4f16f7cfe6b0d01b01b27">&#9670;&nbsp;</a></span>ReadSymbolAsString()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string Apache.Qpid.Proton.Codec.IDecoder.ReadSymbolAsString </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a29b16eabce2469af80d9318d16baa972">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a46af9925df19ed6e194f60cfc95193d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46af9925df19ed6e194f60cfc95193d7">&#9670;&nbsp;</a></span>ReadTimestamp()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ulong? Apache.Qpid.Proton.Codec.IDecoder.ReadTimestamp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a4cbc68612e4f41644e19692f1a73bda4">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a8bd38b0db31a43b16c4ef620369fc1c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8bd38b0db31a43b16c4ef620369fc1c5">&#9670;&nbsp;</a></span>ReadUnsignedByte() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">byte? Apache.Qpid.Proton.Codec.IDecoder.ReadUnsignedByte </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a707947a3271ec433863d81b3bfbc2604">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="ac11b54a9cc527c0984cbfa35d7c4b12c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac11b54a9cc527c0984cbfa35d7c4b12c">&#9670;&nbsp;</a></span>ReadUnsignedByte() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">byte Apache.Qpid.Proton.Codec.IDecoder.ReadUnsignedByte </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>defaultValue</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
    <tr><td class="paramname">defaultValue</td><td>The default value to return for null encodings</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#ac4cd373e1147d5cfc5187dd54a2ee987">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a79f4be25b812eb8680c40eb8edc7447b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a79f4be25b812eb8680c40eb8edc7447b">&#9670;&nbsp;</a></span>ReadUnsignedInteger() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint? Apache.Qpid.Proton.Codec.IDecoder.ReadUnsignedInteger </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a59ed51271f2144e0d5cce88bb4a9347c">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a6ac4423cab5b20595b39605fc9e259f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ac4423cab5b20595b39605fc9e259f5">&#9670;&nbsp;</a></span>ReadUnsignedInteger() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint Apache.Qpid.Proton.Codec.IDecoder.ReadUnsignedInteger </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint&#160;</td>
          <td class="paramname"><em>defaultValue</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
    <tr><td class="paramname">defaultValue</td><td>The default value to return for null encodings</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a3f4f3955a33736779ac1d1147996cc8e">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="af3326dd18edde9be145ae87664e510b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3326dd18edde9be145ae87664e510b9">&#9670;&nbsp;</a></span>ReadUnsignedLong() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ulong? Apache.Qpid.Proton.Codec.IDecoder.ReadUnsignedLong </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#ac171a438c8e37def2e44f6262469a66d">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="afeb8b36ffd46b8a2c4e8ad3601b405d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afeb8b36ffd46b8a2c4e8ad3601b405d3">&#9670;&nbsp;</a></span>ReadUnsignedLong() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ulong Apache.Qpid.Proton.Codec.IDecoder.ReadUnsignedLong </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ulong&#160;</td>
          <td class="paramname"><em>defaultValue</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
    <tr><td class="paramname">defaultValue</td><td>The default value to return for null encodings</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a1e05a0a62389b756e023fc2a46ccc468">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="ac8d5a36ed47667a2e67488e351c80b70"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8d5a36ed47667a2e67488e351c80b70">&#9670;&nbsp;</a></span>ReadUnsignedShort() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ushort? Apache.Qpid.Proton.Codec.IDecoder.ReadUnsignedShort </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a705a3ebf816cf0cc3f8c6e6d1794d044">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a1aaba465ad9a9524061fcae8ca6bcefb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1aaba465ad9a9524061fcae8ca6bcefb">&#9670;&nbsp;</a></span>ReadUnsignedShort() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ushort Apache.Qpid.Proton.Codec.IDecoder.ReadUnsignedShort </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ushort&#160;</td>
          <td class="paramname"><em>defaultValue</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded value from the given byte buffer and returns it or the default if the encoding type is null. If the next value in the byte stream is not of the requested type an error is thrown. If the caller wishes to recover from errors due to unexpected types the byte stream should be marked and reset in order to make additional read attempts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer to read the encoded value from</td></tr>
    <tr><td class="paramname">state</td><td>A decoder state instance to use when decoding</td></tr>
    <tr><td class="paramname">defaultValue</td><td>The default value to return for null encodings</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoded object or null if the encoding was null.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1DecodeException.html">DecodeException</a></td><td>If an error occurs during the decode operation</td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#ae5f7352811e01ae19f4a70d0d365a321">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<a id="a1adbf5c7216d1ae5b9c4684cdf81108e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1adbf5c7216d1ae5b9c4684cdf81108e">&#9670;&nbsp;</a></span>RegisterDescribedTypeDecoder()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html">IDecoder</a> Apache.Qpid.Proton.Codec.IDecoder.RegisterDescribedTypeDecoder </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDescribedTypeDecoder.html">IDescribedTypeDecoder</a>&#160;</td>
          <td class="paramname"><em>decoder</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Allows for a custom described type decoder to be registered with this decoder instance for use when decoding AMQP described types from incoming byte streams. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">V</td><td>Type that the decoder manages</td></tr>
  </table>
  </dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">decoder</td><td>A described type decoder to register</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html" title="Defines a Decoder that handles translating the encoded AMQP performative bytes into the appropriate P...">IDecoder</a> instance.</dd></dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#a2a649539cc39b6e6e157912c35153dfb">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>.</p>

</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a id="a2f35eb046dad3ea35dfe218e11aa23d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f35eb046dad3ea35dfe218e11aa23d5">&#9670;&nbsp;</a></span>CachedDecoderState</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_1Codec_1_1IDecoderState.html">IDecoderState</a> Apache.Qpid.Proton.Codec.IDecoder.CachedDecoderState</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 a cached decoder state instance that can be used be single threaded readers that use this decoder instance. </p>
<dl class="section return"><dt>Returns</dt><dd>A cached decoder state object that can be used by single threaded readers</dd></dl>

</div>
</div>
<hr/>The documentation for this interface was generated from the following file:<ul>
<li>src/Proton/Codec/IDecoder.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>
