grpc/cpp/classgrpc_1_1_proto_buffer_...

494 lines
23 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>GRPC C++: grpc::ProtoBufferReader Class 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">GRPC C++
&#160;<span id="projectnumber">1.22.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</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="namespacegrpc.html">grpc</a></li><li class="navelem"><a class="el" href="classgrpc_1_1_proto_buffer_reader.html">ProtoBufferReader</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> </div>
<div class="headertitle">
<div class="title">grpc::ProtoBufferReader Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>This is a specialization of the protobuf class ZeroCopyInputStream The principle is to get one chunk of data at a time from the proto layer, with options to backup (re-see some bytes) or skip (forward past some bytes)
<a href="classgrpc_1_1_proto_buffer_reader.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="impl_2codegen_2proto__buffer__reader_8h_source.html">proto_buffer_reader.h</a>&gt;</code></p>
<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:aa00588464b3586ea57b8d4f20b526934"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_proto_buffer_reader.html#aa00588464b3586ea57b8d4f20b526934">ProtoBufferReader</a> (<a class="el" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a> *buffer)</td></tr>
<tr class="memdesc:aa00588464b3586ea57b8d4f20b526934"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs buffer reader from <em>buffer</em>. <a href="#aa00588464b3586ea57b8d4f20b526934">More...</a><br /></td></tr>
<tr class="separator:aa00588464b3586ea57b8d4f20b526934"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a919f28b7d6be0d6a2fb0f178a0cdf573"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_proto_buffer_reader.html#a919f28b7d6be0d6a2fb0f178a0cdf573">~ProtoBufferReader</a> ()</td></tr>
<tr class="separator:a919f28b7d6be0d6a2fb0f178a0cdf573"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5535d30e741c8a081a0fec40620b37e8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_proto_buffer_reader.html#a5535d30e741c8a081a0fec40620b37e8">Next</a> (const void **data, int *size) override</td></tr>
<tr class="memdesc:a5535d30e741c8a081a0fec40620b37e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Give the proto library a chunk of data from the stream. <a href="#a5535d30e741c8a081a0fec40620b37e8">More...</a><br /></td></tr>
<tr class="separator:a5535d30e741c8a081a0fec40620b37e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50b5c353ac2d915b09e68bf9c1f7136e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_proto_buffer_reader.html#a50b5c353ac2d915b09e68bf9c1f7136e">status</a> () const</td></tr>
<tr class="memdesc:a50b5c353ac2d915b09e68bf9c1f7136e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the status of the buffer reader. <a href="#a50b5c353ac2d915b09e68bf9c1f7136e">More...</a><br /></td></tr>
<tr class="separator:a50b5c353ac2d915b09e68bf9c1f7136e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb77905f9cecd961c6066dc78d93a60c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_proto_buffer_reader.html#adb77905f9cecd961c6066dc78d93a60c">BackUp</a> (int count) override</td></tr>
<tr class="memdesc:adb77905f9cecd961c6066dc78d93a60c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The proto library calls this to indicate that we should back up <em>count</em> bytes that have already been returned by the last call of Next. <a href="#adb77905f9cecd961c6066dc78d93a60c">More...</a><br /></td></tr>
<tr class="separator:adb77905f9cecd961c6066dc78d93a60c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f9fdfde9953f08b5ca247e6e1b2f02b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_proto_buffer_reader.html#a6f9fdfde9953f08b5ca247e6e1b2f02b">Skip</a> (int count) override</td></tr>
<tr class="memdesc:a6f9fdfde9953f08b5ca247e6e1b2f02b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The proto library calls this to skip over <em>count</em> bytes. <a href="#a6f9fdfde9953f08b5ca247e6e1b2f02b">More...</a><br /></td></tr>
<tr class="separator:a6f9fdfde9953f08b5ca247e6e1b2f02b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6998c79bf27db27ab0fe35ab1be5c972"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacegrpc_1_1protobuf.html#ad614bff24fe4674ca81af74c769a7b32">grpc::protobuf::int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_proto_buffer_reader.html#a6998c79bf27db27ab0fe35ab1be5c972">ByteCount</a> () const override</td></tr>
<tr class="memdesc:a6998c79bf27db27ab0fe35ab1be5c972"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the total number of bytes read since this object was created. <a href="#a6998c79bf27db27ab0fe35ab1be5c972">More...</a><br /></td></tr>
<tr class="separator:a6998c79bf27db27ab0fe35ab1be5c972"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a9fa8b889f80d4bf56f6915ad9245ac3b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_proto_buffer_reader.html#a9fa8b889f80d4bf56f6915ad9245ac3b">set_byte_count</a> (int64_t byte_count)</td></tr>
<tr class="separator:a9fa8b889f80d4bf56f6915ad9245ac3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9dad34d4b14195b85d5cd019ba5d7d1"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_proto_buffer_reader.html#ac9dad34d4b14195b85d5cd019ba5d7d1">backup_count</a> ()</td></tr>
<tr class="separator:ac9dad34d4b14195b85d5cd019ba5d7d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56f59bca6804e19d0f780c80ccbca031"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_proto_buffer_reader.html#a56f59bca6804e19d0f780c80ccbca031">set_backup_count</a> (int64_t <a class="el" href="classgrpc_1_1_proto_buffer_reader.html#ac9dad34d4b14195b85d5cd019ba5d7d1">backup_count</a>)</td></tr>
<tr class="separator:a56f59bca6804e19d0f780c80ccbca031"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa50ef34b08b9cb338dc26db6be108748"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgrpc__byte__buffer__reader.html">grpc_byte_buffer_reader</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_proto_buffer_reader.html#aa50ef34b08b9cb338dc26db6be108748">reader</a> ()</td></tr>
<tr class="separator:aa50ef34b08b9cb338dc26db6be108748"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0874823748781629e0b2bde470d78bf3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgrpc__slice.html">grpc_slice</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_proto_buffer_reader.html#a0874823748781629e0b2bde470d78bf3">slice</a> ()</td></tr>
<tr class="separator:a0874823748781629e0b2bde470d78bf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a79dd8c63deb9cb1837d531229a7577"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgrpc__slice.html">grpc_slice</a> **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_proto_buffer_reader.html#a0a79dd8c63deb9cb1837d531229a7577">mutable_slice_ptr</a> ()</td></tr>
<tr class="separator:a0a79dd8c63deb9cb1837d531229a7577"><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>This is a specialization of the protobuf class ZeroCopyInputStream The principle is to get one chunk of data at a time from the proto layer, with options to backup (re-see some bytes) or skip (forward past some bytes) </p>
<p>Read more about ZeroCopyInputStream interface here: <a href="https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.io.zero_copy_stream#ZeroCopyInputStream">https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.io.zero_copy_stream#ZeroCopyInputStream</a> </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aa00588464b3586ea57b8d4f20b526934"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa00588464b3586ea57b8d4f20b526934">&#9670;&nbsp;</a></span>ProtoBufferReader()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">grpc::ProtoBufferReader::ProtoBufferReader </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a> *&#160;</td>
<td class="paramname"><em>buffer</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs buffer reader from <em>buffer</em>. </p>
<p>Will set <em><a class="el" href="classgrpc_1_1_proto_buffer_reader.html#a50b5c353ac2d915b09e68bf9c1f7136e" title="Returns the status of the buffer reader. ">status()</a></em> to non ok if <em>buffer</em> is invalid (the internal buffer has not been initialized). </p>
<p>Implemented through a <a class="el" href="structgrpc__byte__buffer__reader.html">grpc_byte_buffer_reader</a> which iterates over the slices that make up a byte buffer </p>
</div>
</div>
<a id="a919f28b7d6be0d6a2fb0f178a0cdf573"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a919f28b7d6be0d6a2fb0f178a0cdf573">&#9670;&nbsp;</a></span>~ProtoBufferReader()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">grpc::ProtoBufferReader::~ProtoBufferReader </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="adb77905f9cecd961c6066dc78d93a60c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb77905f9cecd961c6066dc78d93a60c">&#9670;&nbsp;</a></span>BackUp()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void grpc::ProtoBufferReader::BackUp </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>count</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The proto library calls this to indicate that we should back up <em>count</em> bytes that have already been returned by the last call of Next. </p>
<p>So do the backup and have that ready for a later Next. </p>
</div>
</div>
<a id="ac9dad34d4b14195b85d5cd019ba5d7d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9dad34d4b14195b85d5cd019ba5d7d1">&#9670;&nbsp;</a></span>backup_count()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int64_t grpc::ProtoBufferReader::backup_count </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6998c79bf27db27ab0fe35ab1be5c972"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6998c79bf27db27ab0fe35ab1be5c972">&#9670;&nbsp;</a></span>ByteCount()</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="namespacegrpc_1_1protobuf.html#ad614bff24fe4674ca81af74c769a7b32">grpc::protobuf::int64</a> grpc::ProtoBufferReader::ByteCount </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the total number of bytes read since this object was created. </p>
</div>
</div>
<a id="a0a79dd8c63deb9cb1837d531229a7577"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a79dd8c63deb9cb1837d531229a7577">&#9670;&nbsp;</a></span>mutable_slice_ptr()</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="structgrpc__slice.html">grpc_slice</a>** grpc::ProtoBufferReader::mutable_slice_ptr </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5535d30e741c8a081a0fec40620b37e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5535d30e741c8a081a0fec40620b37e8">&#9670;&nbsp;</a></span>Next()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool grpc::ProtoBufferReader::Next </td>
<td>(</td>
<td class="paramtype">const void **&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Give the proto library a chunk of data from the stream. </p>
<p>The caller may safely read from data[0, size - 1]. </p>
<p>If we have backed up previously, we need to return the backed-up slice</p>
<p>Otherwise get the next slice from the byte buffer reader </p>
</div>
</div>
<a id="aa50ef34b08b9cb338dc26db6be108748"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa50ef34b08b9cb338dc26db6be108748">&#9670;&nbsp;</a></span>reader()</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="structgrpc__byte__buffer__reader.html">grpc_byte_buffer_reader</a>* grpc::ProtoBufferReader::reader </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a56f59bca6804e19d0f780c80ccbca031"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56f59bca6804e19d0f780c80ccbca031">&#9670;&nbsp;</a></span>set_backup_count()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void grpc::ProtoBufferReader::set_backup_count </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>backup_count</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9fa8b889f80d4bf56f6915ad9245ac3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9fa8b889f80d4bf56f6915ad9245ac3b">&#9670;&nbsp;</a></span>set_byte_count()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void grpc::ProtoBufferReader::set_byte_count </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>byte_count</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6f9fdfde9953f08b5ca247e6e1b2f02b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f9fdfde9953f08b5ca247e6e1b2f02b">&#9670;&nbsp;</a></span>Skip()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool grpc::ProtoBufferReader::Skip </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>count</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The proto library calls this to skip over <em>count</em> bytes. </p>
<p>Implement this using Next and BackUp combined. </p>
</div>
</div>
<a id="a0874823748781629e0b2bde470d78bf3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0874823748781629e0b2bde470d78bf3">&#9670;&nbsp;</a></span>slice()</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="structgrpc__slice.html">grpc_slice</a>* grpc::ProtoBufferReader::slice </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a50b5c353ac2d915b09e68bf9c1f7136e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50b5c353ac2d915b09e68bf9c1f7136e">&#9670;&nbsp;</a></span>status()</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="classgrpc_1_1_status.html">Status</a> grpc::ProtoBufferReader::status </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the status of the buffer reader. </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/grpcpp/impl/codegen/<a class="el" href="impl_2codegen_2proto__buffer__reader_8h_source.html">proto_buffer_reader.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Jul 3 2019 14:51:27 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>