| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650 | <!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: include/grpc/grpc.h Source File</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    <span id="projectnumber">0.12.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 Page</span></a></li>      <li><a href="annotated.html"><span>Data 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 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"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </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_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9d7a14d6d9adcbe4c35dbdb88d867e2e.html">grpc</a></li>  </ul></div></div><!-- top --><div class="header">  <div class="headertitle"><div class="title">grpc.h</div>  </div></div><!--header--><div class="contents"><a href="grpc_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment"> *</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment"> * Copyright 2015-2016, Google Inc.</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment"> * All rights reserved.</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment"> * Redistribution and use in source and binary forms, with or without</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment"> * modification, are permitted provided that the following conditions are</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment"> * met:</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment"> *     * Redistributions of source code must retain the above copyright</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment"> * notice, this list of conditions and the following disclaimer.</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment"> *     * Redistributions in binary form must reproduce the above</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="comment"> * copyright notice, this list of conditions and the following disclaimer</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="comment"> * in the documentation and/or other materials provided with the</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="comment"> * distribution.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="comment"> *     * Neither the name of Google Inc. nor the names of its</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="comment"> * contributors may be used to endorse or promote products derived from</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="comment"> * this software without specific prior written permission.</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="comment"> *</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="comment"> * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="comment"> *</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span> <span class="comment"> */</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span> </div><div class="line"><a name="l00034"></a><span class="lineno">   34</span> <span class="preprocessor">#ifndef GRPC_GRPC_H</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span> <span class="preprocessor"></span><span class="preprocessor">#define GRPC_GRPC_H</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span> <span class="preprocessor"></span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span> <span class="preprocessor">#include <<a class="code" href="status_8h.html">grpc/status.h</a>></span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span> </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span> <span class="preprocessor">#include <stddef.h></span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span> <span class="preprocessor">#include <<a class="code" href="byte__buffer_8h.html">grpc/byte_buffer.h</a>></span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span> <span class="preprocessor">#include <<a class="code" href="slice_8h.html">grpc/support/slice.h</a>></span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span> <span class="preprocessor">#include <<a class="code" href="time_8h.html">grpc/support/time.h</a>></span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span> </div><div class="line"><a name="l00044"></a><span class="lineno">   44</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span> <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span> <span class="preprocessor"></span></div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="grpc_8h.html#a895faab0e6035445750e43482651ba2f">   57</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> <a class="code" href="grpc_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a>;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span> </div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="grpc_8h.html#a09ce3d7fa6473ac1cb39692adf257a13">   60</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc_8h.html#a09ce3d7fa6473ac1cb39692adf257a13">grpc_alarm</a> <a class="code" href="grpc_8h.html#a09ce3d7fa6473ac1cb39692adf257a13">grpc_alarm</a>;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span> </div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="grpc_8h.html#a432bfa6b9f6603643cdf9de8804c254e">   63</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> <a class="code" href="grpc_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a>;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span> </div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="grpc_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">   66</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> <a class="code" href="grpc_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a>;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span> </div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="grpc_8h.html#a122f8f4f0a585396d993d9b55848f222">   71</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> <a class="code" href="grpc_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a>;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span> </div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593">   74</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a215b6b9143ba133ede0e29f79098239d">   75</a></span>   <a class="code" href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a215b6b9143ba133ede0e29f79098239d">GRPC_ARG_STRING</a>,</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a8d2f803b8aaf88f34dac1f887826c689">   76</a></span>   <a class="code" href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a8d2f803b8aaf88f34dac1f887826c689">GRPC_ARG_INTEGER</a>,</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a02a823a7037e2a60b9d9a031fd42591b">   77</a></span>   <a class="code" href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a02a823a7037e2a60b9d9a031fd42591b">GRPC_ARG_POINTER</a></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span> } <a class="code" href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593">grpc_arg_type</a>;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span> </div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="structgrpc__arg.html">   92</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#aa26f2d3c4b1649c9eb061d24a8c10fd4">   93</a></span>   <a class="code" href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593">grpc_arg_type</a> <a class="code" href="structgrpc__arg.html#aa26f2d3c4b1649c9eb061d24a8c10fd4">type</a>;</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#aeb230fbd50daacfe654abc3500a44968">   94</a></span>   <span class="keywordtype">char</span> *<a class="code" href="structgrpc__arg.html#aeb230fbd50daacfe654abc3500a44968">key</a>;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>   <span class="keyword">union </span>{</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#a05bc3701718db73608ef3598480e8fa8">   96</a></span>     <span class="keywordtype">char</span> *<a class="code" href="structgrpc__arg.html#a05bc3701718db73608ef3598480e8fa8">string</a>;</div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#a6871bfca9c52e7f56abbd71c81d97554">   97</a></span>     <span class="keywordtype">int</span> <a class="code" href="structgrpc__arg.html#a6871bfca9c52e7f56abbd71c81d97554">integer</a>;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>     <span class="keyword">struct </span>{</div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#aab5d11432a11b03a53e5d959d9a5328d">   99</a></span>       <span class="keywordtype">void</span> *<a class="code" href="structgrpc__arg.html#aab5d11432a11b03a53e5d959d9a5328d">p</a>;</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#abef4f8be0109b19fcbe7f614f1243303">  100</a></span>       <span class="keywordtype">void</span> *(*copy)(<span class="keywordtype">void</span> *p);</div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#a15c9a748974a6ac525074f3ed1e04eb4">  101</a></span>       void (*destroy)(<span class="keywordtype">void</span> *p);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>     } pointer;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>   } value;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span> } <a class="code" href="structgrpc__arg.html">grpc_arg</a>;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span> </div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="structgrpc__channel__args.html">  114</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="structgrpc__channel__args.html#a41e5d0b22449f062b3a7798dd528afde">  115</a></span>   <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__channel__args.html#a41e5d0b22449f062b3a7798dd528afde">num_args</a>;</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="structgrpc__channel__args.html#a05aa7aeb14aa9ae5f4d6a34f5c222b76">  116</a></span>   <a class="code" href="structgrpc__arg.html">grpc_arg</a> *<a class="code" href="structgrpc__channel__args.html#a05aa7aeb14aa9ae5f4d6a34f5c222b76">args</a>;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span> } <a class="code" href="structgrpc__channel__args.html">grpc_channel_args</a>;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span> </div><div class="line"><a name="l00119"></a><span class="lineno">  119</span> <span class="comment">/* Channel argument keys: */</span></div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="grpc_8h.html#ae498934a02de89ce29cec570b02a2037">  121</a></span> <span class="preprocessor">#define GRPC_ARG_ENABLE_CENSUS "grpc.census"</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span> <span class="preprocessor"></span></div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="grpc_8h.html#a5bb9256d0b457cab219f4d9d765148b6">  124</a></span> <span class="preprocessor">#define GRPC_ARG_MAX_CONCURRENT_STREAMS "grpc.max_concurrent_streams"</span></div><div class="line"><a name="l00125"></a><span class="lineno">  125</span> <span class="preprocessor"></span></div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="grpc_8h.html#a50f37feb7c000a23b3b0edf4c31d4367">  126</a></span> <span class="preprocessor">#define GRPC_ARG_MAX_MESSAGE_LENGTH "grpc.max_message_length"</span></div><div class="line"><a name="l00127"></a><span class="lineno">  127</span> <span class="preprocessor"></span></div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="grpc_8h.html#aecc45a63163796ca1bc5453938bdfb36">  128</a></span> <span class="preprocessor">#define GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER \</span></div><div class="line"><a name="l00129"></a><span class="lineno">  129</span> <span class="preprocessor">  "grpc.http2.initial_sequence_number"</span></div><div class="line"><a name="l00130"></a><span class="lineno">  130</span> <span class="preprocessor"></span></div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="grpc_8h.html#ac02673f790cd2e8616e03aa010be67d6">  134</a></span> <span class="preprocessor">#define GRPC_ARG_HTTP2_STREAM_LOOKAHEAD_BYTES "grpc.http2.lookahead_bytes"</span></div><div class="line"><a name="l00135"></a><span class="lineno">  135</span> <span class="preprocessor"></span></div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="grpc_8h.html#a216089aecb45149441024ffe5542cbaf">  136</a></span> <span class="preprocessor">#define GRPC_ARG_HTTP2_HPACK_TABLE_SIZE_DECODER \</span></div><div class="line"><a name="l00137"></a><span class="lineno">  137</span> <span class="preprocessor">  "grpc.http2.hpack_table_size.decoder"</span></div><div class="line"><a name="l00138"></a><span class="lineno">  138</span> <span class="preprocessor"></span></div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="grpc_8h.html#aab50fc8faf9f04675a9fefa9d631e362">  139</a></span> <span class="preprocessor">#define GRPC_ARG_HTTP2_HPACK_TABLE_SIZE_ENCODER \</span></div><div class="line"><a name="l00140"></a><span class="lineno">  140</span> <span class="preprocessor">  "grpc.http2.hpack_table_size.encoder"</span></div><div class="line"><a name="l00141"></a><span class="lineno">  141</span> <span class="preprocessor"></span></div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="grpc_8h.html#add42f97666fbfc66b7dac253ac3b73ae">  142</a></span> <span class="preprocessor">#define GRPC_ARG_DEFAULT_AUTHORITY "grpc.default_authority"</span></div><div class="line"><a name="l00143"></a><span class="lineno">  143</span> <span class="preprocessor"></span></div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0732df2d9003e9ee1c01e50e41b5a8e2">  145</a></span> <span class="preprocessor">#define GRPC_ARG_PRIMARY_USER_AGENT_STRING "grpc.primary_user_agent"</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span> <span class="preprocessor"></span></div><div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="grpc_8h.html#af47b4048c11e4f8f4162f12c135c2da4">  148</a></span> <span class="preprocessor">#define GRPC_ARG_SECONDARY_USER_AGENT_STRING "grpc.secondary_user_agent"</span></div><div class="line"><a name="l00149"></a><span class="lineno">  149</span> <span class="preprocessor"></span><span class="comment">/* The caller of the secure_channel_create functions may override the target</span></div><div class="line"><a name="l00150"></a><span class="lineno">  150</span> <span class="comment">   name used for SSL host name checking using this channel argument which is of</span></div><div class="line"><a name="l00151"></a><span class="lineno">  151</span> <span class="comment">   type GRPC_ARG_STRING. This *should* be used for testing only.</span></div><div class="line"><a name="l00152"></a><span class="lineno">  152</span> <span class="comment">   If this argument is not specified, the name used for SSL host name checking</span></div><div class="line"><a name="l00153"></a><span class="lineno">  153</span> <span class="comment">   will be the target parameter (assuming that the secure channel is an SSL</span></div><div class="line"><a name="l00154"></a><span class="lineno">  154</span> <span class="comment">   channel). If this parameter is specified and the underlying is not an SSL</span></div><div class="line"><a name="l00155"></a><span class="lineno">  155</span> <span class="comment">   channel, it will just be ignored. */</span></div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="grpc_8h.html#a218bf55b665134a11baf07ada5980825">  156</a></span> <span class="preprocessor">#define GRPC_SSL_TARGET_NAME_OVERRIDE_ARG "grpc.ssl_target_name_override"</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span> <span class="preprocessor"></span></div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2">  159</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a304d1b81cec4357a9a6acbcb18248e77">  161</a></span>   <a class="code" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a304d1b81cec4357a9a6acbcb18248e77">GRPC_CHANNEL_IDLE</a>,</div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a3ac13f6c7627f15186760bfd6b7d9299">  163</a></span>   <a class="code" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a3ac13f6c7627f15186760bfd6b7d9299">GRPC_CHANNEL_CONNECTING</a>,</div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2aab01ef3f78d9236dfa3c751dc66aa7ea">  165</a></span>   <a class="code" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2aab01ef3f78d9236dfa3c751dc66aa7ea">GRPC_CHANNEL_READY</a>,</div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2af5bffd3ffb03795f551b0fa78e44b9b6">  167</a></span>   <a class="code" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2af5bffd3ffb03795f551b0fa78e44b9b6">GRPC_CHANNEL_TRANSIENT_FAILURE</a>,</div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a8f774ebe233ee26ebd546fe4b58060b6">  169</a></span>   <a class="code" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a8f774ebe233ee26ebd546fe4b58060b6">GRPC_CHANNEL_FATAL_FAILURE</a></div><div class="line"><a name="l00170"></a><span class="lineno">  170</span> } <a class="code" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2">grpc_connectivity_state</a>;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span> </div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">  176</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> {</div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba32f125b97007cbdb43534e9d6e0989f8">  178</a></span>   <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba32f125b97007cbdb43534e9d6e0989f8">GRPC_CALL_OK</a> = 0,</div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba86e7b6bf1fe5dec17fc08ba2f77d1b41">  180</a></span>   <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba86e7b6bf1fe5dec17fc08ba2f77d1b41">GRPC_CALL_ERROR</a>,</div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba1a48e861db610ae8f0b0cba7749251d8">  182</a></span>   <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba1a48e861db610ae8f0b0cba7749251d8">GRPC_CALL_ERROR_NOT_ON_SERVER</a>,</div><div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7ba38ea119e00e8b4d10211f4ced9ef6">  184</a></span>   <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7ba38ea119e00e8b4d10211f4ced9ef6">GRPC_CALL_ERROR_NOT_ON_CLIENT</a>,</div><div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba2f6f332e63eb94df8abedfddb96ae63a">  186</a></span>   <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba2f6f332e63eb94df8abedfddb96ae63a">GRPC_CALL_ERROR_ALREADY_ACCEPTED</a>,</div><div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba042165aa26653c844a846d188f722857">  188</a></span>   <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba042165aa26653c844a846d188f722857">GRPC_CALL_ERROR_ALREADY_INVOKED</a>,</div><div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba6113860606450e3a3fa40ddf46749296">  190</a></span>   <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba6113860606450e3a3fa40ddf46749296">GRPC_CALL_ERROR_NOT_INVOKED</a>,</div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba21256301a6038a6a03fc8444ddd08c63">  193</a></span>   <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba21256301a6038a6a03fc8444ddd08c63">GRPC_CALL_ERROR_ALREADY_FINISHED</a>,</div><div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7e09791915b841c30e9d79c26a5a6454">  195</a></span>   <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7e09791915b841c30e9d79c26a5a6454">GRPC_CALL_ERROR_TOO_MANY_OPERATIONS</a>,</div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bae915786320e24eff4f1e05852d40f861">  197</a></span>   <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bae915786320e24eff4f1e05852d40f861">GRPC_CALL_ERROR_INVALID_FLAGS</a>,</div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba13f469c7761a672240ddfe29f85729bd">  199</a></span>   <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba13f469c7761a672240ddfe29f85729bd">GRPC_CALL_ERROR_INVALID_METADATA</a>,</div><div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7dfc7fe11288dd7a30a8f07b890c9c5b">  201</a></span>   <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7dfc7fe11288dd7a30a8f07b890c9c5b">GRPC_CALL_ERROR_INVALID_MESSAGE</a>,</div><div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bade52e850722f80804d90881ac125706f">  204</a></span>   <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bade52e850722f80804d90881ac125706f">GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE</a>,</div><div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba906d5d530b249b5b853595e424ec400b">  206</a></span>   <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba906d5d530b249b5b853595e424ec400b">GRPC_CALL_ERROR_BATCH_TOO_BIG</a></div><div class="line"><a name="l00207"></a><span class="lineno">  207</span> } <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a>;</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span> </div><div class="line"><a name="l00209"></a><span class="lineno">  209</span> <span class="comment">/* Write Flags: */</span></div><div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="grpc_8h.html#adf29fd8b7df2ecc47d14a7f5a3a079c0">  213</a></span> <span class="preprocessor">#define GRPC_WRITE_BUFFER_HINT (0x00000001u)</span></div><div class="line"><a name="l00214"></a><span class="lineno">  214</span> <span class="preprocessor"></span></div><div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="grpc_8h.html#ae09000181671f031ed0e319ed557da4e">  216</a></span> <span class="preprocessor">#define GRPC_WRITE_NO_COMPRESS (0x00000002u)</span></div><div class="line"><a name="l00217"></a><span class="lineno">  217</span> <span class="preprocessor"></span></div><div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="grpc_8h.html#a3317259e1098b2b6f49982d6997bbf6a">  218</a></span> <span class="preprocessor">#define GRPC_WRITE_USED_MASK (GRPC_WRITE_BUFFER_HINT | GRPC_WRITE_NO_COMPRESS)</span></div><div class="line"><a name="l00219"></a><span class="lineno">  219</span> <span class="preprocessor"></span></div><div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="structgrpc__metadata.html">  221</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__metadata.html">grpc_metadata</a> {</div><div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="structgrpc__metadata.html#abe93a3d24cd534d9387e05ad1f0b36f7">  222</a></span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structgrpc__metadata.html#abe93a3d24cd534d9387e05ad1f0b36f7">key</a>;</div><div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="structgrpc__metadata.html#a57b63d7b7a3e4720a0cc0d20bb2ecf36">  223</a></span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structgrpc__metadata.html#a57b63d7b7a3e4720a0cc0d20bb2ecf36">value</a>;</div><div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="structgrpc__metadata.html#a2084add9ffe64cf337576114d189af3f">  224</a></span>   <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__metadata.html#a2084add9ffe64cf337576114d189af3f">value_length</a>;</div><div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="structgrpc__metadata.html#abc971ca331d3382b313cb8170df4387b">  225</a></span>   <a class="code" href="port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9">gpr_uint32</a> <a class="code" href="structgrpc__metadata.html#abc971ca331d3382b313cb8170df4387b">flags</a>;</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span> </div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>   <span class="keyword">struct </span>{</div><div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="structgrpc__metadata.html#a737f2161d2ccc9da44f340d923c97658">  231</a></span>     <span class="keywordtype">void</span> *<a class="code" href="structgrpc__metadata.html#a737f2161d2ccc9da44f340d923c97658">obfuscated</a>[4];</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>   } <a class="code" href="structgrpc__metadata.html#aa2a2ac89c9edd9326dc7dc59e2f9295c">internal_data</a>;</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span> } <a class="code" href="grpc_8h.html#a1da84eaead787d991c5a0c87aed7c30b">grpc_metadata</a>;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span> </div><div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87">  236</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87">grpc_completion_type</a> {</div><div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a503dd1b2ec79457f0f810716016219d5">  238</a></span>   <a class="code" href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a503dd1b2ec79457f0f810716016219d5">GRPC_QUEUE_SHUTDOWN</a>,</div><div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a4339ea61236e103b6555fdf9b6cffab6">  240</a></span>   <a class="code" href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a4339ea61236e103b6555fdf9b6cffab6">GRPC_QUEUE_TIMEOUT</a>,</div><div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a00b42e3d4b6e6493c6e76f1adf07b297">  242</a></span>   <a class="code" href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a00b42e3d4b6e6493c6e76f1adf07b297">GRPC_OP_COMPLETE</a></div><div class="line"><a name="l00243"></a><span class="lineno">  243</span> } <a class="code" href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87">grpc_completion_type</a>;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span> </div><div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="structgrpc__event.html">  248</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__event.html">grpc_event</a> {</div><div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="structgrpc__event.html#a8e7f571b759f55db4f6bebc2a4f56ad7">  250</a></span>   <a class="code" href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87">grpc_completion_type</a> <a class="code" href="structgrpc__event.html#a8e7f571b759f55db4f6bebc2a4f56ad7">type</a>;</div><div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="structgrpc__event.html#a99d4215e5df50869af320b1cca5540db">  253</a></span>   <span class="keywordtype">int</span> <a class="code" href="structgrpc__event.html#a99d4215e5df50869af320b1cca5540db">success</a>;</div><div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="structgrpc__event.html#a883ab15e862db582116c72cdcdc4c201">  256</a></span>   <span class="keywordtype">void</span> *<a class="code" href="structgrpc__event.html#a883ab15e862db582116c72cdcdc4c201">tag</a>;</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span> } <a class="code" href="grpc_8h.html#a07990645ca218f6965fd83edf3f421b7">grpc_event</a>;</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span> </div><div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="structgrpc__metadata__array.html">  259</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="structgrpc__metadata__array.html#a314ce51b22a5934cc672f3736d44b9e4">  260</a></span>   <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__metadata__array.html#a314ce51b22a5934cc672f3736d44b9e4">count</a>;</div><div class="line"><a name="l00261"></a><span class="lineno"><a class="line" href="structgrpc__metadata__array.html#a5b293b4f8e734b032b80741abf538a97">  261</a></span>   <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__metadata__array.html#a5b293b4f8e734b032b80741abf538a97">capacity</a>;</div><div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="structgrpc__metadata__array.html#ac930a0cc901913fafcd09ca9cca156fe">  262</a></span>   <a class="code" href="structgrpc__metadata.html">grpc_metadata</a> *<a class="code" href="structgrpc__metadata__array.html#ac930a0cc901913fafcd09ca9cca156fe">metadata</a>;</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span> } <a class="code" href="structgrpc__metadata__array.html">grpc_metadata_array</a>;</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span> </div><div class="line"><a name="l00265"></a><span class="lineno">  265</span> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a52cfda44034115720a0e88037dedbfb5">grpc_metadata_array_init</a>(<a class="code" href="structgrpc__metadata__array.html">grpc_metadata_array</a> *array);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#aad125726d8b689cc5fc1a0444c91ed44">grpc_metadata_array_destroy</a>(<a class="code" href="structgrpc__metadata__array.html">grpc_metadata_array</a> *array);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span> </div><div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html">  268</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html#a97c8019d8fa7cbe2014d97c91f9ed0a5">  269</a></span>   <span class="keywordtype">char</span> *<a class="code" href="structgrpc__call__details.html#a97c8019d8fa7cbe2014d97c91f9ed0a5">method</a>;</div><div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html#a8a7da868f60a88f42918cc9bdd4d26c0">  270</a></span>   <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__call__details.html#a8a7da868f60a88f42918cc9bdd4d26c0">method_capacity</a>;</div><div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html#a869b5db96e2e0fbd573381e77b859631">  271</a></span>   <span class="keywordtype">char</span> *<a class="code" href="structgrpc__call__details.html#a869b5db96e2e0fbd573381e77b859631">host</a>;</div><div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html#aeab0d9e754bbb1aac1a21ad4ef63d8b1">  272</a></span>   <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__call__details.html#aeab0d9e754bbb1aac1a21ad4ef63d8b1">host_capacity</a>;</div><div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html#a6b72caadcf800d975987de18012f0f15">  273</a></span>   <a class="code" href="structgpr__timespec.html">gpr_timespec</a> <a class="code" href="structgrpc__call__details.html#a6b72caadcf800d975987de18012f0f15">deadline</a>;</div><div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html#a5c323f3f0c94cbb867f13453dd43dd9d">  274</a></span>   <span class="keywordtype">void</span> *<a class="code" href="structgrpc__call__details.html#a5c323f3f0c94cbb867f13453dd43dd9d">reserved</a>;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span> } <a class="code" href="structgrpc__call__details.html">grpc_call_details</a>;</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span> </div><div class="line"><a name="l00277"></a><span class="lineno">  277</span> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a29fa3bfb0a561ba465260154a4ef3bb5">grpc_call_details_init</a>(<a class="code" href="structgrpc__call__details.html">grpc_call_details</a> *details);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a436819189c9155a0761db7667f9078f9">grpc_call_details_destroy</a>(<a class="code" href="structgrpc__call__details.html">grpc_call_details</a> *details);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span> </div><div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939a">  280</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaf5bbedf13763c180b2f1ada62769d721">  285</a></span>   <a class="code" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaf5bbedf13763c180b2f1ada62769d721">GRPC_OP_SEND_INITIAL_METADATA</a> = 0,</div><div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaa6447181c20e4c6d64a54fae8082ef70">  289</a></span>   <a class="code" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaa6447181c20e4c6d64a54fae8082ef70">GRPC_OP_SEND_MESSAGE</a>,</div><div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa6c66420562347ff4dcf35e4b32c0d486">  295</a></span>   <a class="code" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa6c66420562347ff4dcf35e4b32c0d486">GRPC_OP_SEND_CLOSE_FROM_CLIENT</a>,</div><div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa3a3659314e7495b1cabed0f3a6705f64">  301</a></span>   <a class="code" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa3a3659314e7495b1cabed0f3a6705f64">GRPC_OP_SEND_STATUS_FROM_SERVER</a>,</div><div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaabe080072d165d1e69459abd7c742078">  306</a></span>   <a class="code" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaabe080072d165d1e69459abd7c742078">GRPC_OP_RECV_INITIAL_METADATA</a>,</div><div class="line"><a name="l00310"></a><span class="lineno"><a class="line" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aafe3da4c8865af4ef5258b3790d15afc5">  310</a></span>   <a class="code" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aafe3da4c8865af4ef5258b3790d15afc5">GRPC_OP_RECV_MESSAGE</a>,</div><div class="line"><a name="l00316"></a><span class="lineno"><a class="line" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa4d43b168589407554a58e91fae80ba17">  316</a></span>   <a class="code" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa4d43b168589407554a58e91fae80ba17">GRPC_OP_RECV_STATUS_ON_CLIENT</a>,</div><div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa8fb75ed79601a4845a39a74d7505cef6">  320</a></span>   <a class="code" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa8fb75ed79601a4845a39a74d7505cef6">GRPC_OP_RECV_CLOSE_ON_SERVER</a></div><div class="line"><a name="l00321"></a><span class="lineno">  321</span> } <a class="code" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939a">grpc_op_type</a>;</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span> </div><div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="structgrpc__op.html">  325</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__op.html">grpc_op</a> {</div><div class="line"><a name="l00327"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a702bcecc2462646b6740ed7c05f42115">  327</a></span>   <a class="code" href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939a">grpc_op_type</a> <a class="code" href="structgrpc__op.html#a702bcecc2462646b6740ed7c05f42115">op</a>;</div><div class="line"><a name="l00329"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a9e6087665c90f146e5570f12c66d04fb">  329</a></span>   <a class="code" href="port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9">gpr_uint32</a> <a class="code" href="structgrpc__op.html#a9e6087665c90f146e5570f12c66d04fb">flags</a>;</div><div class="line"><a name="l00331"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a7acd3f623bfe47799259036092b5d29c">  331</a></span>   <span class="keywordtype">void</span> *<a class="code" href="structgrpc__op.html#a7acd3f623bfe47799259036092b5d29c">reserved</a>;</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>   <span class="keyword">union </span>{</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>     <span class="keyword">struct </span>{</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>       <span class="keywordtype">void</span> *<a class="code" href="structgrpc__op.html#a7acd3f623bfe47799259036092b5d29c">reserved</a>[8];</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>     } <a class="code" href="structgrpc__op.html#a7acd3f623bfe47799259036092b5d29c">reserved</a>;</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>     <span class="keyword">struct </span>{</div><div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="structgrpc__op.html#ac5983d0a5d60c26ca2d1b37d31ba2e2a">  338</a></span>       <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__op.html#ac5983d0a5d60c26ca2d1b37d31ba2e2a">count</a>;</div><div class="line"><a name="l00339"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a2e0f0c709658960593d5a36915c8d079">  339</a></span>       <a class="code" href="structgrpc__metadata.html">grpc_metadata</a> *<a class="code" href="structgrpc__op.html#a2e0f0c709658960593d5a36915c8d079">metadata</a>;</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>     } <a class="code" href="structgrpc__op.html#a78da22d732e2ce599173f66fe2e6fd37">send_initial_metadata</a>;</div><div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a3b6c1b3456306a802f6eb0e3e8d0e434">  341</a></span>     <a class="code" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a> *<a class="code" href="structgrpc__op.html#a3b6c1b3456306a802f6eb0e3e8d0e434">send_message</a>;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>     <span class="keyword">struct </span>{</div><div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a4b9454278c105e08d54142adff37b5ab">  343</a></span>       <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__op.html#a4b9454278c105e08d54142adff37b5ab">trailing_metadata_count</a>;</div><div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a521b48faec3b3f7646a877055f118d47">  344</a></span>       <a class="code" href="structgrpc__metadata.html">grpc_metadata</a> *<a class="code" href="structgrpc__op.html#a521b48faec3b3f7646a877055f118d47">trailing_metadata</a>;</div><div class="line"><a name="l00345"></a><span class="lineno"><a class="line" href="structgrpc__op.html#ae0d5a9db463391c0897914ef2d016b25">  345</a></span>       <a class="code" href="status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> <a class="code" href="structgrpc__op.html#ae0d5a9db463391c0897914ef2d016b25">status</a>;</div><div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="structgrpc__op.html#ae460836040d79eb2bd0a6d581b36c461">  346</a></span>       <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structgrpc__op.html#ae460836040d79eb2bd0a6d581b36c461">status_details</a>;</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>     } <a class="code" href="structgrpc__op.html#acf3e5de9ed08917992cdd9a9c6e69725">send_status_from_server</a>;</div><div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a81ebfcab8db61dd485b88cafc51f2749">  353</a></span>     <a class="code" href="structgrpc__metadata__array.html">grpc_metadata_array</a> *<a class="code" href="structgrpc__op.html#a81ebfcab8db61dd485b88cafc51f2749">recv_initial_metadata</a>;</div><div class="line"><a name="l00357"></a><span class="lineno"><a class="line" href="structgrpc__op.html#afca6c4cc5b0c2629bb559d2037907ac1">  357</a></span>     <a class="code" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a> **<a class="code" href="structgrpc__op.html#afca6c4cc5b0c2629bb559d2037907ac1">recv_message</a>;</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>     <span class="keyword">struct </span>{</div><div class="line"><a name="l00365"></a><span class="lineno"><a class="line" href="structgrpc__op.html#abb4d84434a0b74283c8b5d8d6501baf1">  365</a></span>       <a class="code" href="structgrpc__metadata__array.html">grpc_metadata_array</a> *<a class="code" href="structgrpc__op.html#abb4d84434a0b74283c8b5d8d6501baf1">trailing_metadata</a>;</div><div class="line"><a name="l00366"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a70d62415f6768533c2190e53f1c5baf4">  366</a></span>       <a class="code" href="status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> *<a class="code" href="structgrpc__op.html#a70d62415f6768533c2190e53f1c5baf4">status</a>;</div><div class="line"><a name="l00387"></a><span class="lineno"><a class="line" href="structgrpc__op.html#ab993dfc7b33c61f06f26a4efc0aefca6">  387</a></span>       <span class="keywordtype">char</span> **<a class="code" href="structgrpc__op.html#ab993dfc7b33c61f06f26a4efc0aefca6">status_details</a>;</div><div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a6cacd1d5311683ee077931c94a9dd6e9">  388</a></span>       <span class="keywordtype">size_t</span> *<a class="code" href="structgrpc__op.html#a6cacd1d5311683ee077931c94a9dd6e9">status_details_capacity</a>;</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>     } <a class="code" href="structgrpc__op.html#afde84738d1221928afdf08966470a39d">recv_status_on_client</a>;</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>     <span class="keyword">struct </span>{</div><div class="line"><a name="l00393"></a><span class="lineno"><a class="line" href="structgrpc__op.html#ae5a9717d4a69c46f343381596e223874">  393</a></span>       <span class="keywordtype">int</span> *<a class="code" href="structgrpc__op.html#ae5a9717d4a69c46f343381596e223874">cancelled</a>;</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>     } <a class="code" href="structgrpc__op.html#a6edcb2d2799c31adc7a21c65669e8b2b">recv_close_on_server</a>;</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>   } <a class="code" href="structgrpc__op.html#a3306ddd6270427f37896f5b56034812e">data</a>;</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span> } <a class="code" href="grpc_8h.html#a6556a58ca45ad5132b89c770cf875215">grpc_op</a>;</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span> </div><div class="line"><a name="l00406"></a><span class="lineno">  406</span> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#abd0ed6efe4d1ad27e0577535110882b3">grpc_register_plugin</a>(<span class="keywordtype">void</span> (*init)(<span class="keywordtype">void</span>), <span class="keywordtype">void</span> (*destroy)(<span class="keywordtype">void</span>));</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span> </div><div class="line"><a name="l00408"></a><span class="lineno">  408</span> <span class="comment">/* Propagation bits: this can be bitwise or-ed to form propagation_mask for</span></div><div class="line"><a name="l00409"></a><span class="lineno">  409</span> <span class="comment"> * grpc_call */</span></div><div class="line"><a name="l00411"></a><span class="lineno"><a class="line" href="grpc_8h.html#a8d4d1f2973b2f5e4e3cdb515b7507868">  411</a></span> <span class="preprocessor">#define GRPC_PROPAGATE_DEADLINE ((gpr_uint32)1)</span></div><div class="line"><a name="l00412"></a><span class="lineno">  412</span> <span class="preprocessor"></span></div><div class="line"><a name="l00413"></a><span class="lineno"><a class="line" href="grpc_8h.html#a1729fbf455d0a10d31246086187bc9b3">  413</a></span> <span class="preprocessor">#define GRPC_PROPAGATE_CENSUS_STATS_CONTEXT ((gpr_uint32)2)</span></div><div class="line"><a name="l00414"></a><span class="lineno"><a class="line" href="grpc_8h.html#ab78096727057fdd2f6794df351e26243">  414</a></span> <span class="preprocessor"></span><span class="preprocessor">#define GRPC_PROPAGATE_CENSUS_TRACING_CONTEXT ((gpr_uint32)4)</span></div><div class="line"><a name="l00415"></a><span class="lineno">  415</span> <span class="preprocessor"></span></div><div class="line"><a name="l00416"></a><span class="lineno"><a class="line" href="grpc_8h.html#aa87041a20c89c31d27217b22ef79d066">  416</a></span> <span class="preprocessor">#define GRPC_PROPAGATE_CANCELLATION ((gpr_uint32)8)</span></div><div class="line"><a name="l00417"></a><span class="lineno">  417</span> <span class="preprocessor"></span></div><div class="line"><a name="l00418"></a><span class="lineno">  418</span> <span class="comment">/* Default propagation mask: clients of the core API are encouraged to encode</span></div><div class="line"><a name="l00419"></a><span class="lineno">  419</span> <span class="comment">   deltas from this in their implementations... ie write:</span></div><div class="line"><a name="l00420"></a><span class="lineno">  420</span> <span class="comment">   GRPC_PROPAGATE_DEFAULTS & ~GRPC_PROPAGATE_DEADLINE to disable deadline</span></div><div class="line"><a name="l00421"></a><span class="lineno">  421</span> <span class="comment">   propagation. Doing so gives flexibility in the future to define new</span></div><div class="line"><a name="l00422"></a><span class="lineno">  422</span> <span class="comment">   propagation types that are default inherited or not. */</span></div><div class="line"><a name="l00423"></a><span class="lineno"><a class="line" href="grpc_8h.html#aab5e717edb406d236313f70f304772cc">  423</a></span> <span class="preprocessor">#define GRPC_PROPAGATE_DEFAULTS                                                \</span></div><div class="line"><a name="l00424"></a><span class="lineno">  424</span> <span class="preprocessor">  ((gpr_uint32)((                                                              \</span></div><div class="line"><a name="l00425"></a><span class="lineno">  425</span> <span class="preprocessor">      0xffff | GRPC_PROPAGATE_DEADLINE | GRPC_PROPAGATE_CENSUS_STATS_CONTEXT | \</span></div><div class="line"><a name="l00426"></a><span class="lineno">  426</span> <span class="preprocessor">      GRPC_PROPAGATE_CENSUS_TRACING_CONTEXT | GRPC_PROPAGATE_CANCELLATION)))</span></div><div class="line"><a name="l00427"></a><span class="lineno">  427</span> <span class="preprocessor"></span></div><div class="line"><a name="l00434"></a><span class="lineno">  434</span> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#aa78606c93951c49eadd8d83d739798d6">grpc_init</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00435"></a><span class="lineno">  435</span> </div><div class="line"><a name="l00442"></a><span class="lineno">  442</span> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#af1130720e50ffedd0bb065c84843b032">grpc_shutdown</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span> </div><div class="line"><a name="l00445"></a><span class="lineno">  445</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="grpc_8h.html#a250ca547d790874bd7b5ceec25f18c51">grpc_version_string</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span> </div><div class="line"><a name="l00448"></a><span class="lineno">  448</span> <a class="code" href="grpc_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *<a class="code" href="grpc_8h.html#a488eee9dd5c518a42b887f59c550690a">grpc_completion_queue_create</a>(<span class="keywordtype">void</span> *reserved);</div><div class="line"><a name="l00449"></a><span class="lineno">  449</span> </div><div class="line"><a name="l00458"></a><span class="lineno">  458</span> <a class="code" href="structgrpc__event.html">grpc_event</a> <a class="code" href="grpc_8h.html#a0f65b1c798e6b56406ecbae27b25605e">grpc_completion_queue_next</a>(<a class="code" href="grpc_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq,</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>                                       <a class="code" href="structgpr__timespec.html">gpr_timespec</a> deadline, <span class="keywordtype">void</span> *reserved);</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span> </div><div class="line"><a name="l00472"></a><span class="lineno">  472</span> <a class="code" href="structgrpc__event.html">grpc_event</a> <a class="code" href="grpc_8h.html#a2987d2596df0358fd967d2a662838433">grpc_completion_queue_pluck</a>(<a class="code" href="grpc_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq, <span class="keywordtype">void</span> *tag,</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>                                        <a class="code" href="structgpr__timespec.html">gpr_timespec</a> deadline, <span class="keywordtype">void</span> *reserved);</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span> </div><div class="line"><a name="l00477"></a><span class="lineno"><a class="line" href="grpc_8h.html#a7fa47963513b9ce50ca4006b9db94c5e">  477</a></span> <span class="preprocessor">#define GRPC_MAX_COMPLETION_QUEUE_PLUCKERS 6</span></div><div class="line"><a name="l00478"></a><span class="lineno">  478</span> <span class="preprocessor"></span></div><div class="line"><a name="l00486"></a><span class="lineno">  486</span> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a4051b4036c5132f02064430f67420ecd">grpc_completion_queue_shutdown</a>(<a class="code" href="grpc_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq);</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span> </div><div class="line"><a name="l00490"></a><span class="lineno">  490</span> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a629a77a358721f1a3bbb8fef34c3996e">grpc_completion_queue_destroy</a>(<a class="code" href="grpc_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq);</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span> </div><div class="line"><a name="l00498"></a><span class="lineno">  498</span> <a class="code" href="grpc_8h.html#a09ce3d7fa6473ac1cb39692adf257a13">grpc_alarm</a> *<a class="code" href="grpc_8h.html#a84e7cbf59a5fe3713ecad7b265f9ec48">grpc_alarm_create</a>(<a class="code" href="grpc_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq, <a class="code" href="structgpr__timespec.html">gpr_timespec</a> deadline,</div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>                               <span class="keywordtype">void</span> *tag);</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span> </div><div class="line"><a name="l00503"></a><span class="lineno">  503</span> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a921e9a2f728d338f42ad586e6d4eaf60">grpc_alarm_cancel</a>(<a class="code" href="grpc_8h.html#a09ce3d7fa6473ac1cb39692adf257a13">grpc_alarm</a> *alarm);</div><div class="line"><a name="l00504"></a><span class="lineno">  504</span> </div><div class="line"><a name="l00506"></a><span class="lineno">  506</span> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a6f89e617a33cbf15ea279accec2766a7">grpc_alarm_destroy</a>(<a class="code" href="grpc_8h.html#a09ce3d7fa6473ac1cb39692adf257a13">grpc_alarm</a> *alarm);</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span> </div><div class="line"><a name="l00509"></a><span class="lineno">  509</span> <a class="code" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2">grpc_connectivity_state</a> <a class="code" href="grpc_8h.html#a9623d8e4df1d17eb26b67d905f1d7cb3">grpc_channel_check_connectivity_state</a>(</div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>     <a class="code" href="grpc_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel, <span class="keywordtype">int</span> try_to_connect);</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span> </div><div class="line"><a name="l00517"></a><span class="lineno">  517</span> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a29aa98ca6ce9f7e5116e43b0c414e96b">grpc_channel_watch_connectivity_state</a>(</div><div class="line"><a name="l00518"></a><span class="lineno">  518</span>     <a class="code" href="grpc_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel, <a class="code" href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2">grpc_connectivity_state</a> last_observed_state,</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>     <a class="code" href="structgpr__timespec.html">gpr_timespec</a> deadline, <a class="code" href="grpc_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq, <span class="keywordtype">void</span> *tag);</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span> </div><div class="line"><a name="l00527"></a><span class="lineno">  527</span> <a class="code" href="grpc_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *<a class="code" href="grpc_8h.html#a56c5657c12cb66e5ae4009e1c0f832fc">grpc_channel_create_call</a>(<a class="code" href="grpc_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel,</div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>                                     <a class="code" href="grpc_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *parent_call,</div><div class="line"><a name="l00529"></a><span class="lineno">  529</span>                                     <a class="code" href="port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9">gpr_uint32</a> propagation_mask,</div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>                                     <a class="code" href="grpc_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *completion_queue,</div><div class="line"><a name="l00531"></a><span class="lineno">  531</span>                                     <span class="keyword">const</span> <span class="keywordtype">char</span> *method, <span class="keyword">const</span> <span class="keywordtype">char</span> *host,</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>                                     <a class="code" href="structgpr__timespec.html">gpr_timespec</a> deadline, <span class="keywordtype">void</span> *reserved);</div><div class="line"><a name="l00533"></a><span class="lineno">  533</span> </div><div class="line"><a name="l00536"></a><span class="lineno">  536</span> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a2153ba2fc842541b64a2f467327b691f">grpc_channel_ping</a>(<a class="code" href="grpc_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel, <a class="code" href="grpc_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq,</div><div class="line"><a name="l00537"></a><span class="lineno">  537</span>                        <span class="keywordtype">void</span> *tag, <span class="keywordtype">void</span> *reserved);</div><div class="line"><a name="l00538"></a><span class="lineno">  538</span> </div><div class="line"><a name="l00540"></a><span class="lineno">  540</span> <span class="keywordtype">void</span> *<a class="code" href="grpc_8h.html#a8bc360e945fb5f6bacf632c34adbc57f">grpc_channel_register_call</a>(<a class="code" href="grpc_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel, <span class="keyword">const</span> <span class="keywordtype">char</span> *method,</div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>                                  <span class="keyword">const</span> <span class="keywordtype">char</span> *host, <span class="keywordtype">void</span> *reserved);</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span> </div><div class="line"><a name="l00544"></a><span class="lineno">  544</span> <a class="code" href="grpc_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *<a class="code" href="grpc_8h.html#a233585e49ad4a4c7681a6e37e942e2d8">grpc_channel_create_registered_call</a>(</div><div class="line"><a name="l00545"></a><span class="lineno">  545</span>     <a class="code" href="grpc_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel, <a class="code" href="grpc_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *parent_call, <a class="code" href="port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9">gpr_uint32</a> propagation_mask,</div><div class="line"><a name="l00546"></a><span class="lineno">  546</span>     <a class="code" href="grpc_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *completion_queue, <span class="keywordtype">void</span> *registered_call_handle,</div><div class="line"><a name="l00547"></a><span class="lineno">  547</span>     <a class="code" href="structgpr__timespec.html">gpr_timespec</a> deadline, <span class="keywordtype">void</span> *reserved);</div><div class="line"><a name="l00548"></a><span class="lineno">  548</span> </div><div class="line"><a name="l00560"></a><span class="lineno">  560</span> <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> <a class="code" href="grpc_8h.html#aa6e0e15005aafed8cebf5b75f81fe90f">grpc_call_start_batch</a>(<a class="code" href="grpc_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call, <span class="keyword">const</span> <a class="code" href="structgrpc__op.html">grpc_op</a> *ops,</div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>                                       <span class="keywordtype">size_t</span> nops, <span class="keywordtype">void</span> *tag, <span class="keywordtype">void</span> *reserved);</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span> </div><div class="line"><a name="l00571"></a><span class="lineno">  571</span> <span class="keywordtype">char</span> *<a class="code" href="grpc_8h.html#adf4ac8b78da7b957ce05dc0f62719ada">grpc_call_get_peer</a>(<a class="code" href="grpc_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call);</div><div class="line"><a name="l00572"></a><span class="lineno">  572</span> </div><div class="line"><a name="l00573"></a><span class="lineno">  573</span> <span class="keyword">struct </span><a class="code" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a>;</div><div class="line"><a name="l00574"></a><span class="lineno">  574</span> </div><div class="line"><a name="l00575"></a><span class="lineno">  575</span> <span class="comment">/* Set census context for a call; Must be called before first call to</span></div><div class="line"><a name="l00576"></a><span class="lineno">  576</span> <span class="comment">   grpc_call_start_batch(). */</span></div><div class="line"><a name="l00577"></a><span class="lineno">  577</span> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a9d5bbdac3a9068747ef3639c4e52af9a">grpc_census_call_set_context</a>(<a class="code" href="grpc_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call,</div><div class="line"><a name="l00578"></a><span class="lineno">  578</span>                                   <span class="keyword">struct</span> <a class="code" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *context);</div><div class="line"><a name="l00579"></a><span class="lineno">  579</span> </div><div class="line"><a name="l00580"></a><span class="lineno">  580</span> <span class="comment">/* Retrieve the calls current census context. */</span></div><div class="line"><a name="l00581"></a><span class="lineno">  581</span> <span class="keyword">struct </span><a class="code" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *<a class="code" href="grpc_8h.html#a0f2c6a97262a251d18b76ad470af0e66">grpc_census_call_get_context</a>(<a class="code" href="grpc_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call);</div><div class="line"><a name="l00582"></a><span class="lineno">  582</span> </div><div class="line"><a name="l00585"></a><span class="lineno">  585</span> <span class="keywordtype">char</span> *<a class="code" href="grpc_8h.html#a108ef86bc0e5ebcb05f744315e2a6499">grpc_channel_get_target</a>(<a class="code" href="grpc_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel);</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span> </div><div class="line"><a name="l00592"></a><span class="lineno">  592</span> <a class="code" href="grpc_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *<a class="code" href="grpc_8h.html#ab2fb7e90dbdcda0f3baf4228bde370cc">grpc_insecure_channel_create</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *target,</div><div class="line"><a name="l00593"></a><span class="lineno">  593</span>                                            <span class="keyword">const</span> <a class="code" href="structgrpc__channel__args.html">grpc_channel_args</a> *args,</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>                                            <span class="keywordtype">void</span> *reserved);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span> </div><div class="line"><a name="l00597"></a><span class="lineno">  597</span> <a class="code" href="grpc_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *<a class="code" href="grpc_8h.html#a06520e4e8ed6c764866b61756609d705">grpc_lame_client_channel_create</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *target,</div><div class="line"><a name="l00598"></a><span class="lineno">  598</span>                                               <a class="code" href="status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> error_code,</div><div class="line"><a name="l00599"></a><span class="lineno">  599</span>                                               <span class="keyword">const</span> <span class="keywordtype">char</span> *error_message);</div><div class="line"><a name="l00600"></a><span class="lineno">  600</span> </div><div class="line"><a name="l00602"></a><span class="lineno">  602</span> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a16e4b95581ad12e8e0af2af8d41b71b3">grpc_channel_destroy</a>(<a class="code" href="grpc_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel);</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span> </div><div class="line"><a name="l00604"></a><span class="lineno">  604</span> <span class="comment">/* Error handling for grpc_call</span></div><div class="line"><a name="l00605"></a><span class="lineno">  605</span> <span class="comment">   Most grpc_call functions return a grpc_error. If the error is not GRPC_OK</span></div><div class="line"><a name="l00606"></a><span class="lineno">  606</span> <span class="comment">   then the operation failed due to some unsatisfied precondition.</span></div><div class="line"><a name="l00607"></a><span class="lineno">  607</span> <span class="comment">   If a grpc_call fails, it's guaranteed that no change to the call state</span></div><div class="line"><a name="l00608"></a><span class="lineno">  608</span> <span class="comment">   has been made. */</span></div><div class="line"><a name="l00609"></a><span class="lineno">  609</span> </div><div class="line"><a name="l00615"></a><span class="lineno">  615</span> <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> <a class="code" href="grpc_8h.html#a10277b9c9589903bc26b05444130904d">grpc_call_cancel</a>(<a class="code" href="grpc_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call, <span class="keywordtype">void</span> *reserved);</div><div class="line"><a name="l00616"></a><span class="lineno">  616</span> </div><div class="line"><a name="l00623"></a><span class="lineno">  623</span> <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> <a class="code" href="grpc_8h.html#a95cd12a19d2183383f279cc106e984a5">grpc_call_cancel_with_status</a>(<a class="code" href="grpc_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call,</div><div class="line"><a name="l00624"></a><span class="lineno">  624</span>                                              <a class="code" href="status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> status,</div><div class="line"><a name="l00625"></a><span class="lineno">  625</span>                                              <span class="keyword">const</span> <span class="keywordtype">char</span> *description,</div><div class="line"><a name="l00626"></a><span class="lineno">  626</span>                                              <span class="keywordtype">void</span> *reserved);</div><div class="line"><a name="l00627"></a><span class="lineno">  627</span> </div><div class="line"><a name="l00630"></a><span class="lineno">  630</span> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a3edbb9347e32fd0152c8ed4bbbaf5125">grpc_call_destroy</a>(<a class="code" href="grpc_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call);</div><div class="line"><a name="l00631"></a><span class="lineno">  631</span> </div><div class="line"><a name="l00640"></a><span class="lineno">  640</span> <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> <a class="code" href="grpc_8h.html#a636d8fd8c888ba0a0fefacf8dcab7257">grpc_server_request_call</a>(</div><div class="line"><a name="l00641"></a><span class="lineno">  641</span>     <a class="code" href="grpc_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server, <a class="code" href="grpc_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> **call, <a class="code" href="structgrpc__call__details.html">grpc_call_details</a> *details,</div><div class="line"><a name="l00642"></a><span class="lineno">  642</span>     <a class="code" href="structgrpc__metadata__array.html">grpc_metadata_array</a> *request_metadata,</div><div class="line"><a name="l00643"></a><span class="lineno">  643</span>     <a class="code" href="grpc_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq_bound_to_call,</div><div class="line"><a name="l00644"></a><span class="lineno">  644</span>     <a class="code" href="grpc_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq_for_notification, <span class="keywordtype">void</span> *tag_new);</div><div class="line"><a name="l00645"></a><span class="lineno">  645</span> </div><div class="line"><a name="l00653"></a><span class="lineno">  653</span> <span class="keywordtype">void</span> *<a class="code" href="grpc_8h.html#a283062a2209f464f234b0e645c6fffb2">grpc_server_register_method</a>(<a class="code" href="grpc_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server, <span class="keyword">const</span> <span class="keywordtype">char</span> *method,</div><div class="line"><a name="l00654"></a><span class="lineno">  654</span>                                   <span class="keyword">const</span> <span class="keywordtype">char</span> *host);</div><div class="line"><a name="l00655"></a><span class="lineno">  655</span> </div><div class="line"><a name="l00659"></a><span class="lineno">  659</span> <a class="code" href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> <a class="code" href="grpc_8h.html#a7207900db3bba2f1ae2e3f2dfc2822de">grpc_server_request_registered_call</a>(</div><div class="line"><a name="l00660"></a><span class="lineno">  660</span>     <a class="code" href="grpc_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server, <span class="keywordtype">void</span> *registered_method, <a class="code" href="grpc_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> **call,</div><div class="line"><a name="l00661"></a><span class="lineno">  661</span>     <a class="code" href="structgpr__timespec.html">gpr_timespec</a> *deadline, <a class="code" href="structgrpc__metadata__array.html">grpc_metadata_array</a> *request_metadata,</div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>     <a class="code" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a> **optional_payload,</div><div class="line"><a name="l00663"></a><span class="lineno">  663</span>     <a class="code" href="grpc_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq_bound_to_call,</div><div class="line"><a name="l00664"></a><span class="lineno">  664</span>     <a class="code" href="grpc_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq_for_notification, <span class="keywordtype">void</span> *tag_new);</div><div class="line"><a name="l00665"></a><span class="lineno">  665</span> </div><div class="line"><a name="l00670"></a><span class="lineno">  670</span> <a class="code" href="grpc_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *<a class="code" href="grpc_8h.html#a5c84795eb2ab5c1c03c6ba1212f07501">grpc_server_create</a>(<span class="keyword">const</span> <a class="code" href="structgrpc__channel__args.html">grpc_channel_args</a> *args, <span class="keywordtype">void</span> *reserved);</div><div class="line"><a name="l00671"></a><span class="lineno">  671</span> </div><div class="line"><a name="l00676"></a><span class="lineno">  676</span> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#aacb47ff7ce0afa0db4c830449baff39a">grpc_server_register_completion_queue</a>(<a class="code" href="grpc_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server,</div><div class="line"><a name="l00677"></a><span class="lineno">  677</span>                                            <a class="code" href="grpc_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq,</div><div class="line"><a name="l00678"></a><span class="lineno">  678</span>                                            <span class="keywordtype">void</span> *reserved);</div><div class="line"><a name="l00679"></a><span class="lineno">  679</span> </div><div class="line"><a name="l00683"></a><span class="lineno">  683</span> <span class="keywordtype">int</span> <a class="code" href="grpc_8h.html#a5b0fe9d2a9d0bd764e8e8216144a4525">grpc_server_add_insecure_http2_port</a>(<a class="code" href="grpc_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server, <span class="keyword">const</span> <span class="keywordtype">char</span> *addr);</div><div class="line"><a name="l00684"></a><span class="lineno">  684</span> </div><div class="line"><a name="l00686"></a><span class="lineno">  686</span> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#ac5010d26419e14f5a9ab2fa86a4f7d1e">grpc_server_start</a>(<a class="code" href="grpc_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server);</div><div class="line"><a name="l00687"></a><span class="lineno">  687</span> </div><div class="line"><a name="l00695"></a><span class="lineno">  695</span> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a56fffa23c1c4bab9a469e2ac607b6db7">grpc_server_shutdown_and_notify</a>(<a class="code" href="grpc_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server,</div><div class="line"><a name="l00696"></a><span class="lineno">  696</span>                                      <a class="code" href="grpc_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq, <span class="keywordtype">void</span> *tag);</div><div class="line"><a name="l00697"></a><span class="lineno">  697</span> </div><div class="line"><a name="l00700"></a><span class="lineno">  700</span> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#ac5c1e4f3e270a7afbc39403fff0dc803">grpc_server_cancel_all_calls</a>(<a class="code" href="grpc_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server);</div><div class="line"><a name="l00701"></a><span class="lineno">  701</span> </div><div class="line"><a name="l00706"></a><span class="lineno">  706</span> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a34cba45da7c32a21ac82305d670e4620">grpc_server_destroy</a>(<a class="code" href="grpc_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server);</div><div class="line"><a name="l00707"></a><span class="lineno">  707</span> </div><div class="line"><a name="l00716"></a><span class="lineno">  716</span> <span class="keywordtype">int</span> <a class="code" href="grpc_8h.html#ae6984d3f0c3b9bc9a47859fd4dddc350">grpc_tracer_set_enabled</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">int</span> enabled);</div><div class="line"><a name="l00717"></a><span class="lineno">  717</span> </div><div class="line"><a name="l00719"></a><span class="lineno">  719</span> <span class="keywordtype">int</span> <a class="code" href="grpc_8h.html#a9bf2615ced7ededa09f24e71c4e9e4d8">grpc_header_key_is_legal</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *key, <span class="keywordtype">size_t</span> length);</div><div class="line"><a name="l00720"></a><span class="lineno">  720</span> </div><div class="line"><a name="l00723"></a><span class="lineno">  723</span> <span class="keywordtype">int</span> <a class="code" href="grpc_8h.html#a726e7c2c723e6d28d41a74f4900e2feb">grpc_header_nonbin_value_is_legal</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *value, <span class="keywordtype">size_t</span> length);</div><div class="line"><a name="l00724"></a><span class="lineno">  724</span> </div><div class="line"><a name="l00726"></a><span class="lineno">  726</span> <span class="keywordtype">int</span> <a class="code" href="grpc_8h.html#a6ce0fde0cf6e820ca0c95dae4653039e">grpc_is_binary_header</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *key, <span class="keywordtype">size_t</span> length);</div><div class="line"><a name="l00727"></a><span class="lineno">  727</span> </div><div class="line"><a name="l00728"></a><span class="lineno">  728</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00729"></a><span class="lineno">  729</span> <span class="preprocessor"></span>}</div><div class="line"><a name="l00730"></a><span class="lineno">  730</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00731"></a><span class="lineno">  731</span> <span class="preprocessor"></span></div><div class="line"><a name="l00732"></a><span class="lineno">  732</span> <span class="preprocessor">#endif </span><span class="comment">/* GRPC_GRPC_H */</span><span class="preprocessor"></span></div><div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785bade52e850722f80804d90881ac125706f"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bade52e850722f80804d90881ac125706f">GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE</a></div><div class="ttdoc">completion queue for notification has not been registered with the server </div><div class="ttdef"><b>Definition:</b> grpc.h:204</div></div><div class="ttc" id="grpc_8h_html_ab6454071421a36ebc25952ed448d5b87a00b42e3d4b6e6493c6e76f1adf07b297"><div class="ttname"><a href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a00b42e3d4b6e6493c6e76f1adf07b297">GRPC_OP_COMPLETE</a></div><div class="ttdoc">Operation completion. </div><div class="ttdef"><b>Definition:</b> grpc.h:242</div></div><div class="ttc" id="structgrpc__event_html_a883ab15e862db582116c72cdcdc4c201"><div class="ttname"><a href="structgrpc__event.html#a883ab15e862db582116c72cdcdc4c201">grpc_event::tag</a></div><div class="ttdeci">void * tag</div><div class="ttdoc">The tag passed to grpc_call_start_batch etc to start this operation. </div><div class="ttdef"><b>Definition:</b> grpc.h:256</div></div><div class="ttc" id="structgrpc__op_html_a702bcecc2462646b6740ed7c05f42115"><div class="ttname"><a href="structgrpc__op.html#a702bcecc2462646b6740ed7c05f42115">grpc_op::op</a></div><div class="ttdeci">grpc_op_type op</div><div class="ttdoc">Operation type, as defined by grpc_op_type. </div><div class="ttdef"><b>Definition:</b> grpc.h:327</div></div><div class="ttc" id="grpc_8h_html_a065b65f5cdd062a67d82e2b6bcf68cf2"><div class="ttname"><a href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2">grpc_connectivity_state</a></div><div class="ttdeci">grpc_connectivity_state</div><div class="ttdoc">Connectivity state of a channel. </div><div class="ttdef"><b>Definition:</b> grpc.h:159</div></div><div class="ttc" id="structgrpc__metadata_html_aa2a2ac89c9edd9326dc7dc59e2f9295c"><div class="ttname"><a href="structgrpc__metadata.html#aa2a2ac89c9edd9326dc7dc59e2f9295c">grpc_metadata::internal_data</a></div><div class="ttdeci">struct grpc_metadata::@6 internal_data</div><div class="ttdoc">The following fields are reserved for grpc internal use. </div></div><div class="ttc" id="grpc_8h_html_a41dc9abf9678decbfcef1a037e35939aa6c66420562347ff4dcf35e4b32c0d486"><div class="ttname"><a href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa6c66420562347ff4dcf35e4b32c0d486">GRPC_OP_SEND_CLOSE_FROM_CLIENT</a></div><div class="ttdoc">Send a close from the client: one and only one instance MUST be sent from the client, unless the call was cancelled - in which case this can be skipped. </div><div class="ttdef"><b>Definition:</b> grpc.h:295</div></div><div class="ttc" id="grpc_8h_html_a34cba45da7c32a21ac82305d670e4620"><div class="ttname"><a href="grpc_8h.html#a34cba45da7c32a21ac82305d670e4620">grpc_server_destroy</a></div><div class="ttdeci">void grpc_server_destroy(grpc_server *server)</div><div class="ttdoc">Destroy a server. </div></div><div class="ttc" id="structgrpc__op_html_ab993dfc7b33c61f06f26a4efc0aefca6"><div class="ttname"><a href="structgrpc__op.html#ab993dfc7b33c61f06f26a4efc0aefca6">grpc_op::status_details</a></div><div class="ttdeci">char ** status_details</div><div class="ttdoc">status_details is a buffer owned by the application before the op completes and after the op has comp...</div><div class="ttdef"><b>Definition:</b> grpc.h:387</div></div><div class="ttc" id="grpc_8h_html_a41dc9abf9678decbfcef1a037e35939a"><div class="ttname"><a href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939a">grpc_op_type</a></div><div class="ttdeci">grpc_op_type</div><div class="ttdef"><b>Definition:</b> grpc.h:280</div></div><div class="ttc" id="structgrpc__op_html_a9e6087665c90f146e5570f12c66d04fb"><div class="ttname"><a href="structgrpc__op.html#a9e6087665c90f146e5570f12c66d04fb">grpc_op::flags</a></div><div class="ttdeci">gpr_uint32 flags</div><div class="ttdoc">Write flags bitset for grpc_begin_messages. </div><div class="ttdef"><b>Definition:</b> grpc.h:329</div></div><div class="ttc" id="grpc_8h_html_a6556a58ca45ad5132b89c770cf875215"><div class="ttname"><a href="grpc_8h.html#a6556a58ca45ad5132b89c770cf875215">grpc_op</a></div><div class="ttdeci">struct grpc_op grpc_op</div><div class="ttdoc">Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments) ...</div></div><div class="ttc" id="grpc_8h_html_a233585e49ad4a4c7681a6e37e942e2d8"><div class="ttname"><a href="grpc_8h.html#a233585e49ad4a4c7681a6e37e942e2d8">grpc_channel_create_registered_call</a></div><div class="ttdeci">grpc_call * grpc_channel_create_registered_call(grpc_channel *channel, grpc_call *parent_call, gpr_uint32 propagation_mask, grpc_completion_queue *completion_queue, void *registered_call_handle, gpr_timespec deadline, void *reserved)</div><div class="ttdoc">Create a call given a handle returned from grpc_channel_register_call. </div></div><div class="ttc" id="structgrpc__op_html_a81ebfcab8db61dd485b88cafc51f2749"><div class="ttname"><a href="structgrpc__op.html#a81ebfcab8db61dd485b88cafc51f2749">grpc_op::recv_initial_metadata</a></div><div class="ttdeci">grpc_metadata_array * recv_initial_metadata</div><div class="ttdoc">ownership of the array is with the caller, but ownership of the elements stays with the call object (...</div><div class="ttdef"><b>Definition:</b> grpc.h:353</div></div><div class="ttc" id="grpc_8h_html_a2987d2596df0358fd967d2a662838433"><div class="ttname"><a href="grpc_8h.html#a2987d2596df0358fd967d2a662838433">grpc_completion_queue_pluck</a></div><div class="ttdeci">grpc_event grpc_completion_queue_pluck(grpc_completion_queue *cq, void *tag, gpr_timespec deadline, void *reserved)</div><div class="ttdoc">Blocks until an event with tag 'tag' is available, the completion queue is being shutdown or deadline...</div></div><div class="ttc" id="grpc_8h_html_a895faab0e6035445750e43482651ba2f"><div class="ttname"><a href="grpc_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a></div><div class="ttdeci">struct grpc_completion_queue grpc_completion_queue</div><div class="ttdoc">Completion Queues enable notification of the completion of asynchronous actions. </div><div class="ttdef"><b>Definition:</b> grpc.h:57</div></div><div class="ttc" id="grpc_8h_html_a436819189c9155a0761db7667f9078f9"><div class="ttname"><a href="grpc_8h.html#a436819189c9155a0761db7667f9078f9">grpc_call_details_destroy</a></div><div class="ttdeci">void grpc_call_details_destroy(grpc_call_details *details)</div></div><div class="ttc" id="structgrpc__channel__args_html"><div class="ttname"><a href="structgrpc__channel__args.html">grpc_channel_args</a></div><div class="ttdoc">An array of arguments that can be passed around. </div><div class="ttdef"><b>Definition:</b> grpc.h:114</div></div><div class="ttc" id="structgrpc__channel__args_html_a05aa7aeb14aa9ae5f4d6a34f5c222b76"><div class="ttname"><a href="structgrpc__channel__args.html#a05aa7aeb14aa9ae5f4d6a34f5c222b76">grpc_channel_args::args</a></div><div class="ttdeci">grpc_arg * args</div><div class="ttdef"><b>Definition:</b> grpc.h:116</div></div><div class="ttc" id="byte__buffer_8h_html"><div class="ttname"><a href="byte__buffer_8h.html">byte_buffer.h</a></div></div><div class="ttc" id="grpc_8h_html_a2bbbaad8f7a806f6c834b68c5dd916d8"><div class="ttname"><a href="grpc_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a></div><div class="ttdeci">struct grpc_server grpc_server</div><div class="ttdoc">A server listens to some port and responds to request calls. </div><div class="ttdef"><b>Definition:</b> grpc.h:66</div></div><div class="ttc" id="time_8h_html"><div class="ttname"><a href="time_8h.html">time.h</a></div></div><div class="ttc" id="grpc_8h_html_a0b06eae05e70404aedbceaebce6de593"><div class="ttname"><a href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593">grpc_arg_type</a></div><div class="ttdeci">grpc_arg_type</div><div class="ttdoc">Type specifier for grpc_arg. </div><div class="ttdef"><b>Definition:</b> grpc.h:74</div></div><div class="ttc" id="structgrpc__metadata_html_abc971ca331d3382b313cb8170df4387b"><div class="ttname"><a href="structgrpc__metadata.html#abc971ca331d3382b313cb8170df4387b">grpc_metadata::flags</a></div><div class="ttdeci">gpr_uint32 flags</div><div class="ttdef"><b>Definition:</b> grpc.h:225</div></div><div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785bae915786320e24eff4f1e05852d40f861"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bae915786320e24eff4f1e05852d40f861">GRPC_CALL_ERROR_INVALID_FLAGS</a></div><div class="ttdoc">the flags value was illegal for this call </div><div class="ttdef"><b>Definition:</b> grpc.h:197</div></div><div class="ttc" id="structgrpc__op_html_ae0d5a9db463391c0897914ef2d016b25"><div class="ttname"><a href="structgrpc__op.html#ae0d5a9db463391c0897914ef2d016b25">grpc_op::status</a></div><div class="ttdeci">grpc_status_code status</div><div class="ttdef"><b>Definition:</b> grpc.h:345</div></div><div class="ttc" id="structgrpc__op_html_a3306ddd6270427f37896f5b56034812e"><div class="ttname"><a href="structgrpc__op.html#a3306ddd6270427f37896f5b56034812e">grpc_op::data</a></div><div class="ttdeci">union grpc_op::@7 data</div></div><div class="ttc" id="structgrpc__call__details_html_a6b72caadcf800d975987de18012f0f15"><div class="ttname"><a href="structgrpc__call__details.html#a6b72caadcf800d975987de18012f0f15">grpc_call_details::deadline</a></div><div class="ttdeci">gpr_timespec deadline</div><div class="ttdef"><b>Definition:</b> grpc.h:273</div></div><div class="ttc" id="grpc_8h_html_a06520e4e8ed6c764866b61756609d705"><div class="ttname"><a href="grpc_8h.html#a06520e4e8ed6c764866b61756609d705">grpc_lame_client_channel_create</a></div><div class="ttdeci">grpc_channel * grpc_lame_client_channel_create(const char *target, grpc_status_code error_code, const char *error_message)</div><div class="ttdoc">Create a lame client: this client fails every operation attempted on it. </div></div><div class="ttc" id="grpc_8h_html_a0b06eae05e70404aedbceaebce6de593a02a823a7037e2a60b9d9a031fd42591b"><div class="ttname"><a href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a02a823a7037e2a60b9d9a031fd42591b">GRPC_ARG_POINTER</a></div><div class="ttdef"><b>Definition:</b> grpc.h:77</div></div><div class="ttc" id="structgrpc__event_html"><div class="ttname"><a href="structgrpc__event.html">grpc_event</a></div><div class="ttdoc">The result of an operation. </div><div class="ttdef"><b>Definition:</b> grpc.h:248</div></div><div class="ttc" id="structgrpc__arg_html_a6871bfca9c52e7f56abbd71c81d97554"><div class="ttname"><a href="structgrpc__arg.html#a6871bfca9c52e7f56abbd71c81d97554">grpc_arg::integer</a></div><div class="ttdeci">int integer</div><div class="ttdef"><b>Definition:</b> grpc.h:97</div></div><div class="ttc" id="grpc_8h_html_a6ce0fde0cf6e820ca0c95dae4653039e"><div class="ttname"><a href="grpc_8h.html#a6ce0fde0cf6e820ca0c95dae4653039e">grpc_is_binary_header</a></div><div class="ttdeci">int grpc_is_binary_header(const char *key, size_t length)</div><div class="ttdoc">Check whether a metadata key corresponds to a binary value. </div></div><div class="ttc" id="grpc_8h_html_a41dc9abf9678decbfcef1a037e35939aa3a3659314e7495b1cabed0f3a6705f64"><div class="ttname"><a href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa3a3659314e7495b1cabed0f3a6705f64">GRPC_OP_SEND_STATUS_FROM_SERVER</a></div><div class="ttdoc">Send status from the server: one and only one instance MUST be sent from the server unless the call w...</div><div class="ttdef"><b>Definition:</b> grpc.h:301</div></div><div class="ttc" id="structgrpc__arg_html_a05bc3701718db73608ef3598480e8fa8"><div class="ttname"><a href="structgrpc__arg.html#a05bc3701718db73608ef3598480e8fa8">grpc_arg::string</a></div><div class="ttdeci">char * string</div><div class="ttdef"><b>Definition:</b> grpc.h:96</div></div><div class="ttc" id="grpc_8h_html_a29fa3bfb0a561ba465260154a4ef3bb5"><div class="ttname"><a href="grpc_8h.html#a29fa3bfb0a561ba465260154a4ef3bb5">grpc_call_details_init</a></div><div class="ttdeci">void grpc_call_details_init(grpc_call_details *details)</div></div><div class="ttc" id="structgrpc__call__details_html_a869b5db96e2e0fbd573381e77b859631"><div class="ttname"><a href="structgrpc__call__details.html#a869b5db96e2e0fbd573381e77b859631">grpc_call_details::host</a></div><div class="ttdeci">char * host</div><div class="ttdef"><b>Definition:</b> grpc.h:271</div></div><div class="ttc" id="structgrpc__event_html_a99d4215e5df50869af320b1cca5540db"><div class="ttname"><a href="structgrpc__event.html#a99d4215e5df50869af320b1cca5540db">grpc_event::success</a></div><div class="ttdeci">int success</div><div class="ttdoc">non-zero if the operation was successful, 0 upon failure. </div><div class="ttdef"><b>Definition:</b> grpc.h:253</div></div><div class="ttc" id="grpc_8h_html_a3edbb9347e32fd0152c8ed4bbbaf5125"><div class="ttname"><a href="grpc_8h.html#a3edbb9347e32fd0152c8ed4bbbaf5125">grpc_call_destroy</a></div><div class="ttdeci">void grpc_call_destroy(grpc_call *call)</div><div class="ttdoc">Destroy a call. </div></div><div class="ttc" id="structgrpc__op_html_ac5983d0a5d60c26ca2d1b37d31ba2e2a"><div class="ttname"><a href="structgrpc__op.html#ac5983d0a5d60c26ca2d1b37d31ba2e2a">grpc_op::count</a></div><div class="ttdeci">size_t count</div><div class="ttdef"><b>Definition:</b> grpc.h:338</div></div><div class="ttc" id="structgrpc__arg_html"><div class="ttname"><a href="structgrpc__arg.html">grpc_arg</a></div><div class="ttdoc">A single argument... </div><div class="ttdef"><b>Definition:</b> grpc.h:92</div></div><div class="ttc" id="structgrpc__call__details_html"><div class="ttname"><a href="structgrpc__call__details.html">grpc_call_details</a></div><div class="ttdef"><b>Definition:</b> grpc.h:268</div></div><div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba86e7b6bf1fe5dec17fc08ba2f77d1b41"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba86e7b6bf1fe5dec17fc08ba2f77d1b41">GRPC_CALL_ERROR</a></div><div class="ttdoc">something failed, we don't know what </div><div class="ttdef"><b>Definition:</b> grpc.h:180</div></div><div class="ttc" id="grpc_8h_html_a122f8f4f0a585396d993d9b55848f222"><div class="ttname"><a href="grpc_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a></div><div class="ttdeci">struct grpc_call grpc_call</div><div class="ttdoc">A Call represents an RPC. </div><div class="ttdef"><b>Definition:</b> grpc.h:71</div></div><div class="ttc" id="structgrpc__byte__buffer_html"><div class="ttname"><a href="structgrpc__byte__buffer.html">grpc_byte_buffer</a></div><div class="ttdef"><b>Definition:</b> byte_buffer.h:49</div></div><div class="ttc" id="structgrpc__op_html_afca6c4cc5b0c2629bb559d2037907ac1"><div class="ttname"><a href="structgrpc__op.html#afca6c4cc5b0c2629bb559d2037907ac1">grpc_op::recv_message</a></div><div class="ttdeci">grpc_byte_buffer ** recv_message</div><div class="ttdoc">ownership of the byte buffer is moved to the caller; the caller must call grpc_byte_buffer_destroy on...</div><div class="ttdef"><b>Definition:</b> grpc.h:357</div></div><div class="ttc" id="grpc_8h_html_a10277b9c9589903bc26b05444130904d"><div class="ttname"><a href="grpc_8h.html#a10277b9c9589903bc26b05444130904d">grpc_call_cancel</a></div><div class="ttdeci">grpc_call_error grpc_call_cancel(grpc_call *call, void *reserved)</div><div class="ttdoc">Called by clients to cancel an RPC on the server. </div></div><div class="ttc" id="grpc_8h_html_ac5010d26419e14f5a9ab2fa86a4f7d1e"><div class="ttname"><a href="grpc_8h.html#ac5010d26419e14f5a9ab2fa86a4f7d1e">grpc_server_start</a></div><div class="ttdeci">void grpc_server_start(grpc_server *server)</div><div class="ttdoc">Start a server - tells all listeners to start listening. </div></div><div class="ttc" id="grpc_8h_html_a2153ba2fc842541b64a2f467327b691f"><div class="ttname"><a href="grpc_8h.html#a2153ba2fc842541b64a2f467327b691f">grpc_channel_ping</a></div><div class="ttdeci">void grpc_channel_ping(grpc_channel *channel, grpc_completion_queue *cq, void *tag, void *reserved)</div><div class="ttdoc">Ping the channels peer (load balanced channels will select one sub-channel to ping); if the channel i...</div></div><div class="ttc" id="structgrpc__metadata__array_html"><div class="ttname"><a href="structgrpc__metadata__array.html">grpc_metadata_array</a></div><div class="ttdef"><b>Definition:</b> grpc.h:259</div></div><div class="ttc" id="port__platform_8h_html_aa6abd4df815a5498d1a04b5e691a74a9"><div class="ttname"><a href="port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9">gpr_uint32</a></div><div class="ttdeci">uint32_t gpr_uint32</div><div class="ttdef"><b>Definition:</b> port_platform.h:322</div></div><div class="ttc" id="structgrpc__arg_html_aab5d11432a11b03a53e5d959d9a5328d"><div class="ttname"><a href="structgrpc__arg.html#aab5d11432a11b03a53e5d959d9a5328d">grpc_arg::p</a></div><div class="ttdeci">void * p</div><div class="ttdef"><b>Definition:</b> grpc.h:99</div></div><div class="ttc" id="structgrpc__op_html_a6cacd1d5311683ee077931c94a9dd6e9"><div class="ttname"><a href="structgrpc__op.html#a6cacd1d5311683ee077931c94a9dd6e9">grpc_op::status_details_capacity</a></div><div class="ttdeci">size_t * status_details_capacity</div><div class="ttdef"><b>Definition:</b> grpc.h:388</div></div><div class="ttc" id="grpc_8h_html_a41dc9abf9678decbfcef1a037e35939aafe3da4c8865af4ef5258b3790d15afc5"><div class="ttname"><a href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aafe3da4c8865af4ef5258b3790d15afc5">GRPC_OP_RECV_MESSAGE</a></div><div class="ttdoc">Receive a message: 0 or more of these operations can occur for each call. </div><div class="ttdef"><b>Definition:</b> grpc.h:310</div></div><div class="ttc" id="structgrpc__call__details_html_a8a7da868f60a88f42918cc9bdd4d26c0"><div class="ttname"><a href="structgrpc__call__details.html#a8a7da868f60a88f42918cc9bdd4d26c0">grpc_call_details::method_capacity</a></div><div class="ttdeci">size_t method_capacity</div><div class="ttdef"><b>Definition:</b> grpc.h:270</div></div><div class="ttc" id="grpc_8h_html_a9623d8e4df1d17eb26b67d905f1d7cb3"><div class="ttname"><a href="grpc_8h.html#a9623d8e4df1d17eb26b67d905f1d7cb3">grpc_channel_check_connectivity_state</a></div><div class="ttdeci">grpc_connectivity_state grpc_channel_check_connectivity_state(grpc_channel *channel, int try_to_connect)</div><div class="ttdoc">Check the connectivity state of a channel. </div></div><div class="ttc" id="structgrpc__op_html_a70d62415f6768533c2190e53f1c5baf4"><div class="ttname"><a href="structgrpc__op.html#a70d62415f6768533c2190e53f1c5baf4">grpc_op::status</a></div><div class="ttdeci">grpc_status_code * status</div><div class="ttdef"><b>Definition:</b> grpc.h:366</div></div><div class="ttc" id="grpc_8h_html_a09ce3d7fa6473ac1cb39692adf257a13"><div class="ttname"><a href="grpc_8h.html#a09ce3d7fa6473ac1cb39692adf257a13">grpc_alarm</a></div><div class="ttdeci">struct grpc_alarm grpc_alarm</div><div class="ttdoc">An alarm associated with a completion queue. </div><div class="ttdef"><b>Definition:</b> grpc.h:60</div></div><div class="ttc" id="grpc_8h_html_a56fffa23c1c4bab9a469e2ac607b6db7"><div class="ttname"><a href="grpc_8h.html#a56fffa23c1c4bab9a469e2ac607b6db7">grpc_server_shutdown_and_notify</a></div><div class="ttdeci">void grpc_server_shutdown_and_notify(grpc_server *server, grpc_completion_queue *cq, void *tag)</div><div class="ttdoc">Begin shutting down a server. </div></div><div class="ttc" id="grpc_8h_html_a29aa98ca6ce9f7e5116e43b0c414e96b"><div class="ttname"><a href="grpc_8h.html#a29aa98ca6ce9f7e5116e43b0c414e96b">grpc_channel_watch_connectivity_state</a></div><div class="ttdeci">void grpc_channel_watch_connectivity_state(grpc_channel *channel, grpc_connectivity_state last_observed_state, gpr_timespec deadline, grpc_completion_queue *cq, void *tag)</div><div class="ttdoc">Watch for a change in connectivity state. </div></div><div class="ttc" id="structgrpc__metadata__array_html_ac930a0cc901913fafcd09ca9cca156fe"><div class="ttname"><a href="structgrpc__metadata__array.html#ac930a0cc901913fafcd09ca9cca156fe">grpc_metadata_array::metadata</a></div><div class="ttdeci">grpc_metadata * metadata</div><div class="ttdef"><b>Definition:</b> grpc.h:262</div></div><div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba042165aa26653c844a846d188f722857"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba042165aa26653c844a846d188f722857">GRPC_CALL_ERROR_ALREADY_INVOKED</a></div><div class="ttdoc">this method must be called before invoke </div><div class="ttdef"><b>Definition:</b> grpc.h:188</div></div><div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba7dfc7fe11288dd7a30a8f07b890c9c5b"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7dfc7fe11288dd7a30a8f07b890c9c5b">GRPC_CALL_ERROR_INVALID_MESSAGE</a></div><div class="ttdoc">invalid message was passed to this call </div><div class="ttdef"><b>Definition:</b> grpc.h:201</div></div><div class="ttc" id="grpc_8h_html_a41dc9abf9678decbfcef1a037e35939aaf5bbedf13763c180b2f1ada62769d721"><div class="ttname"><a href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaf5bbedf13763c180b2f1ada62769d721">GRPC_OP_SEND_INITIAL_METADATA</a></div><div class="ttdoc">Send initial metadata: one and only one instance MUST be sent for each call, unless the call was canc...</div><div class="ttdef"><b>Definition:</b> grpc.h:285</div></div><div class="ttc" id="grpc_8h_html_a0b06eae05e70404aedbceaebce6de593a8d2f803b8aaf88f34dac1f887826c689"><div class="ttname"><a href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a8d2f803b8aaf88f34dac1f887826c689">GRPC_ARG_INTEGER</a></div><div class="ttdef"><b>Definition:</b> grpc.h:76</div></div><div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785b"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a></div><div class="ttdeci">grpc_call_error</div><div class="ttdoc">Result of a grpc call. </div><div class="ttdef"><b>Definition:</b> grpc.h:176</div></div><div class="ttc" id="structgrpc__op_html_a521b48faec3b3f7646a877055f118d47"><div class="ttname"><a href="structgrpc__op.html#a521b48faec3b3f7646a877055f118d47">grpc_op::trailing_metadata</a></div><div class="ttdeci">grpc_metadata * trailing_metadata</div><div class="ttdef"><b>Definition:</b> grpc.h:344</div></div><div class="ttc" id="structgrpc__metadata__array_html_a5b293b4f8e734b032b80741abf538a97"><div class="ttname"><a href="structgrpc__metadata__array.html#a5b293b4f8e734b032b80741abf538a97">grpc_metadata_array::capacity</a></div><div class="ttdeci">size_t capacity</div><div class="ttdef"><b>Definition:</b> grpc.h:261</div></div><div class="ttc" id="structgrpc__metadata_html_abe93a3d24cd534d9387e05ad1f0b36f7"><div class="ttname"><a href="structgrpc__metadata.html#abe93a3d24cd534d9387e05ad1f0b36f7">grpc_metadata::key</a></div><div class="ttdeci">const char * key</div><div class="ttdef"><b>Definition:</b> grpc.h:222</div></div><div class="ttc" id="grpc_8h_html_ac5c1e4f3e270a7afbc39403fff0dc803"><div class="ttname"><a href="grpc_8h.html#ac5c1e4f3e270a7afbc39403fff0dc803">grpc_server_cancel_all_calls</a></div><div class="ttdeci">void grpc_server_cancel_all_calls(grpc_server *server)</div><div class="ttdoc">Cancel all in-progress calls. </div></div><div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba13f469c7761a672240ddfe29f85729bd"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba13f469c7761a672240ddfe29f85729bd">GRPC_CALL_ERROR_INVALID_METADATA</a></div><div class="ttdoc">invalid metadata was passed to this call </div><div class="ttdef"><b>Definition:</b> grpc.h:199</div></div><div class="ttc" id="structgrpc__op_html_ae460836040d79eb2bd0a6d581b36c461"><div class="ttname"><a href="structgrpc__op.html#ae460836040d79eb2bd0a6d581b36c461">grpc_op::status_details</a></div><div class="ttdeci">const char * status_details</div><div class="ttdef"><b>Definition:</b> grpc.h:346</div></div><div class="ttc" id="structgrpc__metadata_html_a737f2161d2ccc9da44f340d923c97658"><div class="ttname"><a href="structgrpc__metadata.html#a737f2161d2ccc9da44f340d923c97658">grpc_metadata::obfuscated</a></div><div class="ttdeci">void * obfuscated[4]</div><div class="ttdef"><b>Definition:</b> grpc.h:231</div></div><div class="ttc" id="grpc_8h_html_a432bfa6b9f6603643cdf9de8804c254e"><div class="ttname"><a href="grpc_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a></div><div class="ttdeci">struct grpc_channel grpc_channel</div><div class="ttdoc">The Channel interface allows creation of Call objects. </div><div class="ttdef"><b>Definition:</b> grpc.h:63</div></div><div class="ttc" id="grpc_8h_html_a56c5657c12cb66e5ae4009e1c0f832fc"><div class="ttname"><a href="grpc_8h.html#a56c5657c12cb66e5ae4009e1c0f832fc">grpc_channel_create_call</a></div><div class="ttdeci">grpc_call * grpc_channel_create_call(grpc_channel *channel, grpc_call *parent_call, gpr_uint32 propagation_mask, grpc_completion_queue *completion_queue, const char *method, const char *host, gpr_timespec deadline, void *reserved)</div><div class="ttdoc">Create a call given a grpc_channel, in order to call 'method'. </div></div><div class="ttc" id="grpc_8h_html_a488eee9dd5c518a42b887f59c550690a"><div class="ttname"><a href="grpc_8h.html#a488eee9dd5c518a42b887f59c550690a">grpc_completion_queue_create</a></div><div class="ttdeci">grpc_completion_queue * grpc_completion_queue_create(void *reserved)</div><div class="ttdoc">Create a completion queue. </div></div><div class="ttc" id="structgrpc__metadata_html"><div class="ttname"><a href="structgrpc__metadata.html">grpc_metadata</a></div><div class="ttdoc">A single metadata element. </div><div class="ttdef"><b>Definition:</b> grpc.h:221</div></div><div class="ttc" id="structgrpc__op_html_acf3e5de9ed08917992cdd9a9c6e69725"><div class="ttname"><a href="structgrpc__op.html#acf3e5de9ed08917992cdd9a9c6e69725">grpc_op::send_status_from_server</a></div><div class="ttdeci">struct grpc_op::@7::@10 send_status_from_server</div></div><div class="ttc" id="structgrpc__op_html_a78da22d732e2ce599173f66fe2e6fd37"><div class="ttname"><a href="structgrpc__op.html#a78da22d732e2ce599173f66fe2e6fd37">grpc_op::send_initial_metadata</a></div><div class="ttdeci">struct grpc_op::@7::@9 send_initial_metadata</div></div><div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba1a48e861db610ae8f0b0cba7749251d8"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba1a48e861db610ae8f0b0cba7749251d8">GRPC_CALL_ERROR_NOT_ON_SERVER</a></div><div class="ttdoc">this method is not available on the server </div><div class="ttdef"><b>Definition:</b> grpc.h:182</div></div><div class="ttc" id="grpc_8h_html_ab6454071421a36ebc25952ed448d5b87a503dd1b2ec79457f0f810716016219d5"><div class="ttname"><a href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a503dd1b2ec79457f0f810716016219d5">GRPC_QUEUE_SHUTDOWN</a></div><div class="ttdoc">Shutting down. </div><div class="ttdef"><b>Definition:</b> grpc.h:238</div></div><div class="ttc" id="grpc_8h_html_a41dc9abf9678decbfcef1a037e35939aaabe080072d165d1e69459abd7c742078"><div class="ttname"><a href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaabe080072d165d1e69459abd7c742078">GRPC_OP_RECV_INITIAL_METADATA</a></div><div class="ttdoc">Receive initial metadata: one and only one MUST be made on the client, must not be made on the server...</div><div class="ttdef"><b>Definition:</b> grpc.h:306</div></div><div class="ttc" id="structgrpc__op_html"><div class="ttname"><a href="structgrpc__op.html">grpc_op</a></div><div class="ttdoc">Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments) ...</div><div class="ttdef"><b>Definition:</b> grpc.h:325</div></div><div class="ttc" id="structgrpc__call__details_html_a5c323f3f0c94cbb867f13453dd43dd9d"><div class="ttname"><a href="structgrpc__call__details.html#a5c323f3f0c94cbb867f13453dd43dd9d">grpc_call_details::reserved</a></div><div class="ttdeci">void * reserved</div><div class="ttdef"><b>Definition:</b> grpc.h:274</div></div><div class="ttc" id="grpc_8h_html_a636d8fd8c888ba0a0fefacf8dcab7257"><div class="ttname"><a href="grpc_8h.html#a636d8fd8c888ba0a0fefacf8dcab7257">grpc_server_request_call</a></div><div class="ttdeci">grpc_call_error grpc_server_request_call(grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_metadata_array *request_metadata, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag_new)</div><div class="ttdoc">Request notification of a new call. </div></div><div class="ttc" id="grpc_8h_html_a41dc9abf9678decbfcef1a037e35939aaa6447181c20e4c6d64a54fae8082ef70"><div class="ttname"><a href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaa6447181c20e4c6d64a54fae8082ef70">GRPC_OP_SEND_MESSAGE</a></div><div class="ttdoc">Send a message: 0 or more of these operations can occur for each call. </div><div class="ttdef"><b>Definition:</b> grpc.h:289</div></div><div class="ttc" id="grpc_8h_html_a726e7c2c723e6d28d41a74f4900e2feb"><div class="ttname"><a href="grpc_8h.html#a726e7c2c723e6d28d41a74f4900e2feb">grpc_header_nonbin_value_is_legal</a></div><div class="ttdeci">int grpc_header_nonbin_value_is_legal(const char *value, size_t length)</div><div class="ttdoc">Check whether a non-binary metadata value is legal (will be accepted by core) </div></div><div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba32f125b97007cbdb43534e9d6e0989f8"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba32f125b97007cbdb43534e9d6e0989f8">GRPC_CALL_OK</a></div><div class="ttdoc">everything went ok </div><div class="ttdef"><b>Definition:</b> grpc.h:178</div></div><div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba21256301a6038a6a03fc8444ddd08c63"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba21256301a6038a6a03fc8444ddd08c63">GRPC_CALL_ERROR_ALREADY_FINISHED</a></div><div class="ttdoc">this call is already finished (writes_done or write_status has already been called) ...</div><div class="ttdef"><b>Definition:</b> grpc.h:193</div></div><div class="ttc" id="grpc_8h_html_a6f89e617a33cbf15ea279accec2766a7"><div class="ttname"><a href="grpc_8h.html#a6f89e617a33cbf15ea279accec2766a7">grpc_alarm_destroy</a></div><div class="ttdeci">void grpc_alarm_destroy(grpc_alarm *alarm)</div><div class="ttdoc">Destroy the given completion queue alarm, cancelling it in the process. </div></div><div class="ttc" id="grpc_8h_html_a07990645ca218f6965fd83edf3f421b7"><div class="ttname"><a href="grpc_8h.html#a07990645ca218f6965fd83edf3f421b7">grpc_event</a></div><div class="ttdeci">struct grpc_event grpc_event</div><div class="ttdoc">The result of an operation. </div></div><div class="ttc" id="grpc_8h_html_ab6454071421a36ebc25952ed448d5b87"><div class="ttname"><a href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87">grpc_completion_type</a></div><div class="ttdeci">grpc_completion_type</div><div class="ttdoc">The type of completion (for grpc_event) </div><div class="ttdef"><b>Definition:</b> grpc.h:236</div></div><div class="ttc" id="grpc_8h_html_aacb47ff7ce0afa0db4c830449baff39a"><div class="ttname"><a href="grpc_8h.html#aacb47ff7ce0afa0db4c830449baff39a">grpc_server_register_completion_queue</a></div><div class="ttdeci">void grpc_server_register_completion_queue(grpc_server *server, grpc_completion_queue *cq, void *reserved)</div><div class="ttdoc">Register a completion queue with the server. </div></div><div class="ttc" id="structgrpc__op_html_a4b9454278c105e08d54142adff37b5ab"><div class="ttname"><a href="structgrpc__op.html#a4b9454278c105e08d54142adff37b5ab">grpc_op::trailing_metadata_count</a></div><div class="ttdeci">size_t trailing_metadata_count</div><div class="ttdef"><b>Definition:</b> grpc.h:343</div></div><div class="ttc" id="grpc_8h_html_a5c84795eb2ab5c1c03c6ba1212f07501"><div class="ttname"><a href="grpc_8h.html#a5c84795eb2ab5c1c03c6ba1212f07501">grpc_server_create</a></div><div class="ttdeci">grpc_server * grpc_server_create(const grpc_channel_args *args, void *reserved)</div><div class="ttdoc">Create a server. </div></div><div class="ttc" id="structgrpc__call__details_html_aeab0d9e754bbb1aac1a21ad4ef63d8b1"><div class="ttname"><a href="structgrpc__call__details.html#aeab0d9e754bbb1aac1a21ad4ef63d8b1">grpc_call_details::host_capacity</a></div><div class="ttdeci">size_t host_capacity</div><div class="ttdef"><b>Definition:</b> grpc.h:272</div></div><div class="ttc" id="grpc_8h_html_a283062a2209f464f234b0e645c6fffb2"><div class="ttname"><a href="grpc_8h.html#a283062a2209f464f234b0e645c6fffb2">grpc_server_register_method</a></div><div class="ttdeci">void * grpc_server_register_method(grpc_server *server, const char *method, const char *host)</div><div class="ttdoc">Registers a method in the server. </div></div><div class="ttc" id="grpc_8h_html_a108ef86bc0e5ebcb05f744315e2a6499"><div class="ttname"><a href="grpc_8h.html#a108ef86bc0e5ebcb05f744315e2a6499">grpc_channel_get_target</a></div><div class="ttdeci">char * grpc_channel_get_target(grpc_channel *channel)</div><div class="ttdoc">Return a newly allocated string representing the target a channel was created for. </div></div><div class="ttc" id="grpc_8h_html_a16e4b95581ad12e8e0af2af8d41b71b3"><div class="ttname"><a href="grpc_8h.html#a16e4b95581ad12e8e0af2af8d41b71b3">grpc_channel_destroy</a></div><div class="ttdeci">void grpc_channel_destroy(grpc_channel *channel)</div><div class="ttdoc">Close and destroy a grpc channel. </div></div><div class="ttc" id="grpc_8h_html_a250ca547d790874bd7b5ceec25f18c51"><div class="ttname"><a href="grpc_8h.html#a250ca547d790874bd7b5ceec25f18c51">grpc_version_string</a></div><div class="ttdeci">const char * grpc_version_string(void)</div><div class="ttdoc">Return a string representing the current version of grpc. </div></div><div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba906d5d530b249b5b853595e424ec400b"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba906d5d530b249b5b853595e424ec400b">GRPC_CALL_ERROR_BATCH_TOO_BIG</a></div><div class="ttdoc">this batch of operations leads to more operations than allowed </div><div class="ttdef"><b>Definition:</b> grpc.h:206</div></div><div class="ttc" id="grpc_8h_html_a9bf2615ced7ededa09f24e71c4e9e4d8"><div class="ttname"><a href="grpc_8h.html#a9bf2615ced7ededa09f24e71c4e9e4d8">grpc_header_key_is_legal</a></div><div class="ttdeci">int grpc_header_key_is_legal(const char *key, size_t length)</div><div class="ttdoc">Check whether a metadata key is legal (will be accepted by core) </div></div><div class="ttc" id="structgrpc__channel__args_html_a41e5d0b22449f062b3a7798dd528afde"><div class="ttname"><a href="structgrpc__channel__args.html#a41e5d0b22449f062b3a7798dd528afde">grpc_channel_args::num_args</a></div><div class="ttdeci">size_t num_args</div><div class="ttdef"><b>Definition:</b> grpc.h:115</div></div><div class="ttc" id="structgrpc__metadata__array_html_a314ce51b22a5934cc672f3736d44b9e4"><div class="ttname"><a href="structgrpc__metadata__array.html#a314ce51b22a5934cc672f3736d44b9e4">grpc_metadata_array::count</a></div><div class="ttdeci">size_t count</div><div class="ttdef"><b>Definition:</b> grpc.h:260</div></div><div class="ttc" id="grpc_8h_html_a921e9a2f728d338f42ad586e6d4eaf60"><div class="ttname"><a href="grpc_8h.html#a921e9a2f728d338f42ad586e6d4eaf60">grpc_alarm_cancel</a></div><div class="ttdeci">void grpc_alarm_cancel(grpc_alarm *alarm)</div><div class="ttdoc">Cancel a completion queue alarm. </div></div><div class="ttc" id="grpc_8h_html_a41dc9abf9678decbfcef1a037e35939aa4d43b168589407554a58e91fae80ba17"><div class="ttname"><a href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa4d43b168589407554a58e91fae80ba17">GRPC_OP_RECV_STATUS_ON_CLIENT</a></div><div class="ttdoc">Receive status on the client: one and only one must be made on the client. </div><div class="ttdef"><b>Definition:</b> grpc.h:316</div></div><div class="ttc" id="grpc_8h_html_a065b65f5cdd062a67d82e2b6bcf68cf2aab01ef3f78d9236dfa3c751dc66aa7ea"><div class="ttname"><a href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2aab01ef3f78d9236dfa3c751dc66aa7ea">GRPC_CHANNEL_READY</a></div><div class="ttdoc">channel is ready for work </div><div class="ttdef"><b>Definition:</b> grpc.h:165</div></div><div class="ttc" id="structgrpc__arg_html_aeb230fbd50daacfe654abc3500a44968"><div class="ttname"><a href="structgrpc__arg.html#aeb230fbd50daacfe654abc3500a44968">grpc_arg::key</a></div><div class="ttdeci">char * key</div><div class="ttdef"><b>Definition:</b> grpc.h:94</div></div><div class="ttc" id="status_8h_html"><div class="ttname"><a href="status_8h.html">status.h</a></div></div><div class="ttc" id="grpc_8h_html_adf4ac8b78da7b957ce05dc0f62719ada"><div class="ttname"><a href="grpc_8h.html#adf4ac8b78da7b957ce05dc0f62719ada">grpc_call_get_peer</a></div><div class="ttdeci">char * grpc_call_get_peer(grpc_call *call)</div><div class="ttdoc">Returns a newly allocated string representing the endpoint to which this call is communicating with...</div></div><div class="ttc" id="structgrpc__op_html_afde84738d1221928afdf08966470a39d"><div class="ttname"><a href="structgrpc__op.html#afde84738d1221928afdf08966470a39d">grpc_op::recv_status_on_client</a></div><div class="ttdeci">struct grpc_op::@7::@11 recv_status_on_client</div></div><div class="ttc" id="grpc_8h_html_a065b65f5cdd062a67d82e2b6bcf68cf2af5bffd3ffb03795f551b0fa78e44b9b6"><div class="ttname"><a href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2af5bffd3ffb03795f551b0fa78e44b9b6">GRPC_CHANNEL_TRANSIENT_FAILURE</a></div><div class="ttdoc">channel has seen a failure but expects to recover </div><div class="ttdef"><b>Definition:</b> grpc.h:167</div></div><div class="ttc" id="grpc_8h_html_ab2fb7e90dbdcda0f3baf4228bde370cc"><div class="ttname"><a href="grpc_8h.html#ab2fb7e90dbdcda0f3baf4228bde370cc">grpc_insecure_channel_create</a></div><div class="ttdeci">grpc_channel * grpc_insecure_channel_create(const char *target, const grpc_channel_args *args, void *reserved)</div><div class="ttdoc">Create a client channel to 'target'. </div></div><div class="ttc" id="grpc_8h_html_a1da84eaead787d991c5a0c87aed7c30b"><div class="ttname"><a href="grpc_8h.html#a1da84eaead787d991c5a0c87aed7c30b">grpc_metadata</a></div><div class="ttdeci">struct grpc_metadata grpc_metadata</div><div class="ttdoc">A single metadata element. </div></div><div class="ttc" id="structgrpc__metadata_html_a57b63d7b7a3e4720a0cc0d20bb2ecf36"><div class="ttname"><a href="structgrpc__metadata.html#a57b63d7b7a3e4720a0cc0d20bb2ecf36">grpc_metadata::value</a></div><div class="ttdeci">const char * value</div><div class="ttdef"><b>Definition:</b> grpc.h:223</div></div><div class="ttc" id="slice_8h_html"><div class="ttname"><a href="slice_8h.html">slice.h</a></div></div><div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba7ba38ea119e00e8b4d10211f4ced9ef6"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7ba38ea119e00e8b4d10211f4ced9ef6">GRPC_CALL_ERROR_NOT_ON_CLIENT</a></div><div class="ttdoc">this method is not available on the client </div><div class="ttdef"><b>Definition:</b> grpc.h:184</div></div><div class="ttc" id="grpc_8h_html_abd0ed6efe4d1ad27e0577535110882b3"><div class="ttname"><a href="grpc_8h.html#abd0ed6efe4d1ad27e0577535110882b3">grpc_register_plugin</a></div><div class="ttdeci">void grpc_register_plugin(void(*init)(void), void(*destroy)(void))</div><div class="ttdoc">Registers a plugin to be initialized and destroyed with the library. </div></div><div class="ttc" id="grpc_8h_html_a065b65f5cdd062a67d82e2b6bcf68cf2a304d1b81cec4357a9a6acbcb18248e77"><div class="ttname"><a href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a304d1b81cec4357a9a6acbcb18248e77">GRPC_CHANNEL_IDLE</a></div><div class="ttdoc">channel is idle </div><div class="ttdef"><b>Definition:</b> grpc.h:161</div></div><div class="ttc" id="grpc_8h_html_a065b65f5cdd062a67d82e2b6bcf68cf2a8f774ebe233ee26ebd546fe4b58060b6"><div class="ttname"><a href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a8f774ebe233ee26ebd546fe4b58060b6">GRPC_CHANNEL_FATAL_FAILURE</a></div><div class="ttdoc">channel has seen a failure that it cannot recover from </div><div class="ttdef"><b>Definition:</b> grpc.h:169</div></div><div class="ttc" id="grpc_8h_html_a5b0fe9d2a9d0bd764e8e8216144a4525"><div class="ttname"><a href="grpc_8h.html#a5b0fe9d2a9d0bd764e8e8216144a4525">grpc_server_add_insecure_http2_port</a></div><div class="ttdeci">int grpc_server_add_insecure_http2_port(grpc_server *server, const char *addr)</div><div class="ttdoc">Add a HTTP2 over plaintext over tcp listener. </div></div><div class="ttc" id="grpc_8h_html_a0f65b1c798e6b56406ecbae27b25605e"><div class="ttname"><a href="grpc_8h.html#a0f65b1c798e6b56406ecbae27b25605e">grpc_completion_queue_next</a></div><div class="ttdeci">grpc_event grpc_completion_queue_next(grpc_completion_queue *cq, gpr_timespec deadline, void *reserved)</div><div class="ttdoc">Blocks until an event is available, the completion queue is being shut down, or deadline is reached...</div></div><div class="ttc" id="structgpr__timespec_html"><div class="ttname"><a href="structgpr__timespec.html">gpr_timespec</a></div><div class="ttdef"><b>Definition:</b> time.h:63</div></div><div class="ttc" id="status_8h_html_a35ab2a68917eb836de84cb23253108eb"><div class="ttname"><a href="status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a></div><div class="ttdeci">grpc_status_code</div><div class="ttdef"><b>Definition:</b> status.h:41</div></div><div class="ttc" id="grpc_8h_html_a0f2c6a97262a251d18b76ad470af0e66"><div class="ttname"><a href="grpc_8h.html#a0f2c6a97262a251d18b76ad470af0e66">grpc_census_call_get_context</a></div><div class="ttdeci">struct census_context * grpc_census_call_get_context(grpc_call *call)</div></div><div class="ttc" id="grpc_8h_html_aad125726d8b689cc5fc1a0444c91ed44"><div class="ttname"><a href="grpc_8h.html#aad125726d8b689cc5fc1a0444c91ed44">grpc_metadata_array_destroy</a></div><div class="ttdeci">void grpc_metadata_array_destroy(grpc_metadata_array *array)</div></div><div class="ttc" id="grpc_8h_html_ab6454071421a36ebc25952ed448d5b87a4339ea61236e103b6555fdf9b6cffab6"><div class="ttname"><a href="grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a4339ea61236e103b6555fdf9b6cffab6">GRPC_QUEUE_TIMEOUT</a></div><div class="ttdoc">No event before timeout. </div><div class="ttdef"><b>Definition:</b> grpc.h:240</div></div><div class="ttc" id="grpc_8h_html_aa6e0e15005aafed8cebf5b75f81fe90f"><div class="ttname"><a href="grpc_8h.html#aa6e0e15005aafed8cebf5b75f81fe90f">grpc_call_start_batch</a></div><div class="ttdeci">grpc_call_error grpc_call_start_batch(grpc_call *call, const grpc_op *ops, size_t nops, void *tag, void *reserved)</div><div class="ttdoc">Start a batch of operations defined in the array ops; when complete, post a completion of type 'tag' ...</div></div><div class="ttc" id="grpc_8h_html_a84e7cbf59a5fe3713ecad7b265f9ec48"><div class="ttname"><a href="grpc_8h.html#a84e7cbf59a5fe3713ecad7b265f9ec48">grpc_alarm_create</a></div><div class="ttdeci">grpc_alarm * grpc_alarm_create(grpc_completion_queue *cq, gpr_timespec deadline, void *tag)</div><div class="ttdoc">Create a completion queue alarm instance associated to cq. </div></div><div class="ttc" id="grpc_8h_html_aa78606c93951c49eadd8d83d739798d6"><div class="ttname"><a href="grpc_8h.html#aa78606c93951c49eadd8d83d739798d6">grpc_init</a></div><div class="ttdeci">void grpc_init(void)</div><div class="ttdoc">Initialize the grpc library. </div></div><div class="ttc" id="structgrpc__op_html_a7acd3f623bfe47799259036092b5d29c"><div class="ttname"><a href="structgrpc__op.html#a7acd3f623bfe47799259036092b5d29c">grpc_op::reserved</a></div><div class="ttdeci">void * reserved</div><div class="ttdoc">Reserved for future usage. </div><div class="ttdef"><b>Definition:</b> grpc.h:331</div></div><div class="ttc" id="grpc_8h_html_a065b65f5cdd062a67d82e2b6bcf68cf2a3ac13f6c7627f15186760bfd6b7d9299"><div class="ttname"><a href="grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a3ac13f6c7627f15186760bfd6b7d9299">GRPC_CHANNEL_CONNECTING</a></div><div class="ttdoc">channel is connecting </div><div class="ttdef"><b>Definition:</b> grpc.h:163</div></div><div class="ttc" id="grpc_8h_html_a95cd12a19d2183383f279cc106e984a5"><div class="ttname"><a href="grpc_8h.html#a95cd12a19d2183383f279cc106e984a5">grpc_call_cancel_with_status</a></div><div class="ttdeci">grpc_call_error grpc_call_cancel_with_status(grpc_call *call, grpc_status_code status, const char *description, void *reserved)</div><div class="ttdoc">Called by clients to cancel an RPC on the server. </div></div><div class="ttc" id="structgrpc__op_html_a3b6c1b3456306a802f6eb0e3e8d0e434"><div class="ttname"><a href="structgrpc__op.html#a3b6c1b3456306a802f6eb0e3e8d0e434">grpc_op::send_message</a></div><div class="ttdeci">grpc_byte_buffer * send_message</div><div class="ttdef"><b>Definition:</b> grpc.h:341</div></div><div class="ttc" id="structgrpc__op_html_abb4d84434a0b74283c8b5d8d6501baf1"><div class="ttname"><a href="structgrpc__op.html#abb4d84434a0b74283c8b5d8d6501baf1">grpc_op::trailing_metadata</a></div><div class="ttdeci">grpc_metadata_array * trailing_metadata</div><div class="ttdoc">ownership of the array is with the caller, but ownership of the elements stays with the call object (...</div><div class="ttdef"><b>Definition:</b> grpc.h:365</div></div><div class="ttc" id="grpc_8h_html_a7207900db3bba2f1ae2e3f2dfc2822de"><div class="ttname"><a href="grpc_8h.html#a7207900db3bba2f1ae2e3f2dfc2822de">grpc_server_request_registered_call</a></div><div class="ttdeci">grpc_call_error grpc_server_request_registered_call(grpc_server *server, void *registered_method, grpc_call **call, gpr_timespec *deadline, grpc_metadata_array *request_metadata, grpc_byte_buffer **optional_payload, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag_new)</div><div class="ttdoc">Request notification of a new pre-registered call. </div></div><div class="ttc" id="grpc_8h_html_af1130720e50ffedd0bb065c84843b032"><div class="ttname"><a href="grpc_8h.html#af1130720e50ffedd0bb065c84843b032">grpc_shutdown</a></div><div class="ttdeci">void grpc_shutdown(void)</div><div class="ttdoc">Shut down the grpc library. </div></div><div class="ttc" id="grpc_8h_html_a52cfda44034115720a0e88037dedbfb5"><div class="ttname"><a href="grpc_8h.html#a52cfda44034115720a0e88037dedbfb5">grpc_metadata_array_init</a></div><div class="ttdeci">void grpc_metadata_array_init(grpc_metadata_array *array)</div></div><div class="ttc" id="grpc_8h_html_a629a77a358721f1a3bbb8fef34c3996e"><div class="ttname"><a href="grpc_8h.html#a629a77a358721f1a3bbb8fef34c3996e">grpc_completion_queue_destroy</a></div><div class="ttdeci">void grpc_completion_queue_destroy(grpc_completion_queue *cq)</div><div class="ttdoc">Destroy a completion queue. </div></div><div class="ttc" id="structgrpc__metadata_html_a2084add9ffe64cf337576114d189af3f"><div class="ttname"><a href="structgrpc__metadata.html#a2084add9ffe64cf337576114d189af3f">grpc_metadata::value_length</a></div><div class="ttdeci">size_t value_length</div><div class="ttdef"><b>Definition:</b> grpc.h:224</div></div><div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba7e09791915b841c30e9d79c26a5a6454"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7e09791915b841c30e9d79c26a5a6454">GRPC_CALL_ERROR_TOO_MANY_OPERATIONS</a></div><div class="ttdoc">there is already an outstanding read/write operation on the call </div><div class="ttdef"><b>Definition:</b> grpc.h:195</div></div><div class="ttc" id="grpc_8h_html_a41dc9abf9678decbfcef1a037e35939aa8fb75ed79601a4845a39a74d7505cef6"><div class="ttname"><a href="grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa8fb75ed79601a4845a39a74d7505cef6">GRPC_OP_RECV_CLOSE_ON_SERVER</a></div><div class="ttdoc">Receive close on the server: one and only one must be made on the server. </div><div class="ttdef"><b>Definition:</b> grpc.h:320</div></div><div class="ttc" id="structgrpc__event_html_a8e7f571b759f55db4f6bebc2a4f56ad7"><div class="ttname"><a href="structgrpc__event.html#a8e7f571b759f55db4f6bebc2a4f56ad7">grpc_event::type</a></div><div class="ttdeci">grpc_completion_type type</div><div class="ttdoc">The type of the completion. </div><div class="ttdef"><b>Definition:</b> grpc.h:250</div></div><div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba2f6f332e63eb94df8abedfddb96ae63a"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba2f6f332e63eb94df8abedfddb96ae63a">GRPC_CALL_ERROR_ALREADY_ACCEPTED</a></div><div class="ttdoc">this method must be called before server_accept </div><div class="ttdef"><b>Definition:</b> grpc.h:186</div></div><div class="ttc" id="structgrpc__arg_html_aa26f2d3c4b1649c9eb061d24a8c10fd4"><div class="ttname"><a href="structgrpc__arg.html#aa26f2d3c4b1649c9eb061d24a8c10fd4">grpc_arg::type</a></div><div class="ttdeci">grpc_arg_type type</div><div class="ttdef"><b>Definition:</b> grpc.h:93</div></div><div class="ttc" id="grpc_8h_html_a4051b4036c5132f02064430f67420ecd"><div class="ttname"><a href="grpc_8h.html#a4051b4036c5132f02064430f67420ecd">grpc_completion_queue_shutdown</a></div><div class="ttdeci">void grpc_completion_queue_shutdown(grpc_completion_queue *cq)</div><div class="ttdoc">Begin destruction of a completion queue. </div></div><div class="ttc" id="grpc_8h_html_a0b06eae05e70404aedbceaebce6de593a215b6b9143ba133ede0e29f79098239d"><div class="ttname"><a href="grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a215b6b9143ba133ede0e29f79098239d">GRPC_ARG_STRING</a></div><div class="ttdef"><b>Definition:</b> grpc.h:75</div></div><div class="ttc" id="structgrpc__op_html_a2e0f0c709658960593d5a36915c8d079"><div class="ttname"><a href="structgrpc__op.html#a2e0f0c709658960593d5a36915c8d079">grpc_op::metadata</a></div><div class="ttdeci">grpc_metadata * metadata</div><div class="ttdef"><b>Definition:</b> grpc.h:339</div></div><div class="ttc" id="structgrpc__op_html_ae5a9717d4a69c46f343381596e223874"><div class="ttname"><a href="structgrpc__op.html#ae5a9717d4a69c46f343381596e223874">grpc_op::cancelled</a></div><div class="ttdeci">int * cancelled</div><div class="ttdoc">out argument, set to 1 if the call failed in any way (seen as a cancellation on the server)...</div><div class="ttdef"><b>Definition:</b> grpc.h:393</div></div><div class="ttc" id="grpc_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba6113860606450e3a3fa40ddf46749296"><div class="ttname"><a href="grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba6113860606450e3a3fa40ddf46749296">GRPC_CALL_ERROR_NOT_INVOKED</a></div><div class="ttdoc">this method must be called after invoke </div><div class="ttdef"><b>Definition:</b> grpc.h:190</div></div><div class="ttc" id="grpc_8h_html_a8bc360e945fb5f6bacf632c34adbc57f"><div class="ttname"><a href="grpc_8h.html#a8bc360e945fb5f6bacf632c34adbc57f">grpc_channel_register_call</a></div><div class="ttdeci">void * grpc_channel_register_call(grpc_channel *channel, const char *method, const char *host, void *reserved)</div><div class="ttdoc">Pre-register a method/host pair on a channel. </div></div><div class="ttc" id="structgrpc__call__details_html_a97c8019d8fa7cbe2014d97c91f9ed0a5"><div class="ttname"><a href="structgrpc__call__details.html#a97c8019d8fa7cbe2014d97c91f9ed0a5">grpc_call_details::method</a></div><div class="ttdeci">char * method</div><div class="ttdef"><b>Definition:</b> grpc.h:269</div></div><div class="ttc" id="census_8h_html_a27fc8788690179599713226f1f054736"><div class="ttname"><a href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a></div><div class="ttdeci">struct census_context census_context</div><div class="ttdoc">Context is a handle used by census to represent the current tracing and tagging information. </div><div class="ttdef"><b>Definition:</b> census.h:80</div></div><div class="ttc" id="structgrpc__op_html_a6edcb2d2799c31adc7a21c65669e8b2b"><div class="ttname"><a href="structgrpc__op.html#a6edcb2d2799c31adc7a21c65669e8b2b">grpc_op::recv_close_on_server</a></div><div class="ttdeci">struct grpc_op::@7::@12 recv_close_on_server</div></div><div class="ttc" id="grpc_8h_html_ae6984d3f0c3b9bc9a47859fd4dddc350"><div class="ttname"><a href="grpc_8h.html#ae6984d3f0c3b9bc9a47859fd4dddc350">grpc_tracer_set_enabled</a></div><div class="ttdeci">int grpc_tracer_set_enabled(const char *name, int enabled)</div><div class="ttdoc">Enable or disable a tracer. </div></div><div class="ttc" id="grpc_8h_html_a9d5bbdac3a9068747ef3639c4e52af9a"><div class="ttname"><a href="grpc_8h.html#a9d5bbdac3a9068747ef3639c4e52af9a">grpc_census_call_set_context</a></div><div class="ttdeci">void grpc_census_call_set_context(grpc_call *call, struct census_context *context)</div></div></div><!-- fragment --></div><!-- contents --><!-- start footer part --><hr class="footer"/><address class="footer"><small>Generated on Fri Jan 15 2016 00:21:22 for GRPC Core by  <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6</small></address></body></html>
 |