grpc/cpp/classgrpc_1_1_byte_buffer.html

917 lines
43 KiB
HTML

<!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.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>GRPC C++: grpc::ByteBuffer 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.58.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<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');
/* @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="namespacegrpc.html">grpc</a></li><li class="navelem"><a class="el" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#friends">Friends</a> </div>
<div class="headertitle">
<div class="title">grpc::ByteBuffer Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p>A sequence of bytes.
<a href="classgrpc_1_1_byte_buffer.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="grpcpp_2support_2byte__buffer_8h_source.html">byte_buffer.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:aa3037355cbd37dce99c97e5c3700a76b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#aa3037355cbd37dce99c97e5c3700a76b">ByteBuffer</a> ()</td></tr>
<tr class="memdesc:aa3037355cbd37dce99c97e5c3700a76b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constuct an empty buffer. <a href="classgrpc_1_1_byte_buffer.html#aa3037355cbd37dce99c97e5c3700a76b">More...</a><br /></td></tr>
<tr class="separator:aa3037355cbd37dce99c97e5c3700a76b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1f69f81c3cb03c61b544a0222e83004"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#aa1f69f81c3cb03c61b544a0222e83004">ByteBuffer</a> (const <a class="el" href="classgrpc_1_1_slice.html">Slice</a> *slices, size_t nslices)</td></tr>
<tr class="memdesc:aa1f69f81c3cb03c61b544a0222e83004"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct buffer from <em>slices</em>, of which there are <em>nslices</em>. <a href="classgrpc_1_1_byte_buffer.html#aa1f69f81c3cb03c61b544a0222e83004">More...</a><br /></td></tr>
<tr class="separator:aa1f69f81c3cb03c61b544a0222e83004"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67fdf624e23dbd80d84e3e85e1d5b176"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#a67fdf624e23dbd80d84e3e85e1d5b176">ByteBuffer</a> (const <a class="el" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a> &amp;buf)</td></tr>
<tr class="memdesc:a67fdf624e23dbd80d84e3e85e1d5b176"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a byte buffer by referencing elements of existing buffer <em>buf</em>. <a href="classgrpc_1_1_byte_buffer.html#a67fdf624e23dbd80d84e3e85e1d5b176">More...</a><br /></td></tr>
<tr class="separator:a67fdf624e23dbd80d84e3e85e1d5b176"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb5dd0045ed262de06481465326bd64a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#aeb5dd0045ed262de06481465326bd64a">~ByteBuffer</a> ()</td></tr>
<tr class="separator:aeb5dd0045ed262de06481465326bd64a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af17d560be1e61f773138ac8763206b8e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#af17d560be1e61f773138ac8763206b8e">operator=</a> (const <a class="el" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a> &amp;buf)</td></tr>
<tr class="memdesc:af17d560be1e61f773138ac8763206b8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper of core function grpc_byte_buffer_copy . <a href="classgrpc_1_1_byte_buffer.html#af17d560be1e61f773138ac8763206b8e">More...</a><br /></td></tr>
<tr class="separator:af17d560be1e61f773138ac8763206b8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8029745487a96c50368a72205167e9c9"><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_byte_buffer.html#a8029745487a96c50368a72205167e9c9">TrySingleSlice</a> (<a class="el" href="classgrpc_1_1_slice.html">Slice</a> *slice) const</td></tr>
<tr class="separator:a8029745487a96c50368a72205167e9c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6fd7b9f8eeac20a283161c650bb18c6"><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_byte_buffer.html#aa6fd7b9f8eeac20a283161c650bb18c6">DumpToSingleSlice</a> (<a class="el" href="classgrpc_1_1_slice.html">Slice</a> *slice) const</td></tr>
<tr class="memdesc:aa6fd7b9f8eeac20a283161c650bb18c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dump (read) the buffer contents into <em>slics</em>. <a href="classgrpc_1_1_byte_buffer.html#aa6fd7b9f8eeac20a283161c650bb18c6">More...</a><br /></td></tr>
<tr class="separator:aa6fd7b9f8eeac20a283161c650bb18c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe7615cdbd14996a7e82fc84e373a365"><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_byte_buffer.html#abe7615cdbd14996a7e82fc84e373a365">Dump</a> (std::vector&lt; <a class="el" href="classgrpc_1_1_slice.html">Slice</a> &gt; *slices) const</td></tr>
<tr class="memdesc:abe7615cdbd14996a7e82fc84e373a365"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dump (read) the buffer contents into <em>slices</em>. <a href="classgrpc_1_1_byte_buffer.html#abe7615cdbd14996a7e82fc84e373a365">More...</a><br /></td></tr>
<tr class="separator:abe7615cdbd14996a7e82fc84e373a365"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a185b593e5c7d2b888fa377989a6bae80"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#a185b593e5c7d2b888fa377989a6bae80">Clear</a> ()</td></tr>
<tr class="memdesc:a185b593e5c7d2b888fa377989a6bae80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove all data. <a href="classgrpc_1_1_byte_buffer.html#a185b593e5c7d2b888fa377989a6bae80">More...</a><br /></td></tr>
<tr class="separator:a185b593e5c7d2b888fa377989a6bae80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42889c8018ea3868db2f54d92d1609ab"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#a42889c8018ea3868db2f54d92d1609ab">Duplicate</a> ()</td></tr>
<tr class="memdesc:a42889c8018ea3868db2f54d92d1609ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make a duplicate copy of the internals of this byte buffer so that we have our own owned version of it. <a href="classgrpc_1_1_byte_buffer.html#a42889c8018ea3868db2f54d92d1609ab">More...</a><br /></td></tr>
<tr class="separator:a42889c8018ea3868db2f54d92d1609ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae03627c8b3297965fa0cdd4f03a9af0f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#ae03627c8b3297965fa0cdd4f03a9af0f">Release</a> ()</td></tr>
<tr class="memdesc:ae03627c8b3297965fa0cdd4f03a9af0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Forget underlying byte buffer without destroying Use this only for un-owned byte buffers. <a href="classgrpc_1_1_byte_buffer.html#ae03627c8b3297965fa0cdd4f03a9af0f">More...</a><br /></td></tr>
<tr class="separator:ae03627c8b3297965fa0cdd4f03a9af0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38122ed734455178d16e46f21e6ac9e6"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#a38122ed734455178d16e46f21e6ac9e6">Length</a> () const</td></tr>
<tr class="memdesc:a38122ed734455178d16e46f21e6ac9e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer size in bytes. <a href="classgrpc_1_1_byte_buffer.html#a38122ed734455178d16e46f21e6ac9e6">More...</a><br /></td></tr>
<tr class="separator:a38122ed734455178d16e46f21e6ac9e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45b09ecb5a8529b286aba6264daade65"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#a45b09ecb5a8529b286aba6264daade65">Swap</a> (<a class="el" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a> *other)</td></tr>
<tr class="memdesc:a45b09ecb5a8529b286aba6264daade65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap the state of *this and *other. <a href="classgrpc_1_1_byte_buffer.html#a45b09ecb5a8529b286aba6264daade65">More...</a><br /></td></tr>
<tr class="separator:a45b09ecb5a8529b286aba6264daade65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea6bcd0d3c70fc14158df68c59dc82d4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#aea6bcd0d3c70fc14158df68c59dc82d4">Valid</a> () const</td></tr>
<tr class="memdesc:aea6bcd0d3c70fc14158df68c59dc82d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is this <a class="el" href="classgrpc_1_1_byte_buffer.html" title="A sequence of bytes.">ByteBuffer</a> valid? <a href="classgrpc_1_1_byte_buffer.html#aea6bcd0d3c70fc14158df68c59dc82d4">More...</a><br /></td></tr>
<tr class="separator:aea6bcd0d3c70fc14158df68c59dc82d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:ab90fe50537dd6fe009b7b913652420f0"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#ab90fe50537dd6fe009b7b913652420f0">SerializationTraits&lt; ByteBuffer, void &gt;</a></td></tr>
<tr class="separator:ab90fe50537dd6fe009b7b913652420f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0907065db479dc47b2fa752d7782b6f"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#ad0907065db479dc47b2fa752d7782b6f">ServerInterface</a></td></tr>
<tr class="separator:ad0907065db479dc47b2fa752d7782b6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7fe1828bc120efad35f57929870dc5b"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#ad7fe1828bc120efad35f57929870dc5b">internal::CallOpSendMessage</a></td></tr>
<tr class="separator:ad7fe1828bc120efad35f57929870dc5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a445caf03eec410ca4fab24e534181801"><td class="memTemplParams" colspan="2">template&lt;class R &gt; </td></tr>
<tr class="memitem:a445caf03eec410ca4fab24e534181801"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#a445caf03eec410ca4fab24e534181801">internal::CallOpRecvMessage</a></td></tr>
<tr class="separator:a445caf03eec410ca4fab24e534181801"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a291e55ec452333b2212c5d5a3fac160f"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#a291e55ec452333b2212c5d5a3fac160f">internal::CallOpGenericRecvMessage</a></td></tr>
<tr class="separator:a291e55ec452333b2212c5d5a3fac160f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92a457fe95d4f1662f65ed9b47be0f84"><td class="memTemplParams" colspan="2">template&lt;class ServiceType , class RequestType , class ResponseType &gt; </td></tr>
<tr class="memitem:a92a457fe95d4f1662f65ed9b47be0f84"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#a92a457fe95d4f1662f65ed9b47be0f84">internal::ServerStreamingHandler</a></td></tr>
<tr class="separator:a92a457fe95d4f1662f65ed9b47be0f84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af63af491258d40246cebf3dee6011157"><td class="memTemplParams" colspan="2">template&lt;class RequestType , class ResponseType &gt; </td></tr>
<tr class="memitem:af63af491258d40246cebf3dee6011157"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#af63af491258d40246cebf3dee6011157">internal::CallbackUnaryHandler</a></td></tr>
<tr class="separator:af63af491258d40246cebf3dee6011157"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adeb7bc4c6e3099138df016e5d49aee73"><td class="memTemplParams" colspan="2">template&lt;class RequestType , class ResponseType &gt; </td></tr>
<tr class="memitem:adeb7bc4c6e3099138df016e5d49aee73"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#adeb7bc4c6e3099138df016e5d49aee73">internal::CallbackServerStreamingHandler</a></td></tr>
<tr class="separator:adeb7bc4c6e3099138df016e5d49aee73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91a3296cb8faa9b7afad2f0db836df4d"><td class="memTemplParams" colspan="2">template&lt;StatusCode code&gt; </td></tr>
<tr class="memitem:a91a3296cb8faa9b7afad2f0db836df4d"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#a91a3296cb8faa9b7afad2f0db836df4d">internal::ErrorMethodHandler</a></td></tr>
<tr class="separator:a91a3296cb8faa9b7afad2f0db836df4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8575cd74967bac70dad4afbf830db64c"><td class="memTemplParams" colspan="2">template&lt;class R &gt; </td></tr>
<tr class="memitem:a8575cd74967bac70dad4afbf830db64c"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#a8575cd74967bac70dad4afbf830db64c">internal::DeserializeFuncType</a></td></tr>
<tr class="separator:a8575cd74967bac70dad4afbf830db64c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1278d8ce6e19fac8aabb59d1a17240bf"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#a1278d8ce6e19fac8aabb59d1a17240bf">ProtoBufferReader</a></td></tr>
<tr class="separator:a1278d8ce6e19fac8aabb59d1a17240bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d4cd35e8ba80deb9d72f2f570d71962"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#a2d4cd35e8ba80deb9d72f2f570d71962">ProtoBufferWriter</a></td></tr>
<tr class="separator:a2d4cd35e8ba80deb9d72f2f570d71962"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26d1eb015b546436fbfb535a20e2f115"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#a26d1eb015b546436fbfb535a20e2f115">internal::GrpcByteBufferPeer</a></td></tr>
<tr class="separator:a26d1eb015b546436fbfb535a20e2f115"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b74f44e39cd7ec6e6843612ea13573a"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#a7b74f44e39cd7ec6e6843612ea13573a">internal::ExternalConnectionAcceptorImpl</a></td></tr>
<tr class="separator:a7b74f44e39cd7ec6e6843612ea13573a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65da2c4f118d639cc21260e306a07f8d"><td class="memTemplParams" colspan="2">template&lt;class RequestType &gt; </td></tr>
<tr class="memitem:a65da2c4f118d639cc21260e306a07f8d"><td class="memTemplItemLeft" align="right" valign="top">void *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#a65da2c4f118d639cc21260e306a07f8d">internal::UnaryDeserializeHelper</a> (<a class="el" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a> *, <a class="el" href="classgrpc_1_1_status.html">grpc::Status</a> *, RequestType *)</td></tr>
<tr class="separator:a65da2c4f118d639cc21260e306a07f8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A sequence of bytes. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aa3037355cbd37dce99c97e5c3700a76b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa3037355cbd37dce99c97e5c3700a76b">&#9670;&nbsp;</a></span>ByteBuffer() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">grpc::ByteBuffer::ByteBuffer </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">
<p>Constuct an empty buffer. </p>
</div>
</div>
<a id="aa1f69f81c3cb03c61b544a0222e83004"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1f69f81c3cb03c61b544a0222e83004">&#9670;&nbsp;</a></span>ByteBuffer() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">grpc::ByteBuffer::ByteBuffer </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgrpc_1_1_slice.html">Slice</a> *&#160;</td>
<td class="paramname"><em>slices</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>nslices</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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct buffer from <em>slices</em>, of which there are <em>nslices</em>. </p>
</div>
</div>
<a id="a67fdf624e23dbd80d84e3e85e1d5b176"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a67fdf624e23dbd80d84e3e85e1d5b176">&#9670;&nbsp;</a></span>ByteBuffer() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">grpc::ByteBuffer::ByteBuffer </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a> &amp;&#160;</td>
<td class="paramname"><em>buf</em></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">
<p>Construct a byte buffer by referencing elements of existing buffer <em>buf</em>. </p>
<p>Wrapper of core function grpc_byte_buffer_copy . This is not a deep copy; it is just a referencing. As a result, its performance is size-independent. </p>
</div>
</div>
<a id="aeb5dd0045ed262de06481465326bd64a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb5dd0045ed262de06481465326bd64a">&#9670;&nbsp;</a></span>~ByteBuffer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">grpc::ByteBuffer::~ByteBuffer </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="a185b593e5c7d2b888fa377989a6bae80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a185b593e5c7d2b888fa377989a6bae80">&#9670;&nbsp;</a></span>Clear()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void grpc::ByteBuffer::Clear </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">
<p>Remove all data. </p>
</div>
</div>
<a id="abe7615cdbd14996a7e82fc84e373a365"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe7615cdbd14996a7e82fc84e373a365">&#9670;&nbsp;</a></span>Dump()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_status.html">Status</a> grpc::ByteBuffer::Dump </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="classgrpc_1_1_slice.html">Slice</a> &gt; *&#160;</td>
<td class="paramname"><em>slices</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Dump (read) the buffer contents into <em>slices</em>. </p>
</div>
</div>
<a id="aa6fd7b9f8eeac20a283161c650bb18c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6fd7b9f8eeac20a283161c650bb18c6">&#9670;&nbsp;</a></span>DumpToSingleSlice()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_status.html">Status</a> grpc::ByteBuffer::DumpToSingleSlice </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_slice.html">Slice</a> *&#160;</td>
<td class="paramname"><em>slice</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Dump (read) the buffer contents into <em>slics</em>. </p>
</div>
</div>
<a id="a42889c8018ea3868db2f54d92d1609ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42889c8018ea3868db2f54d92d1609ab">&#9670;&nbsp;</a></span>Duplicate()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void grpc::ByteBuffer::Duplicate </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">
<p>Make a duplicate copy of the internals of this byte buffer so that we have our own owned version of it. </p>
<p>bbuf.Duplicate(); is equivalent to bbuf=bbuf; but is actually readable. This is not a deep copy; it is a referencing and its performance is size-independent. </p>
</div>
</div>
<a id="a38122ed734455178d16e46f21e6ac9e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38122ed734455178d16e46f21e6ac9e6">&#9670;&nbsp;</a></span>Length()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t grpc::ByteBuffer::Length </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>Buffer size in bytes. </p>
</div>
</div>
<a id="af17d560be1e61f773138ac8763206b8e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af17d560be1e61f773138ac8763206b8e">&#9670;&nbsp;</a></span>operator=()</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_byte_buffer.html">ByteBuffer</a>&amp; grpc::ByteBuffer::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a> &amp;&#160;</td>
<td class="paramname"><em>buf</em></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">
<p>Wrapper of core function grpc_byte_buffer_copy . </p>
<p>This is not a deep copy; it is just a referencing. As a result, its performance is size-independent. </p>
</div>
</div>
<a id="ae03627c8b3297965fa0cdd4f03a9af0f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae03627c8b3297965fa0cdd4f03a9af0f">&#9670;&nbsp;</a></span>Release()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void grpc::ByteBuffer::Release </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">
<p>Forget underlying byte buffer without destroying Use this only for un-owned byte buffers. </p>
</div>
</div>
<a id="a45b09ecb5a8529b286aba6264daade65"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45b09ecb5a8529b286aba6264daade65">&#9670;&nbsp;</a></span>Swap()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void grpc::ByteBuffer::Swap </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a> *&#160;</td>
<td class="paramname"><em>other</em></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">
<p>Swap the state of *this and *other. </p>
</div>
</div>
<a id="a8029745487a96c50368a72205167e9c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8029745487a96c50368a72205167e9c9">&#9670;&nbsp;</a></span>TrySingleSlice()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_status.html">Status</a> grpc::ByteBuffer::TrySingleSlice </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_slice.html">Slice</a> *&#160;</td>
<td class="paramname"><em>slice</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aea6bcd0d3c70fc14158df68c59dc82d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea6bcd0d3c70fc14158df68c59dc82d4">&#9670;&nbsp;</a></span>Valid()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool grpc::ByteBuffer::Valid </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>Is this <a class="el" href="classgrpc_1_1_byte_buffer.html" title="A sequence of bytes.">ByteBuffer</a> valid? </p>
</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a id="adeb7bc4c6e3099138df016e5d49aee73"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adeb7bc4c6e3099138df016e5d49aee73">&#9670;&nbsp;</a></span>internal::CallbackServerStreamingHandler</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class RequestType , class ResponseType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classgrpc_1_1internal_1_1_callback_server_streaming_handler.html">internal::CallbackServerStreamingHandler</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af63af491258d40246cebf3dee6011157"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af63af491258d40246cebf3dee6011157">&#9670;&nbsp;</a></span>internal::CallbackUnaryHandler</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class RequestType , class ResponseType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classgrpc_1_1internal_1_1_callback_unary_handler.html">internal::CallbackUnaryHandler</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a291e55ec452333b2212c5d5a3fac160f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a291e55ec452333b2212c5d5a3fac160f">&#9670;&nbsp;</a></span>internal::CallOpGenericRecvMessage</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classgrpc_1_1internal_1_1_call_op_generic_recv_message.html">internal::CallOpGenericRecvMessage</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a445caf03eec410ca4fab24e534181801"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a445caf03eec410ca4fab24e534181801">&#9670;&nbsp;</a></span>internal::CallOpRecvMessage</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class R &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classgrpc_1_1internal_1_1_call_op_recv_message.html">internal::CallOpRecvMessage</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad7fe1828bc120efad35f57929870dc5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7fe1828bc120efad35f57929870dc5b">&#9670;&nbsp;</a></span>internal::CallOpSendMessage</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classgrpc_1_1internal_1_1_call_op_send_message.html">internal::CallOpSendMessage</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8575cd74967bac70dad4afbf830db64c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8575cd74967bac70dad4afbf830db64c">&#9670;&nbsp;</a></span>internal::DeserializeFuncType</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class R &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classgrpc_1_1internal_1_1_deserialize_func_type.html">internal::DeserializeFuncType</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a91a3296cb8faa9b7afad2f0db836df4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91a3296cb8faa9b7afad2f0db836df4d">&#9670;&nbsp;</a></span>internal::ErrorMethodHandler</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;StatusCode code&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classgrpc_1_1internal_1_1_error_method_handler.html">internal::ErrorMethodHandler</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7b74f44e39cd7ec6e6843612ea13573a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b74f44e39cd7ec6e6843612ea13573a">&#9670;&nbsp;</a></span>internal::ExternalConnectionAcceptorImpl</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class internal::ExternalConnectionAcceptorImpl</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a26d1eb015b546436fbfb535a20e2f115"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26d1eb015b546436fbfb535a20e2f115">&#9670;&nbsp;</a></span>internal::GrpcByteBufferPeer</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class internal::GrpcByteBufferPeer</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a92a457fe95d4f1662f65ed9b47be0f84"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92a457fe95d4f1662f65ed9b47be0f84">&#9670;&nbsp;</a></span>internal::ServerStreamingHandler</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ServiceType , class RequestType , class ResponseType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classgrpc_1_1internal_1_1_server_streaming_handler.html">internal::ServerStreamingHandler</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a65da2c4f118d639cc21260e306a07f8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65da2c4f118d639cc21260e306a07f8d">&#9670;&nbsp;</a></span>internal::UnaryDeserializeHelper</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class RequestType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void* <a class="el" href="namespacegrpc_1_1internal.html#a4ba42b5702d05d43e14c4be49d5416e2">internal::UnaryDeserializeHelper</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a> *&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_status.html">grpc::Status</a> *&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RequestType *&#160;</td>
<td class="paramname">&#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">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1278d8ce6e19fac8aabb59d1a17240bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1278d8ce6e19fac8aabb59d1a17240bf">&#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">friend class <a class="el" href="classgrpc_1_1_proto_buffer_reader.html">ProtoBufferReader</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2d4cd35e8ba80deb9d72f2f570d71962"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d4cd35e8ba80deb9d72f2f570d71962">&#9670;&nbsp;</a></span>ProtoBufferWriter</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classgrpc_1_1_proto_buffer_writer.html">ProtoBufferWriter</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab90fe50537dd6fe009b7b913652420f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab90fe50537dd6fe009b7b913652420f0">&#9670;&nbsp;</a></span>SerializationTraits&lt; ByteBuffer, void &gt;</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classgrpc_1_1_serialization_traits.html">SerializationTraits</a>&lt; <a class="el" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a>, void &gt;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad0907065db479dc47b2fa752d7782b6f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0907065db479dc47b2fa752d7782b6f">&#9670;&nbsp;</a></span>ServerInterface</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classgrpc_1_1_server_interface.html">ServerInterface</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/grpcpp/support/<a class="el" href="grpcpp_2support_2byte__buffer_8h_source.html">byte_buffer.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Sep 6 2023 16:09:16 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>