blob: 322db2970fc5dd48da77234d211cf04f65a78e12 [file] [log] [blame]
<!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.6"/>
<title>GRPC Core: src/core/transport/stream_op.h File 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/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">GRPC Core
&#160;<span id="projectnumber">0.10.0.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></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="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li><li class="navelem"><a class="el" href="dir_79268b13b30141157b35932967b4e740.html">transport</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">stream_op.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="grpc_8h_source.html">grpc/grpc.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="port__platform_8h_source.html">grpc/support/port_platform.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="slice_8h_source.html">grpc/support/slice.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="time_8h_source.html">grpc/support/time.h</a>&gt;</code><br/>
<code>#include &quot;<a class="el" href="metadata_8h_source.html">src/core/transport/metadata.h</a>&quot;</code><br/>
</div>
<p><a href="stream__op_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__begin__message.html">grpc_begin_message</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__linked__mdelem.html">grpc_linked_mdelem</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__mdelem__list.html">grpc_mdelem_list</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__stream__op.html">grpc_stream_op</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A stream op buffer is a wrapper around stream operations that is dynamically extendable. <a href="structgrpc__stream__op__buffer.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a3fc30a237ae8cb1eb4b9925a1835b8ca"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#a3fc30a237ae8cb1eb4b9925a1835b8ca">GRPC_SOPB_INLINE_ELEMENTS</a>&#160;&#160;&#160;4</td></tr>
<tr class="separator:a3fc30a237ae8cb1eb4b9925a1835b8ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d51ace7a6bdbf212ee6843952977c35"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#a9d51ace7a6bdbf212ee6843952977c35">GRPC_WRITE_INTERNAL_COMPRESS</a>&#160;&#160;&#160;(0x80000000u)</td></tr>
<tr class="memdesc:a9d51ace7a6bdbf212ee6843952977c35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal bit flag for <a class="el" href="structgrpc__begin__message.html">grpc_begin_message</a>'s <em>flags</em> signaling the use of compression for the message. <a href="#a9d51ace7a6bdbf212ee6843952977c35">More...</a><br/></td></tr>
<tr class="separator:a9d51ace7a6bdbf212ee6843952977c35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7acab698fedc01eca6138c3e30056ff1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#a7acab698fedc01eca6138c3e30056ff1">GRPC_WRITE_INTERNAL_USED_MASK</a>&#160;&#160;&#160;(<a class="el" href="stream__op_8h.html#a9d51ace7a6bdbf212ee6843952977c35">GRPC_WRITE_INTERNAL_COMPRESS</a>)</td></tr>
<tr class="memdesc:a7acab698fedc01eca6138c3e30056ff1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask of all valid internal flags. <a href="#a7acab698fedc01eca6138c3e30056ff1">More...</a><br/></td></tr>
<tr class="separator:a7acab698fedc01eca6138c3e30056ff1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:aae7f77961eb1741340666865ab0c5fc7"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="stream__op_8h.html#af16e06eb1edfe4d93509276f32ed3804">grpc_stream_op_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#aae7f77961eb1741340666865ab0c5fc7">grpc_stream_op_code</a></td></tr>
<tr class="separator:aae7f77961eb1741340666865ab0c5fc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d154e209d826dcf514850c6724d3596"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structgrpc__begin__message.html">grpc_begin_message</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#a6d154e209d826dcf514850c6724d3596">grpc_begin_message</a></td></tr>
<tr class="separator:a6d154e209d826dcf514850c6724d3596"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abebf5d5730a7a3aeaf9d6ee5436ddfa2"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structgrpc__linked__mdelem.html">grpc_linked_mdelem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#abebf5d5730a7a3aeaf9d6ee5436ddfa2">grpc_linked_mdelem</a></td></tr>
<tr class="separator:abebf5d5730a7a3aeaf9d6ee5436ddfa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2b8aff92cbac9a99f3ad263613078e2"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structgrpc__mdelem__list.html">grpc_mdelem_list</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#ae2b8aff92cbac9a99f3ad263613078e2">grpc_mdelem_list</a></td></tr>
<tr class="separator:ae2b8aff92cbac9a99f3ad263613078e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3025731d8e4db9ecd7eb46d10f613410"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#a3025731d8e4db9ecd7eb46d10f613410">grpc_metadata_batch</a></td></tr>
<tr class="separator:a3025731d8e4db9ecd7eb46d10f613410"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca8c5433826e85b51970530c1c8ce127"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structgrpc__stream__op.html">grpc_stream_op</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#aca8c5433826e85b51970530c1c8ce127">grpc_stream_op</a></td></tr>
<tr class="separator:aca8c5433826e85b51970530c1c8ce127"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1adfdd2ef9e01a35217bb00ca27c48c5"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
<a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#a1adfdd2ef9e01a35217bb00ca27c48c5">grpc_stream_op_buffer</a></td></tr>
<tr class="memdesc:a1adfdd2ef9e01a35217bb00ca27c48c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">A stream op buffer is a wrapper around stream operations that is dynamically extendable. <a href="#a1adfdd2ef9e01a35217bb00ca27c48c5">More...</a><br/></td></tr>
<tr class="separator:a1adfdd2ef9e01a35217bb00ca27c48c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:af16e06eb1edfe4d93509276f32ed3804"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#af16e06eb1edfe4d93509276f32ed3804">grpc_stream_op_code</a> { <a class="el" href="stream__op_8h.html#af16e06eb1edfe4d93509276f32ed3804a09d4ac20ba57d42ac1d0aea1fcfc2a7c">GRPC_NO_OP</a>,
<a class="el" href="stream__op_8h.html#af16e06eb1edfe4d93509276f32ed3804a405236323f1ebdce743e0b045fda2317">GRPC_OP_METADATA</a>,
<a class="el" href="stream__op_8h.html#af16e06eb1edfe4d93509276f32ed3804a145ba48de2683f4943979f1184c17b31">GRPC_OP_BEGIN_MESSAGE</a>,
<a class="el" href="stream__op_8h.html#af16e06eb1edfe4d93509276f32ed3804a515547554d32135caeef6aa6f28fe0c6">GRPC_OP_SLICE</a>
}</td></tr>
<tr class="separator:af16e06eb1edfe4d93509276f32ed3804"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a56d5ee4a6e415827935accfe449dc770"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#a56d5ee4a6e415827935accfe449dc770">grpc_metadata_batch_init</a> (<a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *batch)</td></tr>
<tr class="separator:a56d5ee4a6e415827935accfe449dc770"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc4867b9d7a952f003c5494120b59c08"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#afc4867b9d7a952f003c5494120b59c08">grpc_metadata_batch_destroy</a> (<a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *batch)</td></tr>
<tr class="separator:afc4867b9d7a952f003c5494120b59c08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf6ee05d9443f295076015da3428f12a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#adf6ee05d9443f295076015da3428f12a">grpc_metadata_batch_merge</a> (<a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *target, <a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *add)</td></tr>
<tr class="separator:adf6ee05d9443f295076015da3428f12a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a719845dfd6b62fb62a75d9776396154e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#a719845dfd6b62fb62a75d9776396154e">grpc_metadata_batch_move</a> (<a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *dst, <a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *src)</td></tr>
<tr class="memdesc:a719845dfd6b62fb62a75d9776396154e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Moves the metadata information from <em>src</em> to <em>dst</em>. <a href="#a719845dfd6b62fb62a75d9776396154e">More...</a><br/></td></tr>
<tr class="separator:a719845dfd6b62fb62a75d9776396154e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c6af9205b51577ab879b07d9954d32b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#a8c6af9205b51577ab879b07d9954d32b">grpc_metadata_batch_link_head</a> (<a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *batch, <a class="el" href="structgrpc__linked__mdelem.html">grpc_linked_mdelem</a> *storage)</td></tr>
<tr class="memdesc:a8c6af9205b51577ab879b07d9954d32b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add <em>storage</em> to the beginning of <em>batch</em>. <a href="#a8c6af9205b51577ab879b07d9954d32b">More...</a><br/></td></tr>
<tr class="separator:a8c6af9205b51577ab879b07d9954d32b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a07ac989d86142e60bd17525f7f509e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#a6a07ac989d86142e60bd17525f7f509e">grpc_metadata_batch_link_tail</a> (<a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *batch, <a class="el" href="structgrpc__linked__mdelem.html">grpc_linked_mdelem</a> *storage)</td></tr>
<tr class="memdesc:a6a07ac989d86142e60bd17525f7f509e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add <em>storage</em> to the end of <em>batch</em>. <a href="#a6a07ac989d86142e60bd17525f7f509e">More...</a><br/></td></tr>
<tr class="separator:a6a07ac989d86142e60bd17525f7f509e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a845453663a8db6cd2624ed92d63b2003"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#a845453663a8db6cd2624ed92d63b2003">grpc_metadata_batch_add_head</a> (<a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *batch, <a class="el" href="structgrpc__linked__mdelem.html">grpc_linked_mdelem</a> *storage, <a class="el" href="structgrpc__mdelem.html">grpc_mdelem</a> *elem_to_add)</td></tr>
<tr class="memdesc:a845453663a8db6cd2624ed92d63b2003"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add <em>elem_to_add</em> as the first element in <em>batch</em>, using <em>storage</em> as backing storage for the linked list element. <a href="#a845453663a8db6cd2624ed92d63b2003">More...</a><br/></td></tr>
<tr class="separator:a845453663a8db6cd2624ed92d63b2003"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31f318cbb2f1fdb6372fdc4891e74d01"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#a31f318cbb2f1fdb6372fdc4891e74d01">grpc_metadata_batch_add_tail</a> (<a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *batch, <a class="el" href="structgrpc__linked__mdelem.html">grpc_linked_mdelem</a> *storage, <a class="el" href="structgrpc__mdelem.html">grpc_mdelem</a> *elem_to_add)</td></tr>
<tr class="memdesc:a31f318cbb2f1fdb6372fdc4891e74d01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add <em>elem_to_add</em> as the last element in <em>batch</em>, using <em>storage</em> as backing storage for the linked list element. <a href="#a31f318cbb2f1fdb6372fdc4891e74d01">More...</a><br/></td></tr>
<tr class="separator:a31f318cbb2f1fdb6372fdc4891e74d01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a754411d9f54fc8762416abf0c148afcf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#a754411d9f54fc8762416abf0c148afcf">grpc_metadata_batch_filter</a> (<a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *batch, <a class="el" href="structgrpc__mdelem.html">grpc_mdelem</a> *(*filter)(void *user_data, <a class="el" href="structgrpc__mdelem.html">grpc_mdelem</a> *elem), void *user_data)</td></tr>
<tr class="memdesc:a754411d9f54fc8762416abf0c148afcf"><td class="mdescLeft">&#160;</td><td class="mdescRight">For each element in <em>batch</em>, execute <em>filter</em>. <a href="#a754411d9f54fc8762416abf0c148afcf">More...</a><br/></td></tr>
<tr class="separator:a754411d9f54fc8762416abf0c148afcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a64e7ada80969b3d280529a5362505a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#a3a64e7ada80969b3d280529a5362505a">grpc_metadata_batch_assert_ok</a> (<a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *comd)</td></tr>
<tr class="separator:a3a64e7ada80969b3d280529a5362505a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac06c5c016030ab760ce1c190ea9c0935"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#ac06c5c016030ab760ce1c190ea9c0935">grpc_sopb_init</a> (<a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *sopb)</td></tr>
<tr class="separator:ac06c5c016030ab760ce1c190ea9c0935"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef34bb8bc5d02c10304fa93de76604d1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#aef34bb8bc5d02c10304fa93de76604d1">grpc_sopb_destroy</a> (<a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *sopb)</td></tr>
<tr class="separator:aef34bb8bc5d02c10304fa93de76604d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ee9a1ac0aaa49250f4e6cbc78a88b8e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#a9ee9a1ac0aaa49250f4e6cbc78a88b8e">grpc_sopb_reset</a> (<a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *sopb)</td></tr>
<tr class="separator:a9ee9a1ac0aaa49250f4e6cbc78a88b8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cb541de7ea2c0e11ab9bc199fd6eeeb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#a2cb541de7ea2c0e11ab9bc199fd6eeeb">grpc_sopb_swap</a> (<a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *a, <a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *b)</td></tr>
<tr class="separator:a2cb541de7ea2c0e11ab9bc199fd6eeeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af06b21376669ed6bf358f50a57e02d9d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#af06b21376669ed6bf358f50a57e02d9d">grpc_stream_ops_unref_owned_objects</a> (<a class="el" href="structgrpc__stream__op.html">grpc_stream_op</a> *ops, size_t nops)</td></tr>
<tr class="separator:af06b21376669ed6bf358f50a57e02d9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe45d7a6778fc0e248e490dfb635d850"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#abe45d7a6778fc0e248e490dfb635d850">grpc_sopb_add_no_op</a> (<a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *sopb)</td></tr>
<tr class="separator:abe45d7a6778fc0e248e490dfb635d850"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b1565cc1ec9aba1eef5c21318e088b9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#a6b1565cc1ec9aba1eef5c21318e088b9">grpc_sopb_add_begin_message</a> (<a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *sopb, <a class="el" href="port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9">gpr_uint32</a> length, <a class="el" href="port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9">gpr_uint32</a> flags)</td></tr>
<tr class="separator:a6b1565cc1ec9aba1eef5c21318e088b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73441361d99158dbb24302cd0c8f4abb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#a73441361d99158dbb24302cd0c8f4abb">grpc_sopb_add_metadata</a> (<a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *sopb, <a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> metadata)</td></tr>
<tr class="separator:a73441361d99158dbb24302cd0c8f4abb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2a412545fb6bb4055f3437f1d261f69"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#aa2a412545fb6bb4055f3437f1d261f69">grpc_sopb_add_slice</a> (<a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *sopb, <a class="el" href="structgpr__slice.html">gpr_slice</a> slice)</td></tr>
<tr class="separator:aa2a412545fb6bb4055f3437f1d261f69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55100e31b3cc23733ba42bb5e2f38818"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#a55100e31b3cc23733ba42bb5e2f38818">grpc_sopb_append</a> (<a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *sopb, <a class="el" href="structgrpc__stream__op.html">grpc_stream_op</a> *ops, size_t nops)</td></tr>
<tr class="separator:a55100e31b3cc23733ba42bb5e2f38818"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf812a361634fee304b636fccde7c934"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#abf812a361634fee304b636fccde7c934">grpc_sopb_move_to</a> (<a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *src, <a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *dst)</td></tr>
<tr class="separator:abf812a361634fee304b636fccde7c934"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a225a70176577da4097ecad0b8c647fee"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__op_8h.html#a225a70176577da4097ecad0b8c647fee">grpc_sopb_string</a> (<a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *sopb)</td></tr>
<tr class="separator:a225a70176577da4097ecad0b8c647fee"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a3fc30a237ae8cb1eb4b9925a1835b8ca"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GRPC_SOPB_INLINE_ELEMENTS&#160;&#160;&#160;4</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a9d51ace7a6bdbf212ee6843952977c35"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GRPC_WRITE_INTERNAL_COMPRESS&#160;&#160;&#160;(0x80000000u)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Internal bit flag for <a class="el" href="structgrpc__begin__message.html">grpc_begin_message</a>'s <em>flags</em> signaling the use of compression for the message. </p>
</div>
</div>
<a class="anchor" id="a7acab698fedc01eca6138c3e30056ff1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GRPC_WRITE_INTERNAL_USED_MASK&#160;&#160;&#160;(<a class="el" href="stream__op_8h.html#a9d51ace7a6bdbf212ee6843952977c35">GRPC_WRITE_INTERNAL_COMPRESS</a>)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Mask of all valid internal flags. </p>
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="a6d154e209d826dcf514850c6724d3596"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structgrpc__begin__message.html">grpc_begin_message</a> <a class="el" href="structgrpc__begin__message.html">grpc_begin_message</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="abebf5d5730a7a3aeaf9d6ee5436ddfa2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structgrpc__linked__mdelem.html">grpc_linked_mdelem</a> <a class="el" href="structgrpc__linked__mdelem.html">grpc_linked_mdelem</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ae2b8aff92cbac9a99f3ad263613078e2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structgrpc__mdelem__list.html">grpc_mdelem_list</a> <a class="el" href="structgrpc__mdelem__list.html">grpc_mdelem_list</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a3025731d8e4db9ecd7eb46d10f613410"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> <a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aca8c5433826e85b51970530c1c8ce127"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structgrpc__stream__op.html">grpc_stream_op</a> <a class="el" href="structgrpc__stream__op.html">grpc_stream_op</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a1adfdd2ef9e01a35217bb00ca27c48c5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> <a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>A stream op buffer is a wrapper around stream operations that is dynamically extendable. </p>
</div>
</div>
<a class="anchor" id="aae7f77961eb1741340666865ab0c5fc7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="stream__op_8h.html#af16e06eb1edfe4d93509276f32ed3804">grpc_stream_op_code</a> <a class="el" href="stream__op_8h.html#af16e06eb1edfe4d93509276f32ed3804">grpc_stream_op_code</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="af16e06eb1edfe4d93509276f32ed3804"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="stream__op_8h.html#af16e06eb1edfe4d93509276f32ed3804">grpc_stream_op_code</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="af16e06eb1edfe4d93509276f32ed3804a09d4ac20ba57d42ac1d0aea1fcfc2a7c"></a>GRPC_NO_OP</em>&#160;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="af16e06eb1edfe4d93509276f32ed3804a405236323f1ebdce743e0b045fda2317"></a>GRPC_OP_METADATA</em>&#160;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="af16e06eb1edfe4d93509276f32ed3804a145ba48de2683f4943979f1184c17b31"></a>GRPC_OP_BEGIN_MESSAGE</em>&#160;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="af16e06eb1edfe4d93509276f32ed3804a515547554d32135caeef6aa6f28fe0c6"></a>GRPC_OP_SLICE</em>&#160;</td><td class="fielddoc">
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a845453663a8db6cd2624ed92d63b2003"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc_metadata_batch_add_head </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *&#160;</td>
<td class="paramname"><em>batch</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structgrpc__linked__mdelem.html">grpc_linked_mdelem</a> *&#160;</td>
<td class="paramname"><em>storage</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structgrpc__mdelem.html">grpc_mdelem</a> *&#160;</td>
<td class="paramname"><em>elem_to_add</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add <em>elem_to_add</em> as the first element in <em>batch</em>, using <em>storage</em> as backing storage for the linked list element. </p>
<p><em>storage</em> is owned by the caller and must survive for the lifetime of batch. This usually means it should be around for the lifetime of the call. Takes ownership of <em>elem_to_add</em> </p>
</div>
</div>
<a class="anchor" id="a31f318cbb2f1fdb6372fdc4891e74d01"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc_metadata_batch_add_tail </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *&#160;</td>
<td class="paramname"><em>batch</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structgrpc__linked__mdelem.html">grpc_linked_mdelem</a> *&#160;</td>
<td class="paramname"><em>storage</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structgrpc__mdelem.html">grpc_mdelem</a> *&#160;</td>
<td class="paramname"><em>elem_to_add</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add <em>elem_to_add</em> as the last element in <em>batch</em>, using <em>storage</em> as backing storage for the linked list element. </p>
<p><em>storage</em> is owned by the caller and must survive for the lifetime of batch. This usually means it should be around for the lifetime of the call. Takes ownership of <em>elem_to_add</em> </p>
</div>
</div>
<a class="anchor" id="a3a64e7ada80969b3d280529a5362505a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc_metadata_batch_assert_ok </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *&#160;</td>
<td class="paramname"><em>comd</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="afc4867b9d7a952f003c5494120b59c08"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc_metadata_batch_destroy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *&#160;</td>
<td class="paramname"><em>batch</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a754411d9f54fc8762416abf0c148afcf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc_metadata_batch_filter </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *&#160;</td>
<td class="paramname"><em>batch</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structgrpc__mdelem.html">grpc_mdelem</a> *(*)(void *user_data, <a class="el" href="structgrpc__mdelem.html">grpc_mdelem</a> *elem)&#160;</td>
<td class="paramname"><em>filter</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>user_data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>For each element in <em>batch</em>, execute <em>filter</em>. </p>
<p>The return value from <em>filter</em> will be substituted for the <a class="el" href="structgrpc__mdelem.html">grpc_mdelem</a> passed to <em>filter</em>. If <em>filter</em> returns NULL, the element will be moved to the garbage list. </p>
</div>
</div>
<a class="anchor" id="a56d5ee4a6e415827935accfe449dc770"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc_metadata_batch_init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *&#160;</td>
<td class="paramname"><em>batch</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a8c6af9205b51577ab879b07d9954d32b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc_metadata_batch_link_head </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *&#160;</td>
<td class="paramname"><em>batch</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structgrpc__linked__mdelem.html">grpc_linked_mdelem</a> *&#160;</td>
<td class="paramname"><em>storage</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add <em>storage</em> to the beginning of <em>batch</em>. </p>
<p>storage-&gt;md is assumed to be valid. <em>storage</em> is owned by the caller and must survive for the lifetime of batch. This usually means it should be around for the lifetime of the call. </p>
</div>
</div>
<a class="anchor" id="a6a07ac989d86142e60bd17525f7f509e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc_metadata_batch_link_tail </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *&#160;</td>
<td class="paramname"><em>batch</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structgrpc__linked__mdelem.html">grpc_linked_mdelem</a> *&#160;</td>
<td class="paramname"><em>storage</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add <em>storage</em> to the end of <em>batch</em>. </p>
<p>storage-&gt;md is assumed to be valid. <em>storage</em> is owned by the caller and must survive for the lifetime of batch. This usually means it should be around for the lifetime of the call. </p>
</div>
</div>
<a class="anchor" id="adf6ee05d9443f295076015da3428f12a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc_metadata_batch_merge </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *&#160;</td>
<td class="paramname"><em>target</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *&#160;</td>
<td class="paramname"><em>add</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a719845dfd6b62fb62a75d9776396154e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc_metadata_batch_move </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a> *&#160;</td>
<td class="paramname"><em>src</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Moves the metadata information from <em>src</em> to <em>dst</em>. </p>
<p>Upon return, <em>src</em> is zeroed. </p>
</div>
</div>
<a class="anchor" id="a6b1565cc1ec9aba1eef5c21318e088b9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc_sopb_add_begin_message </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *&#160;</td>
<td class="paramname"><em>sopb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9">gpr_uint32</a>&#160;</td>
<td class="paramname"><em>length</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9">gpr_uint32</a>&#160;</td>
<td class="paramname"><em>flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a73441361d99158dbb24302cd0c8f4abb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc_sopb_add_metadata </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *&#160;</td>
<td class="paramname"><em>sopb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structgrpc__metadata__batch.html">grpc_metadata_batch</a>&#160;</td>
<td class="paramname"><em>metadata</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="abe45d7a6778fc0e248e490dfb635d850"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc_sopb_add_no_op </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *&#160;</td>
<td class="paramname"><em>sopb</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aa2a412545fb6bb4055f3437f1d261f69"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc_sopb_add_slice </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *&#160;</td>
<td class="paramname"><em>sopb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structgpr__slice.html">gpr_slice</a>&#160;</td>
<td class="paramname"><em>slice</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a55100e31b3cc23733ba42bb5e2f38818"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc_sopb_append </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *&#160;</td>
<td class="paramname"><em>sopb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structgrpc__stream__op.html">grpc_stream_op</a> *&#160;</td>
<td class="paramname"><em>ops</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>nops</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aef34bb8bc5d02c10304fa93de76604d1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc_sopb_destroy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *&#160;</td>
<td class="paramname"><em>sopb</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ac06c5c016030ab760ce1c190ea9c0935"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc_sopb_init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *&#160;</td>
<td class="paramname"><em>sopb</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="abf812a361634fee304b636fccde7c934"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc_sopb_move_to </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *&#160;</td>
<td class="paramname"><em>dst</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a9ee9a1ac0aaa49250f4e6cbc78a88b8e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc_sopb_reset </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *&#160;</td>
<td class="paramname"><em>sopb</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a225a70176577da4097ecad0b8c647fee"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* grpc_sopb_string </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *&#160;</td>
<td class="paramname"><em>sopb</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a2cb541de7ea2c0e11ab9bc199fd6eeeb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc_sopb_swap </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structgrpc__stream__op__buffer.html">grpc_stream_op_buffer</a> *&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af06b21376669ed6bf358f50a57e02d9d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc_stream_ops_unref_owned_objects </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__stream__op.html">grpc_stream_op</a> *&#160;</td>
<td class="paramname"><em>ops</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>nops</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:07 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>