Forráskód Böngészése

Update C++ and Core API documentation

Eric Gribkoff 8 éve
szülő
commit
d8703a4861
100 módosított fájl, 2563 hozzáadás és 2469 törlés
  1. 2 2
      core/_p_r_o_t_o_c_o_l-_h_t_t_p2_8md.html
  2. 2 2
      core/_p_r_o_t_o_c_o_l-_w_e_b_8md.html
  3. 22 3
      core/alloc_8h.html
  4. 11 21
      core/alloc_8h_source.html
  5. 25 26
      core/annotated.html
  6. 3 3
      core/avl_8h.html
  7. 4 4
      core/avl_8h_source.html
  8. 2 2
      core/binary-logging_8md.html
  9. 3 3
      core/byte__buffer_8h.html
  10. 7 7
      core/byte__buffer_8h_source.html
  11. 3 3
      core/byte__buffer__reader_8h.html
  12. 3 3
      core/byte__buffer__reader_8h_source.html
  13. 2 2
      core/c-style-guide_8md.html
  14. 104 10
      core/census_8h.html
  15. 64 184
      core/census_8h_source.html
  16. 12 12
      core/classes.html
  17. 40 3
      core/cmdline_8h.html
  18. 14 53
      core/cmdline_8h_source.html
  19. 2 2
      core/combiner-explainer_8md.html
  20. 2 2
      core/command__line__tool_8md.html
  21. 3 3
      core/compression_8h.html
  22. 8 8
      core/compression_8h_source.html
  23. 2 2
      core/compression_8md.html
  24. 2 2
      core/compression__cookbook_8md.html
  25. 7 5
      core/compression__types_8h.html
  26. 73 74
      core/compression__types_8h_source.html
  27. 2 2
      core/connection-backoff-interop-test-description_8md.html
  28. 2 2
      core/connection-backoff_8md.html
  29. 2 2
      core/connectivity-semantics-and-api_8md.html
  30. 3 3
      core/connectivity__state_8h.html
  31. 3 3
      core/connectivity__state_8h_source.html
  32. 2 2
      core/cpp-style-guide_8md.html
  33. 11 3
      core/cpu_8h.html
  34. 6 14
      core/cpu_8h_source.html
  35. 3 3
      core/deprecated.html
  36. 4 4
      core/dir_1ccb85353bf7ad9eb207254c908f6dd2.html
  37. 4 4
      core/dir_629b4cc7516e55c4afb0cb8a61439852.html
  38. 5 3
      core/dir_8e03e8f0d52209e008fae5f40ace0591.html
  39. 5 5
      core/dir_d06caa71145e9b2cbe67b49b6fe69d28.html
  40. 3 3
      core/dir_d4a1038da1ca7a38aa498ecf659a57c8.html
  41. 2 2
      core/environment__variables_8md.html
  42. 2 2
      core/epoll-polling-engine_8md.html
  43. 3 3
      core/exec__ctx__fwd_8h.html
  44. 3 3
      core/exec__ctx__fwd_8h_source.html
  45. 2 2
      core/fail__fast_8md.html
  46. 21 20
      core/files.html
  47. 3 9
      core/functions.html
  48. 3 9
      core/functions_vars.html
  49. 2 2
      core/g__stands__for_8md.html
  50. 2 2
      core/globals.html
  51. 2 2
      core/globals_defs.html
  52. 27 3
      core/globals_defs_g.html
  53. 10 4
      core/globals_enum.html
  54. 22 7
      core/globals_eval.html
  55. 2 2
      core/globals_func.html
  56. 28 13
      core/globals_func_g.html
  57. 95 38
      core/globals_g.html
  58. 4 7
      core/globals_type.html
  59. 7 3
      core/gpr__slice_8h.html
  60. 3 9
      core/gpr__slice_8h_source.html
  61. 18 4
      core/gpr__types_8h.html
  62. 36 47
      core/gpr__types_8h_source.html
  63. 2 2
      core/graph_legend.html
  64. 125 7
      core/group__grpc__arg__keys.html
  65. 2 2
      core/grpc-error_8md.html
  66. 114 204
      core/grpc_8h.html
  67. 198 251
      core/grpc_8h_source.html
  68. 3 3
      core/grpc__posix_8h.html
  69. 7 7
      core/grpc__posix_8h_source.html
  70. 181 3
      core/grpc__security_8h.html
  71. 63 234
      core/grpc__security_8h_source.html
  72. 29 3
      core/grpc__security__constants_8h.html
  73. 11 54
      core/grpc__security__constants_8h_source.html
  74. 154 17
      core/grpc__types_8h.html
  75. 473 440
      core/grpc__types_8h_source.html
  76. 2 2
      core/health-checking_8md.html
  77. 7 3
      core/histogram_8h.html
  78. 5 8
      core/histogram_8h_source.html
  79. 13 3
      core/host__port_8h.html
  80. 6 21
      core/host__port_8h_source.html
  81. 2 2
      core/http-grpc-status-mapping_8md.html
  82. 2 2
      core/http2-interop-test-descriptions_8md.html
  83. 17 6
      core/impl_2codegen_2atm_8h.html
  84. 4 50
      core/impl_2codegen_2atm_8h_source.html
  85. 3 3
      core/impl_2codegen_2atm__gcc__atomic_8h.html
  86. 3 3
      core/impl_2codegen_2atm__gcc__atomic_8h_source.html
  87. 3 3
      core/impl_2codegen_2atm__gcc__sync_8h.html
  88. 3 3
      core/impl_2codegen_2atm__gcc__sync_8h_source.html
  89. 6 3
      core/impl_2codegen_2atm__windows_8h.html
  90. 4 9
      core/impl_2codegen_2atm__windows_8h_source.html
  91. 3 3
      core/impl_2codegen_2byte__buffer__reader_8h.html
  92. 6 8
      core/impl_2codegen_2byte__buffer__reader_8h_source.html
  93. 4 4
      core/impl_2codegen_2port__platform_8h.html
  94. 132 126
      core/impl_2codegen_2port__platform_8h_source.html
  95. 19 5
      core/impl_2codegen_2slice_8h.html
  96. 108 147
      core/impl_2codegen_2slice_8h_source.html
  97. 35 3
      core/impl_2codegen_2status_8h.html
  98. 33 113
      core/impl_2codegen_2status_8h_source.html
  99. 3 3
      core/impl_2codegen_2sync_8h.html
  100. 4 22
      core/impl_2codegen_2sync_8h_source.html

+ 2 - 2
core/_p_r_o_t_o_c_o_l-_h_t_t_p2_8md.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 2 - 2
core/_p_r_o_t_o_c_o_l-_w_e_b_8md.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 22 - 3
core/alloc_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_692cef9a660803f4b5efbe2b781d2071.html">support</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_8e03e8f0d52209e008fae5f40ace0591.html">support</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -113,16 +113,22 @@ Typedefs</h2></td></tr>
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:aa15f6aa58f356420b0d955fc6e506a60"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="alloc_8h.html#aa15f6aa58f356420b0d955fc6e506a60">gpr_malloc</a> (size_t size)</td></tr>
+<tr class="memdesc:aa15f6aa58f356420b0d955fc6e506a60"><td class="mdescLeft">&#160;</td><td class="mdescRight">malloc.  <a href="#aa15f6aa58f356420b0d955fc6e506a60">More...</a><br/></td></tr>
 <tr class="separator:aa15f6aa58f356420b0d955fc6e506a60"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ad9a7a782f4f00cad27d64d27ebbd1a72"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="alloc_8h.html#ad9a7a782f4f00cad27d64d27ebbd1a72">gpr_zalloc</a> (size_t size)</td></tr>
+<tr class="memdesc:ad9a7a782f4f00cad27d64d27ebbd1a72"><td class="mdescLeft">&#160;</td><td class="mdescRight">like malloc, but zero all bytes before returning them  <a href="#ad9a7a782f4f00cad27d64d27ebbd1a72">More...</a><br/></td></tr>
 <tr class="separator:ad9a7a782f4f00cad27d64d27ebbd1a72"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a7f8641de6e80a37dd003d3100cc94bd7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="alloc_8h.html#a7f8641de6e80a37dd003d3100cc94bd7">gpr_free</a> (void *ptr)</td></tr>
+<tr class="memdesc:a7f8641de6e80a37dd003d3100cc94bd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">free  <a href="#a7f8641de6e80a37dd003d3100cc94bd7">More...</a><br/></td></tr>
 <tr class="separator:a7f8641de6e80a37dd003d3100cc94bd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a4282437d10bb2b1a2c44d665a97984f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="alloc_8h.html#a4282437d10bb2b1a2c44d665a97984f4">gpr_realloc</a> (void *p, size_t size)</td></tr>
+<tr class="memdesc:a4282437d10bb2b1a2c44d665a97984f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">realloc, never returns NULL  <a href="#a4282437d10bb2b1a2c44d665a97984f4">More...</a><br/></td></tr>
 <tr class="separator:a4282437d10bb2b1a2c44d665a97984f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a06063f6aa3522eaed0f1eae1987c31db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="alloc_8h.html#a06063f6aa3522eaed0f1eae1987c31db">gpr_malloc_aligned</a> (size_t size, size_t alignment_log)</td></tr>
+<tr class="memdesc:a06063f6aa3522eaed0f1eae1987c31db"><td class="mdescLeft">&#160;</td><td class="mdescRight">aligned malloc, never returns NULL, will align to 1 &lt;&lt; alignment_log  <a href="#a06063f6aa3522eaed0f1eae1987c31db">More...</a><br/></td></tr>
 <tr class="separator:a06063f6aa3522eaed0f1eae1987c31db"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aafbdc542e56bcd24fcb80a9cd55afef1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="alloc_8h.html#aafbdc542e56bcd24fcb80a9cd55afef1">gpr_free_aligned</a> (void *ptr)</td></tr>
+<tr class="memdesc:aafbdc542e56bcd24fcb80a9cd55afef1"><td class="mdescLeft">&#160;</td><td class="mdescRight">free memory allocated by gpr_malloc_aligned  <a href="#aafbdc542e56bcd24fcb80a9cd55afef1">More...</a><br/></td></tr>
 <tr class="separator:aafbdc542e56bcd24fcb80a9cd55afef1"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a2a32fcafdda423e2a11b4130d55951b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="alloc_8h.html#a2a32fcafdda423e2a11b4130d55951b4">gpr_set_allocation_functions</a> (<a class="el" href="structgpr__allocation__functions.html">gpr_allocation_functions</a> functions)</td></tr>
 <tr class="memdesc:a2a32fcafdda423e2a11b4130d55951b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request the family of allocation functions in <em>functions</em> be used.  <a href="#a2a32fcafdda423e2a11b4130d55951b4">More...</a><br/></td></tr>
@@ -159,6 +165,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>free </p>
+
 </div>
 </div>
 <a class="anchor" id="aafbdc542e56bcd24fcb80a9cd55afef1"></a>
@@ -175,6 +183,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>free memory allocated by gpr_malloc_aligned </p>
+
 </div>
 </div>
 <a class="anchor" id="ac0a25de49821991a7c7b1ea91a8f06ee"></a>
@@ -208,6 +218,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>malloc. </p>
+<p>If size==0, always returns NULL. Otherwise this function never returns NULL. The pointer returned is suitably aligned for any kind of variable it could contain. </p>
+
 </div>
 </div>
 <a class="anchor" id="a06063f6aa3522eaed0f1eae1987c31db"></a>
@@ -234,6 +247,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>aligned malloc, never returns NULL, will align to 1 &lt;&lt; alignment_log </p>
+
 </div>
 </div>
 <a class="anchor" id="a4282437d10bb2b1a2c44d665a97984f4"></a>
@@ -260,6 +275,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>realloc, never returns NULL </p>
+
 </div>
 </div>
 <a class="anchor" id="a2a32fcafdda423e2a11b4130d55951b4"></a>
@@ -295,12 +312,14 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>like malloc, but zero all bytes before returning them </p>
+
 </div>
 </div>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 11 - 21
core/alloc_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_692cef9a660803f4b5efbe2b781d2071.html">support</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_8e03e8f0d52209e008fae5f40ace0591.html">support</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -136,26 +136,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor"></span></div>
 <div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="structgpr__allocation__functions.html">   45</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgpr__allocation__functions.html">gpr_allocation_functions</a> {</div>
 <div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="structgpr__allocation__functions.html#a8b4c22c83d45aad9a15df42b0ea856de">   46</a></span>&#160;  <span class="keywordtype">void</span> *(*malloc_fn)(<span class="keywordtype">size_t</span> size);</div>
-<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="structgpr__allocation__functions.html#a3b5179cfe5bb7bfd124c8ccfc4115c3f">   47</a></span>&#160;  <span class="keywordtype">void</span> *(*zalloc_fn)(<span class="keywordtype">size_t</span> size); <span class="comment">/* if NULL, uses malloc_fn then memset */</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="structgpr__allocation__functions.html#a3b5179cfe5bb7bfd124c8ccfc4115c3f">   47</a></span>&#160;  <span class="keywordtype">void</span> *(*zalloc_fn)(<span class="keywordtype">size_t</span> size); </div>
 <div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="structgpr__allocation__functions.html#a9531b5caeb40a8feb26c9f2009c87af1">   48</a></span>&#160;  <span class="keywordtype">void</span> *(*realloc_fn)(<span class="keywordtype">void</span> *ptr, <span class="keywordtype">size_t</span> size);</div>
 <div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="structgpr__allocation__functions.html#ad323a5e8635f58683d9c87ade4b04a7e">   49</a></span>&#160;  void (*<a class="code" href="structgpr__allocation__functions.html#ad323a5e8635f58683d9c87ade4b04a7e">free_fn</a>)(<span class="keywordtype">void</span> *ptr);</div>
 <div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;} <a class="code" href="alloc_8h.html#a54bbd527f303da4b618adb37ae44efd7">gpr_allocation_functions</a>;</div>
 <div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">/* malloc.</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment"> * If size==0, always returns NULL. Otherwise this function never returns NULL.</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment"> * The pointer returned is suitably aligned for any kind of variable it could</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment"> * contain.</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment"> */</span></div>
 <div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <span class="keywordtype">void</span> *<a class="code" href="alloc_8h.html#aa15f6aa58f356420b0d955fc6e506a60">gpr_malloc</a>(<span class="keywordtype">size_t</span> size);</div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">/* like malloc, but zero all bytes before returning them */</span></div>
 <div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <span class="keywordtype">void</span> *<a class="code" href="alloc_8h.html#ad9a7a782f4f00cad27d64d27ebbd1a72">gpr_zalloc</a>(<span class="keywordtype">size_t</span> size);</div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">/* free */</span></div>
 <div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <span class="keywordtype">void</span> <a class="code" href="alloc_8h.html#a7f8641de6e80a37dd003d3100cc94bd7">gpr_free</a>(<span class="keywordtype">void</span> *ptr);</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/* realloc, never returns NULL */</span></div>
 <div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <span class="keywordtype">void</span> *<a class="code" href="alloc_8h.html#a4282437d10bb2b1a2c44d665a97984f4">gpr_realloc</a>(<span class="keywordtype">void</span> *p, <span class="keywordtype">size_t</span> size);</div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">/* aligned malloc, never returns NULL, will align to 1 &lt;&lt; alignment_log */</span></div>
 <div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <span class="keywordtype">void</span> *<a class="code" href="alloc_8h.html#a06063f6aa3522eaed0f1eae1987c31db">gpr_malloc_aligned</a>(<span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> alignment_log);</div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/* free memory allocated by gpr_malloc_aligned */</span></div>
 <div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <span class="keywordtype">void</span> <a class="code" href="alloc_8h.html#aafbdc542e56bcd24fcb80a9cd55afef1">gpr_free_aligned</a>(<span class="keywordtype">void</span> *ptr);</div>
 <div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div>
 <div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <span class="keywordtype">void</span> <a class="code" href="alloc_8h.html#a2a32fcafdda423e2a11b4130d55951b4">gpr_set_allocation_functions</a>(<a class="code" href="structgpr__allocation__functions.html">gpr_allocation_functions</a> functions);</div>
@@ -170,20 +160,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="ttc" id="structgpr__allocation__functions_html_ad323a5e8635f58683d9c87ade4b04a7e"><div class="ttname"><a href="structgpr__allocation__functions.html#ad323a5e8635f58683d9c87ade4b04a7e">gpr_allocation_functions::free_fn</a></div><div class="ttdeci">void(* free_fn)(void *ptr)</div><div class="ttdef"><b>Definition:</b> alloc.h:49</div></div>
 <div class="ttc" id="alloc_8h_html_a54bbd527f303da4b618adb37ae44efd7"><div class="ttname"><a href="alloc_8h.html#a54bbd527f303da4b618adb37ae44efd7">gpr_allocation_functions</a></div><div class="ttdeci">struct gpr_allocation_functions gpr_allocation_functions</div></div>
 <div class="ttc" id="structgpr__allocation__functions_html"><div class="ttname"><a href="structgpr__allocation__functions.html">gpr_allocation_functions</a></div><div class="ttdef"><b>Definition:</b> alloc.h:45</div></div>
-<div class="ttc" id="impl_2codegen_2port__platform_8h_html_af89d3610372fc35178e83e06916aa808"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a></div><div class="ttdeci">#define GPRAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:410</div></div>
-<div class="ttc" id="alloc_8h_html_aafbdc542e56bcd24fcb80a9cd55afef1"><div class="ttname"><a href="alloc_8h.html#aafbdc542e56bcd24fcb80a9cd55afef1">gpr_free_aligned</a></div><div class="ttdeci">GPRAPI void gpr_free_aligned(void *ptr)</div></div>
+<div class="ttc" id="impl_2codegen_2port__platform_8h_html_af89d3610372fc35178e83e06916aa808"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a></div><div class="ttdeci">#define GPRAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:416</div></div>
+<div class="ttc" id="alloc_8h_html_aafbdc542e56bcd24fcb80a9cd55afef1"><div class="ttname"><a href="alloc_8h.html#aafbdc542e56bcd24fcb80a9cd55afef1">gpr_free_aligned</a></div><div class="ttdeci">GPRAPI void gpr_free_aligned(void *ptr)</div><div class="ttdoc">free memory allocated by gpr_malloc_aligned </div></div>
 <div class="ttc" id="alloc_8h_html_ac0a25de49821991a7c7b1ea91a8f06ee"><div class="ttname"><a href="alloc_8h.html#ac0a25de49821991a7c7b1ea91a8f06ee">gpr_get_allocation_functions</a></div><div class="ttdeci">GPRAPI gpr_allocation_functions gpr_get_allocation_functions()</div><div class="ttdoc">Return the family of allocation functions currently in effect. </div></div>
-<div class="ttc" id="alloc_8h_html_a06063f6aa3522eaed0f1eae1987c31db"><div class="ttname"><a href="alloc_8h.html#a06063f6aa3522eaed0f1eae1987c31db">gpr_malloc_aligned</a></div><div class="ttdeci">GPRAPI void * gpr_malloc_aligned(size_t size, size_t alignment_log)</div></div>
-<div class="ttc" id="alloc_8h_html_a7f8641de6e80a37dd003d3100cc94bd7"><div class="ttname"><a href="alloc_8h.html#a7f8641de6e80a37dd003d3100cc94bd7">gpr_free</a></div><div class="ttdeci">GPRAPI void gpr_free(void *ptr)</div></div>
-<div class="ttc" id="alloc_8h_html_a4282437d10bb2b1a2c44d665a97984f4"><div class="ttname"><a href="alloc_8h.html#a4282437d10bb2b1a2c44d665a97984f4">gpr_realloc</a></div><div class="ttdeci">GPRAPI void * gpr_realloc(void *p, size_t size)</div></div>
-<div class="ttc" id="alloc_8h_html_ad9a7a782f4f00cad27d64d27ebbd1a72"><div class="ttname"><a href="alloc_8h.html#ad9a7a782f4f00cad27d64d27ebbd1a72">gpr_zalloc</a></div><div class="ttdeci">GPRAPI void * gpr_zalloc(size_t size)</div></div>
+<div class="ttc" id="alloc_8h_html_a06063f6aa3522eaed0f1eae1987c31db"><div class="ttname"><a href="alloc_8h.html#a06063f6aa3522eaed0f1eae1987c31db">gpr_malloc_aligned</a></div><div class="ttdeci">GPRAPI void * gpr_malloc_aligned(size_t size, size_t alignment_log)</div><div class="ttdoc">aligned malloc, never returns NULL, will align to 1 &lt;&lt; alignment_log </div></div>
+<div class="ttc" id="alloc_8h_html_a7f8641de6e80a37dd003d3100cc94bd7"><div class="ttname"><a href="alloc_8h.html#a7f8641de6e80a37dd003d3100cc94bd7">gpr_free</a></div><div class="ttdeci">GPRAPI void gpr_free(void *ptr)</div><div class="ttdoc">free </div></div>
+<div class="ttc" id="alloc_8h_html_a4282437d10bb2b1a2c44d665a97984f4"><div class="ttname"><a href="alloc_8h.html#a4282437d10bb2b1a2c44d665a97984f4">gpr_realloc</a></div><div class="ttdeci">GPRAPI void * gpr_realloc(void *p, size_t size)</div><div class="ttdoc">realloc, never returns NULL </div></div>
+<div class="ttc" id="alloc_8h_html_ad9a7a782f4f00cad27d64d27ebbd1a72"><div class="ttname"><a href="alloc_8h.html#ad9a7a782f4f00cad27d64d27ebbd1a72">gpr_zalloc</a></div><div class="ttdeci">GPRAPI void * gpr_zalloc(size_t size)</div><div class="ttdoc">like malloc, but zero all bytes before returning them </div></div>
 <div class="ttc" id="alloc_8h_html_a2a32fcafdda423e2a11b4130d55951b4"><div class="ttname"><a href="alloc_8h.html#a2a32fcafdda423e2a11b4130d55951b4">gpr_set_allocation_functions</a></div><div class="ttdeci">GPRAPI void gpr_set_allocation_functions(gpr_allocation_functions functions)</div><div class="ttdoc">Request the family of allocation functions in functions be used. </div></div>
 <div class="ttc" id="impl_2codegen_2port__platform_8h_html"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html">port_platform.h</a></div></div>
-<div class="ttc" id="alloc_8h_html_aa15f6aa58f356420b0d955fc6e506a60"><div class="ttname"><a href="alloc_8h.html#aa15f6aa58f356420b0d955fc6e506a60">gpr_malloc</a></div><div class="ttdeci">GPRAPI void * gpr_malloc(size_t size)</div></div>
+<div class="ttc" id="alloc_8h_html_aa15f6aa58f356420b0d955fc6e506a60"><div class="ttname"><a href="alloc_8h.html#aa15f6aa58f356420b0d955fc6e506a60">gpr_malloc</a></div><div class="ttdeci">GPRAPI void * gpr_malloc(size_t size)</div><div class="ttdoc">malloc. </div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 25 - 26
core/annotated.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -89,32 +89,32 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="contents">
 <div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory">
 <table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structcensus__context__iterator.html" target="_self">census_context_iterator</a></td><td class="desc"></td></tr>
-<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structcensus__context__status.html" target="_self">census_context_status</a></td><td class="desc"></td></tr>
+<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structcensus__context__iterator.html" target="_self">census_context_iterator</a></td><td class="desc">Structure used for iterating over the tags in a context </td></tr>
+<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structcensus__context__status.html" target="_self">census_context_status</a></td><td class="desc">An instance of this structure is kept by every context, and records the basic information associated with the creation of that context </td></tr>
 <tr id="row_2_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structcensus__rpc__name__info.html" target="_self">census_rpc_name_info</a></td><td class="desc">Represent functions to map RPC name ID to service/method names </td></tr>
-<tr id="row_3_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structcensus__tag.html" target="_self">census_tag</a></td><td class="desc"></td></tr>
-<tr id="row_4_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structcensus__timestamp.html" target="_self">census_timestamp</a></td><td class="desc">This structure represents a timestamp as used by census to record the time at which an operation begins </td></tr>
+<tr id="row_3_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structcensus__tag.html" target="_self">census_tag</a></td><td class="desc">A tag is a key:value pair </td></tr>
+<tr id="row_4_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structcensus__timestamp.html" target="_self">census_timestamp</a></td><td class="desc">The concept of "operation" is a fundamental concept for Census </td></tr>
 <tr id="row_5_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structcensus__trace__record.html" target="_self">census_trace_record</a></td><td class="desc">Trace record </td></tr>
-<tr id="row_6_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structcensus__value.html" target="_self">census_value</a></td><td class="desc"></td></tr>
+<tr id="row_6_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structcensus__value.html" target="_self">census_value</a></td><td class="desc">A single value to be recorded comprises two parts: an ID for the particular resource and the value to be recorded against it </td></tr>
 <tr id="row_7_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgpr__allocation__functions.html" target="_self">gpr_allocation_functions</a></td><td class="desc"></td></tr>
 <tr id="row_8_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgpr__avl.html" target="_self">gpr_avl</a></td><td class="desc">"pointer" to an AVL tree - this is a reference counted object - use gpr_avl_ref to add a reference, gpr_avl_unref when done with a reference </td></tr>
 <tr id="row_9_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgpr__avl__node.html" target="_self">gpr_avl_node</a></td><td class="desc">Internal node of an AVL tree </td></tr>
 <tr id="row_10_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgpr__avl__vtable.html" target="_self">gpr_avl_vtable</a></td><td class="desc"></td></tr>
 <tr id="row_11_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgpr__event.html" target="_self">gpr_event</a></td><td class="desc"></td></tr>
-<tr id="row_12_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgpr__gcc__thread__local.html" target="_self">gpr_gcc_thread_local</a></td><td class="desc"></td></tr>
-<tr id="row_13_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgpr__log__func__args.html" target="_self">gpr_log_func_args</a></td><td class="desc"></td></tr>
-<tr id="row_14_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgpr__msvc__thread__local.html" target="_self">gpr_msvc_thread_local</a></td><td class="desc"></td></tr>
+<tr id="row_12_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgpr__gcc__thread__local.html" target="_self">gpr_gcc_thread_local</a></td><td class="desc">Thread local storage based on gcc compiler primitives </td></tr>
+<tr id="row_13_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgpr__log__func__args.html" target="_self">gpr_log_func_args</a></td><td class="desc">Log overrides: applications can use this API to intercept logging calls and use their own implementations </td></tr>
+<tr id="row_14_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgpr__msvc__thread__local.html" target="_self">gpr_msvc_thread_local</a></td><td class="desc">Thread local storage based on ms visual c compiler primitives </td></tr>
 <tr id="row_15_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgpr__mu.html" target="_self">gpr_mu</a></td><td class="desc"></td></tr>
-<tr id="row_16_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgpr__pthread__thread__local.html" target="_self">gpr_pthread_thread_local</a></td><td class="desc"></td></tr>
+<tr id="row_16_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgpr__pthread__thread__local.html" target="_self">gpr_pthread_thread_local</a></td><td class="desc">Thread local storage based on pthread library calls </td></tr>
 <tr id="row_17_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgpr__refcount.html" target="_self">gpr_refcount</a></td><td class="desc"></td></tr>
 <tr id="row_18_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgpr__stats__counter.html" target="_self">gpr_stats_counter</a></td><td class="desc"></td></tr>
-<tr id="row_19_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgpr__thd__options.html" target="_self">gpr_thd_options</a></td><td class="desc"></td></tr>
-<tr id="row_20_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgpr__timespec.html" target="_self">gpr_timespec</a></td><td class="desc"></td></tr>
+<tr id="row_19_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgpr__thd__options.html" target="_self">gpr_thd_options</a></td><td class="desc">Thread creation options </td></tr>
+<tr id="row_20_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgpr__timespec.html" target="_self">gpr_timespec</a></td><td class="desc">Analogous to struct timespec </td></tr>
 <tr id="row_21_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__arg.html" target="_self">grpc_arg</a></td><td class="desc">A single argument.. </td></tr>
 <tr id="row_22_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__arg__pointer__vtable.html" target="_self">grpc_arg_pointer_vtable</a></td><td class="desc"></td></tr>
-<tr id="row_23_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__auth__metadata__context.html" target="_self">grpc_auth_metadata_context</a></td><td class="desc"></td></tr>
-<tr id="row_24_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__auth__metadata__processor.html" target="_self">grpc_auth_metadata_processor</a></td><td class="desc"></td></tr>
-<tr id="row_25_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__auth__property.html" target="_self">grpc_auth_property</a></td><td class="desc"></td></tr>
+<tr id="row_23_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__auth__metadata__context.html" target="_self">grpc_auth_metadata_context</a></td><td class="desc">Context that can be used by metadata credentials plugin in order to create auth related metadata </td></tr>
+<tr id="row_24_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__auth__metadata__processor.html" target="_self">grpc_auth_metadata_processor</a></td><td class="desc">Pluggable server-side metadata processor object </td></tr>
+<tr id="row_25_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__auth__property.html" target="_self">grpc_auth_property</a></td><td class="desc">Value, if not NULL, is guaranteed to be NULL terminated </td></tr>
 <tr id="row_26_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__auth__property__iterator.html" target="_self">grpc_auth_property_iterator</a></td><td class="desc"></td></tr>
 <tr id="row_27_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__byte__buffer.html" target="_self">grpc_byte_buffer</a></td><td class="desc"></td></tr>
 <tr id="row_28_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__byte__buffer__reader.html" target="_self">grpc_byte_buffer_reader</a></td><td class="desc"></td></tr>
@@ -124,22 +124,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <tr id="row_32_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__completion__queue__attributes.html" target="_self">grpc_completion_queue_attributes</a></td><td class="desc"></td></tr>
 <tr id="row_33_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__compression__options.html" target="_self">grpc_compression_options</a></td><td class="desc"></td></tr>
 <tr id="row_34_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__event.html" target="_self">grpc_event</a></td><td class="desc">The result of an operation </td></tr>
-<tr id="row_35_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__load__reporting__cost__context.html" target="_self">grpc_load_reporting_cost_context</a></td><td class="desc">A sequence of values for load reporting purposes </td></tr>
-<tr id="row_36_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__metadata.html" target="_self">grpc_metadata</a></td><td class="desc">A single metadata element </td></tr>
-<tr id="row_37_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__metadata__array.html" target="_self">grpc_metadata_array</a></td><td class="desc"></td></tr>
-<tr id="row_38_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__metadata__credentials__plugin.html" target="_self">grpc_metadata_credentials_plugin</a></td><td class="desc"></td></tr>
-<tr id="row_39_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__op.html" target="_self">grpc_op</a></td><td class="desc">Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments) </td></tr>
-<tr id="row_40_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__slice.html" target="_self">grpc_slice</a></td><td class="desc"></td></tr>
-<tr id="row_41_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__slice__buffer.html" target="_self">grpc_slice_buffer</a></td><td class="desc"></td></tr>
-<tr id="row_42_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__slice__refcount.html" target="_self">grpc_slice_refcount</a></td><td class="desc"></td></tr>
-<tr id="row_43_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__slice__refcount__vtable.html" target="_self">grpc_slice_refcount_vtable</a></td><td class="desc"></td></tr>
-<tr id="row_44_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__ssl__pem__key__cert__pair.html" target="_self">grpc_ssl_pem_key_cert_pair</a></td><td class="desc"></td></tr>
+<tr id="row_35_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__metadata.html" target="_self">grpc_metadata</a></td><td class="desc">A single metadata element </td></tr>
+<tr id="row_36_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__metadata__array.html" target="_self">grpc_metadata_array</a></td><td class="desc"></td></tr>
+<tr id="row_37_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__metadata__credentials__plugin.html" target="_self">grpc_metadata_credentials_plugin</a></td><td class="desc">Grpc_metadata_credentials plugin is an API user provided structure used to create grpc_credentials objects that can be set on a channel (composed) or a call </td></tr>
+<tr id="row_38_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__op.html" target="_self">grpc_op</a></td><td class="desc">Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments) </td></tr>
+<tr id="row_39_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__slice.html" target="_self">grpc_slice</a></td><td class="desc">A <a class="el" href="structgrpc__slice.html" title="A grpc_slice s, if initialized, represents the byte range s.bytes[0..s.length-1]. ...">grpc_slice</a> s, if initialized, represents the byte range s.bytes[0..s.length-1] </td></tr>
+<tr id="row_40_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__slice__buffer.html" target="_self">grpc_slice_buffer</a></td><td class="desc">Represents an expandable array of slices, to be interpreted as a single item </td></tr>
+<tr id="row_41_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__slice__refcount.html" target="_self">grpc_slice_refcount</a></td><td class="desc">Reference count container for <a class="el" href="structgrpc__slice.html" title="A grpc_slice s, if initialized, represents the byte range s.bytes[0..s.length-1]. ...">grpc_slice</a> </td></tr>
+<tr id="row_42_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__slice__refcount__vtable.html" target="_self">grpc_slice_refcount_vtable</a></td><td class="desc">Slice API </td></tr>
+<tr id="row_43_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc__ssl__pem__key__cert__pair.html" target="_self">grpc_ssl_pem_key_cert_pair</a></td><td class="desc">Object that holds a private key / certificate chain pair in PEM format </td></tr>
 </table>
 </div><!-- directory -->
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:58 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 3 - 3
core/avl_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_692cef9a660803f4b5efbe2b781d2071.html">support</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_8e03e8f0d52209e008fae5f40ace0591.html">support</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -390,7 +390,7 @@ Functions</h2></td></tr>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 4 - 4
core/avl_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_692cef9a660803f4b5efbe2b781d2071.html">support</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_8e03e8f0d52209e008fae5f40ace0591.html">support</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -168,7 +168,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="ttc" id="structgpr__avl_html"><div class="ttname"><a href="structgpr__avl.html">gpr_avl</a></div><div class="ttdoc">&quot;pointer&quot; to an AVL tree - this is a reference counted object - use gpr_avl_ref to add a reference...</div><div class="ttdef"><b>Definition:</b> avl.h:66</div></div>
 <div class="ttc" id="structgpr__avl__vtable_html_a66727a55e5deb998ba07b96fab8e53d9"><div class="ttname"><a href="structgpr__avl__vtable.html#a66727a55e5deb998ba07b96fab8e53d9">gpr_avl_vtable::compare_keys</a></div><div class="ttdeci">long(* compare_keys)(void *key1, void *key2)</div><div class="ttdoc">compare key1, key2; return &lt;0 if key1 &lt; key2, &gt;0 if key1 &gt; key2, 0 if key1 == key2 ...</div><div class="ttdef"><b>Definition:</b> avl.h:56</div></div>
 <div class="ttc" id="structgpr__avl__node_html_aa6d2addf87ecd50fb7dfa474701bc17b"><div class="ttname"><a href="structgpr__avl__node.html#aa6d2addf87ecd50fb7dfa474701bc17b">gpr_avl_node::value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> avl.h:43</div></div>
-<div class="ttc" id="impl_2codegen_2port__platform_8h_html_af89d3610372fc35178e83e06916aa808"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a></div><div class="ttdeci">#define GPRAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:410</div></div>
+<div class="ttc" id="impl_2codegen_2port__platform_8h_html_af89d3610372fc35178e83e06916aa808"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a></div><div class="ttdeci">#define GPRAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:416</div></div>
 <div class="ttc" id="support_2sync_8h_html"><div class="ttname"><a href="support_2sync_8h.html">sync.h</a></div></div>
 <div class="ttc" id="avl_8h_html_a1dab3c1a92471b256b82ca8bd8f96d88"><div class="ttname"><a href="avl_8h.html#a1dab3c1a92471b256b82ca8bd8f96d88">gpr_avl_create</a></div><div class="ttdeci">GPRAPI gpr_avl gpr_avl_create(const gpr_avl_vtable *vtable)</div><div class="ttdoc">create an immutable AVL tree </div></div>
 <div class="ttc" id="avl_8h_html_a31a6a15570ecac89eadb97e13e6b73bd"><div class="ttname"><a href="avl_8h.html#a31a6a15570ecac89eadb97e13e6b73bd">gpr_avl</a></div><div class="ttdeci">struct gpr_avl gpr_avl</div><div class="ttdoc">&quot;pointer&quot; to an AVL tree - this is a reference counted object - use gpr_avl_ref to add a reference...</div></div>
@@ -191,7 +191,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 2 - 2
core/binary-logging_8md.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 3 - 3
core/byte__buffer_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -388,7 +388,7 @@ Functions</h2></td></tr>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 7 - 7
core/byte__buffer_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -169,16 +169,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_BYTE_BUFFER_H */</span><span class="preprocessor"></span></div>
 <div class="ttc" id="byte__buffer_8h_html_ae28a4ce16b0d8ddd506f1df3fcb3c619"><div class="ttname"><a href="byte__buffer_8h.html#ae28a4ce16b0d8ddd506f1df3fcb3c619">grpc_byte_buffer_reader_destroy</a></div><div class="ttdeci">GRPCAPI void grpc_byte_buffer_reader_destroy(grpc_byte_buffer_reader *reader)</div><div class="ttdoc">Cleanup and destroy reader. </div></div>
 <div class="ttc" id="byte__buffer_8h_html_a5ab72d6615ee89c975c46ad4e50c1387"><div class="ttname"><a href="byte__buffer_8h.html#a5ab72d6615ee89c975c46ad4e50c1387">grpc_raw_byte_buffer_create</a></div><div class="ttdeci">GRPCAPI grpc_byte_buffer * grpc_raw_byte_buffer_create(grpc_slice *slices, size_t nslices)</div><div class="ttdoc">Returns a RAW byte buffer instance over the given slices (up to nslices). </div></div>
-<div class="ttc" id="structgrpc__slice_html"><div class="ttname"><a href="structgrpc__slice.html">grpc_slice</a></div><div class="ttdef"><b>Definition:</b> slice.h:90</div></div>
+<div class="ttc" id="structgrpc__slice_html"><div class="ttname"><a href="structgrpc__slice.html">grpc_slice</a></div><div class="ttdoc">A grpc_slice s, if initialized, represents the byte range s.bytes[0..s.length-1]. ...</div><div class="ttdef"><b>Definition:</b> slice.h:91</div></div>
 <div class="ttc" id="byte__buffer_8h_html_a4ebb8f0714bee2c84fed0be62d0dc259"><div class="ttname"><a href="byte__buffer_8h.html#a4ebb8f0714bee2c84fed0be62d0dc259">grpc_byte_buffer_copy</a></div><div class="ttdeci">GRPCAPI grpc_byte_buffer * grpc_byte_buffer_copy(grpc_byte_buffer *bb)</div><div class="ttdoc">Copies input byte buffer bb. </div></div>
 <div class="ttc" id="grpc__types_8h_html"><div class="ttname"><a href="grpc__types_8h.html">grpc_types.h</a></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> grpc_types.h:55</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> grpc_types.h:56</div></div>
 <div class="ttc" id="byte__buffer_8h_html_a9532c0f54de763057e185a950368b0bb"><div class="ttname"><a href="byte__buffer_8h.html#a9532c0f54de763057e185a950368b0bb">grpc_byte_buffer_length</a></div><div class="ttdeci">GRPCAPI size_t grpc_byte_buffer_length(grpc_byte_buffer *bb)</div><div class="ttdoc">Returns the size of the given byte buffer, in bytes. </div></div>
 <div class="ttc" id="byte__buffer_8h_html_a8352c7f73cf930c8195e547bd1a5a242"><div class="ttname"><a href="byte__buffer_8h.html#a8352c7f73cf930c8195e547bd1a5a242">grpc_byte_buffer_reader_next</a></div><div class="ttdeci">GRPCAPI int grpc_byte_buffer_reader_next(grpc_byte_buffer_reader *reader, grpc_slice *slice)</div><div class="ttdoc">Updates slice with the next piece of data from from reader and returns. </div></div>
 <div class="ttc" id="byte__buffer_8h_html_affd8fb29176a60c44fe704983fa87406"><div class="ttname"><a href="byte__buffer_8h.html#affd8fb29176a60c44fe704983fa87406">grpc_byte_buffer_reader_init</a></div><div class="ttdeci">GRPCAPI int grpc_byte_buffer_reader_init(grpc_byte_buffer_reader *reader, grpc_byte_buffer *buffer)</div><div class="ttdoc">Initialize reader to read over buffer. </div></div>
 <div class="ttc" id="byte__buffer_8h_html_a32c878db8b0a48035ce777844360a6f0"><div class="ttname"><a href="byte__buffer_8h.html#a32c878db8b0a48035ce777844360a6f0">grpc_byte_buffer_destroy</a></div><div class="ttdeci">GRPCAPI void grpc_byte_buffer_destroy(grpc_byte_buffer *byte_buffer)</div><div class="ttdoc">Destroys byte_buffer deallocating all its memory. </div></div>
-<div class="ttc" id="compression__types_8h_html_ab9de0f68bfb1ef8ed09bd00643db14c9"><div class="ttname"><a href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">grpc_compression_algorithm</a></div><div class="ttdeci">grpc_compression_algorithm</div><div class="ttdef"><b>Definition:</b> compression_types.h:72</div></div>
-<div class="ttc" id="impl_2codegen_2port__platform_8h_html_a2865c3b28ea7db75be4c725adb1edc7d"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a></div><div class="ttdeci">#define GRPCAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:414</div></div>
+<div class="ttc" id="compression__types_8h_html_ab9de0f68bfb1ef8ed09bd00643db14c9"><div class="ttname"><a href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">grpc_compression_algorithm</a></div><div class="ttdeci">grpc_compression_algorithm</div><div class="ttdoc">The various compression algorithms supported by gRPC. </div><div class="ttdef"><b>Definition:</b> compression_types.h:71</div></div>
+<div class="ttc" id="impl_2codegen_2port__platform_8h_html_a2865c3b28ea7db75be4c725adb1edc7d"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a></div><div class="ttdeci">#define GRPCAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:420</div></div>
 <div class="ttc" id="slice__buffer_8h_html"><div class="ttname"><a href="slice__buffer_8h.html">slice_buffer.h</a></div></div>
 <div class="ttc" id="byte__buffer_8h_html_ac7407c6fa60073adb166ca4f3cfbc8e7"><div class="ttname"><a href="byte__buffer_8h.html#ac7407c6fa60073adb166ca4f3cfbc8e7">grpc_raw_byte_buffer_from_reader</a></div><div class="ttdeci">GRPCAPI grpc_byte_buffer * grpc_raw_byte_buffer_from_reader(grpc_byte_buffer_reader *reader)</div><div class="ttdoc">Returns a RAW byte buffer instance from the output of reader. </div></div>
 <div class="ttc" id="structgrpc__byte__buffer__reader_html"><div class="ttname"><a href="structgrpc__byte__buffer__reader.html">grpc_byte_buffer_reader</a></div><div class="ttdef"><b>Definition:</b> byte_buffer_reader.h:43</div></div>
@@ -187,7 +187,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 3 - 3
core/byte__buffer__reader_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 3 - 3
core/byte__buffer__reader_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -133,7 +133,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 2 - 2
core/c-style-guide_8md.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 104 - 10
core/census_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -103,13 +103,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
 Data Structures</h2></td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcensus__tag.html">census_tag</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A tag is a key:value pair.  <a href="structcensus__tag.html#details">More...</a><br/></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcensus__context__status.html">census_context_status</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An instance of this structure is kept by every context, and records the basic information associated with the creation of that context.  <a href="structcensus__context__status.html#details">More...</a><br/></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcensus__context__iterator.html">census_context_iterator</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure used for iterating over the tags in a context.  <a href="structcensus__context__iterator.html#details">More...</a><br/></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcensus__timestamp.html">census_timestamp</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This structure represents a timestamp as used by census to record the time at which an operation begins.  <a href="structcensus__timestamp.html#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The concept of "operation" is a fundamental concept for Census.  <a href="structcensus__timestamp.html#details">More...</a><br/></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcensus__rpc__name__info.html">census_rpc_name_info</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represent functions to map RPC name ID to service/method names.  <a href="structcensus__rpc__name__info.html#details">More...</a><br/></td></tr>
@@ -118,21 +121,26 @@ Data Structures</h2></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trace record.  <a href="structcensus__trace__record.html#details">More...</a><br/></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcensus__value.html">census_value</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A single value to be recorded comprises two parts: an ID for the particular resource and the value to be recorded against it.  <a href="structcensus__value.html#details">More...</a><br/></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
 Macros</h2></td></tr>
 <tr class="memitem:ac3fa459cd0c1621953c46b07bac2faa7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#ac3fa459cd0c1621953c46b07bac2faa7">CENSUS_MAX_TAG_KV_LEN</a>&#160;&#160;&#160;255</td></tr>
+<tr class="memdesc:ac3fa459cd0c1621953c46b07bac2faa7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum length of a tag's key or value.  <a href="#ac3fa459cd0c1621953c46b07bac2faa7">More...</a><br/></td></tr>
 <tr class="separator:ac3fa459cd0c1621953c46b07bac2faa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a487ca94a4b349f1a7d3d28a21b154f4e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#a487ca94a4b349f1a7d3d28a21b154f4e">CENSUS_MAX_PROPAGATED_TAGS</a>&#160;&#160;&#160;255</td></tr>
+<tr class="memdesc:a487ca94a4b349f1a7d3d28a21b154f4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum number of propagatable tags.  <a href="#a487ca94a4b349f1a7d3d28a21b154f4e">More...</a><br/></td></tr>
 <tr class="separator:a487ca94a4b349f1a7d3d28a21b154f4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac116a5843bd29f43a949c56ef5ae619a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#ac116a5843bd29f43a949c56ef5ae619a">CENSUS_TAG_PROPAGATE</a>&#160;&#160;&#160;1 /* Tag should be propagated over RPC */</td></tr>
+<tr class="memitem:ac116a5843bd29f43a949c56ef5ae619a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#ac116a5843bd29f43a949c56ef5ae619a">CENSUS_TAG_PROPAGATE</a>&#160;&#160;&#160;1 /** Tag should be propagated over RPC */</td></tr>
+<tr class="memdesc:ac116a5843bd29f43a949c56ef5ae619a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tag flags.  <a href="#ac116a5843bd29f43a949c56ef5ae619a">More...</a><br/></td></tr>
 <tr class="separator:ac116a5843bd29f43a949c56ef5ae619a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab3c3a66a8c2f392d4a14e75dc44e8931"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#ab3c3a66a8c2f392d4a14e75dc44e8931">CENSUS_TAG_STATS</a>&#160;&#160;&#160;2     /* Tag will be used for statistics aggregation */</td></tr>
+<tr class="memitem:ab3c3a66a8c2f392d4a14e75dc44e8931"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#ab3c3a66a8c2f392d4a14e75dc44e8931">CENSUS_TAG_STATS</a>&#160;&#160;&#160;2    /** Tag will be used for statistics aggregation */</td></tr>
 <tr class="separator:ab3c3a66a8c2f392d4a14e75dc44e8931"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a070dd8c57a1a31ced0c7ead5a5910df7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#a070dd8c57a1a31ced0c7ead5a5910df7">CENSUS_TAG_RESERVED</a>&#160;&#160;&#160;4  /* Reserved for internal use. */</td></tr>
+<tr class="memitem:a070dd8c57a1a31ced0c7ead5a5910df7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#a070dd8c57a1a31ced0c7ead5a5910df7">CENSUS_TAG_RESERVED</a>&#160;&#160;&#160;4 /** Reserved for internal use. */</td></tr>
 <tr class="separator:a070dd8c57a1a31ced0c7ead5a5910df7"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:afa3a818c132d55bb1f0afb7442d8f848"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#afa3a818c132d55bb1f0afb7442d8f848">CENSUS_TAG_IS_PROPAGATED</a>(flags)&#160;&#160;&#160;(flags &amp; <a class="el" href="census_8h.html#ac116a5843bd29f43a949c56ef5ae619a">CENSUS_TAG_PROPAGATE</a>)</td></tr>
+<tr class="memdesc:afa3a818c132d55bb1f0afb7442d8f848"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag values 4,8,16,32,64,128 are reserved for future/internal use.  <a href="#afa3a818c132d55bb1f0afb7442d8f848">More...</a><br/></td></tr>
 <tr class="separator:afa3a818c132d55bb1f0afb7442d8f848"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aaca94b54b685c481236dfb913fef8b4c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#aaca94b54b685c481236dfb913fef8b4c">CENSUS_TAG_IS_STATS</a>(flags)&#160;&#160;&#160;(flags &amp; <a class="el" href="census_8h.html#ab3c3a66a8c2f392d4a14e75dc44e8931">CENSUS_TAG_STATS</a>)</td></tr>
 <tr class="separator:aaca94b54b685c481236dfb913fef8b4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -158,10 +166,12 @@ Enumerations</h2></td></tr>
 &#160;&#160;<a class="el" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8aba96a94fb7af8cf1144ca14edc0b1f0c">CENSUS_FEATURE_ALL</a>
 <br/>
  }</td></tr>
+<tr class="memdesc:abe92e59c22481b0de3742673cbbb1bf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">RPC-internal Census API's.  <a href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8">More...</a><br/></td></tr>
 <tr class="separator:abe92e59c22481b0de3742673cbbb1bf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ad4ff7b1db813ee5318871121bb4281cc"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#ad4ff7b1db813ee5318871121bb4281cc">census_trace_mask_values</a> { <a class="el" href="census_8h.html#ad4ff7b1db813ee5318871121bb4281cca21afa23a531e5d54e70d44ec3c18cfb3">CENSUS_TRACE_MASK_NONE</a> = 0, 
 <a class="el" href="census_8h.html#ad4ff7b1db813ee5318871121bb4281ccaadcf28b76de06181051506c96996255a">CENSUS_TRACE_MASK_IS_SAMPLED</a> = 1
  }</td></tr>
+<tr class="memdesc:ad4ff7b1db813ee5318871121bb4281cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Distributed traces can have a number of options.  <a href="census_8h.html#ad4ff7b1db813ee5318871121bb4281cc">More...</a><br/></td></tr>
 <tr class="separator:ad4ff7b1db813ee5318871121bb4281cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
@@ -178,21 +188,29 @@ Functions</h2></td></tr>
 <tr class="memdesc:a6964222b3c20833883d7d05ab6b6e67e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the census features currently enabled.  <a href="#a6964222b3c20833883d7d05ab6b6e67e">More...</a><br/></td></tr>
 <tr class="separator:a6964222b3c20833883d7d05ab6b6e67e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a63289de665c241f31e9c32666310ec3a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> <a class="el" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#a63289de665c241f31e9c32666310ec3a">census_context_create</a> (const <a class="el" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *base, const <a class="el" href="structcensus__tag.html">census_tag</a> *tags, int ntags, <a class="el" href="structcensus__context__status.html">census_context_status</a> const **status)</td></tr>
+<tr class="memdesc:a63289de665c241f31e9c32666310ec3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new context, adding and removing tags from an existing context.  <a href="#a63289de665c241f31e9c32666310ec3a">More...</a><br/></td></tr>
 <tr class="separator:a63289de665c241f31e9c32666310ec3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a6e29f72138aac3eac75ef13a7bd25560"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#a6e29f72138aac3eac75ef13a7bd25560">census_context_destroy</a> (<a class="el" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *context)</td></tr>
+<tr class="memdesc:a6e29f72138aac3eac75ef13a7bd25560"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy a context.  <a href="#a6e29f72138aac3eac75ef13a7bd25560">More...</a><br/></td></tr>
 <tr class="separator:a6e29f72138aac3eac75ef13a7bd25560"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a12077dda197a10bf2198203eac1a348a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> const <br class="typebreak"/>
 <a class="el" href="structcensus__context__status.html">census_context_status</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#a12077dda197a10bf2198203eac1a348a">census_context_get_status</a> (const <a class="el" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *context)</td></tr>
+<tr class="memdesc:a12077dda197a10bf2198203eac1a348a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the original status from the context creation.  <a href="#a12077dda197a10bf2198203eac1a348a">More...</a><br/></td></tr>
 <tr class="separator:a12077dda197a10bf2198203eac1a348a"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ac19f91fc3442073217752ce4abf5dfc4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#ac19f91fc3442073217752ce4abf5dfc4">census_context_initialize_iterator</a> (const <a class="el" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *context, <a class="el" href="structcensus__context__iterator.html">census_context_iterator</a> *iterator)</td></tr>
+<tr class="memdesc:ac19f91fc3442073217752ce4abf5dfc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize a census_tag_iterator.  <a href="#ac19f91fc3442073217752ce4abf5dfc4">More...</a><br/></td></tr>
 <tr class="separator:ac19f91fc3442073217752ce4abf5dfc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a756d86b68b73a9ad9dacdfdaeb2a865c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#a756d86b68b73a9ad9dacdfdaeb2a865c">census_context_next_tag</a> (<a class="el" href="structcensus__context__iterator.html">census_context_iterator</a> *iterator, <a class="el" href="structcensus__tag.html">census_tag</a> *tag)</td></tr>
+<tr class="memdesc:a756d86b68b73a9ad9dacdfdaeb2a865c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the contents of the "next" tag in the context.  <a href="#a756d86b68b73a9ad9dacdfdaeb2a865c">More...</a><br/></td></tr>
 <tr class="separator:a756d86b68b73a9ad9dacdfdaeb2a865c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a610c654980b00da26ed7b2becca79f94"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#a610c654980b00da26ed7b2becca79f94">census_context_get_tag</a> (const <a class="el" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *context, const char *key, <a class="el" href="structcensus__tag.html">census_tag</a> *tag)</td></tr>
+<tr class="memdesc:a610c654980b00da26ed7b2becca79f94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a context tag by key.  <a href="#a610c654980b00da26ed7b2becca79f94">More...</a><br/></td></tr>
 <tr class="separator:a610c654980b00da26ed7b2becca79f94"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a054424f7ca74d513c4dba55dd20d92f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#a054424f7ca74d513c4dba55dd20d92f2">census_context_encode</a> (const <a class="el" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *context, char *buffer, size_t buf_size)</td></tr>
+<tr class="memdesc:a054424f7ca74d513c4dba55dd20d92f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tag set encode/decode functionality.  <a href="#a054424f7ca74d513c4dba55dd20d92f2">More...</a><br/></td></tr>
 <tr class="separator:a054424f7ca74d513c4dba55dd20d92f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aaccea127635aaf9200e776eff7c7ba5d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> <a class="el" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#aaccea127635aaf9200e776eff7c7ba5d">census_context_decode</a> (const char *buffer, size_t size)</td></tr>
+<tr class="memdesc:aaccea127635aaf9200e776eff7c7ba5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decode context buffer encoded with <a class="el" href="census_8h.html#a054424f7ca74d513c4dba55dd20d92f2" title="Tag set encode/decode functionality. ">census_context_encode()</a>.  <a href="#aaccea127635aaf9200e776eff7c7ba5d">More...</a><br/></td></tr>
 <tr class="separator:aaccea127635aaf9200e776eff7c7ba5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a2a2dfc973cd259d93b0901c8b32e8f34"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#a2a2dfc973cd259d93b0901c8b32e8f34">census_trace_mask</a> (const <a class="el" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *context)</td></tr>
 <tr class="memdesc:a2a2dfc973cd259d93b0901c8b32e8f34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current trace mask associated with this context.  <a href="#a2a2dfc973cd259d93b0901c8b32e8f34">More...</a><br/></td></tr>
@@ -231,12 +249,16 @@ Functions</h2></td></tr>
 <tr class="memdesc:a22eb7df4c9b232d8962592d738007ecb"><td class="mdescLeft">&#160;</td><td class="mdescRight">End a scan previously started by <a class="el" href="census_8h.html#ad78c02761da0d8a7a70bf4add263f91f" title="Start a scan of existing trace records. ">census_trace_scan_start()</a>  <a href="#a22eb7df4c9b232d8962592d738007ecb">More...</a><br/></td></tr>
 <tr class="separator:a22eb7df4c9b232d8962592d738007ecb"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a689ea02b5b0907f69ecb0baee371aa55"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#a689ea02b5b0907f69ecb0baee371aa55">census_define_resource</a> (const uint8_t *resource_pb, size_t resource_pb_size)</td></tr>
+<tr class="memdesc:a689ea02b5b0907f69ecb0baee371aa55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Core stats collection API's.  <a href="#a689ea02b5b0907f69ecb0baee371aa55">More...</a><br/></td></tr>
 <tr class="separator:a689ea02b5b0907f69ecb0baee371aa55"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ac68fd1dbb1767d8e080ec22f4767be89"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#ac68fd1dbb1767d8e080ec22f4767be89">census_delete_resource</a> (int32_t resource_id)</td></tr>
+<tr class="memdesc:ac68fd1dbb1767d8e080ec22f4767be89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a resource created by <a class="el" href="census_8h.html#a689ea02b5b0907f69ecb0baee371aa55" title="Core stats collection API&#39;s. ">census_define_resource()</a>.  <a href="#ac68fd1dbb1767d8e080ec22f4767be89">More...</a><br/></td></tr>
 <tr class="separator:ac68fd1dbb1767d8e080ec22f4767be89"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aeb7f7e4f427236d00446d2eb836c5252"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#aeb7f7e4f427236d00446d2eb836c5252">census_resource_id</a> (const char *name)</td></tr>
+<tr class="memdesc:aeb7f7e4f427236d00446d2eb836c5252"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine the id of a resource, given its name.  <a href="#aeb7f7e4f427236d00446d2eb836c5252">More...</a><br/></td></tr>
 <tr class="separator:aeb7f7e4f427236d00446d2eb836c5252"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a26acfcba7f6b3f2b86d0a7fdc45e32ba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="census_8h.html#a26acfcba7f6b3f2b86d0a7fdc45e32ba">census_record_values</a> (<a class="el" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *context, <a class="el" href="structcensus__value.html">census_value</a> *values, size_t nvalues)</td></tr>
+<tr class="memdesc:a26acfcba7f6b3f2b86d0a7fdc45e32ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Record new usage values against the given context.  <a href="#a26acfcba7f6b3f2b86d0a7fdc45e32ba">More...</a><br/></td></tr>
 <tr class="separator:a26acfcba7f6b3f2b86d0a7fdc45e32ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <h2 class="groupheader">Macro Definition Documentation</h2>
@@ -250,6 +272,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Maximum number of propagatable tags. </p>
+
 </div>
 </div>
 <a class="anchor" id="ac3fa459cd0c1621953c46b07bac2faa7"></a>
@@ -262,6 +286,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Maximum length of a tag's key or value. </p>
+
 </div>
 </div>
 <a class="anchor" id="afa3a818c132d55bb1f0afb7442d8f848"></a>
@@ -278,6 +304,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Flag values 4,8,16,32,64,128 are reserved for future/internal use. </p>
+<p>Clients should not use or rely on their values. </p>
+
 </div>
 </div>
 <a class="anchor" id="aaca94b54b685c481236dfb913fef8b4c"></a>
@@ -301,11 +330,13 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">#define CENSUS_TAG_PROPAGATE&#160;&#160;&#160;1 /* Tag should be propagated over RPC */</td>
+          <td class="memname">#define CENSUS_TAG_PROPAGATE&#160;&#160;&#160;1 /** Tag should be propagated over RPC */</td>
         </tr>
       </table>
 </div><div class="memdoc">
 
+<p>Tag flags. </p>
+
 </div>
 </div>
 <a class="anchor" id="a070dd8c57a1a31ced0c7ead5a5910df7"></a>
@@ -313,7 +344,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">#define CENSUS_TAG_RESERVED&#160;&#160;&#160;4  /* Reserved for internal use. */</td>
+          <td class="memname">#define CENSUS_TAG_RESERVED&#160;&#160;&#160;4 /** Reserved for internal use. */</td>
         </tr>
       </table>
 </div><div class="memdoc">
@@ -325,7 +356,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">#define CENSUS_TAG_STATS&#160;&#160;&#160;2     /* Tag will be used for statistics aggregation */</td>
+          <td class="memname">#define CENSUS_TAG_STATS&#160;&#160;&#160;2    /** Tag will be used for statistics aggregation */</td>
         </tr>
       </table>
 </div><div class="memdoc">
@@ -382,16 +413,23 @@ Functions</h2></td></tr>
         </tr>
       </table>
 </div><div class="memdoc">
+
+<p>RPC-internal Census API's. </p>
+<p>These are designed to be generic enough that they can (ultimately) be used in many different RPC systems (with differing implementations). Identify census features that can be enabled via <a class="el" href="census_8h.html#a850c1ca105245a514e76519d5edaad2c" title="Shutdown and startup census subsystem. ">census_initialize()</a>. </p>
 <table class="fieldtable">
 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="abe92e59c22481b0de3742673cbbb1bf8aac1986834f37851b8d899c4a08c8e3ab"></a>CENSUS_FEATURE_NONE</em>&#160;</td><td class="fielddoc">
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="abe92e59c22481b0de3742673cbbb1bf8ab0722326e730113d5be97f643c3e6718"></a>CENSUS_FEATURE_TRACING</em>&#160;</td><td class="fielddoc">
+<p>Do not enable census. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="abe92e59c22481b0de3742673cbbb1bf8a84c772b868e53ee3487c7bfc8e8b2f1a"></a>CENSUS_FEATURE_STATS</em>&#160;</td><td class="fielddoc">
+<p>Enable census tracing. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="abe92e59c22481b0de3742673cbbb1bf8a4808bff624e2377596b86a6f58ab04b5"></a>CENSUS_FEATURE_CPU</em>&#160;</td><td class="fielddoc">
+<p>Enable Census stats collection. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="abe92e59c22481b0de3742673cbbb1bf8aba96a94fb7af8cf1144ca14edc0b1f0c"></a>CENSUS_FEATURE_ALL</em>&#160;</td><td class="fielddoc">
+<p>Enable Census CPU usage collection. </p>
 </td></tr>
 </table>
 
@@ -406,10 +444,13 @@ Functions</h2></td></tr>
         </tr>
       </table>
 </div><div class="memdoc">
+
+<p>Distributed traces can have a number of options. </p>
 <table class="fieldtable">
 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ad4ff7b1db813ee5318871121bb4281cca21afa23a531e5d54e70d44ec3c18cfb3"></a>CENSUS_TRACE_MASK_NONE</em>&#160;</td><td class="fielddoc">
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="ad4ff7b1db813ee5318871121bb4281ccaadcf28b76de06181051506c96996255a"></a>CENSUS_TRACE_MASK_IS_SAMPLED</em>&#160;</td><td class="fielddoc">
+<p>Default, empty flags. </p>
 </td></tr>
 </table>
 
@@ -452,6 +493,19 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Create a new context, adding and removing tags from an existing context. </p>
+<p>This will copy all tags from the 'tags' input, so it is recommended to add as many tags in a single operation as is practical for the client. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">base</td><td>Base context to build upon. Can be NULL. </td></tr>
+    <tr><td class="paramname">tags</td><td>A set of tags to be added/changed/deleted. Tags with keys that are in 'tags', but not 'base', are added to the context. Keys that are in both 'tags' and 'base' will have their value/flags modified. Tags with keys in both, but with NULL values, will be deleted from the context. Tags with invalid (too long or short) keys or values will be ignored. If adding a tag will result in more than CENSUS_MAX_PROPAGATED_TAGS in either binary or non-binary tags, they will be ignored, as will deletions of tags that don't exist. </td></tr>
+    <tr><td class="paramname">ntags</td><td>number of tags in 'tags' </td></tr>
+    <tr><td class="paramname">status</td><td>If not NULL, will return a pointer to a <a class="el" href="structcensus__context__status.html" title="An instance of this structure is kept by every context, and records the basic information associated ...">census_context_status</a> structure containing information about the new context and status of the tags used in its creation. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A new, valid census_context. </dd></dl>
+
 </div>
 </div>
 <a class="anchor" id="aaccea127635aaf9200e776eff7c7ba5d"></a>
@@ -478,6 +532,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Decode context buffer encoded with <a class="el" href="census_8h.html#a054424f7ca74d513c4dba55dd20d92f2" title="Tag set encode/decode functionality. ">census_context_encode()</a>. </p>
+<p>Returns NULL if there is an error in parsing either buffer. </p>
+
 </div>
 </div>
 <a class="anchor" id="a6e29f72138aac3eac75ef13a7bd25560"></a>
@@ -494,6 +551,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Destroy a context. </p>
+<p>Once this function has been called, the context cannot be reused. </p>
+
 </div>
 </div>
 <a class="anchor" id="a054424f7ca74d513c4dba55dd20d92f2"></a>
@@ -526,6 +586,18 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Tag set encode/decode functionality. </p>
+<p>These functions are intended for use by RPC systems only, for purposes of transmitting/receiving contexts. Encode a context into a buffer. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">context</td><td>context to be encoded </td></tr>
+    <tr><td class="paramname">buffer</td><td>buffer into which the context will be encoded. </td></tr>
+    <tr><td class="paramname">buf_size</td><td>number of available bytes in buffer. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The number of buffer bytes consumed for the encoded context, or zero if the buffer was of insufficient size. </dd></dl>
+
 </div>
 </div>
 <a class="anchor" id="a12077dda197a10bf2198203eac1a348a"></a>
@@ -542,6 +614,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Get a pointer to the original status from the context creation. </p>
+
 </div>
 </div>
 <a class="anchor" id="a610c654980b00da26ed7b2becca79f94"></a>
@@ -574,6 +648,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Get a context tag by key. </p>
+<p>Returns 0 if the key is not present. </p>
+
 </div>
 </div>
 <a class="anchor" id="ac19f91fc3442073217752ce4abf5dfc4"></a>
@@ -600,6 +677,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Initialize a census_tag_iterator. </p>
+<p>Must be called before first use. </p>
+
 </div>
 </div>
 <a class="anchor" id="a756d86b68b73a9ad9dacdfdaeb2a865c"></a>
@@ -626,6 +706,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Get the contents of the "next" tag in the context. </p>
+<p>If there are no more tags, returns 0 (and 'tag' contents will be unchanged), otherwise returns 1. </p>
+
 </div>
 </div>
 <a class="anchor" id="a689ea02b5b0907f69ecb0baee371aa55"></a>
@@ -652,6 +735,10 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Core stats collection API's. </p>
+<p>The following concepts are used: Resource: Users record measurements for a single resource. Examples include RPC latency, CPU seconds consumed, and bytes transmitted. Aggregation: An aggregation of a set of measurements. Census supports the following aggregation types: Distribution - statistical distribution information, used for recording average, standard deviation etc. Can include a histogram. Interval - a count of events that happen in a rolling time window. View: A view is a combination of a Resource, a set of tag keys and an Aggregation. When a measurement for a Resource matches the View tags, it is recorded (for each unique set of tag values) using the Aggregation type. Each resource can have an arbitrary number of views by which it will be broken down.</p>
+<p>Census uses protos to define each of the above, and output results. This ensures unification across the different language and runtime implementations. The proto definitions can be found in src/proto/census. Define a new resource. <code>resource_pb</code> should contain an encoded Resource protobuf, <code>resource_pb_size</code> being the size of the buffer. Returns a -ve value on error, or a positive (&gt;= 0) resource id (for use in <a class="el" href="census_8h.html#ac68fd1dbb1767d8e080ec22f4767be89" title="Delete a resource created by census_define_resource(). ">census_delete_resource()</a> and <a class="el" href="census_8h.html#a26acfcba7f6b3f2b86d0a7fdc45e32ba" title="Record new usage values against the given context. ">census_record_values()</a>). In order to be valid, a resource must have a name, and at least one numerator in its unit type. The resource name must be unique, and an error will be returned if it is not. </p>
+
 </div>
 </div>
 <a class="anchor" id="ac68fd1dbb1767d8e080ec22f4767be89"></a>
@@ -668,6 +755,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Delete a resource created by <a class="el" href="census_8h.html#a689ea02b5b0907f69ecb0baee371aa55" title="Core stats collection API&#39;s. ">census_define_resource()</a>. </p>
+
 </div>
 </div>
 <a class="anchor" id="a6964222b3c20833883d7d05ab6b6e67e"></a>
@@ -799,6 +888,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Record new usage values against the given context. </p>
+
 </div>
 </div>
 <a class="anchor" id="aeb7f7e4f427236d00446d2eb836c5252"></a>
@@ -815,6 +906,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Determine the id of a resource, given its name. </p>
+<p>returns -1 if the resource does not exist. </p>
+
 </div>
 </div>
 <a class="anchor" id="ab20a8e42995181004f5fbc9a87e339d3"></a>
@@ -1224,7 +1318,7 @@ Functions</h2></td></tr>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 64 - 184
core/census_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -123,10 +123,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment"> *</span></div>
 <div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment"> */</span></div>
 <div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">/* RPC-internal Census API&#39;s. These are designed to be generic enough that</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment"> * they can (ultimately) be used in many different RPC systems (with differing</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment"> * implementations). */</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#ifndef GRPC_CENSUS_H</span></div>
 <div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_CENSUS_H</span></div>
 <div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span></div>
@@ -136,12 +132,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
 <div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#endif</span></div>
 <div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">/* Identify census features that can be enabled via census_initialize(). */</span></div>
 <div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8">   48</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8">census_features</a> {</div>
-<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8aac1986834f37851b8d899c4a08c8e3ab">   49</a></span>&#160;  <a class="code" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8aac1986834f37851b8d899c4a08c8e3ab">CENSUS_FEATURE_NONE</a> = 0,    <span class="comment">/* Do not enable census. */</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8ab0722326e730113d5be97f643c3e6718">   50</a></span>&#160;  <a class="code" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8ab0722326e730113d5be97f643c3e6718">CENSUS_FEATURE_TRACING</a> = 1, <span class="comment">/* Enable census tracing. */</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8a84c772b868e53ee3487c7bfc8e8b2f1a">   51</a></span>&#160;  <a class="code" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8a84c772b868e53ee3487c7bfc8e8b2f1a">CENSUS_FEATURE_STATS</a> = 2,   <span class="comment">/* Enable Census stats collection. */</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8a4808bff624e2377596b86a6f58ab04b5">   52</a></span>&#160;  <a class="code" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8a4808bff624e2377596b86a6f58ab04b5">CENSUS_FEATURE_CPU</a> = 4,     <span class="comment">/* Enable Census CPU usage collection. */</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8aac1986834f37851b8d899c4a08c8e3ab">   49</a></span>&#160;  <a class="code" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8aac1986834f37851b8d899c4a08c8e3ab">CENSUS_FEATURE_NONE</a> = 0,    </div>
+<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8ab0722326e730113d5be97f643c3e6718">   50</a></span>&#160;  <a class="code" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8ab0722326e730113d5be97f643c3e6718">CENSUS_FEATURE_TRACING</a> = 1, </div>
+<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8a84c772b868e53ee3487c7bfc8e8b2f1a">   51</a></span>&#160;  <a class="code" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8a84c772b868e53ee3487c7bfc8e8b2f1a">CENSUS_FEATURE_STATS</a> = 2,   </div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8a4808bff624e2377596b86a6f58ab04b5">   52</a></span>&#160;  <a class="code" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8a4808bff624e2377596b86a6f58ab04b5">CENSUS_FEATURE_CPU</a> = 4,     </div>
 <div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8aba96a94fb7af8cf1144ca14edc0b1f0c">   53</a></span>&#160;  <a class="code" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8aba96a94fb7af8cf1144ca14edc0b1f0c">CENSUS_FEATURE_ALL</a> =</div>
 <div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;      <a class="code" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8ab0722326e730113d5be97f643c3e6718">CENSUS_FEATURE_TRACING</a> | <a class="code" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8a84c772b868e53ee3487c7bfc8e8b2f1a">CENSUS_FEATURE_STATS</a> | <a class="code" href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8a4808bff624e2377596b86a6f58ab04b5">CENSUS_FEATURE_CPU</a></div>
 <div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;};</div>
@@ -155,83 +150,41 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div>
 <div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="census_8h.html#a27fc8788690179599713226f1f054736">   83</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> <a class="code" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a>;</div>
 <div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* A tag is a key:value pair. Both keys and values are nil-terminated strings,</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">   containing printable ASCII characters (decimal 32-126). Keys must be at</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">   least one character in length. Both keys and values can have at most</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment">   CENSUS_MAX_TAG_KB_LEN characters (including the terminating nil). The</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment">   maximum number of tags that can be propagated is</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment">   CENSUS_MAX_PROPAGATED_TAGS. Users should also remember that some systems</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment">   may have limits on, e.g., the number of bytes that can be transmitted as</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment">   metadata, and that larger tags means more memory consumed and time in</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment">   processing. */</span></div>
 <div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="structcensus__tag.html">   94</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
 <div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="structcensus__tag.html#a13c8315749ec9752d8bb1354a131558b">   95</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structcensus__tag.html#a13c8315749ec9752d8bb1354a131558b">key</a>;</div>
 <div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="structcensus__tag.html#a8f4ef3177380ad53f7a8abe1441e8805">   96</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structcensus__tag.html#a8f4ef3177380ad53f7a8abe1441e8805">value</a>;</div>
 <div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="structcensus__tag.html#a5632d4c8316fb17bbb3af5cb9b0dd4f5">   97</a></span>&#160;  uint8_t <a class="code" href="structcensus__tag.html#a5632d4c8316fb17bbb3af5cb9b0dd4f5">flags</a>;</div>
 <div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;} <a class="code" href="structcensus__tag.html">census_tag</a>;</div>
 <div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment">/* Maximum length of a tag&#39;s key or value. */</span></div>
 <div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="census_8h.html#ac3fa459cd0c1621953c46b07bac2faa7">  101</a></span>&#160;<span class="preprocessor">#define CENSUS_MAX_TAG_KV_LEN 255</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="preprocessor"></span><span class="comment">/* Maximum number of propagatable tags. */</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="preprocessor"></span></div>
 <div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="census_8h.html#a487ca94a4b349f1a7d3d28a21b154f4e">  103</a></span>&#160;<span class="preprocessor">#define CENSUS_MAX_PROPAGATED_TAGS 255</span></div>
 <div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment">/* Tag flags. */</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="census_8h.html#ac116a5843bd29f43a949c56ef5ae619a">  106</a></span>&#160;<span class="preprocessor">#define CENSUS_TAG_PROPAGATE 1 </span><span class="comment">/* Tag should be propagated over RPC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="census_8h.html#ab3c3a66a8c2f392d4a14e75dc44e8931">  107</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define CENSUS_TAG_STATS 2     </span><span class="comment">/* Tag will be used for statistics aggregation */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="census_8h.html#a070dd8c57a1a31ced0c7ead5a5910df7">  108</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define CENSUS_TAG_RESERVED 4  </span><span class="comment">/* Reserved for internal use. */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="preprocessor"></span><span class="comment">/* Flag values 4,8,16,32,64,128 are reserved for future/internal use. Clients</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="comment">   should not use or rely on their values. */</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div>
+<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="census_8h.html#ac116a5843bd29f43a949c56ef5ae619a">  106</a></span>&#160;<span class="preprocessor">#define CENSUS_TAG_PROPAGATE 1 </span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="census_8h.html#ab3c3a66a8c2f392d4a14e75dc44e8931">  107</a></span>&#160;<span class="preprocessor">#define CENSUS_TAG_STATS 2    </span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="census_8h.html#a070dd8c57a1a31ced0c7ead5a5910df7">  108</a></span>&#160;<span class="preprocessor">#define CENSUS_TAG_RESERVED 4 </span></div>
 <div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="census_8h.html#afa3a818c132d55bb1f0afb7442d8f848">  112</a></span>&#160;<span class="preprocessor">#define CENSUS_TAG_IS_PROPAGATED(flags) (flags &amp; CENSUS_TAG_PROPAGATE)</span></div>
 <div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="census_8h.html#aaca94b54b685c481236dfb913fef8b4c">  113</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define CENSUS_TAG_IS_STATS(flags) (flags &amp; CENSUS_TAG_STATS)</span></div>
 <div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment">/* An instance of this structure is kept by every context, and records the</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment">   basic information associated with the creation of that context. */</span></div>
 <div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="structcensus__context__status.html">  117</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="structcensus__context__status.html#a829f2aeabdea60d613e4fed1be3d6041">  118</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="structcensus__context__status.html#a829f2aeabdea60d613e4fed1be3d6041">n_propagated_tags</a>; <span class="comment">/* number of propagated tags */</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="structcensus__context__status.html#a94be33aaa92817f62516bb21fb106e00">  119</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="structcensus__context__status.html#a94be33aaa92817f62516bb21fb106e00">n_local_tags</a>;      <span class="comment">/* number of non-propagated (local) tags */</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="structcensus__context__status.html#a8e7c9b97dceabe04d9d7b54ca1259d39">  120</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="structcensus__context__status.html#a8e7c9b97dceabe04d9d7b54ca1259d39">n_deleted_tags</a>;    <span class="comment">/* number of tags that were deleted */</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="structcensus__context__status.html#ad44570570f170577c7fec0381adea3d5">  121</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="structcensus__context__status.html#ad44570570f170577c7fec0381adea3d5">n_added_tags</a>;      <span class="comment">/* number of tags that were added */</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="structcensus__context__status.html#a4f2fbaa6bfdadc681a74e6fd947f6e7e">  122</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="structcensus__context__status.html#a4f2fbaa6bfdadc681a74e6fd947f6e7e">n_modified_tags</a>;   <span class="comment">/* number of tags that were modified */</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="structcensus__context__status.html#a00dd3c6cfa7338d539b290f34b29523b">  123</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="structcensus__context__status.html#a00dd3c6cfa7338d539b290f34b29523b">n_invalid_tags</a>;    <span class="comment">/* number of tags with bad keys or values (e.g.</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment">                            longer than CENSUS_MAX_TAG_KV_LEN) */</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="structcensus__context__status.html#ab567b892584772dcb4a13ae7c8b95316">  125</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="structcensus__context__status.html#ab567b892584772dcb4a13ae7c8b95316">n_ignored_tags</a>;    <span class="comment">/* number of tags ignored because of</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="comment">                            CENSUS_MAX_PROPAGATED_TAGS limit. */</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="structcensus__context__status.html#a829f2aeabdea60d613e4fed1be3d6041">  118</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="structcensus__context__status.html#a829f2aeabdea60d613e4fed1be3d6041">n_propagated_tags</a>; </div>
+<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="structcensus__context__status.html#a94be33aaa92817f62516bb21fb106e00">  119</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="structcensus__context__status.html#a94be33aaa92817f62516bb21fb106e00">n_local_tags</a>;      </div>
+<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="structcensus__context__status.html#a8e7c9b97dceabe04d9d7b54ca1259d39">  120</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="structcensus__context__status.html#a8e7c9b97dceabe04d9d7b54ca1259d39">n_deleted_tags</a>;    </div>
+<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="structcensus__context__status.html#ad44570570f170577c7fec0381adea3d5">  121</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="structcensus__context__status.html#ad44570570f170577c7fec0381adea3d5">n_added_tags</a>;      </div>
+<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="structcensus__context__status.html#a4f2fbaa6bfdadc681a74e6fd947f6e7e">  122</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="structcensus__context__status.html#a4f2fbaa6bfdadc681a74e6fd947f6e7e">n_modified_tags</a>;   </div>
+<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="structcensus__context__status.html#a00dd3c6cfa7338d539b290f34b29523b">  123</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="structcensus__context__status.html#a00dd3c6cfa7338d539b290f34b29523b">n_invalid_tags</a>;    </div>
+<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="structcensus__context__status.html#ab567b892584772dcb4a13ae7c8b95316">  125</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="structcensus__context__status.html#ab567b892584772dcb4a13ae7c8b95316">n_ignored_tags</a>;    </div>
 <div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;} <a class="code" href="structcensus__context__status.html">census_context_status</a>;</div>
 <div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="comment">/* Create a new context, adding and removing tags from an existing context.</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="comment">   This will copy all tags from the &#39;tags&#39; input, so it is recommended</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="comment">   to add as many tags in a single operation as is practical for the client.</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="comment">   @param base Base context to build upon. Can be NULL.</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="comment">   @param tags A set of tags to be added/changed/deleted. Tags with keys that</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="comment">   are in &#39;tags&#39;, but not &#39;base&#39;, are added to the context. Keys that are in</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="comment">   both &#39;tags&#39; and &#39;base&#39; will have their value/flags modified. Tags with keys</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="comment">   in both, but with NULL values, will be deleted from the context. Tags with</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="comment">   invalid (too long or short) keys or values will be ignored.</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="comment">   If adding a tag will result in more than CENSUS_MAX_PROPAGATED_TAGS in either</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="comment">   binary or non-binary tags, they will be ignored, as will deletions of</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="comment">   tags that don&#39;t exist.</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="comment">   @param ntags number of tags in &#39;tags&#39;</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="comment">   @param status If not NULL, will return a pointer to a census_context_status</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">   structure containing information about the new context and status of the</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="comment">   tags used in its creation.</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="comment">   @return A new, valid census_context.</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="comment">*/</span></div>
 <div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> <a class="code" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *<a class="code" href="census_8h.html#a63289de665c241f31e9c32666310ec3a">census_context_create</a>(</div>
 <div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    <span class="keyword">const</span> <a class="code" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *base, <span class="keyword">const</span> <a class="code" href="structcensus__tag.html">census_tag</a> *tags, <span class="keywordtype">int</span> ntags,</div>
 <div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    <a class="code" href="structcensus__context__status.html">census_context_status</a> <span class="keyword">const</span> **status);</div>
 <div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div>
-<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="comment">/* Destroy a context. Once this function has been called, the context cannot</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="comment">   be reused. */</span></div>
 <div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> <span class="keywordtype">void</span> <a class="code" href="census_8h.html#a6e29f72138aac3eac75ef13a7bd25560">census_context_destroy</a>(<a class="code" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *context);</div>
 <div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="comment">/* Get a pointer to the original status from the context creation. */</span></div>
 <div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> <span class="keyword">const</span> <a class="code" href="structcensus__context__status.html">census_context_status</a> *<a class="code" href="census_8h.html#a12077dda197a10bf2198203eac1a348a">census_context_get_status</a>(</div>
 <div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    <span class="keyword">const</span> <a class="code" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *context);</div>
 <div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div>
-<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="comment">/* Structure used for iterating over the tags in a context. API clients should</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="comment">   not use or reference internal fields - neither their contents or</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="comment">   presence/absence are guaranteed. */</span></div>
 <div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="structcensus__context__iterator.html">  162</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
 <div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="structcensus__context__iterator.html#a729daa66104d74f11aa6c5b25c27f563">  163</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *<a class="code" href="structcensus__context__iterator.html#a729daa66104d74f11aa6c5b25c27f563">context</a>;</div>
 <div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="structcensus__context__iterator.html#ab591e487d86084f6e73c79c82bc3b1bc">  164</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="structcensus__context__iterator.html#ab591e487d86084f6e73c79c82bc3b1bc">base</a>;</div>
@@ -239,73 +192,31 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="structcensus__context__iterator.html#ad565429de91ad3f42c6e7091c2532804">  166</a></span>&#160;  <span class="keywordtype">char</span> *<a class="code" href="structcensus__context__iterator.html#ad565429de91ad3f42c6e7091c2532804">kvm</a>;</div>
 <div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;} <a class="code" href="structcensus__context__iterator.html">census_context_iterator</a>;</div>
 <div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;</div>
-<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="comment">/* Initialize a census_tag_iterator. Must be called before first use. */</span></div>
 <div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> <span class="keywordtype">void</span> <a class="code" href="census_8h.html#ac19f91fc3442073217752ce4abf5dfc4">census_context_initialize_iterator</a>(</div>
 <div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <span class="keyword">const</span> <a class="code" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *context, <a class="code" href="structcensus__context__iterator.html">census_context_iterator</a> *iterator);</div>
 <div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div>
-<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="comment">/* Get the contents of the &quot;next&quot; tag in the context. If there are no more</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="comment">   tags, returns 0 (and &#39;tag&#39; contents will be unchanged), otherwise returns 1.</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="comment">   */</span></div>
 <div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> <span class="keywordtype">int</span> <a class="code" href="census_8h.html#a756d86b68b73a9ad9dacdfdaeb2a865c">census_context_next_tag</a>(<a class="code" href="structcensus__context__iterator.html">census_context_iterator</a> *iterator,</div>
 <div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;                                      <a class="code" href="structcensus__tag.html">census_tag</a> *tag);</div>
 <div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div>
-<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="comment">/* Get a context tag by key. Returns 0 if the key is not present. */</span></div>
 <div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> <span class="keywordtype">int</span> <a class="code" href="census_8h.html#a610c654980b00da26ed7b2becca79f94">census_context_get_tag</a>(<span class="keyword">const</span> <a class="code" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *context,</div>
 <div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;                                     <span class="keyword">const</span> <span class="keywordtype">char</span> *key, <a class="code" href="structcensus__tag.html">census_tag</a> *tag);</div>
 <div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;</div>
-<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="comment">/* Tag set encode/decode functionality. These functions are intended</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="comment">   for use by RPC systems only, for purposes of transmitting/receiving contexts.</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="comment">   */</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;</div>
-<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="comment">/* Encode a context into a buffer.</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="comment">   @param context context to be encoded</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="comment">   @param buffer buffer into which the context will be encoded.</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="comment">   @param buf_size number of available bytes in buffer.</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="comment">   @return The number of buffer bytes consumed for the encoded context, or</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="comment">           zero if the buffer was of insufficient size. */</span></div>
 <div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> <span class="keywordtype">size_t</span> <a class="code" href="census_8h.html#a054424f7ca74d513c4dba55dd20d92f2">census_context_encode</a>(<span class="keyword">const</span> <a class="code" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *context,</div>
 <div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;                                       <span class="keywordtype">char</span> *buffer, <span class="keywordtype">size_t</span> buf_size);</div>
 <div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;</div>
-<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="comment">/* Decode context buffer encoded with census_context_encode(). Returns NULL</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="comment">   if there is an error in parsing either buffer. */</span></div>
 <div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> <a class="code" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *<a class="code" href="census_8h.html#aaccea127635aaf9200e776eff7c7ba5d">census_context_decode</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *buffer,</div>
 <div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;                                                <span class="keywordtype">size_t</span> size);</div>
 <div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;</div>
-<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="comment">/* Distributed traces can have a number of options. */</span></div>
 <div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="census_8h.html#ad4ff7b1db813ee5318871121bb4281cc">  202</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="census_8h.html#ad4ff7b1db813ee5318871121bb4281cc">census_trace_mask_values</a> {</div>
-<div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="census_8h.html#ad4ff7b1db813ee5318871121bb4281cca21afa23a531e5d54e70d44ec3c18cfb3">  203</a></span>&#160;  <a class="code" href="census_8h.html#ad4ff7b1db813ee5318871121bb4281cca21afa23a531e5d54e70d44ec3c18cfb3">CENSUS_TRACE_MASK_NONE</a> = 0,      <span class="comment">/* Default, empty flags */</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="census_8h.html#ad4ff7b1db813ee5318871121bb4281ccaadcf28b76de06181051506c96996255a">  204</a></span>&#160;  <a class="code" href="census_8h.html#ad4ff7b1db813ee5318871121bb4281ccaadcf28b76de06181051506c96996255a">CENSUS_TRACE_MASK_IS_SAMPLED</a> = 1 <span class="comment">/* RPC tracing enabled for this context. */</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="census_8h.html#ad4ff7b1db813ee5318871121bb4281cca21afa23a531e5d54e70d44ec3c18cfb3">  203</a></span>&#160;  <a class="code" href="census_8h.html#ad4ff7b1db813ee5318871121bb4281cca21afa23a531e5d54e70d44ec3c18cfb3">CENSUS_TRACE_MASK_NONE</a> = 0,      </div>
+<div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="census_8h.html#ad4ff7b1db813ee5318871121bb4281ccaadcf28b76de06181051506c96996255a">  204</a></span>&#160;  <a class="code" href="census_8h.html#ad4ff7b1db813ee5318871121bb4281ccaadcf28b76de06181051506c96996255a">CENSUS_TRACE_MASK_IS_SAMPLED</a> = 1 </div>
 <div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;};</div>
 <div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div>
 <div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> <span class="keywordtype">int</span> <a class="code" href="census_8h.html#a2a2dfc973cd259d93b0901c8b32e8f34">census_trace_mask</a>(<span class="keyword">const</span> <a class="code" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *context);</div>
 <div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div>
 <div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> <span class="keywordtype">void</span> <a class="code" href="census_8h.html#a2088bf00a48a7a9b0a6e659fa5161ef9">census_set_trace_mask</a>(<span class="keywordtype">int</span> trace_mask);</div>
 <div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div>
-<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="comment">/* The concept of &quot;operation&quot; is a fundamental concept for Census. In an RPC</span></div>
-<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;<span class="comment">   system, an operation typically represents a single RPC, or a significant</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="comment">   sub-part thereof (e.g. a single logical &quot;read&quot; RPC to a distributed storage</span></div>
-<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="comment">   system might do several other actions in parallel, from looking up metadata</span></div>
-<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="comment">   indices to making requests of other services - each of these could be a</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="comment">   sub-operation with the larger RPC operation). Census uses operations for the</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="comment">   following:</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="comment">   CPU accounting: If enabled, census will measure the thread CPU time</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="comment">   consumed between operation start and end times.</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="comment">   Active operations: Census will maintain information on all currently</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="comment">   active operations.</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="comment">   Distributed tracing: Each operation serves as a logical trace span.</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="comment">   Stats collection: Stats are broken down by operation (e.g. latency</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="comment">   breakdown for each unique RPC path).</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="comment">   The following functions serve to delineate the start and stop points for</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="comment">   each logical operation. */</span></div>
-<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div>
 <div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="structcensus__timestamp.html">  240</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;  <span class="comment">/* Use gpr_timespec for default implementation. High performance</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="comment">   * implementations should use a cycle-counter based timestamp. */</span></div>
 <div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="structcensus__timestamp.html#a36ed36ffcf81f720bbdade460f957004">  243</a></span>&#160;  <a class="code" href="structgpr__timespec.html">gpr_timespec</a> <a class="code" href="structcensus__timestamp.html#a36ed36ffcf81f720bbdade460f957004">ts</a>;</div>
 <div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;} <a class="code" href="structcensus__timestamp.html">census_timestamp</a>;</div>
 <div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;</div>
@@ -342,12 +253,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;                                  <span class="keyword">const</span> <span class="keywordtype">char</span> *buffer, <span class="keywordtype">size_t</span> n);</div>
 <div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;</div>
 <div class="line"><a name="l00400"></a><span class="lineno"><a class="line" href="structcensus__trace__record.html">  400</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="structcensus__trace__record.html#ac7f74956d51898681b8e35a8031ac9fb">  401</a></span>&#160;  <a class="code" href="structcensus__timestamp.html">census_timestamp</a> <a class="code" href="structcensus__trace__record.html#ac7f74956d51898681b8e35a8031ac9fb">timestamp</a>; <span class="comment">/* Time of record creation */</span></div>
-<div class="line"><a name="l00402"></a><span class="lineno"><a class="line" href="structcensus__trace__record.html#a69511d4d1ae8297580789786feb564d4">  402</a></span>&#160;  uint64_t <a class="code" href="structcensus__trace__record.html#a69511d4d1ae8297580789786feb564d4">trace_id</a>;          <span class="comment">/* Trace ID associated with record */</span></div>
-<div class="line"><a name="l00403"></a><span class="lineno"><a class="line" href="structcensus__trace__record.html#a7a9ffdb2e91c34802e5102a1632b2e58">  403</a></span>&#160;  uint64_t <a class="code" href="structcensus__trace__record.html#a7a9ffdb2e91c34802e5102a1632b2e58">op_id</a>;             <span class="comment">/* Operation ID associated with record */</span></div>
-<div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="structcensus__trace__record.html#a76b2b8a9206a720e02c32c13a534ba78">  404</a></span>&#160;  uint32_t <a class="code" href="structcensus__trace__record.html#a76b2b8a9206a720e02c32c13a534ba78">type</a>;              <span class="comment">/* Type (as used in census_trace_print() */</span></div>
-<div class="line"><a name="l00405"></a><span class="lineno"><a class="line" href="structcensus__trace__record.html#a4ba324fb39273bf3c0c0f15852d9d130">  405</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structcensus__trace__record.html#a4ba324fb39273bf3c0c0f15852d9d130">buffer</a>;         <span class="comment">/* Buffer (from census_trace_print() */</span></div>
-<div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="structcensus__trace__record.html#abc4f9330e28d906f90346d7fd5769d53">  406</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="structcensus__trace__record.html#abc4f9330e28d906f90346d7fd5769d53">buf_size</a>;            <span class="comment">/* Number of bytes inside buffer */</span></div>
+<div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="structcensus__trace__record.html#ac7f74956d51898681b8e35a8031ac9fb">  401</a></span>&#160;  <a class="code" href="structcensus__timestamp.html">census_timestamp</a> <a class="code" href="structcensus__trace__record.html#ac7f74956d51898681b8e35a8031ac9fb">timestamp</a>; </div>
+<div class="line"><a name="l00402"></a><span class="lineno"><a class="line" href="structcensus__trace__record.html#a69511d4d1ae8297580789786feb564d4">  402</a></span>&#160;  uint64_t <a class="code" href="structcensus__trace__record.html#a69511d4d1ae8297580789786feb564d4">trace_id</a>;          </div>
+<div class="line"><a name="l00403"></a><span class="lineno"><a class="line" href="structcensus__trace__record.html#a7a9ffdb2e91c34802e5102a1632b2e58">  403</a></span>&#160;  uint64_t <a class="code" href="structcensus__trace__record.html#a7a9ffdb2e91c34802e5102a1632b2e58">op_id</a>;             </div>
+<div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="structcensus__trace__record.html#a76b2b8a9206a720e02c32c13a534ba78">  404</a></span>&#160;  uint32_t <a class="code" href="structcensus__trace__record.html#a76b2b8a9206a720e02c32c13a534ba78">type</a>;              </div>
+<div class="line"><a name="l00405"></a><span class="lineno"><a class="line" href="structcensus__trace__record.html#a4ba324fb39273bf3c0c0f15852d9d130">  405</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structcensus__trace__record.html#a4ba324fb39273bf3c0c0f15852d9d130">buffer</a>;         </div>
+<div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="structcensus__trace__record.html#abc4f9330e28d906f90346d7fd5769d53">  406</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="structcensus__trace__record.html#abc4f9330e28d906f90346d7fd5769d53">buf_size</a>;            </div>
 <div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;} <a class="code" href="structcensus__trace__record.html">census_trace_record</a>;</div>
 <div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;</div>
 <div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> <span class="keywordtype">int</span> <a class="code" href="census_8h.html#ad78c02761da0d8a7a70bf4add263f91f">census_trace_scan_start</a>(<span class="keywordtype">int</span> consume);</div>
@@ -356,49 +267,18 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;</div>
 <div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> <span class="keywordtype">void</span> <a class="code" href="census_8h.html#a22eb7df4c9b232d8962592d738007ecb">census_trace_scan_end</a>();</div>
 <div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;</div>
-<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;<span class="comment">/* Core stats collection API&#39;s. The following concepts are used:</span></div>
-<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;<span class="comment">   * Resource: Users record measurements for a single resource. Examples</span></div>
-<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;<span class="comment">     include RPC latency, CPU seconds consumed, and bytes transmitted.</span></div>
-<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;<span class="comment">   * Aggregation: An aggregation of a set of measurements. Census supports the</span></div>
-<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;<span class="comment">       following aggregation types:</span></div>
-<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;<span class="comment">       * Distribution - statistical distribution information, used for</span></div>
-<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;<span class="comment">         recording average, standard deviation etc. Can include a histogram.</span></div>
-<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;<span class="comment">       * Interval - a count of events that happen in a rolling time window.</span></div>
-<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;<span class="comment">   * View: A view is a combination of a Resource, a set of tag keys and an</span></div>
-<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;<span class="comment">     Aggregation. When a measurement for a Resource matches the View tags, it is</span></div>
-<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;<span class="comment">     recorded (for each unique set of tag values) using the Aggregation type.</span></div>
-<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;<span class="comment">     Each resource can have an arbitrary number of views by which it will be</span></div>
-<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;<span class="comment">     broken down.</span></div>
-<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;<span class="comment">  Census uses protos to define each of the above, and output results. This</span></div>
-<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;<span class="comment">  ensures unification across the different language and runtime</span></div>
-<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;<span class="comment">  implementations. The proto definitions can be found in src/proto/census.</span></div>
-<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;<span class="comment">*/</span></div>
-<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;</div>
-<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;<span class="comment">/* Define a new resource. `resource_pb` should contain an encoded Resource</span></div>
-<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;<span class="comment">   protobuf, `resource_pb_size` being the size of the buffer. Returns a -ve</span></div>
-<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;<span class="comment">   value on error, or a positive (&gt;= 0) resource id (for use in</span></div>
-<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;<span class="comment">   census_delete_resource() and census_record_values()). In order to be valid, a</span></div>
-<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;<span class="comment">   resource must have a name, and at least one numerator in its unit type. The</span></div>
-<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;<span class="comment">   resource name must be unique, and an error will be returned if it is not. */</span></div>
 <div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> int32_t <a class="code" href="census_8h.html#a689ea02b5b0907f69ecb0baee371aa55">census_define_resource</a>(<span class="keyword">const</span> uint8_t *resource_pb,</div>
 <div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;                                         <span class="keywordtype">size_t</span> resource_pb_size);</div>
 <div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;</div>
-<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;<span class="comment">/* Delete a resource created by census_define_resource(). */</span></div>
 <div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> <span class="keywordtype">void</span> <a class="code" href="census_8h.html#ac68fd1dbb1767d8e080ec22f4767be89">census_delete_resource</a>(int32_t resource_id);</div>
 <div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;</div>
-<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;<span class="comment">/* Determine the id of a resource, given its name. returns -1 if the resource</span></div>
-<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;<span class="comment">   does not exist. */</span></div>
 <div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> int32_t <a class="code" href="census_8h.html#aeb7f7e4f427236d00446d2eb836c5252">census_resource_id</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div>
 <div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;</div>
-<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;<span class="comment">/* A single value to be recorded comprises two parts: an ID for the particular</span></div>
-<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;<span class="comment"> * resource and the value to be recorded against it. */</span></div>
 <div class="line"><a name="l00471"></a><span class="lineno"><a class="line" href="structcensus__value.html">  471</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
 <div class="line"><a name="l00472"></a><span class="lineno"><a class="line" href="structcensus__value.html#a620346f6dc4b26552fc149cfe5fd26aa">  472</a></span>&#160;  int32_t <a class="code" href="structcensus__value.html#a620346f6dc4b26552fc149cfe5fd26aa">resource_id</a>;</div>
 <div class="line"><a name="l00473"></a><span class="lineno"><a class="line" href="structcensus__value.html#a5bff69239476e80fc5c54f3302fffa34">  473</a></span>&#160;  <span class="keywordtype">double</span> <a class="code" href="structcensus__value.html#a5bff69239476e80fc5c54f3302fffa34">value</a>;</div>
 <div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;} <a class="code" href="structcensus__value.html">census_value</a>;</div>
 <div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;</div>
-<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;<span class="comment">/* Record new usage values against the given context. */</span></div>
 <div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a> <span class="keywordtype">void</span> <a class="code" href="census_8h.html#a26acfcba7f6b3f2b86d0a7fdc45e32ba">census_record_values</a>(<a class="code" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *context,</div>
 <div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;                                    <a class="code" href="structcensus__value.html">census_value</a> *values, <span class="keywordtype">size_t</span> nvalues);</div>
 <div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;</div>
@@ -407,81 +287,81 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;<span class="preprocessor">#endif</span></div>
 <div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;<span class="preprocessor"></span></div>
 <div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_CENSUS_H */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="structcensus__context__status_html_a4f2fbaa6bfdadc681a74e6fd947f6e7e"><div class="ttname"><a href="structcensus__context__status.html#a4f2fbaa6bfdadc681a74e6fd947f6e7e">census_context_status::n_modified_tags</a></div><div class="ttdeci">int n_modified_tags</div><div class="ttdef"><b>Definition:</b> census.h:122</div></div>
+<div class="ttc" id="structcensus__context__status_html_a4f2fbaa6bfdadc681a74e6fd947f6e7e"><div class="ttname"><a href="structcensus__context__status.html#a4f2fbaa6bfdadc681a74e6fd947f6e7e">census_context_status::n_modified_tags</a></div><div class="ttdeci">int n_modified_tags</div><div class="ttdoc">number of tags that were added </div><div class="ttdef"><b>Definition:</b> census.h:122</div></div>
 <div class="ttc" id="census_8h_html_a6964222b3c20833883d7d05ab6b6e67e"><div class="ttname"><a href="census_8h.html#a6964222b3c20833883d7d05ab6b6e67e">census_enabled</a></div><div class="ttdeci">CENSUSAPI int census_enabled(void)</div><div class="ttdoc">Return the census features currently enabled. </div></div>
 <div class="ttc" id="structcensus__context__status_html_a829f2aeabdea60d613e4fed1be3d6041"><div class="ttname"><a href="structcensus__context__status.html#a829f2aeabdea60d613e4fed1be3d6041">census_context_status::n_propagated_tags</a></div><div class="ttdeci">int n_propagated_tags</div><div class="ttdef"><b>Definition:</b> census.h:118</div></div>
 <div class="ttc" id="census_8h_html_a18e3c1cddf38f66a5e8cbf79d7084369"><div class="ttname"><a href="census_8h.html#a18e3c1cddf38f66a5e8cbf79d7084369">census_start_server_rpc_op</a></div><div class="ttdeci">CENSUSAPI census_context * census_start_server_rpc_op(const char *buffer, int64_t rpc_name_id, const census_rpc_name_info *rpc_name_info, const char *peer, int trace_mask, census_timestamp *start_time)</div><div class="ttdoc">Start a server RPC operation. </div></div>
-<div class="ttc" id="structcensus__value_html"><div class="ttname"><a href="structcensus__value.html">census_value</a></div><div class="ttdef"><b>Definition:</b> census.h:471</div></div>
+<div class="ttc" id="structcensus__value_html"><div class="ttname"><a href="structcensus__value.html">census_value</a></div><div class="ttdoc">A single value to be recorded comprises two parts: an ID for the particular resource and the value to...</div><div class="ttdef"><b>Definition:</b> census.h:471</div></div>
 <div class="ttc" id="structcensus__value_html_a5bff69239476e80fc5c54f3302fffa34"><div class="ttname"><a href="structcensus__value.html#a5bff69239476e80fc5c54f3302fffa34">census_value::value</a></div><div class="ttdeci">double value</div><div class="ttdef"><b>Definition:</b> census.h:473</div></div>
 <div class="ttc" id="structcensus__value_html_a620346f6dc4b26552fc149cfe5fd26aa"><div class="ttname"><a href="structcensus__value.html#a620346f6dc4b26552fc149cfe5fd26aa">census_value::resource_id</a></div><div class="ttdeci">int32_t resource_id</div><div class="ttdef"><b>Definition:</b> census.h:472</div></div>
-<div class="ttc" id="structcensus__context__status_html"><div class="ttname"><a href="structcensus__context__status.html">census_context_status</a></div><div class="ttdef"><b>Definition:</b> census.h:117</div></div>
-<div class="ttc" id="census_8h_html_a12077dda197a10bf2198203eac1a348a"><div class="ttname"><a href="census_8h.html#a12077dda197a10bf2198203eac1a348a">census_context_get_status</a></div><div class="ttdeci">CENSUSAPI const census_context_status * census_context_get_status(const census_context *context)</div></div>
-<div class="ttc" id="structcensus__context__status_html_ad44570570f170577c7fec0381adea3d5"><div class="ttname"><a href="structcensus__context__status.html#ad44570570f170577c7fec0381adea3d5">census_context_status::n_added_tags</a></div><div class="ttdeci">int n_added_tags</div><div class="ttdef"><b>Definition:</b> census.h:121</div></div>
-<div class="ttc" id="census_8h_html_abe92e59c22481b0de3742673cbbb1bf8ab0722326e730113d5be97f643c3e6718"><div class="ttname"><a href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8ab0722326e730113d5be97f643c3e6718">CENSUS_FEATURE_TRACING</a></div><div class="ttdef"><b>Definition:</b> census.h:50</div></div>
-<div class="ttc" id="census_8h_html_a610c654980b00da26ed7b2becca79f94"><div class="ttname"><a href="census_8h.html#a610c654980b00da26ed7b2becca79f94">census_context_get_tag</a></div><div class="ttdeci">CENSUSAPI int census_context_get_tag(const census_context *context, const char *key, census_tag *tag)</div></div>
+<div class="ttc" id="structcensus__context__status_html"><div class="ttname"><a href="structcensus__context__status.html">census_context_status</a></div><div class="ttdoc">An instance of this structure is kept by every context, and records the basic information associated ...</div><div class="ttdef"><b>Definition:</b> census.h:117</div></div>
+<div class="ttc" id="census_8h_html_a12077dda197a10bf2198203eac1a348a"><div class="ttname"><a href="census_8h.html#a12077dda197a10bf2198203eac1a348a">census_context_get_status</a></div><div class="ttdeci">CENSUSAPI const census_context_status * census_context_get_status(const census_context *context)</div><div class="ttdoc">Get a pointer to the original status from the context creation. </div></div>
+<div class="ttc" id="structcensus__context__status_html_ad44570570f170577c7fec0381adea3d5"><div class="ttname"><a href="structcensus__context__status.html#ad44570570f170577c7fec0381adea3d5">census_context_status::n_added_tags</a></div><div class="ttdeci">int n_added_tags</div><div class="ttdoc">number of tags that were deleted </div><div class="ttdef"><b>Definition:</b> census.h:121</div></div>
+<div class="ttc" id="census_8h_html_abe92e59c22481b0de3742673cbbb1bf8ab0722326e730113d5be97f643c3e6718"><div class="ttname"><a href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8ab0722326e730113d5be97f643c3e6718">CENSUS_FEATURE_TRACING</a></div><div class="ttdoc">Do not enable census. </div><div class="ttdef"><b>Definition:</b> census.h:50</div></div>
+<div class="ttc" id="census_8h_html_a610c654980b00da26ed7b2becca79f94"><div class="ttname"><a href="census_8h.html#a610c654980b00da26ed7b2becca79f94">census_context_get_tag</a></div><div class="ttdeci">CENSUSAPI int census_context_get_tag(const census_context *context, const char *key, census_tag *tag)</div><div class="ttdoc">Get a context tag by key. </div></div>
 <div class="ttc" id="census_8h_html_a2a2dfc973cd259d93b0901c8b32e8f34"><div class="ttname"><a href="census_8h.html#a2a2dfc973cd259d93b0901c8b32e8f34">census_trace_mask</a></div><div class="ttdeci">CENSUSAPI int census_trace_mask(const census_context *context)</div><div class="ttdoc">Get the current trace mask associated with this context. </div></div>
-<div class="ttc" id="census_8h_html_a26acfcba7f6b3f2b86d0a7fdc45e32ba"><div class="ttname"><a href="census_8h.html#a26acfcba7f6b3f2b86d0a7fdc45e32ba">census_record_values</a></div><div class="ttdeci">CENSUSAPI void census_record_values(census_context *context, census_value *values, size_t nvalues)</div></div>
-<div class="ttc" id="structcensus__context__status_html_a8e7c9b97dceabe04d9d7b54ca1259d39"><div class="ttname"><a href="structcensus__context__status.html#a8e7c9b97dceabe04d9d7b54ca1259d39">census_context_status::n_deleted_tags</a></div><div class="ttdeci">int n_deleted_tags</div><div class="ttdef"><b>Definition:</b> census.h:120</div></div>
-<div class="ttc" id="structcensus__context__status_html_a00dd3c6cfa7338d539b290f34b29523b"><div class="ttname"><a href="structcensus__context__status.html#a00dd3c6cfa7338d539b290f34b29523b">census_context_status::n_invalid_tags</a></div><div class="ttdeci">int n_invalid_tags</div><div class="ttdef"><b>Definition:</b> census.h:123</div></div>
-<div class="ttc" id="census_8h_html_abe92e59c22481b0de3742673cbbb1bf8a4808bff624e2377596b86a6f58ab04b5"><div class="ttname"><a href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8a4808bff624e2377596b86a6f58ab04b5">CENSUS_FEATURE_CPU</a></div><div class="ttdef"><b>Definition:</b> census.h:52</div></div>
+<div class="ttc" id="census_8h_html_a26acfcba7f6b3f2b86d0a7fdc45e32ba"><div class="ttname"><a href="census_8h.html#a26acfcba7f6b3f2b86d0a7fdc45e32ba">census_record_values</a></div><div class="ttdeci">CENSUSAPI void census_record_values(census_context *context, census_value *values, size_t nvalues)</div><div class="ttdoc">Record new usage values against the given context. </div></div>
+<div class="ttc" id="structcensus__context__status_html_a8e7c9b97dceabe04d9d7b54ca1259d39"><div class="ttname"><a href="structcensus__context__status.html#a8e7c9b97dceabe04d9d7b54ca1259d39">census_context_status::n_deleted_tags</a></div><div class="ttdeci">int n_deleted_tags</div><div class="ttdoc">number of non-propagated (local) tags </div><div class="ttdef"><b>Definition:</b> census.h:120</div></div>
+<div class="ttc" id="structcensus__context__status_html_a00dd3c6cfa7338d539b290f34b29523b"><div class="ttname"><a href="structcensus__context__status.html#a00dd3c6cfa7338d539b290f34b29523b">census_context_status::n_invalid_tags</a></div><div class="ttdeci">int n_invalid_tags</div><div class="ttdoc">number of tags that were modified </div><div class="ttdef"><b>Definition:</b> census.h:123</div></div>
+<div class="ttc" id="census_8h_html_abe92e59c22481b0de3742673cbbb1bf8a4808bff624e2377596b86a6f58ab04b5"><div class="ttname"><a href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8a4808bff624e2377596b86a6f58ab04b5">CENSUS_FEATURE_CPU</a></div><div class="ttdoc">Enable Census stats collection. </div><div class="ttdef"><b>Definition:</b> census.h:52</div></div>
 <div class="ttc" id="structcensus__trace__record_html"><div class="ttname"><a href="structcensus__trace__record.html">census_trace_record</a></div><div class="ttdoc">Trace record. </div><div class="ttdef"><b>Definition:</b> census.h:400</div></div>
 <div class="ttc" id="census_8h_html_aacf722bf9259354d1ab7a81a6c2fd666"><div class="ttname"><a href="census_8h.html#aacf722bf9259354d1ab7a81a6c2fd666">census_trace_print</a></div><div class="ttdeci">CENSUSAPI void census_trace_print(census_context *context, uint32_t type, const char *buffer, size_t n)</div><div class="ttdoc">Insert a trace record into the trace stream. </div></div>
-<div class="ttc" id="census_8h_html_ad4ff7b1db813ee5318871121bb4281cc"><div class="ttname"><a href="census_8h.html#ad4ff7b1db813ee5318871121bb4281cc">census_trace_mask_values</a></div><div class="ttdeci">census_trace_mask_values</div><div class="ttdef"><b>Definition:</b> census.h:202</div></div>
+<div class="ttc" id="census_8h_html_ad4ff7b1db813ee5318871121bb4281cc"><div class="ttname"><a href="census_8h.html#ad4ff7b1db813ee5318871121bb4281cc">census_trace_mask_values</a></div><div class="ttdeci">census_trace_mask_values</div><div class="ttdoc">Distributed traces can have a number of options. </div><div class="ttdef"><b>Definition:</b> census.h:202</div></div>
 <div class="ttc" id="structcensus__tag_html_a5632d4c8316fb17bbb3af5cb9b0dd4f5"><div class="ttname"><a href="structcensus__tag.html#a5632d4c8316fb17bbb3af5cb9b0dd4f5">census_tag::flags</a></div><div class="ttdeci">uint8_t flags</div><div class="ttdef"><b>Definition:</b> census.h:97</div></div>
 <div class="ttc" id="structcensus__rpc__name__info_html"><div class="ttname"><a href="structcensus__rpc__name__info.html">census_rpc_name_info</a></div><div class="ttdoc">Represent functions to map RPC name ID to service/method names. </div><div class="ttdef"><b>Definition:</b> census.h:273</div></div>
-<div class="ttc" id="census_8h_html_abe92e59c22481b0de3742673cbbb1bf8aba96a94fb7af8cf1144ca14edc0b1f0c"><div class="ttname"><a href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8aba96a94fb7af8cf1144ca14edc0b1f0c">CENSUS_FEATURE_ALL</a></div><div class="ttdef"><b>Definition:</b> census.h:53</div></div>
-<div class="ttc" id="structcensus__trace__record_html_a7a9ffdb2e91c34802e5102a1632b2e58"><div class="ttname"><a href="structcensus__trace__record.html#a7a9ffdb2e91c34802e5102a1632b2e58">census_trace_record::op_id</a></div><div class="ttdeci">uint64_t op_id</div><div class="ttdef"><b>Definition:</b> census.h:403</div></div>
-<div class="ttc" id="census_8h_html_abe92e59c22481b0de3742673cbbb1bf8a84c772b868e53ee3487c7bfc8e8b2f1a"><div class="ttname"><a href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8a84c772b868e53ee3487c7bfc8e8b2f1a">CENSUS_FEATURE_STATS</a></div><div class="ttdef"><b>Definition:</b> census.h:51</div></div>
-<div class="ttc" id="census_8h_html_a63289de665c241f31e9c32666310ec3a"><div class="ttname"><a href="census_8h.html#a63289de665c241f31e9c32666310ec3a">census_context_create</a></div><div class="ttdeci">CENSUSAPI census_context * census_context_create(const census_context *base, const census_tag *tags, int ntags, census_context_status const **status)</div></div>
+<div class="ttc" id="census_8h_html_abe92e59c22481b0de3742673cbbb1bf8aba96a94fb7af8cf1144ca14edc0b1f0c"><div class="ttname"><a href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8aba96a94fb7af8cf1144ca14edc0b1f0c">CENSUS_FEATURE_ALL</a></div><div class="ttdoc">Enable Census CPU usage collection. </div><div class="ttdef"><b>Definition:</b> census.h:53</div></div>
+<div class="ttc" id="structcensus__trace__record_html_a7a9ffdb2e91c34802e5102a1632b2e58"><div class="ttname"><a href="structcensus__trace__record.html#a7a9ffdb2e91c34802e5102a1632b2e58">census_trace_record::op_id</a></div><div class="ttdeci">uint64_t op_id</div><div class="ttdoc">Trace ID associated with record. </div><div class="ttdef"><b>Definition:</b> census.h:403</div></div>
+<div class="ttc" id="census_8h_html_abe92e59c22481b0de3742673cbbb1bf8a84c772b868e53ee3487c7bfc8e8b2f1a"><div class="ttname"><a href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8a84c772b868e53ee3487c7bfc8e8b2f1a">CENSUS_FEATURE_STATS</a></div><div class="ttdoc">Enable census tracing. </div><div class="ttdef"><b>Definition:</b> census.h:51</div></div>
+<div class="ttc" id="census_8h_html_a63289de665c241f31e9c32666310ec3a"><div class="ttname"><a href="census_8h.html#a63289de665c241f31e9c32666310ec3a">census_context_create</a></div><div class="ttdeci">CENSUSAPI census_context * census_context_create(const census_context *base, const census_tag *tags, int ntags, census_context_status const **status)</div><div class="ttdoc">Create a new context, adding and removing tags from an existing context. </div></div>
 <div class="ttc" id="census_8h_html_ae1536ef86b12a6904cb1de3a47f0ca1b"><div class="ttname"><a href="census_8h.html#ae1536ef86b12a6904cb1de3a47f0ca1b">census_start_op</a></div><div class="ttdeci">CENSUSAPI census_context * census_start_op(census_context *context, const char *family, const char *name, int trace_mask)</div><div class="ttdoc">Start a new, non-RPC operation. </div></div>
 <div class="ttc" id="census_8h_html_ad78c02761da0d8a7a70bf4add263f91f"><div class="ttname"><a href="census_8h.html#ad78c02761da0d8a7a70bf4add263f91f">census_trace_scan_start</a></div><div class="ttdeci">CENSUSAPI int census_trace_scan_start(int consume)</div><div class="ttdoc">Start a scan of existing trace records. </div></div>
-<div class="ttc" id="structcensus__context__status_html_a94be33aaa92817f62516bb21fb106e00"><div class="ttname"><a href="structcensus__context__status.html#a94be33aaa92817f62516bb21fb106e00">census_context_status::n_local_tags</a></div><div class="ttdeci">int n_local_tags</div><div class="ttdef"><b>Definition:</b> census.h:119</div></div>
-<div class="ttc" id="structcensus__context__status_html_ab567b892584772dcb4a13ae7c8b95316"><div class="ttname"><a href="structcensus__context__status.html#ab567b892584772dcb4a13ae7c8b95316">census_context_status::n_ignored_tags</a></div><div class="ttdeci">int n_ignored_tags</div><div class="ttdef"><b>Definition:</b> census.h:125</div></div>
+<div class="ttc" id="structcensus__context__status_html_a94be33aaa92817f62516bb21fb106e00"><div class="ttname"><a href="structcensus__context__status.html#a94be33aaa92817f62516bb21fb106e00">census_context_status::n_local_tags</a></div><div class="ttdeci">int n_local_tags</div><div class="ttdoc">number of propagated tags </div><div class="ttdef"><b>Definition:</b> census.h:119</div></div>
+<div class="ttc" id="structcensus__context__status_html_ab567b892584772dcb4a13ae7c8b95316"><div class="ttname"><a href="structcensus__context__status.html#ab567b892584772dcb4a13ae7c8b95316">census_context_status::n_ignored_tags</a></div><div class="ttdeci">int n_ignored_tags</div><div class="ttdoc">number of tags with bad keys or values (e.g. </div><div class="ttdef"><b>Definition:</b> census.h:125</div></div>
 <div class="ttc" id="census_8h_html_ad21073b22ae5c30cad63a29340f54048"><div class="ttname"><a href="census_8h.html#ad21073b22ae5c30cad63a29340f54048">census_shutdown</a></div><div class="ttdeci">CENSUSAPI void census_shutdown(void)</div></div>
 <div class="ttc" id="census_8h_html_a22eb7df4c9b232d8962592d738007ecb"><div class="ttname"><a href="census_8h.html#a22eb7df4c9b232d8962592d738007ecb">census_trace_scan_end</a></div><div class="ttdeci">CENSUSAPI void census_trace_scan_end()</div><div class="ttdoc">End a scan previously started by census_trace_scan_start() </div></div>
 <div class="ttc" id="structcensus__context__iterator_html_ad565429de91ad3f42c6e7091c2532804"><div class="ttname"><a href="structcensus__context__iterator.html#ad565429de91ad3f42c6e7091c2532804">census_context_iterator::kvm</a></div><div class="ttdeci">char * kvm</div><div class="ttdef"><b>Definition:</b> census.h:166</div></div>
-<div class="ttc" id="census_8h_html_a6e29f72138aac3eac75ef13a7bd25560"><div class="ttname"><a href="census_8h.html#a6e29f72138aac3eac75ef13a7bd25560">census_context_destroy</a></div><div class="ttdeci">CENSUSAPI void census_context_destroy(census_context *context)</div></div>
-<div class="ttc" id="census_8h_html_a054424f7ca74d513c4dba55dd20d92f2"><div class="ttname"><a href="census_8h.html#a054424f7ca74d513c4dba55dd20d92f2">census_context_encode</a></div><div class="ttdeci">CENSUSAPI size_t census_context_encode(const census_context *context, char *buffer, size_t buf_size)</div></div>
+<div class="ttc" id="census_8h_html_a6e29f72138aac3eac75ef13a7bd25560"><div class="ttname"><a href="census_8h.html#a6e29f72138aac3eac75ef13a7bd25560">census_context_destroy</a></div><div class="ttdeci">CENSUSAPI void census_context_destroy(census_context *context)</div><div class="ttdoc">Destroy a context. </div></div>
+<div class="ttc" id="census_8h_html_a054424f7ca74d513c4dba55dd20d92f2"><div class="ttname"><a href="census_8h.html#a054424f7ca74d513c4dba55dd20d92f2">census_context_encode</a></div><div class="ttdeci">CENSUSAPI size_t census_context_encode(const census_context *context, char *buffer, size_t buf_size)</div><div class="ttdoc">Tag set encode/decode functionality. </div></div>
 <div class="ttc" id="structcensus__trace__record_html_ac7f74956d51898681b8e35a8031ac9fb"><div class="ttname"><a href="structcensus__trace__record.html#ac7f74956d51898681b8e35a8031ac9fb">census_trace_record::timestamp</a></div><div class="ttdeci">census_timestamp timestamp</div><div class="ttdef"><b>Definition:</b> census.h:401</div></div>
-<div class="ttc" id="structcensus__timestamp_html_a36ed36ffcf81f720bbdade460f957004"><div class="ttname"><a href="structcensus__timestamp.html#a36ed36ffcf81f720bbdade460f957004">census_timestamp::ts</a></div><div class="ttdeci">gpr_timespec ts</div><div class="ttdef"><b>Definition:</b> census.h:243</div></div>
-<div class="ttc" id="structcensus__trace__record_html_a76b2b8a9206a720e02c32c13a534ba78"><div class="ttname"><a href="structcensus__trace__record.html#a76b2b8a9206a720e02c32c13a534ba78">census_trace_record::type</a></div><div class="ttdeci">uint32_t type</div><div class="ttdef"><b>Definition:</b> census.h:404</div></div>
+<div class="ttc" id="structcensus__timestamp_html_a36ed36ffcf81f720bbdade460f957004"><div class="ttname"><a href="structcensus__timestamp.html#a36ed36ffcf81f720bbdade460f957004">census_timestamp::ts</a></div><div class="ttdeci">gpr_timespec ts</div><div class="ttdoc">Use gpr_timespec for default implementation. </div><div class="ttdef"><b>Definition:</b> census.h:243</div></div>
+<div class="ttc" id="structcensus__trace__record_html_a76b2b8a9206a720e02c32c13a534ba78"><div class="ttname"><a href="structcensus__trace__record.html#a76b2b8a9206a720e02c32c13a534ba78">census_trace_record::type</a></div><div class="ttdeci">uint32_t type</div><div class="ttdoc">Operation ID associated with record. </div><div class="ttdef"><b>Definition:</b> census.h:404</div></div>
 <div class="ttc" id="structcensus__context__iterator_html_ab591e487d86084f6e73c79c82bc3b1bc"><div class="ttname"><a href="structcensus__context__iterator.html#ab591e487d86084f6e73c79c82bc3b1bc">census_context_iterator::base</a></div><div class="ttdeci">int base</div><div class="ttdef"><b>Definition:</b> census.h:164</div></div>
-<div class="ttc" id="structcensus__timestamp_html"><div class="ttname"><a href="structcensus__timestamp.html">census_timestamp</a></div><div class="ttdoc">This structure represents a timestamp as used by census to record the time at which an operation begi...</div><div class="ttdef"><b>Definition:</b> census.h:240</div></div>
-<div class="ttc" id="census_8h_html_ad4ff7b1db813ee5318871121bb4281ccaadcf28b76de06181051506c96996255a"><div class="ttname"><a href="census_8h.html#ad4ff7b1db813ee5318871121bb4281ccaadcf28b76de06181051506c96996255a">CENSUS_TRACE_MASK_IS_SAMPLED</a></div><div class="ttdef"><b>Definition:</b> census.h:204</div></div>
-<div class="ttc" id="census_8h_html_aaccea127635aaf9200e776eff7c7ba5d"><div class="ttname"><a href="census_8h.html#aaccea127635aaf9200e776eff7c7ba5d">census_context_decode</a></div><div class="ttdeci">CENSUSAPI census_context * census_context_decode(const char *buffer, size_t size)</div></div>
-<div class="ttc" id="census_8h_html_a756d86b68b73a9ad9dacdfdaeb2a865c"><div class="ttname"><a href="census_8h.html#a756d86b68b73a9ad9dacdfdaeb2a865c">census_context_next_tag</a></div><div class="ttdeci">CENSUSAPI int census_context_next_tag(census_context_iterator *iterator, census_tag *tag)</div></div>
-<div class="ttc" id="census_8h_html_ac68fd1dbb1767d8e080ec22f4767be89"><div class="ttname"><a href="census_8h.html#ac68fd1dbb1767d8e080ec22f4767be89">census_delete_resource</a></div><div class="ttdeci">CENSUSAPI void census_delete_resource(int32_t resource_id)</div></div>
+<div class="ttc" id="structcensus__timestamp_html"><div class="ttname"><a href="structcensus__timestamp.html">census_timestamp</a></div><div class="ttdoc">The concept of &quot;operation&quot; is a fundamental concept for Census. </div><div class="ttdef"><b>Definition:</b> census.h:240</div></div>
+<div class="ttc" id="census_8h_html_ad4ff7b1db813ee5318871121bb4281ccaadcf28b76de06181051506c96996255a"><div class="ttname"><a href="census_8h.html#ad4ff7b1db813ee5318871121bb4281ccaadcf28b76de06181051506c96996255a">CENSUS_TRACE_MASK_IS_SAMPLED</a></div><div class="ttdoc">Default, empty flags. </div><div class="ttdef"><b>Definition:</b> census.h:204</div></div>
+<div class="ttc" id="census_8h_html_aaccea127635aaf9200e776eff7c7ba5d"><div class="ttname"><a href="census_8h.html#aaccea127635aaf9200e776eff7c7ba5d">census_context_decode</a></div><div class="ttdeci">CENSUSAPI census_context * census_context_decode(const char *buffer, size_t size)</div><div class="ttdoc">Decode context buffer encoded with census_context_encode(). </div></div>
+<div class="ttc" id="census_8h_html_a756d86b68b73a9ad9dacdfdaeb2a865c"><div class="ttname"><a href="census_8h.html#a756d86b68b73a9ad9dacdfdaeb2a865c">census_context_next_tag</a></div><div class="ttdeci">CENSUSAPI int census_context_next_tag(census_context_iterator *iterator, census_tag *tag)</div><div class="ttdoc">Get the contents of the &quot;next&quot; tag in the context. </div></div>
+<div class="ttc" id="census_8h_html_ac68fd1dbb1767d8e080ec22f4767be89"><div class="ttname"><a href="census_8h.html#ac68fd1dbb1767d8e080ec22f4767be89">census_delete_resource</a></div><div class="ttdeci">CENSUSAPI void census_delete_resource(int32_t resource_id)</div><div class="ttdoc">Delete a resource created by census_define_resource(). </div></div>
 <div class="ttc" id="structcensus__context__iterator_html_a729daa66104d74f11aa6c5b25c27f563"><div class="ttname"><a href="structcensus__context__iterator.html#a729daa66104d74f11aa6c5b25c27f563">census_context_iterator::context</a></div><div class="ttdeci">const census_context * context</div><div class="ttdef"><b>Definition:</b> census.h:163</div></div>
 <div class="ttc" id="census_8h_html_ae22d3c8dfe3bfac5e831b0135ff7a536"><div class="ttname"><a href="census_8h.html#ae22d3c8dfe3bfac5e831b0135ff7a536">census_supported</a></div><div class="ttdeci">CENSUSAPI int census_supported(void)</div><div class="ttdoc">Return the features supported by the current census implementation (not all features will be availabl...</div></div>
-<div class="ttc" id="census_8h_html_aeb7f7e4f427236d00446d2eb836c5252"><div class="ttname"><a href="census_8h.html#aeb7f7e4f427236d00446d2eb836c5252">census_resource_id</a></div><div class="ttdeci">CENSUSAPI int32_t census_resource_id(const char *name)</div></div>
+<div class="ttc" id="census_8h_html_aeb7f7e4f427236d00446d2eb836c5252"><div class="ttname"><a href="census_8h.html#aeb7f7e4f427236d00446d2eb836c5252">census_resource_id</a></div><div class="ttdeci">CENSUSAPI int32_t census_resource_id(const char *name)</div><div class="ttdoc">Determine the id of a resource, given its name. </div></div>
 <div class="ttc" id="census_8h_html_aeb5d22e80a87eabe9880f08c56e95bf1"><div class="ttname"><a href="census_8h.html#aeb5d22e80a87eabe9880f08c56e95bf1">census_get_trace_record</a></div><div class="ttdeci">CENSUSAPI int census_get_trace_record(census_trace_record *trace_record)</div><div class="ttdoc">Get a trace record. </div></div>
 <div class="ttc" id="structcensus__tag_html_a13c8315749ec9752d8bb1354a131558b"><div class="ttname"><a href="structcensus__tag.html#a13c8315749ec9752d8bb1354a131558b">census_tag::key</a></div><div class="ttdeci">const char * key</div><div class="ttdef"><b>Definition:</b> census.h:95</div></div>
 <div class="ttc" id="census_8h_html_aee31ac081d81e46746025b06071f1f0e"><div class="ttname"><a href="census_8h.html#aee31ac081d81e46746025b06071f1f0e">census_end_op</a></div><div class="ttdeci">CENSUSAPI void census_end_op(census_context *context, int status)</div><div class="ttdoc">End an operation started by any of the census_start_*_op*() calls. </div></div>
 <div class="ttc" id="census_8h_html_a850c1ca105245a514e76519d5edaad2c"><div class="ttname"><a href="census_8h.html#a850c1ca105245a514e76519d5edaad2c">census_initialize</a></div><div class="ttdeci">CENSUSAPI int census_initialize(int features)</div><div class="ttdoc">Shutdown and startup census subsystem. </div></div>
 <div class="ttc" id="census_8h_html_a2088bf00a48a7a9b0a6e659fa5161ef9"><div class="ttname"><a href="census_8h.html#a2088bf00a48a7a9b0a6e659fa5161ef9">census_set_trace_mask</a></div><div class="ttdeci">CENSUSAPI void census_set_trace_mask(int trace_mask)</div><div class="ttdoc">Set the trace mask associated with a context. </div></div>
-<div class="ttc" id="structcensus__trace__record_html_a69511d4d1ae8297580789786feb564d4"><div class="ttname"><a href="structcensus__trace__record.html#a69511d4d1ae8297580789786feb564d4">census_trace_record::trace_id</a></div><div class="ttdeci">uint64_t trace_id</div><div class="ttdef"><b>Definition:</b> census.h:402</div></div>
-<div class="ttc" id="census_8h_html_abe92e59c22481b0de3742673cbbb1bf8"><div class="ttname"><a href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8">census_features</a></div><div class="ttdeci">census_features</div><div class="ttdef"><b>Definition:</b> census.h:48</div></div>
+<div class="ttc" id="structcensus__trace__record_html_a69511d4d1ae8297580789786feb564d4"><div class="ttname"><a href="structcensus__trace__record.html#a69511d4d1ae8297580789786feb564d4">census_trace_record::trace_id</a></div><div class="ttdeci">uint64_t trace_id</div><div class="ttdoc">Time of record creation. </div><div class="ttdef"><b>Definition:</b> census.h:402</div></div>
+<div class="ttc" id="census_8h_html_abe92e59c22481b0de3742673cbbb1bf8"><div class="ttname"><a href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8">census_features</a></div><div class="ttdeci">census_features</div><div class="ttdoc">RPC-internal Census API&#39;s. </div><div class="ttdef"><b>Definition:</b> census.h:48</div></div>
 <div class="ttc" id="census_8h_html_ab20a8e42995181004f5fbc9a87e339d3"><div class="ttname"><a href="census_8h.html#ab20a8e42995181004f5fbc9a87e339d3">census_set_rpc_client_peer</a></div><div class="ttdeci">CENSUSAPI void census_set_rpc_client_peer(census_context *context, const char *peer)</div><div class="ttdoc">Add peer information to a context representing a client RPC operation. </div></div>
-<div class="ttc" id="structcensus__tag_html"><div class="ttname"><a href="structcensus__tag.html">census_tag</a></div><div class="ttdef"><b>Definition:</b> census.h:94</div></div>
-<div class="ttc" id="census_8h_html_a689ea02b5b0907f69ecb0baee371aa55"><div class="ttname"><a href="census_8h.html#a689ea02b5b0907f69ecb0baee371aa55">census_define_resource</a></div><div class="ttdeci">CENSUSAPI int32_t census_define_resource(const uint8_t *resource_pb, size_t resource_pb_size)</div></div>
-<div class="ttc" id="impl_2codegen_2port__platform_8h_html_a3f6006f19ae6445e4a42f9d16b720ad7"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a></div><div class="ttdeci">#define CENSUSAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:418</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> gpr_types.h:63</div></div>
+<div class="ttc" id="structcensus__tag_html"><div class="ttname"><a href="structcensus__tag.html">census_tag</a></div><div class="ttdoc">A tag is a key:value pair. </div><div class="ttdef"><b>Definition:</b> census.h:94</div></div>
+<div class="ttc" id="census_8h_html_a689ea02b5b0907f69ecb0baee371aa55"><div class="ttname"><a href="census_8h.html#a689ea02b5b0907f69ecb0baee371aa55">census_define_resource</a></div><div class="ttdeci">CENSUSAPI int32_t census_define_resource(const uint8_t *resource_pb, size_t resource_pb_size)</div><div class="ttdoc">Core stats collection API&#39;s. </div></div>
+<div class="ttc" id="impl_2codegen_2port__platform_8h_html_a3f6006f19ae6445e4a42f9d16b720ad7"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">CENSUSAPI</a></div><div class="ttdeci">#define CENSUSAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:424</div></div>
+<div class="ttc" id="structgpr__timespec_html"><div class="ttname"><a href="structgpr__timespec.html">gpr_timespec</a></div><div class="ttdoc">Analogous to struct timespec. </div><div class="ttdef"><b>Definition:</b> gpr_types.h:62</div></div>
 <div class="ttc" id="structcensus__tag_html_a8f4ef3177380ad53f7a8abe1441e8805"><div class="ttname"><a href="structcensus__tag.html#a8f4ef3177380ad53f7a8abe1441e8805">census_tag::value</a></div><div class="ttdeci">const char * value</div><div class="ttdef"><b>Definition:</b> census.h:96</div></div>
-<div class="ttc" id="census_8h_html_ac19f91fc3442073217752ce4abf5dfc4"><div class="ttname"><a href="census_8h.html#ac19f91fc3442073217752ce4abf5dfc4">census_context_initialize_iterator</a></div><div class="ttdeci">CENSUSAPI void census_context_initialize_iterator(const census_context *context, census_context_iterator *iterator)</div></div>
+<div class="ttc" id="census_8h_html_ac19f91fc3442073217752ce4abf5dfc4"><div class="ttname"><a href="census_8h.html#ac19f91fc3442073217752ce4abf5dfc4">census_context_initialize_iterator</a></div><div class="ttdeci">CENSUSAPI void census_context_initialize_iterator(const census_context *context, census_context_iterator *iterator)</div><div class="ttdoc">Initialize a census_tag_iterator. </div></div>
 <div class="ttc" id="census_8h_html_ad4ff7b1db813ee5318871121bb4281cca21afa23a531e5d54e70d44ec3c18cfb3"><div class="ttname"><a href="census_8h.html#ad4ff7b1db813ee5318871121bb4281cca21afa23a531e5d54e70d44ec3c18cfb3">CENSUS_TRACE_MASK_NONE</a></div><div class="ttdef"><b>Definition:</b> census.h:203</div></div>
-<div class="ttc" id="structcensus__trace__record_html_a4ba324fb39273bf3c0c0f15852d9d130"><div class="ttname"><a href="structcensus__trace__record.html#a4ba324fb39273bf3c0c0f15852d9d130">census_trace_record::buffer</a></div><div class="ttdeci">const char * buffer</div><div class="ttdef"><b>Definition:</b> census.h:405</div></div>
-<div class="ttc" id="structcensus__trace__record_html_abc4f9330e28d906f90346d7fd5769d53"><div class="ttname"><a href="structcensus__trace__record.html#abc4f9330e28d906f90346d7fd5769d53">census_trace_record::buf_size</a></div><div class="ttdeci">size_t buf_size</div><div class="ttdef"><b>Definition:</b> census.h:406</div></div>
+<div class="ttc" id="structcensus__trace__record_html_a4ba324fb39273bf3c0c0f15852d9d130"><div class="ttname"><a href="structcensus__trace__record.html#a4ba324fb39273bf3c0c0f15852d9d130">census_trace_record::buffer</a></div><div class="ttdeci">const char * buffer</div><div class="ttdoc">Type (as used in census_trace_print() </div><div class="ttdef"><b>Definition:</b> census.h:405</div></div>
+<div class="ttc" id="structcensus__trace__record_html_abc4f9330e28d906f90346d7fd5769d53"><div class="ttname"><a href="structcensus__trace__record.html#abc4f9330e28d906f90346d7fd5769d53">census_trace_record::buf_size</a></div><div class="ttdeci">size_t buf_size</div><div class="ttdoc">Buffer (from census_trace_print() </div><div class="ttdef"><b>Definition:</b> census.h:406</div></div>
 <div class="ttc" id="grpc_8h_html"><div class="ttname"><a href="grpc_8h.html">grpc.h</a></div></div>
 <div class="ttc" id="census_8h_html_abd6d5aa344819ec9d73c79b9fe6778dc"><div class="ttname"><a href="census_8h.html#abd6d5aa344819ec9d73c79b9fe6778dc">census_start_client_rpc_op</a></div><div class="ttdeci">CENSUSAPI census_context * census_start_client_rpc_op(const census_context *context, int64_t rpc_name_id, const census_rpc_name_info *rpc_name_info, const char *peer, int trace_mask, const census_timestamp *start_time)</div><div class="ttdoc">Start a client rpc operation. </div></div>
 <div class="ttc" id="structcensus__context__iterator_html_a1d3bd63edb21b2c2692610f9440b0111"><div class="ttname"><a href="structcensus__context__iterator.html#a1d3bd63edb21b2c2692610f9440b0111">census_context_iterator::index</a></div><div class="ttdeci">int index</div><div class="ttdef"><b>Definition:</b> census.h:165</div></div>
 <div class="ttc" id="census_8h_html_a57255eb87c6ade8ee6eb8856d3ecfc11"><div class="ttname"><a href="census_8h.html#a57255eb87c6ade8ee6eb8856d3ecfc11">census_start_rpc_op_timestamp</a></div><div class="ttdeci">CENSUSAPI census_timestamp census_start_rpc_op_timestamp(void)</div><div class="ttdoc">Mark the beginning of an RPC operation. </div></div>
-<div class="ttc" id="structcensus__context__iterator_html"><div class="ttname"><a href="structcensus__context__iterator.html">census_context_iterator</a></div><div class="ttdef"><b>Definition:</b> census.h:162</div></div>
+<div class="ttc" id="structcensus__context__iterator_html"><div class="ttname"><a href="structcensus__context__iterator.html">census_context_iterator</a></div><div class="ttdoc">Structure used for iterating over the tags in a context. </div><div class="ttdef"><b>Definition:</b> census.h:162</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">A Census Context is a handle used by Census to represent the current tracing and stats collection inf...</div><div class="ttdef"><b>Definition:</b> census.h:83</div></div>
 <div class="ttc" id="census_8h_html_abe92e59c22481b0de3742673cbbb1bf8aac1986834f37851b8d899c4a08c8e3ab"><div class="ttname"><a href="census_8h.html#abe92e59c22481b0de3742673cbbb1bf8aac1986834f37851b8d899c4a08c8e3ab">CENSUS_FEATURE_NONE</a></div><div class="ttdef"><b>Definition:</b> census.h:49</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 12 - 12
core/classes.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -90,17 +90,17 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="qindex"><a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a></div>
 <table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
 <tr><td rowspan="2" valign="bottom"><a name="letter_c"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;c&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="structgpr__avl.html">gpr_avl</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgpr__stats__counter.html">gpr_stats_counter</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__byte__buffer__reader.html">grpc_byte_buffer_reader</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__metadata__credentials__plugin.html">grpc_metadata_credentials_plugin</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structgpr__avl__node.html">gpr_avl_node</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgpr__thd__options.html">gpr_thd_options</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__call__details.html">grpc_call_details</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__op.html">grpc_op</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structcensus__context__iterator.html">census_context_iterator</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgpr__avl__vtable.html">gpr_avl_vtable</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgpr__timespec.html">gpr_timespec</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__channel__args.html">grpc_channel_args</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__slice.html">grpc_slice</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structcensus__context__status.html">census_context_status</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgpr__event.html">gpr_event</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__arg.html">grpc_arg</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__channel__info.html">grpc_channel_info</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__slice__buffer.html">grpc_slice_buffer</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structcensus__rpc__name__info.html">census_rpc_name_info</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgpr__gcc__thread__local.html">gpr_gcc_thread_local</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__arg__pointer__vtable.html">grpc_arg_pointer_vtable</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__completion__queue__attributes.html">grpc_completion_queue_attributes</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__slice__refcount.html">grpc_slice_refcount</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structcensus__tag.html">census_tag</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgpr__log__func__args.html">gpr_log_func_args</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__auth__metadata__context.html">grpc_auth_metadata_context</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__compression__options.html">grpc_compression_options</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__slice__refcount__vtable.html">grpc_slice_refcount_vtable</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structcensus__timestamp.html">census_timestamp</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgpr__msvc__thread__local.html">gpr_msvc_thread_local</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__auth__metadata__processor.html">grpc_auth_metadata_processor</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__event.html">grpc_event</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structcensus__trace__record.html">census_trace_record</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgpr__mu.html">gpr_mu</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__auth__property.html">grpc_auth_property</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__load__reporting__cost__context.html">grpc_load_reporting_cost_context</a>&#160;&#160;&#160;</td><td></td></tr>
-<tr><td valign="top"><a class="el" href="structcensus__value.html">census_value</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgpr__pthread__thread__local.html">gpr_pthread_thread_local</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__metadata.html">grpc_metadata</a>&#160;&#160;&#160;</td><td></td></tr>
+</td><td valign="top"><a class="el" href="structgpr__avl.html">gpr_avl</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgpr__stats__counter.html">gpr_stats_counter</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__byte__buffer__reader.html">grpc_byte_buffer_reader</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__op.html">grpc_op</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structgpr__avl__node.html">gpr_avl_node</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgpr__thd__options.html">gpr_thd_options</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__call__details.html">grpc_call_details</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__slice.html">grpc_slice</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structcensus__context__iterator.html">census_context_iterator</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgpr__avl__vtable.html">gpr_avl_vtable</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgpr__timespec.html">gpr_timespec</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__channel__args.html">grpc_channel_args</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__slice__buffer.html">grpc_slice_buffer</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structcensus__context__status.html">census_context_status</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgpr__event.html">gpr_event</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__arg.html">grpc_arg</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__channel__info.html">grpc_channel_info</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__slice__refcount.html">grpc_slice_refcount</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structcensus__rpc__name__info.html">census_rpc_name_info</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgpr__gcc__thread__local.html">gpr_gcc_thread_local</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__arg__pointer__vtable.html">grpc_arg_pointer_vtable</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__completion__queue__attributes.html">grpc_completion_queue_attributes</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__slice__refcount__vtable.html">grpc_slice_refcount_vtable</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structcensus__tag.html">census_tag</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgpr__log__func__args.html">gpr_log_func_args</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__auth__metadata__context.html">grpc_auth_metadata_context</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__compression__options.html">grpc_compression_options</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structcensus__timestamp.html">census_timestamp</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgpr__msvc__thread__local.html">gpr_msvc_thread_local</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__auth__metadata__processor.html">grpc_auth_metadata_processor</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__event.html">grpc_event</a>&#160;&#160;&#160;</td><td></td></tr>
+<tr><td valign="top"><a class="el" href="structcensus__trace__record.html">census_trace_record</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgpr__mu.html">gpr_mu</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__auth__property.html">grpc_auth_property</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__metadata.html">grpc_metadata</a>&#160;&#160;&#160;</td><td></td></tr>
+<tr><td valign="top"><a class="el" href="structcensus__value.html">census_value</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgpr__pthread__thread__local.html">gpr_pthread_thread_local</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__metadata__array.html">grpc_metadata_array</a>&#160;&#160;&#160;</td><td></td></tr>
 <tr><td rowspan="2" valign="bottom"><a name="letter_g"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;g&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="structgpr__refcount.html">gpr_refcount</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__metadata__array.html">grpc_metadata_array</a>&#160;&#160;&#160;</td><td></td></tr>
+</td><td valign="top"><a class="el" href="structgpr__refcount.html">gpr_refcount</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc__metadata__credentials__plugin.html">grpc_metadata_credentials_plugin</a>&#160;&#160;&#160;</td><td></td></tr>
 <tr><td></td><td></td><td></td><td></td></tr>
 <tr><td valign="top"><a class="el" href="structgpr__allocation__functions.html">gpr_allocation_functions</a>&#160;&#160;&#160;</td><td></td><td></td><td></td><td></td></tr>
 <tr><td></td><td></td><td></td><td></td><td></td></tr>
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:58 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 40 - 3
core/cmdline_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_692cef9a660803f4b5efbe2b781d2071.html">support</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_8e03e8f0d52209e008fae5f40ace0591.html">support</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -100,27 +100,37 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
 Typedefs</h2></td></tr>
 <tr class="memitem:aaad93cd9bfc32c54fc89f7c2f3b74eb6"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a></td></tr>
+<tr class="memdesc:aaad93cd9bfc32c54fc89f7c2f3b74eb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple command line parser.  <a href="#aaad93cd9bfc32c54fc89f7c2f3b74eb6">More...</a><br/></td></tr>
 <tr class="separator:aaad93cd9bfc32c54fc89f7c2f3b74eb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:a31fa94e5c43847c82e90bb40087f5aa9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <a class="el" href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8h.html#a31fa94e5c43847c82e90bb40087f5aa9">gpr_cmdline_create</a> (const char *description)</td></tr>
+<tr class="memdesc:a31fa94e5c43847c82e90bb40087f5aa9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a command line parser: takes a short description of the tool doing the parsing.  <a href="#a31fa94e5c43847c82e90bb40087f5aa9">More...</a><br/></td></tr>
 <tr class="separator:a31fa94e5c43847c82e90bb40087f5aa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a87c433155b5df21be39818d658cfe93f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8h.html#a87c433155b5df21be39818d658cfe93f">gpr_cmdline_add_int</a> (<a class="el" href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a> *cl, const char *name, const char *help, int *value)</td></tr>
+<tr class="memdesc:a87c433155b5df21be39818d658cfe93f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an integer parameter, with a name (used on the command line) and some helpful text (used in the command usage)  <a href="#a87c433155b5df21be39818d658cfe93f">More...</a><br/></td></tr>
 <tr class="separator:a87c433155b5df21be39818d658cfe93f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aea1a46a5feb84307dc9e3796ca13c481"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8h.html#aea1a46a5feb84307dc9e3796ca13c481">gpr_cmdline_add_flag</a> (<a class="el" href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a> *cl, const char *name, const char *help, int *value)</td></tr>
+<tr class="memdesc:aea1a46a5feb84307dc9e3796ca13c481"><td class="mdescLeft">&#160;</td><td class="mdescRight">The same, for a boolean flag.  <a href="#aea1a46a5feb84307dc9e3796ca13c481">More...</a><br/></td></tr>
 <tr class="separator:aea1a46a5feb84307dc9e3796ca13c481"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ad361141d2df046516b472df11e2712fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8h.html#ad361141d2df046516b472df11e2712fb">gpr_cmdline_add_string</a> (<a class="el" href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a> *cl, const char *name, const char *help, char **value)</td></tr>
+<tr class="memdesc:ad361141d2df046516b472df11e2712fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">And for a string.  <a href="#ad361141d2df046516b472df11e2712fb">More...</a><br/></td></tr>
 <tr class="separator:ad361141d2df046516b472df11e2712fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ac3b6905c4e9c88abd4936c593b0f5b12"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8h.html#ac3b6905c4e9c88abd4936c593b0f5b12">gpr_cmdline_on_extra_arg</a> (<a class="el" href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a> *cl, const char *name, const char *help, void(*on_extra_arg)(void *user_data, const char *arg), void *user_data)</td></tr>
+<tr class="memdesc:ac3b6905c4e9c88abd4936c593b0f5b12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a callback for non-named arguments.  <a href="#ac3b6905c4e9c88abd4936c593b0f5b12">More...</a><br/></td></tr>
 <tr class="separator:ac3b6905c4e9c88abd4936c593b0f5b12"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a191878e568149fffade0786592d13c37"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8h.html#a191878e568149fffade0786592d13c37">gpr_cmdline_set_survive_failure</a> (<a class="el" href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a> *cl)</td></tr>
+<tr class="memdesc:a191878e568149fffade0786592d13c37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable surviving failure: default behavior is to exit the process.  <a href="#a191878e568149fffade0786592d13c37">More...</a><br/></td></tr>
 <tr class="separator:a191878e568149fffade0786592d13c37"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:acc2f66f6bcdf05c8b761419bf2d40509"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8h.html#acc2f66f6bcdf05c8b761419bf2d40509">gpr_cmdline_parse</a> (<a class="el" href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a> *cl, int argc, char **argv)</td></tr>
+<tr class="memdesc:acc2f66f6bcdf05c8b761419bf2d40509"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse the command line; returns 1 on success, on failure either dies (by default) or returns 0 if <a class="el" href="cmdline_8h.html#a191878e568149fffade0786592d13c37" title="Enable surviving failure: default behavior is to exit the process. ">gpr_cmdline_set_survive_failure()</a> has been called.  <a href="#acc2f66f6bcdf05c8b761419bf2d40509">More...</a><br/></td></tr>
 <tr class="separator:acc2f66f6bcdf05c8b761419bf2d40509"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:acfe85f2db2b17fc82e614618ce5a09a8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8h.html#acfe85f2db2b17fc82e614618ce5a09a8">gpr_cmdline_destroy</a> (<a class="el" href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a> *cl)</td></tr>
+<tr class="memdesc:acfe85f2db2b17fc82e614618ce5a09a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy the parser.  <a href="#acfe85f2db2b17fc82e614618ce5a09a8">More...</a><br/></td></tr>
 <tr class="separator:acfe85f2db2b17fc82e614618ce5a09a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:af9bfcaca695b8e0f84fa410f733dced5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8h.html#af9bfcaca695b8e0f84fa410f733dced5">gpr_cmdline_usage_string</a> (<a class="el" href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a> *cl, const char *argv0)</td></tr>
+<tr class="memdesc:af9bfcaca695b8e0f84fa410f733dced5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a string describing usage.  <a href="#af9bfcaca695b8e0f84fa410f733dced5">More...</a><br/></td></tr>
 <tr class="separator:af9bfcaca695b8e0f84fa410f733dced5"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <h2 class="groupheader">Typedef Documentation</h2>
@@ -134,6 +144,15 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Simple command line parser. </p>
+<p>Supports flags that can be specified as -foo, &ndash;foo, &ndash;no-foo, -no-foo, etc And integers, strings that can be specified as -foo=4, -foo blah, etc</p>
+<p>No support for short command line options (but we may get that in the future.)</p>
+<p>Usage (for a program with a single flag argument 'foo'):</p>
+<p>int main(int argc, char **argv) { gpr_cmdline *cl; int verbose = 0;</p>
+<p>cl = gpr_cmdline_create("My cool tool"); gpr_cmdline_add_int(cl, "verbose", "Produce verbose output?", &amp;verbose); gpr_cmdline_parse(cl, argc, argv); gpr_cmdline_destroy(cl);</p>
+<p>if (verbose) { gpr_log(GPR_INFO, "Goodbye cruel world!"); }</p>
+<p>return 0; } </p>
+
 </div>
 </div>
 <h2 class="groupheader">Function Documentation</h2>
@@ -173,6 +192,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>The same, for a boolean flag. </p>
+
 </div>
 </div>
 <a class="anchor" id="a87c433155b5df21be39818d658cfe93f"></a>
@@ -211,6 +232,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Add an integer parameter, with a name (used on the command line) and some helpful text (used in the command usage) </p>
+
 </div>
 </div>
 <a class="anchor" id="ad361141d2df046516b472df11e2712fb"></a>
@@ -249,6 +272,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>And for a string. </p>
+
 </div>
 </div>
 <a class="anchor" id="a31fa94e5c43847c82e90bb40087f5aa9"></a>
@@ -265,6 +290,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Construct a command line parser: takes a short description of the tool doing the parsing. </p>
+
 </div>
 </div>
 <a class="anchor" id="acfe85f2db2b17fc82e614618ce5a09a8"></a>
@@ -281,6 +308,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Destroy the parser. </p>
+
 </div>
 </div>
 <a class="anchor" id="ac3b6905c4e9c88abd4936c593b0f5b12"></a>
@@ -325,6 +354,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Set a callback for non-named arguments. </p>
+
 </div>
 </div>
 <a class="anchor" id="acc2f66f6bcdf05c8b761419bf2d40509"></a>
@@ -357,6 +388,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Parse the command line; returns 1 on success, on failure either dies (by default) or returns 0 if <a class="el" href="cmdline_8h.html#a191878e568149fffade0786592d13c37" title="Enable surviving failure: default behavior is to exit the process. ">gpr_cmdline_set_survive_failure()</a> has been called. </p>
+
 </div>
 </div>
 <a class="anchor" id="a191878e568149fffade0786592d13c37"></a>
@@ -373,6 +406,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Enable surviving failure: default behavior is to exit the process. </p>
+
 </div>
 </div>
 <a class="anchor" id="af9bfcaca695b8e0f84fa410f733dced5"></a>
@@ -399,12 +434,14 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Get a string describing usage. </p>
+
 </div>
 </div>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 14 - 53
core/cmdline_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_692cef9a660803f4b5efbe2b781d2071.html">support</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_8e03e8f0d52209e008fae5f40ace0591.html">support</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -132,60 +132,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
 <div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#endif</span></div>
 <div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">/* Simple command line parser.</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">   Supports flags that can be specified as -foo, --foo, --no-foo, -no-foo, etc</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">   And integers, strings that can be specified as -foo=4, -foo blah, etc</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">   No support for short command line options (but we may get that in the</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">   future.)</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">   Usage (for a program with a single flag argument &#39;foo&#39;):</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">   int main(int argc, char **argv) {</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">     gpr_cmdline *cl;</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">     int verbose = 0;</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">     cl = gpr_cmdline_create(&quot;My cool tool&quot;);</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">     gpr_cmdline_add_int(cl, &quot;verbose&quot;, &quot;Produce verbose output?&quot;, &amp;verbose);</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">     gpr_cmdline_parse(cl, argc, argv);</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">     gpr_cmdline_destroy(cl);</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">     if (verbose) {</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">       gpr_log(GPR_INFO, &quot;Goodbye cruel world!&quot;);</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">     }</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">     return 0;</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">   } */</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div>
 <div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">   69</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a> <a class="code" href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a>;</div>
 <div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">/* Construct a command line parser: takes a short description of the tool</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">   doing the parsing */</span></div>
 <div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <a class="code" href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a> *<a class="code" href="cmdline_8h.html#a31fa94e5c43847c82e90bb40087f5aa9">gpr_cmdline_create</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *description);</div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">/* Add an integer parameter, with a name (used on the command line) and some</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">   helpful text (used in the command usage) */</span></div>
 <div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <span class="keywordtype">void</span> <a class="code" href="cmdline_8h.html#a87c433155b5df21be39818d658cfe93f">gpr_cmdline_add_int</a>(<a class="code" href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a> *cl, <span class="keyword">const</span> <span class="keywordtype">char</span> *name,</div>
 <div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;                                <span class="keyword">const</span> <span class="keywordtype">char</span> *help, <span class="keywordtype">int</span> *value);</div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">/* The same, for a boolean flag */</span></div>
 <div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <span class="keywordtype">void</span> <a class="code" href="cmdline_8h.html#aea1a46a5feb84307dc9e3796ca13c481">gpr_cmdline_add_flag</a>(<a class="code" href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a> *cl, <span class="keyword">const</span> <span class="keywordtype">char</span> *name,</div>
 <div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;                                 <span class="keyword">const</span> <span class="keywordtype">char</span> *help, <span class="keywordtype">int</span> *value);</div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment">/* And for a string */</span></div>
 <div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <span class="keywordtype">void</span> <a class="code" href="cmdline_8h.html#ad361141d2df046516b472df11e2712fb">gpr_cmdline_add_string</a>(<a class="code" href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a> *cl, <span class="keyword">const</span> <span class="keywordtype">char</span> *name,</div>
 <div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;                                   <span class="keyword">const</span> <span class="keywordtype">char</span> *help, <span class="keywordtype">char</span> **value);</div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">/* Set a callback for non-named arguments */</span></div>
 <div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <span class="keywordtype">void</span> <a class="code" href="cmdline_8h.html#ac3b6905c4e9c88abd4936c593b0f5b12">gpr_cmdline_on_extra_arg</a>(</div>
 <div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <a class="code" href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a> *cl, <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> <span class="keywordtype">char</span> *help,</div>
 <div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <span class="keywordtype">void</span> (*on_extra_arg)(<span class="keywordtype">void</span> *user_data, <span class="keyword">const</span> <span class="keywordtype">char</span> *arg), <span class="keywordtype">void</span> *user_data);</div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment">/* Enable surviving failure: default behavior is to exit the process */</span></div>
 <div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <span class="keywordtype">void</span> <a class="code" href="cmdline_8h.html#a191878e568149fffade0786592d13c37">gpr_cmdline_set_survive_failure</a>(<a class="code" href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a> *cl);</div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment">/* Parse the command line; returns 1 on success, on failure either dies</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment">   (by default) or returns 0 if gpr_cmdline_set_survive_failure() has been</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment">   called */</span></div>
 <div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <span class="keywordtype">int</span> <a class="code" href="cmdline_8h.html#acc2f66f6bcdf05c8b761419bf2d40509">gpr_cmdline_parse</a>(<a class="code" href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a> *cl, <span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv);</div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment">/* Destroy the parser */</span></div>
 <div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <span class="keywordtype">void</span> <a class="code" href="cmdline_8h.html#acfe85f2db2b17fc82e614618ce5a09a8">gpr_cmdline_destroy</a>(<a class="code" href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a> *cl);</div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment">/* Get a string describing usage */</span></div>
 <div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <span class="keywordtype">char</span> *<a class="code" href="cmdline_8h.html#af9bfcaca695b8e0f84fa410f733dced5">gpr_cmdline_usage_string</a>(<a class="code" href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a> *cl, <span class="keyword">const</span> <span class="keywordtype">char</span> *argv0);</div>
 <div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div>
 <div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
@@ -193,22 +154,22 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="preprocessor">#endif</span></div>
 <div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="preprocessor"></span></div>
 <div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_SUPPORT_CMDLINE_H */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="cmdline_8h_html_aaad93cd9bfc32c54fc89f7c2f3b74eb6"><div class="ttname"><a href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a></div><div class="ttdeci">struct gpr_cmdline gpr_cmdline</div><div class="ttdef"><b>Definition:</b> cmdline.h:69</div></div>
-<div class="ttc" id="cmdline_8h_html_af9bfcaca695b8e0f84fa410f733dced5"><div class="ttname"><a href="cmdline_8h.html#af9bfcaca695b8e0f84fa410f733dced5">gpr_cmdline_usage_string</a></div><div class="ttdeci">GPRAPI char * gpr_cmdline_usage_string(gpr_cmdline *cl, const char *argv0)</div></div>
-<div class="ttc" id="cmdline_8h_html_acc2f66f6bcdf05c8b761419bf2d40509"><div class="ttname"><a href="cmdline_8h.html#acc2f66f6bcdf05c8b761419bf2d40509">gpr_cmdline_parse</a></div><div class="ttdeci">GPRAPI int gpr_cmdline_parse(gpr_cmdline *cl, int argc, char **argv)</div></div>
-<div class="ttc" id="impl_2codegen_2port__platform_8h_html_af89d3610372fc35178e83e06916aa808"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a></div><div class="ttdeci">#define GPRAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:410</div></div>
-<div class="ttc" id="cmdline_8h_html_acfe85f2db2b17fc82e614618ce5a09a8"><div class="ttname"><a href="cmdline_8h.html#acfe85f2db2b17fc82e614618ce5a09a8">gpr_cmdline_destroy</a></div><div class="ttdeci">GPRAPI void gpr_cmdline_destroy(gpr_cmdline *cl)</div></div>
-<div class="ttc" id="cmdline_8h_html_a31fa94e5c43847c82e90bb40087f5aa9"><div class="ttname"><a href="cmdline_8h.html#a31fa94e5c43847c82e90bb40087f5aa9">gpr_cmdline_create</a></div><div class="ttdeci">GPRAPI gpr_cmdline * gpr_cmdline_create(const char *description)</div></div>
-<div class="ttc" id="cmdline_8h_html_a87c433155b5df21be39818d658cfe93f"><div class="ttname"><a href="cmdline_8h.html#a87c433155b5df21be39818d658cfe93f">gpr_cmdline_add_int</a></div><div class="ttdeci">GPRAPI void gpr_cmdline_add_int(gpr_cmdline *cl, const char *name, const char *help, int *value)</div></div>
-<div class="ttc" id="cmdline_8h_html_ac3b6905c4e9c88abd4936c593b0f5b12"><div class="ttname"><a href="cmdline_8h.html#ac3b6905c4e9c88abd4936c593b0f5b12">gpr_cmdline_on_extra_arg</a></div><div class="ttdeci">GPRAPI void gpr_cmdline_on_extra_arg(gpr_cmdline *cl, const char *name, const char *help, void(*on_extra_arg)(void *user_data, const char *arg), void *user_data)</div></div>
-<div class="ttc" id="cmdline_8h_html_aea1a46a5feb84307dc9e3796ca13c481"><div class="ttname"><a href="cmdline_8h.html#aea1a46a5feb84307dc9e3796ca13c481">gpr_cmdline_add_flag</a></div><div class="ttdeci">GPRAPI void gpr_cmdline_add_flag(gpr_cmdline *cl, const char *name, const char *help, int *value)</div></div>
-<div class="ttc" id="cmdline_8h_html_a191878e568149fffade0786592d13c37"><div class="ttname"><a href="cmdline_8h.html#a191878e568149fffade0786592d13c37">gpr_cmdline_set_survive_failure</a></div><div class="ttdeci">GPRAPI void gpr_cmdline_set_survive_failure(gpr_cmdline *cl)</div></div>
-<div class="ttc" id="cmdline_8h_html_ad361141d2df046516b472df11e2712fb"><div class="ttname"><a href="cmdline_8h.html#ad361141d2df046516b472df11e2712fb">gpr_cmdline_add_string</a></div><div class="ttdeci">GPRAPI void gpr_cmdline_add_string(gpr_cmdline *cl, const char *name, const char *help, char **value)</div></div>
+<div class="ttc" id="cmdline_8h_html_aaad93cd9bfc32c54fc89f7c2f3b74eb6"><div class="ttname"><a href="cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6">gpr_cmdline</a></div><div class="ttdeci">struct gpr_cmdline gpr_cmdline</div><div class="ttdoc">Simple command line parser. </div><div class="ttdef"><b>Definition:</b> cmdline.h:69</div></div>
+<div class="ttc" id="cmdline_8h_html_af9bfcaca695b8e0f84fa410f733dced5"><div class="ttname"><a href="cmdline_8h.html#af9bfcaca695b8e0f84fa410f733dced5">gpr_cmdline_usage_string</a></div><div class="ttdeci">GPRAPI char * gpr_cmdline_usage_string(gpr_cmdline *cl, const char *argv0)</div><div class="ttdoc">Get a string describing usage. </div></div>
+<div class="ttc" id="cmdline_8h_html_acc2f66f6bcdf05c8b761419bf2d40509"><div class="ttname"><a href="cmdline_8h.html#acc2f66f6bcdf05c8b761419bf2d40509">gpr_cmdline_parse</a></div><div class="ttdeci">GPRAPI int gpr_cmdline_parse(gpr_cmdline *cl, int argc, char **argv)</div><div class="ttdoc">Parse the command line; returns 1 on success, on failure either dies (by default) or returns 0 if gpr...</div></div>
+<div class="ttc" id="impl_2codegen_2port__platform_8h_html_af89d3610372fc35178e83e06916aa808"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a></div><div class="ttdeci">#define GPRAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:416</div></div>
+<div class="ttc" id="cmdline_8h_html_acfe85f2db2b17fc82e614618ce5a09a8"><div class="ttname"><a href="cmdline_8h.html#acfe85f2db2b17fc82e614618ce5a09a8">gpr_cmdline_destroy</a></div><div class="ttdeci">GPRAPI void gpr_cmdline_destroy(gpr_cmdline *cl)</div><div class="ttdoc">Destroy the parser. </div></div>
+<div class="ttc" id="cmdline_8h_html_a31fa94e5c43847c82e90bb40087f5aa9"><div class="ttname"><a href="cmdline_8h.html#a31fa94e5c43847c82e90bb40087f5aa9">gpr_cmdline_create</a></div><div class="ttdeci">GPRAPI gpr_cmdline * gpr_cmdline_create(const char *description)</div><div class="ttdoc">Construct a command line parser: takes a short description of the tool doing the parsing. </div></div>
+<div class="ttc" id="cmdline_8h_html_a87c433155b5df21be39818d658cfe93f"><div class="ttname"><a href="cmdline_8h.html#a87c433155b5df21be39818d658cfe93f">gpr_cmdline_add_int</a></div><div class="ttdeci">GPRAPI void gpr_cmdline_add_int(gpr_cmdline *cl, const char *name, const char *help, int *value)</div><div class="ttdoc">Add an integer parameter, with a name (used on the command line) and some helpful text (used in the c...</div></div>
+<div class="ttc" id="cmdline_8h_html_ac3b6905c4e9c88abd4936c593b0f5b12"><div class="ttname"><a href="cmdline_8h.html#ac3b6905c4e9c88abd4936c593b0f5b12">gpr_cmdline_on_extra_arg</a></div><div class="ttdeci">GPRAPI void gpr_cmdline_on_extra_arg(gpr_cmdline *cl, const char *name, const char *help, void(*on_extra_arg)(void *user_data, const char *arg), void *user_data)</div><div class="ttdoc">Set a callback for non-named arguments. </div></div>
+<div class="ttc" id="cmdline_8h_html_aea1a46a5feb84307dc9e3796ca13c481"><div class="ttname"><a href="cmdline_8h.html#aea1a46a5feb84307dc9e3796ca13c481">gpr_cmdline_add_flag</a></div><div class="ttdeci">GPRAPI void gpr_cmdline_add_flag(gpr_cmdline *cl, const char *name, const char *help, int *value)</div><div class="ttdoc">The same, for a boolean flag. </div></div>
+<div class="ttc" id="cmdline_8h_html_a191878e568149fffade0786592d13c37"><div class="ttname"><a href="cmdline_8h.html#a191878e568149fffade0786592d13c37">gpr_cmdline_set_survive_failure</a></div><div class="ttdeci">GPRAPI void gpr_cmdline_set_survive_failure(gpr_cmdline *cl)</div><div class="ttdoc">Enable surviving failure: default behavior is to exit the process. </div></div>
+<div class="ttc" id="cmdline_8h_html_ad361141d2df046516b472df11e2712fb"><div class="ttname"><a href="cmdline_8h.html#ad361141d2df046516b472df11e2712fb">gpr_cmdline_add_string</a></div><div class="ttdeci">GPRAPI void gpr_cmdline_add_string(gpr_cmdline *cl, const char *name, const char *help, char **value)</div><div class="ttdoc">And for a string. </div></div>
 <div class="ttc" id="support_2port__platform_8h_html"><div class="ttname"><a href="support_2port__platform_8h.html">port_platform.h</a></div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 2 - 2
core/combiner-explainer_8md.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 2 - 2
core/command__line__tool_8md.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 3 - 3
core/compression_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -313,7 +313,7 @@ Functions</h2></td></tr>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 8 - 8
core/compression_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -163,15 +163,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="preprocessor"></span></div>
 <div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_COMPRESSION_H */</span><span class="preprocessor"></span></div>
 <div class="ttc" id="compression_8h_html_a2eccdbe5a4d811a7c965d6d67e5cc7d8"><div class="ttname"><a href="compression_8h.html#a2eccdbe5a4d811a7c965d6d67e5cc7d8">grpc_compression_options_init</a></div><div class="ttdeci">GRPCAPI void grpc_compression_options_init(grpc_compression_options *opts)</div></div>
-<div class="ttc" id="structgrpc__compression__options_html"><div class="ttname"><a href="structgrpc__compression__options.html">grpc_compression_options</a></div><div class="ttdef"><b>Definition:</b> compression_types.h:92</div></div>
+<div class="ttc" id="structgrpc__compression__options_html"><div class="ttname"><a href="structgrpc__compression__options.html">grpc_compression_options</a></div><div class="ttdef"><b>Definition:</b> compression_types.h:91</div></div>
 <div class="ttc" id="compression_8h_html_adc2d1d89d880f67aacc4ce84cd72f8f3"><div class="ttname"><a href="compression_8h.html#adc2d1d89d880f67aacc4ce84cd72f8f3">grpc_compression_algorithm_for_level</a></div><div class="ttdeci">GRPCAPI grpc_compression_algorithm grpc_compression_algorithm_for_level(grpc_compression_level level, uint32_t accepted_encodings)</div><div class="ttdoc">Returns the compression algorithm corresponding to level for the compression algorithms encoded in th...</div></div>
 <div class="ttc" id="compression_8h_html_a79e61d1ac1d226b3b54b73837f28f0ff"><div class="ttname"><a href="compression_8h.html#a79e61d1ac1d226b3b54b73837f28f0ff">grpc_compression_options_enable_algorithm</a></div><div class="ttdeci">GRPCAPI void grpc_compression_options_enable_algorithm(grpc_compression_options *opts, grpc_compression_algorithm algorithm)</div><div class="ttdoc">Mark algorithm as enabled in opts. </div></div>
-<div class="ttc" id="structgrpc__slice_html"><div class="ttname"><a href="structgrpc__slice.html">grpc_slice</a></div><div class="ttdef"><b>Definition:</b> slice.h:90</div></div>
-<div class="ttc" id="compression__types_8h_html_a14a79ed6b5ebd7e1dda7c2684f499cc7"><div class="ttname"><a href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7">grpc_compression_level</a></div><div class="ttdeci">grpc_compression_level</div><div class="ttdoc">Compression levels allow a party with knowledge of its peer&#39;s accepted encodings to request compressi...</div><div class="ttdef"><b>Definition:</b> compression_types.h:84</div></div>
+<div class="ttc" id="structgrpc__slice_html"><div class="ttname"><a href="structgrpc__slice.html">grpc_slice</a></div><div class="ttdoc">A grpc_slice s, if initialized, represents the byte range s.bytes[0..s.length-1]. ...</div><div class="ttdef"><b>Definition:</b> slice.h:91</div></div>
+<div class="ttc" id="compression__types_8h_html_a14a79ed6b5ebd7e1dda7c2684f499cc7"><div class="ttname"><a href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7">grpc_compression_level</a></div><div class="ttdeci">grpc_compression_level</div><div class="ttdoc">Compression levels allow a party with knowledge of its peer&#39;s accepted encodings to request compressi...</div><div class="ttdef"><b>Definition:</b> compression_types.h:83</div></div>
 <div class="ttc" id="compression_8h_html_a1b58d314775a3651ee2f5f2d3ab4f6d9"><div class="ttname"><a href="compression_8h.html#a1b58d314775a3651ee2f5f2d3ab4f6d9">grpc_compression_options_disable_algorithm</a></div><div class="ttdeci">GRPCAPI void grpc_compression_options_disable_algorithm(grpc_compression_options *opts, grpc_compression_algorithm algorithm)</div><div class="ttdoc">Mark algorithm as disabled in opts. </div></div>
-<div class="ttc" id="compression__types_8h_html_ab9de0f68bfb1ef8ed09bd00643db14c9"><div class="ttname"><a href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">grpc_compression_algorithm</a></div><div class="ttdeci">grpc_compression_algorithm</div><div class="ttdef"><b>Definition:</b> compression_types.h:72</div></div>
+<div class="ttc" id="compression__types_8h_html_ab9de0f68bfb1ef8ed09bd00643db14c9"><div class="ttname"><a href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">grpc_compression_algorithm</a></div><div class="ttdeci">grpc_compression_algorithm</div><div class="ttdoc">The various compression algorithms supported by gRPC. </div><div class="ttdef"><b>Definition:</b> compression_types.h:71</div></div>
 <div class="ttc" id="compression_8h_html_aba0dfe631311c3f49d1045694bc9b0df"><div class="ttname"><a href="compression_8h.html#aba0dfe631311c3f49d1045694bc9b0df">grpc_compression_options_is_algorithm_enabled</a></div><div class="ttdeci">GRPCAPI int grpc_compression_options_is_algorithm_enabled(const grpc_compression_options *opts, grpc_compression_algorithm algorithm)</div><div class="ttdoc">Returns true if algorithm is marked as enabled in opts. </div></div>
-<div class="ttc" id="impl_2codegen_2port__platform_8h_html_a2865c3b28ea7db75be4c725adb1edc7d"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a></div><div class="ttdeci">#define GRPCAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:414</div></div>
+<div class="ttc" id="impl_2codegen_2port__platform_8h_html_a2865c3b28ea7db75be4c725adb1edc7d"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a></div><div class="ttdeci">#define GRPCAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:420</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="compression_8h_html_a03ef1c76766826058d841d7f4e1213f0"><div class="ttname"><a href="compression_8h.html#a03ef1c76766826058d841d7f4e1213f0">grpc_compression_algorithm_name</a></div><div class="ttdeci">GRPCAPI int grpc_compression_algorithm_name(grpc_compression_algorithm algorithm, char **name)</div><div class="ttdoc">Updates name with the encoding name corresponding to a valid algorithm. </div></div>
 <div class="ttc" id="compression_8h_html_a5054ebec22cc256853a7ac2ed61fd654"><div class="ttname"><a href="compression_8h.html#a5054ebec22cc256853a7ac2ed61fd654">grpc_compression_algorithm_parse</a></div><div class="ttdeci">GRPCAPI int grpc_compression_algorithm_parse(grpc_slice value, grpc_compression_algorithm *algorithm)</div><div class="ttdoc">Parses the first name_length bytes of name as a grpc_compression_algorithm instance, updating algorithm. </div></div>
@@ -180,7 +180,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 2 - 2
core/compression_8md.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 2 - 2
core/compression__cookbook_8md.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 7 - 5
core/compression__types_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -95,8 +95,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="title">compression_types.h File Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="textblock"><code>#include &lt;stdbool.h&gt;</code><br/>
-<code>#include &lt;stdint.h&gt;</code><br/>
+<div class="textblock"><code>#include &lt;<a class="el" href="impl_2codegen_2port__platform_8h_source.html">grpc/impl/codegen/port_platform.h</a>&gt;</code><br/>
 </div>
 <p><a href="compression__types_8h_source.html">Go to the source code of this file.</a></p>
 <table class="memberdecls">
@@ -133,6 +132,7 @@ Enumerations</h2></td></tr>
 <a class="el" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a5a134ced82d8682b55b99b8e9386555e">GRPC_COMPRESS_GZIP</a>, 
 <a class="el" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a94d7fc0a8e4a05546d462d53c2b53b8d">GRPC_COMPRESS_ALGORITHMS_COUNT</a>
  }</td></tr>
+<tr class="memdesc:ab9de0f68bfb1ef8ed09bd00643db14c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">The various compression algorithms supported by gRPC.  <a href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">More...</a><br/></td></tr>
 <tr class="separator:ab9de0f68bfb1ef8ed09bd00643db14c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a14a79ed6b5ebd7e1dda7c2684f499cc7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7">grpc_compression_level</a> { <br/>
 &#160;&#160;<a class="el" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7ab67efe04f58b0939b963e51a5b8f772c">GRPC_COMPRESS_LEVEL_NONE</a> = 0, 
@@ -184,6 +184,8 @@ Enumerations</h2></td></tr>
         </tr>
       </table>
 </div><div class="memdoc">
+
+<p>The various compression algorithms supported by gRPC. </p>
 <table class="fieldtable">
 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ab9de0f68bfb1ef8ed09bd00643db14c9a3135cac7e854adb16358c53e97df9cd8"></a>GRPC_COMPRESS_NONE</em>&#160;</td><td class="fielddoc">
 </td></tr>
@@ -227,7 +229,7 @@ Enumerations</h2></td></tr>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 73 - 74
core/compression__types_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -126,84 +126,83 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#ifndef GRPC_IMPL_CODEGEN_COMPRESSION_TYPES_H</span></div>
 <div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_IMPL_CODEGEN_COMPRESSION_TYPES_H</span></div>
 <div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;stdbool.h&gt;</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="compression__types_8h.html#a862adef9b36180377a6db217dd5f52fe">   46</a></span>&#160;<span class="preprocessor">#define GRPC_COMPRESSION_REQUEST_ALGORITHM_MD_KEY \</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">  &quot;grpc-internal-encoding-request&quot;</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga33cd5668b4ebacb59b657f4674cc1cf5">   55</a></span>&#160;<span class="preprocessor">#define GRPC_COMPRESSION_CHANNEL_DEFAULT_ALGORITHM \</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">  &quot;grpc.default_compression_algorithm&quot;</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga4ced90d07cc1e9a2c3f8a3d6b9171db3">   59</a></span>&#160;<span class="preprocessor">#define GRPC_COMPRESSION_CHANNEL_DEFAULT_LEVEL &quot;grpc.default_compression_level&quot;</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gaf8844eec49cd7281c77f4fb81deeffdc">   67</a></span>&#160;<span class="preprocessor">#define GRPC_COMPRESSION_CHANNEL_ENABLED_ALGORITHMS_BITSET \</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">  &quot;grpc.compression_enabled_algorithms_bitset&quot;</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">/* The various compression algorithms supported by gRPC */</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">   72</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
-<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a3135cac7e854adb16358c53e97df9cd8">   73</a></span>&#160;  <a class="code" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a3135cac7e854adb16358c53e97df9cd8">GRPC_COMPRESS_NONE</a> = 0,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a50de256d5abe80daff7e1372e29dd913">   74</a></span>&#160;  <a class="code" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a50de256d5abe80daff7e1372e29dd913">GRPC_COMPRESS_DEFLATE</a>,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a5a134ced82d8682b55b99b8e9386555e">   75</a></span>&#160;  <a class="code" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a5a134ced82d8682b55b99b8e9386555e">GRPC_COMPRESS_GZIP</a>,</div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <span class="comment">/* TODO(ctiller): snappy */</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a94d7fc0a8e4a05546d462d53c2b53b8d">   77</a></span>&#160;  <a class="code" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a94d7fc0a8e4a05546d462d53c2b53b8d">GRPC_COMPRESS_ALGORITHMS_COUNT</a></div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;} <a class="code" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">grpc_compression_algorithm</a>;</div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7">   84</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
-<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7ab67efe04f58b0939b963e51a5b8f772c">   85</a></span>&#160;  <a class="code" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7ab67efe04f58b0939b963e51a5b8f772c">GRPC_COMPRESS_LEVEL_NONE</a> = 0,</div>
-<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7afd436e21be4f897ca939b3b4d9a44673">   86</a></span>&#160;  <a class="code" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7afd436e21be4f897ca939b3b4d9a44673">GRPC_COMPRESS_LEVEL_LOW</a>,</div>
-<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a4319a32cdd0b59a7ecc977f8612214ce">   87</a></span>&#160;  <a class="code" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a4319a32cdd0b59a7ecc977f8612214ce">GRPC_COMPRESS_LEVEL_MED</a>,</div>
-<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a501a0cf15300a90c09a3d8b4f7f43d22">   88</a></span>&#160;  <a class="code" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a501a0cf15300a90c09a3d8b4f7f43d22">GRPC_COMPRESS_LEVEL_HIGH</a>,</div>
-<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a893b24fb0986e61ebda069c713b8bd43">   89</a></span>&#160;  <a class="code" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a893b24fb0986e61ebda069c713b8bd43">GRPC_COMPRESS_LEVEL_COUNT</a></div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;} <a class="code" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7">grpc_compression_level</a>;</div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="structgrpc__compression__options.html">   92</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__compression__options.html">grpc_compression_options</a> {</div>
-<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="structgrpc__compression__options.html#a2b584aa8b7ee684f145c75a5035ed800">   96</a></span>&#160;  uint32_t <a class="code" href="structgrpc__compression__options.html#a2b584aa8b7ee684f145c75a5035ed800">enabled_algorithms_bitset</a>;</div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="structgrpc__compression__options.html#a6549e90bb2bf4002f2b59c57841df278">  104</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="structgrpc__compression__options.html#a6549e90bb2bf4002f2b59c57841df278">is_set</a>;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structgrpc__compression__options.html#a2c8a5692fbb7b1778bb34edc8d8c5cdb">  105</a></span>&#160;    <a class="code" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7">grpc_compression_level</a> <a class="code" href="structgrpc__compression__options.html#a2c8a5692fbb7b1778bb34edc8d8c5cdb">level</a>;</div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;  } <a class="code" href="structgrpc__compression__options.html#add0fd52727cd2308e3a0deffed7b7830">default_level</a>;</div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="structgrpc__compression__options.html#a6549e90bb2bf4002f2b59c57841df278">is_set</a>;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structgrpc__compression__options.html#a030be28c632dea1b2fbfb4219fef8e10">  113</a></span>&#160;    <a class="code" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">grpc_compression_algorithm</a> <a class="code" href="structgrpc__compression__options.html#a030be28c632dea1b2fbfb4219fef8e10">algorithm</a>;</div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  } <a class="code" href="structgrpc__compression__options.html#a797d96b42c7c30496221e67db064aa84">default_algorithm</a>;</div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;} <a class="code" href="compression__types_8h.html#a074a1aa6fb56901a795fe53c2adeefde">grpc_compression_options</a>;</div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="preprocessor"></span>}</div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_IMPL_CODEGEN_COMPRESSION_TYPES_H */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="structgrpc__compression__options_html_a2b584aa8b7ee684f145c75a5035ed800"><div class="ttname"><a href="structgrpc__compression__options.html#a2b584aa8b7ee684f145c75a5035ed800">grpc_compression_options::enabled_algorithms_bitset</a></div><div class="ttdeci">uint32_t enabled_algorithms_bitset</div><div class="ttdoc">All algs are enabled by default. </div><div class="ttdef"><b>Definition:</b> compression_types.h:96</div></div>
-<div class="ttc" id="structgrpc__compression__options_html_a030be28c632dea1b2fbfb4219fef8e10"><div class="ttname"><a href="structgrpc__compression__options.html#a030be28c632dea1b2fbfb4219fef8e10">grpc_compression_options::algorithm</a></div><div class="ttdeci">grpc_compression_algorithm algorithm</div><div class="ttdef"><b>Definition:</b> compression_types.h:113</div></div>
-<div class="ttc" id="structgrpc__compression__options_html"><div class="ttname"><a href="structgrpc__compression__options.html">grpc_compression_options</a></div><div class="ttdef"><b>Definition:</b> compression_types.h:92</div></div>
-<div class="ttc" id="compression__types_8h_html_a14a79ed6b5ebd7e1dda7c2684f499cc7afd436e21be4f897ca939b3b4d9a44673"><div class="ttname"><a href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7afd436e21be4f897ca939b3b4d9a44673">GRPC_COMPRESS_LEVEL_LOW</a></div><div class="ttdef"><b>Definition:</b> compression_types.h:86</div></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="impl_2codegen_2port__platform_8h.html">grpc/impl/codegen/port_platform.h</a>&gt;</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="compression__types_8h.html#a862adef9b36180377a6db217dd5f52fe">   45</a></span>&#160;<span class="preprocessor">#define GRPC_COMPRESSION_REQUEST_ALGORITHM_MD_KEY \</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">  &quot;grpc-internal-encoding-request&quot;</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga33cd5668b4ebacb59b657f4674cc1cf5">   54</a></span>&#160;<span class="preprocessor">#define GRPC_COMPRESSION_CHANNEL_DEFAULT_ALGORITHM \</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">  &quot;grpc.default_compression_algorithm&quot;</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga4ced90d07cc1e9a2c3f8a3d6b9171db3">   58</a></span>&#160;<span class="preprocessor">#define GRPC_COMPRESSION_CHANNEL_DEFAULT_LEVEL &quot;grpc.default_compression_level&quot;</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gaf8844eec49cd7281c77f4fb81deeffdc">   66</a></span>&#160;<span class="preprocessor">#define GRPC_COMPRESSION_CHANNEL_ENABLED_ALGORITHMS_BITSET \</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">  &quot;grpc.compression_enabled_algorithms_bitset&quot;</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">   71</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
+<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a3135cac7e854adb16358c53e97df9cd8">   72</a></span>&#160;  <a class="code" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a3135cac7e854adb16358c53e97df9cd8">GRPC_COMPRESS_NONE</a> = 0,</div>
+<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a50de256d5abe80daff7e1372e29dd913">   73</a></span>&#160;  <a class="code" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a50de256d5abe80daff7e1372e29dd913">GRPC_COMPRESS_DEFLATE</a>,</div>
+<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a5a134ced82d8682b55b99b8e9386555e">   74</a></span>&#160;  <a class="code" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a5a134ced82d8682b55b99b8e9386555e">GRPC_COMPRESS_GZIP</a>,</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  <span class="comment">/* TODO(ctiller): snappy */</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a94d7fc0a8e4a05546d462d53c2b53b8d">   76</a></span>&#160;  <a class="code" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a94d7fc0a8e4a05546d462d53c2b53b8d">GRPC_COMPRESS_ALGORITHMS_COUNT</a></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;} <a class="code" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">grpc_compression_algorithm</a>;</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
+<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7">   83</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
+<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7ab67efe04f58b0939b963e51a5b8f772c">   84</a></span>&#160;  <a class="code" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7ab67efe04f58b0939b963e51a5b8f772c">GRPC_COMPRESS_LEVEL_NONE</a> = 0,</div>
+<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7afd436e21be4f897ca939b3b4d9a44673">   85</a></span>&#160;  <a class="code" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7afd436e21be4f897ca939b3b4d9a44673">GRPC_COMPRESS_LEVEL_LOW</a>,</div>
+<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a4319a32cdd0b59a7ecc977f8612214ce">   86</a></span>&#160;  <a class="code" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a4319a32cdd0b59a7ecc977f8612214ce">GRPC_COMPRESS_LEVEL_MED</a>,</div>
+<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a501a0cf15300a90c09a3d8b4f7f43d22">   87</a></span>&#160;  <a class="code" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a501a0cf15300a90c09a3d8b4f7f43d22">GRPC_COMPRESS_LEVEL_HIGH</a>,</div>
+<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a893b24fb0986e61ebda069c713b8bd43">   88</a></span>&#160;  <a class="code" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a893b24fb0986e61ebda069c713b8bd43">GRPC_COMPRESS_LEVEL_COUNT</a></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;} <a class="code" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7">grpc_compression_level</a>;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div>
+<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="structgrpc__compression__options.html">   91</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__compression__options.html">grpc_compression_options</a> {</div>
+<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="structgrpc__compression__options.html#a2b584aa8b7ee684f145c75a5035ed800">   95</a></span>&#160;  uint32_t <a class="code" href="structgrpc__compression__options.html#a2b584aa8b7ee684f145c75a5035ed800">enabled_algorithms_bitset</a>;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="structgrpc__compression__options.html#ab7db56f98efd9efecc135ca8a6c99765">  103</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structgrpc__compression__options.html#ab7db56f98efd9efecc135ca8a6c99765">is_set</a>;</div>
+<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="structgrpc__compression__options.html#a2c8a5692fbb7b1778bb34edc8d8c5cdb">  104</a></span>&#160;    <a class="code" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7">grpc_compression_level</a> <a class="code" href="structgrpc__compression__options.html#a2c8a5692fbb7b1778bb34edc8d8c5cdb">level</a>;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  } <a class="code" href="structgrpc__compression__options.html#add0fd52727cd2308e3a0deffed7b7830">default_level</a>;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;  <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structgrpc__compression__options.html#ab7db56f98efd9efecc135ca8a6c99765">is_set</a>;</div>
+<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="structgrpc__compression__options.html#a030be28c632dea1b2fbfb4219fef8e10">  112</a></span>&#160;    <a class="code" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">grpc_compression_algorithm</a> <a class="code" href="structgrpc__compression__options.html#a030be28c632dea1b2fbfb4219fef8e10">algorithm</a>;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  } <a class="code" href="structgrpc__compression__options.html#a797d96b42c7c30496221e67db064aa84">default_algorithm</a>;</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;} <a class="code" href="compression__types_8h.html#a074a1aa6fb56901a795fe53c2adeefde">grpc_compression_options</a>;</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="preprocessor"></span>}</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_IMPL_CODEGEN_COMPRESSION_TYPES_H */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="structgrpc__compression__options_html_a2b584aa8b7ee684f145c75a5035ed800"><div class="ttname"><a href="structgrpc__compression__options.html#a2b584aa8b7ee684f145c75a5035ed800">grpc_compression_options::enabled_algorithms_bitset</a></div><div class="ttdeci">uint32_t enabled_algorithms_bitset</div><div class="ttdoc">All algs are enabled by default. </div><div class="ttdef"><b>Definition:</b> compression_types.h:95</div></div>
+<div class="ttc" id="structgrpc__compression__options_html_a030be28c632dea1b2fbfb4219fef8e10"><div class="ttname"><a href="structgrpc__compression__options.html#a030be28c632dea1b2fbfb4219fef8e10">grpc_compression_options::algorithm</a></div><div class="ttdeci">grpc_compression_algorithm algorithm</div><div class="ttdef"><b>Definition:</b> compression_types.h:112</div></div>
+<div class="ttc" id="structgrpc__compression__options_html"><div class="ttname"><a href="structgrpc__compression__options.html">grpc_compression_options</a></div><div class="ttdef"><b>Definition:</b> compression_types.h:91</div></div>
+<div class="ttc" id="compression__types_8h_html_a14a79ed6b5ebd7e1dda7c2684f499cc7afd436e21be4f897ca939b3b4d9a44673"><div class="ttname"><a href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7afd436e21be4f897ca939b3b4d9a44673">GRPC_COMPRESS_LEVEL_LOW</a></div><div class="ttdef"><b>Definition:</b> compression_types.h:85</div></div>
 <div class="ttc" id="compression__types_8h_html_a074a1aa6fb56901a795fe53c2adeefde"><div class="ttname"><a href="compression__types_8h.html#a074a1aa6fb56901a795fe53c2adeefde">grpc_compression_options</a></div><div class="ttdeci">struct grpc_compression_options grpc_compression_options</div></div>
-<div class="ttc" id="compression__types_8h_html_ab9de0f68bfb1ef8ed09bd00643db14c9a5a134ced82d8682b55b99b8e9386555e"><div class="ttname"><a href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a5a134ced82d8682b55b99b8e9386555e">GRPC_COMPRESS_GZIP</a></div><div class="ttdef"><b>Definition:</b> compression_types.h:75</div></div>
-<div class="ttc" id="compression__types_8h_html_a14a79ed6b5ebd7e1dda7c2684f499cc7"><div class="ttname"><a href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7">grpc_compression_level</a></div><div class="ttdeci">grpc_compression_level</div><div class="ttdoc">Compression levels allow a party with knowledge of its peer&#39;s accepted encodings to request compressi...</div><div class="ttdef"><b>Definition:</b> compression_types.h:84</div></div>
-<div class="ttc" id="compression__types_8h_html_ab9de0f68bfb1ef8ed09bd00643db14c9a94d7fc0a8e4a05546d462d53c2b53b8d"><div class="ttname"><a href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a94d7fc0a8e4a05546d462d53c2b53b8d">GRPC_COMPRESS_ALGORITHMS_COUNT</a></div><div class="ttdef"><b>Definition:</b> compression_types.h:77</div></div>
+<div class="ttc" id="compression__types_8h_html_ab9de0f68bfb1ef8ed09bd00643db14c9a5a134ced82d8682b55b99b8e9386555e"><div class="ttname"><a href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a5a134ced82d8682b55b99b8e9386555e">GRPC_COMPRESS_GZIP</a></div><div class="ttdef"><b>Definition:</b> compression_types.h:74</div></div>
+<div class="ttc" id="compression__types_8h_html_a14a79ed6b5ebd7e1dda7c2684f499cc7"><div class="ttname"><a href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7">grpc_compression_level</a></div><div class="ttdeci">grpc_compression_level</div><div class="ttdoc">Compression levels allow a party with knowledge of its peer&#39;s accepted encodings to request compressi...</div><div class="ttdef"><b>Definition:</b> compression_types.h:83</div></div>
+<div class="ttc" id="structgrpc__compression__options_html_ab7db56f98efd9efecc135ca8a6c99765"><div class="ttname"><a href="structgrpc__compression__options.html#ab7db56f98efd9efecc135ca8a6c99765">grpc_compression_options::is_set</a></div><div class="ttdeci">int is_set</div><div class="ttdef"><b>Definition:</b> compression_types.h:103</div></div>
+<div class="ttc" id="compression__types_8h_html_ab9de0f68bfb1ef8ed09bd00643db14c9a94d7fc0a8e4a05546d462d53c2b53b8d"><div class="ttname"><a href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a94d7fc0a8e4a05546d462d53c2b53b8d">GRPC_COMPRESS_ALGORITHMS_COUNT</a></div><div class="ttdef"><b>Definition:</b> compression_types.h:76</div></div>
 <div class="ttc" id="structgrpc__compression__options_html_add0fd52727cd2308e3a0deffed7b7830"><div class="ttname"><a href="structgrpc__compression__options.html#add0fd52727cd2308e3a0deffed7b7830">grpc_compression_options::default_level</a></div><div class="ttdeci">struct grpc_compression_options::@1 default_level</div><div class="ttdoc">The default channel compression level. </div></div>
-<div class="ttc" id="compression__types_8h_html_ab9de0f68bfb1ef8ed09bd00643db14c9a3135cac7e854adb16358c53e97df9cd8"><div class="ttname"><a href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a3135cac7e854adb16358c53e97df9cd8">GRPC_COMPRESS_NONE</a></div><div class="ttdef"><b>Definition:</b> compression_types.h:73</div></div>
-<div class="ttc" id="compression__types_8h_html_ab9de0f68bfb1ef8ed09bd00643db14c9"><div class="ttname"><a href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">grpc_compression_algorithm</a></div><div class="ttdeci">grpc_compression_algorithm</div><div class="ttdef"><b>Definition:</b> compression_types.h:72</div></div>
-<div class="ttc" id="compression__types_8h_html_ab9de0f68bfb1ef8ed09bd00643db14c9a50de256d5abe80daff7e1372e29dd913"><div class="ttname"><a href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a50de256d5abe80daff7e1372e29dd913">GRPC_COMPRESS_DEFLATE</a></div><div class="ttdef"><b>Definition:</b> compression_types.h:74</div></div>
-<div class="ttc" id="compression__types_8h_html_a14a79ed6b5ebd7e1dda7c2684f499cc7a893b24fb0986e61ebda069c713b8bd43"><div class="ttname"><a href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a893b24fb0986e61ebda069c713b8bd43">GRPC_COMPRESS_LEVEL_COUNT</a></div><div class="ttdef"><b>Definition:</b> compression_types.h:89</div></div>
-<div class="ttc" id="compression__types_8h_html_a14a79ed6b5ebd7e1dda7c2684f499cc7ab67efe04f58b0939b963e51a5b8f772c"><div class="ttname"><a href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7ab67efe04f58b0939b963e51a5b8f772c">GRPC_COMPRESS_LEVEL_NONE</a></div><div class="ttdef"><b>Definition:</b> compression_types.h:85</div></div>
-<div class="ttc" id="compression__types_8h_html_a14a79ed6b5ebd7e1dda7c2684f499cc7a501a0cf15300a90c09a3d8b4f7f43d22"><div class="ttname"><a href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a501a0cf15300a90c09a3d8b4f7f43d22">GRPC_COMPRESS_LEVEL_HIGH</a></div><div class="ttdef"><b>Definition:</b> compression_types.h:88</div></div>
-<div class="ttc" id="compression__types_8h_html_a14a79ed6b5ebd7e1dda7c2684f499cc7a4319a32cdd0b59a7ecc977f8612214ce"><div class="ttname"><a href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a4319a32cdd0b59a7ecc977f8612214ce">GRPC_COMPRESS_LEVEL_MED</a></div><div class="ttdef"><b>Definition:</b> compression_types.h:87</div></div>
+<div class="ttc" id="compression__types_8h_html_ab9de0f68bfb1ef8ed09bd00643db14c9a3135cac7e854adb16358c53e97df9cd8"><div class="ttname"><a href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a3135cac7e854adb16358c53e97df9cd8">GRPC_COMPRESS_NONE</a></div><div class="ttdef"><b>Definition:</b> compression_types.h:72</div></div>
+<div class="ttc" id="compression__types_8h_html_ab9de0f68bfb1ef8ed09bd00643db14c9"><div class="ttname"><a href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">grpc_compression_algorithm</a></div><div class="ttdeci">grpc_compression_algorithm</div><div class="ttdoc">The various compression algorithms supported by gRPC. </div><div class="ttdef"><b>Definition:</b> compression_types.h:71</div></div>
+<div class="ttc" id="compression__types_8h_html_ab9de0f68bfb1ef8ed09bd00643db14c9a50de256d5abe80daff7e1372e29dd913"><div class="ttname"><a href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a50de256d5abe80daff7e1372e29dd913">GRPC_COMPRESS_DEFLATE</a></div><div class="ttdef"><b>Definition:</b> compression_types.h:73</div></div>
+<div class="ttc" id="compression__types_8h_html_a14a79ed6b5ebd7e1dda7c2684f499cc7a893b24fb0986e61ebda069c713b8bd43"><div class="ttname"><a href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a893b24fb0986e61ebda069c713b8bd43">GRPC_COMPRESS_LEVEL_COUNT</a></div><div class="ttdef"><b>Definition:</b> compression_types.h:88</div></div>
+<div class="ttc" id="compression__types_8h_html_a14a79ed6b5ebd7e1dda7c2684f499cc7ab67efe04f58b0939b963e51a5b8f772c"><div class="ttname"><a href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7ab67efe04f58b0939b963e51a5b8f772c">GRPC_COMPRESS_LEVEL_NONE</a></div><div class="ttdef"><b>Definition:</b> compression_types.h:84</div></div>
+<div class="ttc" id="compression__types_8h_html_a14a79ed6b5ebd7e1dda7c2684f499cc7a501a0cf15300a90c09a3d8b4f7f43d22"><div class="ttname"><a href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a501a0cf15300a90c09a3d8b4f7f43d22">GRPC_COMPRESS_LEVEL_HIGH</a></div><div class="ttdef"><b>Definition:</b> compression_types.h:87</div></div>
+<div class="ttc" id="compression__types_8h_html_a14a79ed6b5ebd7e1dda7c2684f499cc7a4319a32cdd0b59a7ecc977f8612214ce"><div class="ttname"><a href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a4319a32cdd0b59a7ecc977f8612214ce">GRPC_COMPRESS_LEVEL_MED</a></div><div class="ttdef"><b>Definition:</b> compression_types.h:86</div></div>
+<div class="ttc" id="impl_2codegen_2port__platform_8h_html"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html">port_platform.h</a></div></div>
 <div class="ttc" id="structgrpc__compression__options_html_a797d96b42c7c30496221e67db064aa84"><div class="ttname"><a href="structgrpc__compression__options.html#a797d96b42c7c30496221e67db064aa84">grpc_compression_options::default_algorithm</a></div><div class="ttdeci">struct grpc_compression_options::@2 default_algorithm</div><div class="ttdoc">The default channel compression algorithm. </div></div>
-<div class="ttc" id="structgrpc__compression__options_html_a6549e90bb2bf4002f2b59c57841df278"><div class="ttname"><a href="structgrpc__compression__options.html#a6549e90bb2bf4002f2b59c57841df278">grpc_compression_options::is_set</a></div><div class="ttdeci">bool is_set</div><div class="ttdef"><b>Definition:</b> compression_types.h:104</div></div>
-<div class="ttc" id="structgrpc__compression__options_html_a2c8a5692fbb7b1778bb34edc8d8c5cdb"><div class="ttname"><a href="structgrpc__compression__options.html#a2c8a5692fbb7b1778bb34edc8d8c5cdb">grpc_compression_options::level</a></div><div class="ttdeci">grpc_compression_level level</div><div class="ttdef"><b>Definition:</b> compression_types.h:105</div></div>
+<div class="ttc" id="structgrpc__compression__options_html_a2c8a5692fbb7b1778bb34edc8d8c5cdb"><div class="ttname"><a href="structgrpc__compression__options.html#a2c8a5692fbb7b1778bb34edc8d8c5cdb">grpc_compression_options::level</a></div><div class="ttdeci">grpc_compression_level level</div><div class="ttdef"><b>Definition:</b> compression_types.h:104</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 2 - 2
core/connection-backoff-interop-test-description_8md.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 2 - 2
core/connection-backoff_8md.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 2 - 2
core/connectivity-semantics-and-api_8md.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 3 - 3
core/connectivity__state_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -148,7 +148,7 @@ Enumerations</h2></td></tr>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 3 - 3
core/connectivity__state_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -154,7 +154,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 2 - 2
core/cpp-style-guide_8md.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 11 - 3
core/cpu_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_692cef9a660803f4b5efbe2b781d2071.html">support</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_8e03e8f0d52209e008fae5f40ace0591.html">support</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -99,8 +99,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:ad02216a0383f381a320c8d183a69bf29"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cpu_8h.html#ad02216a0383f381a320c8d183a69bf29">gpr_cpu_num_cores</a> (void)</td></tr>
+<tr class="memdesc:ad02216a0383f381a320c8d183a69bf29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface providing CPU information for currently running system.  <a href="#ad02216a0383f381a320c8d183a69bf29">More...</a><br/></td></tr>
 <tr class="separator:ad02216a0383f381a320c8d183a69bf29"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a751e8c9f891e8b36fb7f22cc39c92c15"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cpu_8h.html#a751e8c9f891e8b36fb7f22cc39c92c15">gpr_cpu_current_cpu</a> (void)</td></tr>
+<tr class="memdesc:a751e8c9f891e8b36fb7f22cc39c92c15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the CPU on which the current thread is executing; N.B.  <a href="#a751e8c9f891e8b36fb7f22cc39c92c15">More...</a><br/></td></tr>
 <tr class="separator:a751e8c9f891e8b36fb7f22cc39c92c15"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <h2 class="groupheader">Function Documentation</h2>
@@ -118,6 +120,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Return the CPU on which the current thread is executing; N.B. </p>
+<p>This should be considered advisory only - it is possible that the thread is switched to a different CPU at any time. Returns a value in range [0, <a class="el" href="cpu_8h.html#ad02216a0383f381a320c8d183a69bf29" title="Interface providing CPU information for currently running system. ">gpr_cpu_num_cores()</a> - 1] </p>
+
 </div>
 </div>
 <a class="anchor" id="ad02216a0383f381a320c8d183a69bf29"></a>
@@ -134,12 +139,15 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Interface providing CPU information for currently running system. </p>
+<p>Return the number of CPU cores on the current system. Will return 0 if the information is not available. </p>
+
 </div>
 </div>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 6 - 14
core/cpu_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_692cef9a660803f4b5efbe2b781d2071.html">support</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_8e03e8f0d52209e008fae5f40ace0591.html">support</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -132,16 +132,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
 <div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#endif</span></div>
 <div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">/* Interface providing CPU information for currently running system */</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Return the number of CPU cores on the current system. Will return 0 if</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">   the information is not available. */</span></div>
 <div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <span class="keywordtype">unsigned</span> <a class="code" href="cpu_8h.html#ad02216a0383f381a320c8d183a69bf29">gpr_cpu_num_cores</a>(<span class="keywordtype">void</span>);</div>
 <div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">/* Return the CPU on which the current thread is executing; N.B. This should</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">   be considered advisory only - it is possible that the thread is switched</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">   to a different CPU at any time. Returns a value in range</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">   [0, gpr_cpu_num_cores() - 1] */</span></div>
 <div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <span class="keywordtype">unsigned</span> <a class="code" href="cpu_8h.html#a751e8c9f891e8b36fb7f22cc39c92c15">gpr_cpu_current_cpu</a>(<span class="keywordtype">void</span>);</div>
 <div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div>
 <div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
@@ -149,14 +141,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#endif</span></div>
 <div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor"></span></div>
 <div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_SUPPORT_CPU_H */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="cpu_8h_html_ad02216a0383f381a320c8d183a69bf29"><div class="ttname"><a href="cpu_8h.html#ad02216a0383f381a320c8d183a69bf29">gpr_cpu_num_cores</a></div><div class="ttdeci">GPRAPI unsigned gpr_cpu_num_cores(void)</div></div>
-<div class="ttc" id="impl_2codegen_2port__platform_8h_html_af89d3610372fc35178e83e06916aa808"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a></div><div class="ttdeci">#define GPRAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:410</div></div>
-<div class="ttc" id="cpu_8h_html_a751e8c9f891e8b36fb7f22cc39c92c15"><div class="ttname"><a href="cpu_8h.html#a751e8c9f891e8b36fb7f22cc39c92c15">gpr_cpu_current_cpu</a></div><div class="ttdeci">GPRAPI unsigned gpr_cpu_current_cpu(void)</div></div>
+<div class="ttc" id="cpu_8h_html_ad02216a0383f381a320c8d183a69bf29"><div class="ttname"><a href="cpu_8h.html#ad02216a0383f381a320c8d183a69bf29">gpr_cpu_num_cores</a></div><div class="ttdeci">GPRAPI unsigned gpr_cpu_num_cores(void)</div><div class="ttdoc">Interface providing CPU information for currently running system. </div></div>
+<div class="ttc" id="impl_2codegen_2port__platform_8h_html_af89d3610372fc35178e83e06916aa808"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a></div><div class="ttdeci">#define GPRAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:416</div></div>
+<div class="ttc" id="cpu_8h_html_a751e8c9f891e8b36fb7f22cc39c92c15"><div class="ttname"><a href="cpu_8h.html#a751e8c9f891e8b36fb7f22cc39c92c15">gpr_cpu_current_cpu</a></div><div class="ttdeci">GPRAPI unsigned gpr_cpu_current_cpu(void)</div><div class="ttdoc">Return the CPU on which the current thread is executing; N.B. </div></div>
 <div class="ttc" id="support_2port__platform_8h_html"><div class="ttname"><a href="support_2port__platform_8h.html">port_platform.h</a></div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 3 - 3
core/deprecated.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,12 +82,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="contents">
 <div class="textblock"><dl class="reflist">
 <dt><a class="anchor" id="_deprecated000001"></a>Global <a class="el" href="group__grpc__arg__keys.html#ga50f37feb7c000a23b3b0edf4c31d4367">GRPC_ARG_MAX_MESSAGE_LENGTH</a>  </dt>
-<dd>For backward compatibility. </dd>
+<dd>For backward compatibility.</dd>
 </dl>
 </div></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:58 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 4 - 4
core/dir_27c65f9b8b3387c47015966ca861342b.html → core/dir_1ccb85353bf7ad9eb207254c908f6dd2.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -76,7 +76,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -87,13 +87,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
 Directories</h2></td></tr>
-<tr class="memitem:dir_2d2a7752fa77ea824010e525334e7867"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></td></tr>
+<tr class="memitem:dir_d4a1038da1ca7a38aa498ecf659a57c8"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:58 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 4 - 4
core/dir_bda73758a0a4d8c0ff603a7983866e1c.html → core/dir_629b4cc7516e55c4afb0cb8a61439852.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -76,7 +76,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -87,13 +87,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
 Directories</h2></td></tr>
-<tr class="memitem:dir_8ae8e534eeef321a81935092729b7078"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></td></tr>
+<tr class="memitem:dir_d06caa71145e9b2cbe67b49b6fe69d28"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:58 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 5 - 3
core/dir_692cef9a660803f4b5efbe2b781d2071.html → core/dir_8e03e8f0d52209e008fae5f40ace0591.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -76,7 +76,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_692cef9a660803f4b5efbe2b781d2071.html">support</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_8e03e8f0d52209e008fae5f40ace0591.html">support</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -139,11 +139,13 @@ Files</h2></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:useful_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="useful_8h.html">useful.h</a> <a href="useful_8h_source.html">[code]</a></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:workaround__list_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="workaround__list_8h.html">workaround_list.h</a> <a href="workaround__list_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:58 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 5 - 5
core/dir_8ae8e534eeef321a81935092729b7078.html → core/dir_d06caa71145e9b2cbe67b49b6fe69d28.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -76,7 +76,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -87,9 +87,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
 Directories</h2></td></tr>
-<tr class="memitem:dir_27c65f9b8b3387c47015966ca861342b"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></td></tr>
+<tr class="memitem:dir_1ccb85353bf7ad9eb207254c908f6dd2"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:dir_692cef9a660803f4b5efbe2b781d2071"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_692cef9a660803f4b5efbe2b781d2071.html">support</a></td></tr>
+<tr class="memitem:dir_8e03e8f0d52209e008fae5f40ace0591"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_8e03e8f0d52209e008fae5f40ace0591.html">support</a></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
@@ -122,7 +122,7 @@ Files</h2></td></tr>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:58 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 3 - 3
core/dir_2d2a7752fa77ea824010e525334e7867.html → core/dir_d4a1038da1ca7a38aa498ecf659a57c8.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -76,7 +76,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -129,7 +129,7 @@ Files</h2></td></tr>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:58 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 2 - 2
core/environment__variables_8md.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 2 - 2
core/epoll-polling-engine_8md.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 3 - 3
core/exec__ctx__fwd_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -116,7 +116,7 @@ Typedefs</h2></td></tr>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 3 - 3
core/exec__ctx__fwd_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -135,7 +135,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 2 - 2
core/fail__fast_8md.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 21 - 20
core/files.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -88,10 +88,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="contents">
 <div class="textblock">Here is a list of all files with brief descriptions:</div><div class="directory">
 <div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span><span onclick="javascript:toggleLevel(5);">5</span>]</div><table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><img id="arr_0_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('0_')"/><img id="img_0_" src="ftv2folderopen.png" alt="-" width="24" height="22" onclick="toggleFolder('0_')"/><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html" target="_self">include</a></td><td class="desc"></td></tr>
-<tr id="row_0_0_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_0_0_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('0_0_')"/><img id="img_0_0_" src="ftv2folderopen.png" alt="-" width="24" height="22" onclick="toggleFolder('0_0_')"/><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html" target="_self">grpc</a></td><td class="desc"></td></tr>
-<tr id="row_0_0_0_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_0_0_0_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_0_0_')"/><img id="img_0_0_0_" src="ftv2folderopen.png" alt="-" width="24" height="22" onclick="toggleFolder('0_0_0_')"/><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html" target="_self">impl</a></td><td class="desc"></td></tr>
-<tr id="row_0_0_0_0_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_0_0_0_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('0_0_0_0_')"/><img id="img_0_0_0_0_" src="ftv2folderopen.png" alt="-" width="24" height="22" onclick="toggleFolder('0_0_0_0_')"/><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html" target="_self">codegen</a></td><td class="desc"></td></tr>
+<tr id="row_0_" class="even"><td class="entry"><img id="arr_0_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('0_')"/><img id="img_0_" src="ftv2folderopen.png" alt="-" width="24" height="22" onclick="toggleFolder('0_')"/><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html" target="_self">include</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_0_0_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('0_0_')"/><img id="img_0_0_" src="ftv2folderopen.png" alt="-" width="24" height="22" onclick="toggleFolder('0_0_')"/><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html" target="_self">grpc</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_0_0_0_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_0_0_')"/><img id="img_0_0_0_" src="ftv2folderopen.png" alt="-" width="24" height="22" onclick="toggleFolder('0_0_0_')"/><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html" target="_self">impl</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_0_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_0_0_0_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('0_0_0_0_')"/><img id="img_0_0_0_0_" src="ftv2folderopen.png" alt="-" width="24" height="22" onclick="toggleFolder('0_0_0_0_')"/><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html" target="_self">codegen</a></td><td class="desc"></td></tr>
 <tr id="row_0_0_0_0_0_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="impl_2codegen_2atm_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="impl_2codegen_2atm_8h.html" target="_self">atm.h</a></td><td class="desc"></td></tr>
 <tr id="row_0_0_0_0_1_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="impl_2codegen_2atm__gcc__atomic_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="impl_2codegen_2atm__gcc__atomic_8h.html" target="_self">atm_gcc_atomic.h</a></td><td class="desc"></td></tr>
 <tr id="row_0_0_0_0_2_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="impl_2codegen_2atm__gcc__sync_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="impl_2codegen_2atm__gcc__sync_8h.html" target="_self">atm_gcc_sync.h</a></td><td class="desc"></td></tr>
@@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <tr id="row_0_0_0_0_16_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="impl_2codegen_2sync__generic_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="impl_2codegen_2sync__generic_8h.html" target="_self">sync_generic.h</a></td><td class="desc"></td></tr>
 <tr id="row_0_0_0_0_17_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="impl_2codegen_2sync__posix_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="impl_2codegen_2sync__posix_8h.html" target="_self">sync_posix.h</a></td><td class="desc"></td></tr>
 <tr id="row_0_0_0_0_18_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a href="impl_2codegen_2sync__windows_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="impl_2codegen_2sync__windows_8h.html" target="_self">sync_windows.h</a></td><td class="desc"></td></tr>
-<tr id="row_0_0_1_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_0_0_1_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_0_1_')"/><img id="img_0_0_1_" src="ftv2folderopen.png" alt="-" width="24" height="22" onclick="toggleFolder('0_0_1_')"/><a class="el" href="dir_692cef9a660803f4b5efbe2b781d2071.html" target="_self">support</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_1_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_0_0_1_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_0_1_')"/><img id="img_0_0_1_" src="ftv2folderopen.png" alt="-" width="24" height="22" onclick="toggleFolder('0_0_1_')"/><a class="el" href="dir_8e03e8f0d52209e008fae5f40ace0591.html" target="_self">support</a></td><td class="desc"></td></tr>
 <tr id="row_0_0_1_0_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="alloc_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="alloc_8h.html" target="_self">alloc.h</a></td><td class="desc"></td></tr>
 <tr id="row_0_0_1_1_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="support_2atm_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="support_2atm_8h.html" target="_self">atm.h</a></td><td class="desc"></td></tr>
 <tr id="row_0_0_1_2_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="support_2atm__gcc__atomic_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="support_2atm__gcc__atomic_8h.html" target="_self">atm_gcc_atomic.h</a></td><td class="desc"></td></tr>
@@ -137,25 +137,26 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <tr id="row_0_0_1_22_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="tls__gcc_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="tls__gcc_8h.html" target="_self">tls_gcc.h</a></td><td class="desc"></td></tr>
 <tr id="row_0_0_1_23_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="tls__msvc_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="tls__msvc_8h.html" target="_self">tls_msvc.h</a></td><td class="desc"></td></tr>
 <tr id="row_0_0_1_24_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="tls__pthread_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="tls__pthread_8h.html" target="_self">tls_pthread.h</a></td><td class="desc"></td></tr>
-<tr id="row_0_0_1_25_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a href="useful_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="useful_8h.html" target="_self">useful.h</a></td><td class="desc"></td></tr>
-<tr id="row_0_0_2_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="byte__buffer_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="byte__buffer_8h.html" target="_self">byte_buffer.h</a></td><td class="desc"></td></tr>
-<tr id="row_0_0_3_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="byte__buffer__reader_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="byte__buffer__reader_8h.html" target="_self">byte_buffer_reader.h</a></td><td class="desc"></td></tr>
-<tr id="row_0_0_4_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="census_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="census_8h.html" target="_self">census.h</a></td><td class="desc"></td></tr>
-<tr id="row_0_0_5_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="compression_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="compression_8h.html" target="_self">compression.h</a></td><td class="desc"></td></tr>
-<tr id="row_0_0_6_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="grpc_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="grpc_8h.html" target="_self">grpc.h</a></td><td class="desc"></td></tr>
-<tr id="row_0_0_7_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="grpc__posix_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="grpc__posix_8h.html" target="_self">grpc_posix.h</a></td><td class="desc"></td></tr>
-<tr id="row_0_0_8_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="grpc__security_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="grpc__security_8h.html" target="_self">grpc_security.h</a></td><td class="desc"></td></tr>
-<tr id="row_0_0_9_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="grpc__security__constants_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="grpc__security__constants_8h.html" target="_self">grpc_security_constants.h</a></td><td class="desc"></td></tr>
-<tr id="row_0_0_10_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="load__reporting_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="load__reporting_8h.html" target="_self">load_reporting.h</a></td><td class="desc"></td></tr>
-<tr id="row_0_0_11_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="slice_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="slice_8h.html" target="_self">slice.h</a></td><td class="desc"></td></tr>
-<tr id="row_0_0_12_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="slice__buffer_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="slice__buffer_8h.html" target="_self">slice_buffer.h</a></td><td class="desc"></td></tr>
-<tr id="row_0_0_13_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a href="status_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="status_8h.html" target="_self">status.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_1_25_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="useful_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="useful_8h.html" target="_self">useful.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_1_26_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a href="workaround__list_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="workaround__list_8h.html" target="_self">workaround_list.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_2_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="byte__buffer_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="byte__buffer_8h.html" target="_self">byte_buffer.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_3_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="byte__buffer__reader_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="byte__buffer__reader_8h.html" target="_self">byte_buffer_reader.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_4_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="census_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="census_8h.html" target="_self">census.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_5_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="compression_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="compression_8h.html" target="_self">compression.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_6_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="grpc_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="grpc_8h.html" target="_self">grpc.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_7_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="grpc__posix_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="grpc__posix_8h.html" target="_self">grpc_posix.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_8_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="grpc__security_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="grpc__security_8h.html" target="_self">grpc_security.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_9_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="grpc__security__constants_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="grpc__security__constants_8h.html" target="_self">grpc_security_constants.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_10_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="load__reporting_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="load__reporting_8h.html" target="_self">load_reporting.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_11_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="slice_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="slice_8h.html" target="_self">slice.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_12_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="slice__buffer_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="slice__buffer_8h.html" target="_self">slice_buffer.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_13_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a href="status_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="status_8h.html" target="_self">status.h</a></td><td class="desc"></td></tr>
 </table>
 </div><!-- directory -->
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:58 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 3 - 9
core/functions.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -315,7 +315,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 : <a class="el" href="structgrpc__metadata.html#aba09cd6e090d511fe4ade0706f55e006">grpc_metadata</a>
 </li>
 <li>is_set
-: <a class="el" href="structgrpc__compression__options.html#a6549e90bb2bf4002f2b59c57841df278">grpc_compression_options</a>
+: <a class="el" href="structgrpc__compression__options.html#ab7db56f98efd9efecc135ca8a6c99765">grpc_compression_options</a>
 , <a class="el" href="structgrpc__op.html#aaf3faa71e11b8211bc6f1c25870fb80b">grpc_op</a>
 </li>
 </ul>
@@ -597,12 +597,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>value_length
 : <a class="el" href="structgrpc__auth__property.html#a07359a178c29240cab42a89ef047b101">grpc_auth_property</a>
 </li>
-<li>values
-: <a class="el" href="structgrpc__load__reporting__cost__context.html#a58bccfecffc68233ec834f07613a421b">grpc_load_reporting_cost_context</a>
-</li>
-<li>values_count
-: <a class="el" href="structgrpc__load__reporting__cost__context.html#a3d52c7f1be9c65ba2b595066ecc540fa">grpc_load_reporting_cost_context</a>
-</li>
 <li>version
 : <a class="el" href="structgrpc__completion__queue__attributes.html#a77193c57fac60071d907ceda3be64f72">grpc_completion_queue_attributes</a>
 </li>
@@ -622,7 +616,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:58 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 3 - 9
core/functions_vars.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -315,7 +315,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 : <a class="el" href="structgrpc__metadata.html#aba09cd6e090d511fe4ade0706f55e006">grpc_metadata</a>
 </li>
 <li>is_set
-: <a class="el" href="structgrpc__compression__options.html#a6549e90bb2bf4002f2b59c57841df278">grpc_compression_options</a>
+: <a class="el" href="structgrpc__compression__options.html#ab7db56f98efd9efecc135ca8a6c99765">grpc_compression_options</a>
 , <a class="el" href="structgrpc__op.html#aaf3faa71e11b8211bc6f1c25870fb80b">grpc_op</a>
 </li>
 </ul>
@@ -597,12 +597,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>value_length
 : <a class="el" href="structgrpc__auth__property.html#a07359a178c29240cab42a89ef047b101">grpc_auth_property</a>
 </li>
-<li>values
-: <a class="el" href="structgrpc__load__reporting__cost__context.html#a58bccfecffc68233ec834f07613a421b">grpc_load_reporting_cost_context</a>
-</li>
-<li>values_count
-: <a class="el" href="structgrpc__load__reporting__cost__context.html#a3d52c7f1be9c65ba2b595066ecc540fa">grpc_load_reporting_cost_context</a>
-</li>
 <li>version
 : <a class="el" href="structgrpc__completion__queue__attributes.html#a77193c57fac60071d907ceda3be64f72">grpc_completion_queue_attributes</a>
 </li>
@@ -622,7 +616,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:58 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 2 - 2
core/g__stands__for_8md.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 2 - 2
core/globals.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -249,7 +249,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:58 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 2 - 2
core/globals_defs.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -135,7 +135,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:58 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 27 - 3
core/globals_defs_g.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -399,12 +399,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>GRPC_ARG_ENABLE_CENSUS
 : <a class="el" href="group__grpc__arg__keys.html#gae498934a02de89ce29cec570b02a2037">grpc_types.h</a>
 </li>
+<li>GRPC_ARG_ENABLE_DEADLINE_CHECKS
+: <a class="el" href="group__grpc__arg__keys.html#ga405daab19c0dceb2a64d0b1a77f8fe97">grpc_types.h</a>
+</li>
 <li>GRPC_ARG_ENABLE_LOAD_REPORTING
 : <a class="el" href="group__grpc__arg__keys.html#gaae124ed1c6d60a08d0f56884e9442044">grpc_types.h</a>
 </li>
+<li>GRPC_ARG_ENABLE_PER_MESSAGE_COMPRESSION
+: <a class="el" href="group__grpc__arg__keys.html#gab195665836ae27c45748f5c4e5dc4057">grpc_types.h</a>
+</li>
 <li>GRPC_ARG_EXPAND_WILDCARD_ADDRS
 : <a class="el" href="group__grpc__arg__keys.html#gab11602475264d01e0ea50f0ce376cdcd">grpc_types.h</a>
 </li>
+<li>GRPC_ARG_GRPCLB_CALL_TIMEOUT_MS
+: <a class="el" href="group__grpc__arg__keys.html#ga1768735fceeb8108a2f1eb12ea0a894e">grpc_types.h</a>
+</li>
 <li>GRPC_ARG_HTTP2_BDP_PROBE
 : <a class="el" href="group__grpc__arg__keys.html#ga0958b21ee82acd9c77de30a978c59fb2">grpc_types.h</a>
 </li>
@@ -435,6 +444,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>GRPC_ARG_HTTP2_MIN_TIME_BETWEEN_PINGS_MS
 : <a class="el" href="group__grpc__arg__keys.html#gacc0d0f1d3d582d39fcfb7a835b730a6c">grpc_types.h</a>
 </li>
+<li>GRPC_ARG_HTTP2_SCHEME
+: <a class="el" href="group__grpc__arg__keys.html#ga7797da9f3f5a1381484b2cabca1920fc">grpc_types.h</a>
+</li>
 <li>GRPC_ARG_HTTP2_STREAM_LOOKAHEAD_BYTES
 : <a class="el" href="group__grpc__arg__keys.html#gac02673f790cd2e8616e03aa010be67d6">grpc_types.h</a>
 </li>
@@ -483,6 +495,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>GRPC_ARG_MAX_SEND_MESSAGE_LENGTH
 : <a class="el" href="group__grpc__arg__keys.html#gab4defdabac3610ef8a5946848592458c">grpc_types.h</a>
 </li>
+<li>GRPC_ARG_MIN_RECONNECT_BACKOFF_MS
+: <a class="el" href="group__grpc__arg__keys.html#gad7d9d143858d8f5e138cf704b0082973">grpc_types.h</a>
+</li>
 <li>GRPC_ARG_MINIMAL_STACK
 : <a class="el" href="group__grpc__arg__keys.html#ga17b79aacf3bbfb0bce6d29bf9867988b">grpc_types.h</a>
 </li>
@@ -516,6 +531,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>GRPC_ARG_USE_CRONET_PACKET_COALESCING
 : <a class="el" href="group__grpc__arg__keys.html#ga3da556ec531495ace9f93b97c8c4f24b">grpc_types.h</a>
 </li>
+<li>GRPC_ARG_WORKAROUND_CRONET_COMPRESSION
+: <a class="el" href="group__grpc__arg__keys.html#ga618ddbf19fdd38d8f90b8f3d7cb5d481">grpc_types.h</a>
+</li>
 <li>GRPC_COMPRESSION_CHANNEL_DEFAULT_ALGORITHM
 : <a class="el" href="group__grpc__arg__keys.html#ga33cd5668b4ebacb59b657f4674cc1cf5">compression_types.h</a>
 </li>
@@ -529,7 +547,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 : <a class="el" href="compression__types_8h.html#a862adef9b36180377a6db217dd5f52fe">compression_types.h</a>
 </li>
 <li>GRPC_CQ_CURRENT_VERSION
-: <a class="el" href="grpc_8h.html#a52497b2b6db8035126a8b45467a14d97">grpc.h</a>
+: <a class="el" href="grpc__types_8h.html#a52497b2b6db8035126a8b45467a14d97">grpc_types.h</a>
 </li>
 <li>GRPC_DEFAULT_MAX_RECV_MESSAGE_LENGTH
 : <a class="el" href="grpc__types_8h.html#a25687d417e9dc0a05af692dff23af179">grpc_types.h</a>
@@ -561,6 +579,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>GRPC_INITIAL_METADATA_WAIT_FOR_READY_EXPLICITLY_SET
 : <a class="el" href="grpc__types_8h.html#afa71c451716eca6c8d38fb71d66c0bbb">grpc_types.h</a>
 </li>
+<li>GRPC_LB_COST_MD_KEY
+: <a class="el" href="load__reporting_8h.html#a26062f16fe0fc3265852717c32be532c">load_reporting.h</a>
+</li>
 <li>GRPC_LB_TOKEN_MD_KEY
 : <a class="el" href="load__reporting_8h.html#aad02df8e03e2f88bf4b0f54beb904d12">load_reporting.h</a>
 </li>
@@ -600,6 +621,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>GRPC_SLICE_LENGTH
 : <a class="el" href="impl_2codegen_2slice_8h.html#ae965fb2ee1a646253cdbd49d82b0b6c5">slice.h</a>
 </li>
+<li>GRPC_SLICE_MALLOC
+: <a class="el" href="slice_8h.html#ae0799ad659c9438e0b2cc25e1aa99a52">slice.h</a>
+</li>
 <li>GRPC_SLICE_SET_LENGTH
 : <a class="el" href="impl_2codegen_2slice_8h.html#a6791fa7be0a1a9144e005cfea7baea84">slice.h</a>
 </li>
@@ -643,7 +667,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:58 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 10 - 4
core/globals_enum.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -127,10 +127,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 : <a class="el" href="connectivity__state_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2">connectivity_state.h</a>
 </li>
 <li>grpc_cq_completion_type
-: <a class="el" href="grpc_8h.html#a1d6272e15d32381a9ffa027cefd60bf8">grpc.h</a>
+: <a class="el" href="grpc__types_8h.html#a1d6272e15d32381a9ffa027cefd60bf8">grpc_types.h</a>
 </li>
 <li>grpc_cq_polling_type
-: <a class="el" href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343">grpc.h</a>
+: <a class="el" href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343">grpc_types.h</a>
 </li>
 <li>grpc_op_type
 : <a class="el" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939a">grpc_types.h</a>
@@ -138,6 +138,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>grpc_server_register_method_payload_handling
 : <a class="el" href="grpc_8h.html#aab04022748000f50c2590230f985acbc">grpc.h</a>
 </li>
+<li>grpc_slice_ref_whom
+: <a class="el" href="slice_8h.html#a4a42e5de5c07151adf96278ea466ef4d">slice.h</a>
+</li>
 <li>grpc_ssl_client_certificate_request_type
 : <a class="el" href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09">grpc_security_constants.h</a>
 </li>
@@ -147,11 +150,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>grpc_status_code
 : <a class="el" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">status.h</a>
 </li>
+<li>grpc_workaround_list
+: <a class="el" href="workaround__list_8h.html#ade8be35fce7415c7234ac22d8b9ad9d2">workaround_list.h</a>
+</li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:58 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 22 - 7
core/globals_eval.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -250,19 +250,22 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 : <a class="el" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a3135cac7e854adb16358c53e97df9cd8">compression_types.h</a>
 </li>
 <li>GRPC_CQ_DEFAULT_POLLING
-: <a class="el" href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343afc366f1bf1fc412fafd97557bc0160c8">grpc.h</a>
+: <a class="el" href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343afc366f1bf1fc412fafd97557bc0160c8">grpc_types.h</a>
 </li>
 <li>GRPC_CQ_NEXT
-: <a class="el" href="grpc_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a3fccd6237614f711bfc1999438ed2676">grpc.h</a>
+: <a class="el" href="grpc__types_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a3fccd6237614f711bfc1999438ed2676">grpc_types.h</a>
 </li>
 <li>GRPC_CQ_NON_LISTENING
-: <a class="el" href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343aa291aea150282f3a2366437d8fc93b11">grpc.h</a>
+: <a class="el" href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343aa291aea150282f3a2366437d8fc93b11">grpc_types.h</a>
 </li>
 <li>GRPC_CQ_NON_POLLING
-: <a class="el" href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343a30fe3e6720c740094d5295546e9bb849">grpc.h</a>
+: <a class="el" href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343a30fe3e6720c740094d5295546e9bb849">grpc_types.h</a>
 </li>
 <li>GRPC_CQ_PLUCK
-: <a class="el" href="grpc_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a7ddd2051625309ecc657b658c021476a">grpc.h</a>
+: <a class="el" href="grpc__types_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a7ddd2051625309ecc657b658c021476a">grpc_types.h</a>
+</li>
+<li>GRPC_MAX_WORKAROUND_ID
+: <a class="el" href="workaround__list_8h.html#ade8be35fce7415c7234ac22d8b9ad9d2ac8d0c094c010899a69f029de9b70bc3c">workaround_list.h</a>
 </li>
 <li>GRPC_OP_COMPLETE
 : <a class="el" href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87a00b42e3d4b6e6493c6e76f1adf07b297">grpc_types.h</a>
@@ -297,6 +300,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>GRPC_QUEUE_TIMEOUT
 : <a class="el" href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87a4339ea61236e103b6555fdf9b6cffab6">grpc_types.h</a>
 </li>
+<li>GRPC_SLICE_REF_BOTH
+: <a class="el" href="slice_8h.html#a4a42e5de5c07151adf96278ea466ef4da45eab2ea11c1b01d8ce88fe2595475ef">slice.h</a>
+</li>
+<li>GRPC_SLICE_REF_HEAD
+: <a class="el" href="slice_8h.html#a4a42e5de5c07151adf96278ea466ef4da66708668aef3ee159492da7c14d4e825">slice.h</a>
+</li>
+<li>GRPC_SLICE_REF_TAIL
+: <a class="el" href="slice_8h.html#a4a42e5de5c07151adf96278ea466ef4dafd9b13d6de6a33193be0aeee53915f01">slice.h</a>
+</li>
 <li>GRPC_SRM_PAYLOAD_NONE
 : <a class="el" href="grpc_8h.html#aab04022748000f50c2590230f985acbca366bf1a7d2e4cafb3a606436876a1555">grpc.h</a>
 </li>
@@ -381,11 +393,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>GRPC_STATUS_UNKNOWN
 : <a class="el" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba5f02c0e431162618ab422d27fd39dd08">status.h</a>
 </li>
+<li>GRPC_WORKAROUND_ID_CRONET_COMPRESSION
+: <a class="el" href="workaround__list_8h.html#ade8be35fce7415c7234ac22d8b9ad9d2ad5634536a70e6bf3b14550dd26a66033">workaround_list.h</a>
+</li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:58 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 2 - 2
core/globals_func.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -189,7 +189,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:58 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 28 - 13
core/globals_func_g.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -267,7 +267,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 : <a class="el" href="log_8h.html#aef4961ab05362b455a3e89c06343ef74">log.h</a>
 </li>
 <li>gpr_log_severity_string()
-: <a class="el" href="log_8h.html#a3badccbc5ec4c725eadbc07b8e5706eb">log.h</a>
+: <a class="el" href="log_8h.html#ae794448965328d305d0b44417199a915">log.h</a>
 </li>
 <li>gpr_log_verbosity_init()
 : <a class="el" href="log_8h.html#a0522b8141fb0b208bd069e848382da98">log.h</a>
@@ -503,6 +503,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>grpc_byte_buffer_reader_readall()
 : <a class="el" href="byte__buffer_8h.html#a4cbf1eb762ea3c6c08bcfc46201c7691">byte_buffer.h</a>
 </li>
+<li>grpc_call_arena_alloc()
+: <a class="el" href="grpc_8h.html#ab8b0d5c78fb89f05bc43d349dae561be">grpc.h</a>
+</li>
 <li>grpc_call_auth_context()
 : <a class="el" href="grpc__security_8h.html#a3c1860cddc9edaa7f657a98a35b77e80">grpc_security.h</a>
 </li>
@@ -515,9 +518,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>grpc_call_credentials_release()
 : <a class="el" href="grpc__security_8h.html#aeb21611154f3defe05e4eac4cc25af5a">grpc_security.h</a>
 </li>
-<li>grpc_call_destroy()
-: <a class="el" href="grpc_8h.html#a9100ad0aaa8125219bd7f80527de6753">grpc.h</a>
-</li>
 <li>grpc_call_details_destroy()
 : <a class="el" href="grpc_8h.html#ad18a001bb19d54c4355875062777d21f">grpc.h</a>
 </li>
@@ -530,15 +530,18 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>grpc_call_get_peer()
 : <a class="el" href="grpc_8h.html#a96bc6ab4dac03f512a04ea6c19733289">grpc.h</a>
 </li>
+<li>grpc_call_ref()
+: <a class="el" href="grpc_8h.html#a37a3bcb24b22addd01a9d0881c5a438c">grpc.h</a>
+</li>
 <li>grpc_call_set_credentials()
 : <a class="el" href="grpc__security_8h.html#ab065a653f78111065e91a579fd2ce2d2">grpc_security.h</a>
 </li>
-<li>grpc_call_set_load_reporting_cost_context()
-: <a class="el" href="grpc_8h.html#ad57686192158efcb53aa585a9772954d">grpc.h</a>
-</li>
 <li>grpc_call_start_batch()
 : <a class="el" href="grpc_8h.html#a693db1327a74ba933ad5e2d26e410622">grpc.h</a>
 </li>
+<li>grpc_call_unref()
+: <a class="el" href="grpc_8h.html#ad94050d59c72fadfb22962ff40110e85">grpc.h</a>
+</li>
 <li>grpc_census_call_get_context()
 : <a class="el" href="grpc_8h.html#aad6d8b3df48a43605558f86f1ad5c4fd">grpc.h</a>
 </li>
@@ -566,6 +569,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>grpc_channel_get_target()
 : <a class="el" href="grpc_8h.html#aaa25111c739e1c01ae2d195a23079afd">grpc.h</a>
 </li>
+<li>grpc_channel_num_external_connectivity_watchers()
+: <a class="el" href="grpc_8h.html#ac325c84ef541bcf04697abcc5d167a51">grpc.h</a>
+</li>
 <li>grpc_channel_ping()
 : <a class="el" href="grpc_8h.html#acad1b47029ebf10f80e0db9423401c87">grpc.h</a>
 </li>
@@ -576,7 +582,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 : <a class="el" href="grpc_8h.html#a568bac9fe4004c1dd790e6569b918d2f">grpc.h</a>
 </li>
 <li>grpc_completion_queue_create()
-: <a class="el" href="grpc_8h.html#ae1dc1e6cbb21d67a62db56ab8ef8c787">grpc.h</a>
+: <a class="el" href="grpc_8h.html#aa47ec388be96d8b90e5dd6812234664c">grpc.h</a>
 </li>
 <li>grpc_completion_queue_create_for_next()
 : <a class="el" href="grpc_8h.html#a687672b2c261e965286e36f66e3adbef">grpc.h</a>
@@ -737,9 +743,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>grpc_server_register_method()
 : <a class="el" href="grpc_8h.html#afdc7d1e04d9fa62641aeccfc732ea0bc">grpc.h</a>
 </li>
-<li>grpc_server_register_non_listening_completion_queue()
-: <a class="el" href="grpc_8h.html#a8be1e6025540b47bfdbbf0ae059ec65d">grpc.h</a>
-</li>
 <li>grpc_server_request_call()
 : <a class="el" href="grpc_8h.html#ad8472547ac3173e746b1e7980c1208b5">grpc.h</a>
 </li>
@@ -788,6 +791,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>grpc_slice_buffer_move_first_into_buffer()
 : <a class="el" href="slice__buffer_8h.html#ab0a50399722f66965800c42b8d5f2c9d">slice_buffer.h</a>
 </li>
+<li>grpc_slice_buffer_move_first_no_ref()
+: <a class="el" href="slice__buffer_8h.html#a7bd220a3e589556980985bef36b08d3e">slice_buffer.h</a>
+</li>
 <li>grpc_slice_buffer_move_into()
 : <a class="el" href="slice__buffer_8h.html#aa173423d301fcac2089714659333e460">slice_buffer.h</a>
 </li>
@@ -818,6 +824,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>grpc_slice_cmp()
 : <a class="el" href="slice_8h.html#a8c2a57340b8ff85c5bc17ecffe941a8d">slice.h</a>
 </li>
+<li>grpc_slice_copy()
+: <a class="el" href="slice_8h.html#a0b428779eb2f6b030f4a8bcad2c9416f">slice.h</a>
+</li>
 <li>grpc_slice_default_eq_impl()
 : <a class="el" href="slice_8h.html#acc97ac4bfd72bc3769c50ba45ab138b4">slice.h</a>
 </li>
@@ -854,6 +863,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>grpc_slice_malloc()
 : <a class="el" href="slice_8h.html#a0b714cdd6fa993b1d47eb08f2d5f8fc1">slice.h</a>
 </li>
+<li>grpc_slice_malloc_large()
+: <a class="el" href="slice_8h.html#ab286ea0212352a75cfaf34c32eccff17">slice.h</a>
+</li>
 <li>grpc_slice_new()
 : <a class="el" href="slice_8h.html#a85704b2e5f1c8d70e728e86ad6d1ca0a">slice.h</a>
 </li>
@@ -878,6 +890,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>grpc_slice_split_tail()
 : <a class="el" href="slice_8h.html#a5aedc925ae6e2bae484fe82383fac025">slice.h</a>
 </li>
+<li>grpc_slice_split_tail_maybe_ref()
+: <a class="el" href="slice_8h.html#adf447cd644eb32cb42c5d6da21fcaf55">slice.h</a>
+</li>
 <li>grpc_slice_str_cmp()
 : <a class="el" href="slice_8h.html#aada74a5bebd5aad23cc4028e8cc98d4e">slice.h</a>
 </li>
@@ -915,7 +930,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:58 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 95 - 38
core/globals_g.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -314,12 +314,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>gpr_event_get()
 : <a class="el" href="support_2sync_8h.html#afb62d3857409962718465c407f97fec3">sync.h</a>
 </li>
-<li>GPR_EVENT_INIT
-: <a class="el" href="impl_2codegen_2sync__generic_8h.html#a6f38fe7692eaa6663c1f79ff5847c050">sync_generic.h</a>
-</li>
 <li>gpr_event_init()
 : <a class="el" href="support_2sync_8h.html#a8c1e214b5ff9e8f25dfc785977d8a092">sync.h</a>
 </li>
+<li>GPR_EVENT_INIT
+: <a class="el" href="impl_2codegen_2sync__generic_8h.html#a6f38fe7692eaa6663c1f79ff5847c050">sync_generic.h</a>
+</li>
 <li>gpr_event_set()
 : <a class="el" href="support_2sync_8h.html#a39a77b09ffc2c288b097c84c4e0e29a5">sync.h</a>
 </li>
@@ -429,7 +429,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 : <a class="el" href="log_8h.html#af10334b4085ac6985a2af9c08478ad48af6c13c67f06821c1629b7e019af4aaf1">log.h</a>
 </li>
 <li>gpr_log_severity_string()
-: <a class="el" href="log_8h.html#a3badccbc5ec4c725eadbc07b8e5706eb">log.h</a>
+: <a class="el" href="log_8h.html#ae794448965328d305d0b44417199a915">log.h</a>
 </li>
 <li>gpr_log_verbosity_init()
 : <a class="el" href="log_8h.html#a0522b8141fb0b208bd069e848382da98">log.h</a>
@@ -489,13 +489,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 : <a class="el" href="impl_2codegen_2sync__posix_8h.html#a28731dc17a4158343f58f453a4d5e37f">sync_posix.h</a>
 , <a class="el" href="impl_2codegen_2sync__windows_8h.html#a6a752a459fe345c616c26b5a556ccc13">sync_windows.h</a>
 </li>
-<li>gpr_once_init()
-: <a class="el" href="support_2sync_8h.html#a1157f44f131ce5f000744bea273347bc">sync.h</a>
-</li>
 <li>GPR_ONCE_INIT
 : <a class="el" href="impl_2codegen_2sync__posix_8h.html#a8edd7eb4f6860a4f79defbad49c35666">sync_posix.h</a>
 , <a class="el" href="impl_2codegen_2sync__windows_8h.html#a8edd7eb4f6860a4f79defbad49c35666">sync_windows.h</a>
 </li>
+<li>gpr_once_init()
+: <a class="el" href="support_2sync_8h.html#a1157f44f131ce5f000744bea273347bc">sync.h</a>
+</li>
 <li>GPR_PLATFORM_STRING
 : <a class="el" href="impl_2codegen_2port__platform_8h.html#a99f34e9b119908109486e91abedc933e">port_platform.h</a>
 </li>
@@ -637,12 +637,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>gpr_stats_inc()
 : <a class="el" href="support_2sync_8h.html#a8d1f3e75040086f0da4d7fc4e94a5b2b">sync.h</a>
 </li>
-<li>GPR_STATS_INIT
-: <a class="el" href="impl_2codegen_2sync__generic_8h.html#ada230498c8e2aca51e9349709e70e1ef">sync_generic.h</a>
-</li>
 <li>gpr_stats_init()
 : <a class="el" href="support_2sync_8h.html#a05c0002cb69dbce4d94819f65551fca2">sync.h</a>
 </li>
+<li>GPR_STATS_INIT
+: <a class="el" href="impl_2codegen_2sync__generic_8h.html#ada230498c8e2aca51e9349709e70e1ef">sync_generic.h</a>
+</li>
 <li>gpr_stats_read()
 : <a class="el" href="support_2sync_8h.html#ab451d39b50836fcad4ed48f080b7f648">sync.h</a>
 </li>
@@ -824,12 +824,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>GRPC_ARG_ENABLE_CENSUS
 : <a class="el" href="group__grpc__arg__keys.html#gae498934a02de89ce29cec570b02a2037">grpc_types.h</a>
 </li>
+<li>GRPC_ARG_ENABLE_DEADLINE_CHECKS
+: <a class="el" href="group__grpc__arg__keys.html#ga405daab19c0dceb2a64d0b1a77f8fe97">grpc_types.h</a>
+</li>
 <li>GRPC_ARG_ENABLE_LOAD_REPORTING
 : <a class="el" href="group__grpc__arg__keys.html#gaae124ed1c6d60a08d0f56884e9442044">grpc_types.h</a>
 </li>
+<li>GRPC_ARG_ENABLE_PER_MESSAGE_COMPRESSION
+: <a class="el" href="group__grpc__arg__keys.html#gab195665836ae27c45748f5c4e5dc4057">grpc_types.h</a>
+</li>
 <li>GRPC_ARG_EXPAND_WILDCARD_ADDRS
 : <a class="el" href="group__grpc__arg__keys.html#gab11602475264d01e0ea50f0ce376cdcd">grpc_types.h</a>
 </li>
+<li>GRPC_ARG_GRPCLB_CALL_TIMEOUT_MS
+: <a class="el" href="group__grpc__arg__keys.html#ga1768735fceeb8108a2f1eb12ea0a894e">grpc_types.h</a>
+</li>
 <li>GRPC_ARG_HTTP2_BDP_PROBE
 : <a class="el" href="group__grpc__arg__keys.html#ga0958b21ee82acd9c77de30a978c59fb2">grpc_types.h</a>
 </li>
@@ -860,6 +869,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>GRPC_ARG_HTTP2_MIN_TIME_BETWEEN_PINGS_MS
 : <a class="el" href="group__grpc__arg__keys.html#gacc0d0f1d3d582d39fcfb7a835b730a6c">grpc_types.h</a>
 </li>
+<li>GRPC_ARG_HTTP2_SCHEME
+: <a class="el" href="group__grpc__arg__keys.html#ga7797da9f3f5a1381484b2cabca1920fc">grpc_types.h</a>
+</li>
 <li>GRPC_ARG_HTTP2_STREAM_LOOKAHEAD_BYTES
 : <a class="el" href="group__grpc__arg__keys.html#gac02673f790cd2e8616e03aa010be67d6">grpc_types.h</a>
 </li>
@@ -911,6 +923,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>GRPC_ARG_MAX_SEND_MESSAGE_LENGTH
 : <a class="el" href="group__grpc__arg__keys.html#gab4defdabac3610ef8a5946848592458c">grpc_types.h</a>
 </li>
+<li>GRPC_ARG_MIN_RECONNECT_BACKOFF_MS
+: <a class="el" href="group__grpc__arg__keys.html#gad7d9d143858d8f5e138cf704b0082973">grpc_types.h</a>
+</li>
 <li>GRPC_ARG_MINIMAL_STACK
 : <a class="el" href="group__grpc__arg__keys.html#ga17b79aacf3bbfb0bce6d29bf9867988b">grpc_types.h</a>
 </li>
@@ -956,6 +971,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>GRPC_ARG_USE_CRONET_PACKET_COALESCING
 : <a class="el" href="group__grpc__arg__keys.html#ga3da556ec531495ace9f93b97c8c4f24b">grpc_types.h</a>
 </li>
+<li>GRPC_ARG_WORKAROUND_CRONET_COMPRESSION
+: <a class="el" href="group__grpc__arg__keys.html#ga618ddbf19fdd38d8f90b8f3d7cb5d481">grpc_types.h</a>
+</li>
 <li>grpc_auth_context
 : <a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_security.h</a>
 </li>
@@ -1031,6 +1049,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>grpc_call
 : <a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_types.h</a>
 </li>
+<li>grpc_call_arena_alloc()
+: <a class="el" href="grpc_8h.html#ab8b0d5c78fb89f05bc43d349dae561be">grpc.h</a>
+</li>
 <li>grpc_call_auth_context()
 : <a class="el" href="grpc__security_8h.html#a3c1860cddc9edaa7f657a98a35b77e80">grpc_security.h</a>
 </li>
@@ -1046,21 +1067,18 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>grpc_call_credentials_release()
 : <a class="el" href="grpc__security_8h.html#aeb21611154f3defe05e4eac4cc25af5a">grpc_security.h</a>
 </li>
-<li>grpc_call_destroy()
-: <a class="el" href="grpc_8h.html#a9100ad0aaa8125219bd7f80527de6753">grpc.h</a>
-</li>
 <li>grpc_call_details_destroy()
 : <a class="el" href="grpc_8h.html#ad18a001bb19d54c4355875062777d21f">grpc.h</a>
 </li>
 <li>grpc_call_details_init()
 : <a class="el" href="grpc_8h.html#afd22cfbc549db65ee265335c3264a57b">grpc.h</a>
 </li>
-<li>grpc_call_error
-: <a class="el" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_types.h</a>
-</li>
 <li>GRPC_CALL_ERROR
 : <a class="el" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba86e7b6bf1fe5dec17fc08ba2f77d1b41">grpc_types.h</a>
 </li>
+<li>grpc_call_error
+: <a class="el" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_types.h</a>
+</li>
 <li>GRPC_CALL_ERROR_ALREADY_ACCEPTED
 : <a class="el" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba2f6f332e63eb94df8abedfddb96ae63a">grpc_types.h</a>
 </li>
@@ -1109,15 +1127,18 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>GRPC_CALL_OK
 : <a class="el" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba32f125b97007cbdb43534e9d6e0989f8">grpc_types.h</a>
 </li>
+<li>grpc_call_ref()
+: <a class="el" href="grpc_8h.html#a37a3bcb24b22addd01a9d0881c5a438c">grpc.h</a>
+</li>
 <li>grpc_call_set_credentials()
 : <a class="el" href="grpc__security_8h.html#ab065a653f78111065e91a579fd2ce2d2">grpc_security.h</a>
 </li>
-<li>grpc_call_set_load_reporting_cost_context()
-: <a class="el" href="grpc_8h.html#ad57686192158efcb53aa585a9772954d">grpc.h</a>
-</li>
 <li>grpc_call_start_batch()
 : <a class="el" href="grpc_8h.html#a693db1327a74ba933ad5e2d26e410622">grpc.h</a>
 </li>
+<li>grpc_call_unref()
+: <a class="el" href="grpc_8h.html#ad94050d59c72fadfb22962ff40110e85">grpc.h</a>
+</li>
 <li>grpc_census_call_get_context()
 : <a class="el" href="grpc_8h.html#aad6d8b3df48a43605558f86f1ad5c4fd">grpc.h</a>
 </li>
@@ -1160,6 +1181,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>GRPC_CHANNEL_INIT
 : <a class="el" href="connectivity__state_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2ab12cc86bc5568c64ebbdebc9032e4d46">connectivity_state.h</a>
 </li>
+<li>grpc_channel_num_external_connectivity_watchers()
+: <a class="el" href="grpc_8h.html#ac325c84ef541bcf04697abcc5d167a51">grpc.h</a>
+</li>
 <li>grpc_channel_ping()
 : <a class="el" href="grpc_8h.html#acad1b47029ebf10f80e0db9423401c87">grpc.h</a>
 </li>
@@ -1182,10 +1206,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 : <a class="el" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_types.h</a>
 </li>
 <li>grpc_completion_queue_attributes
-: <a class="el" href="grpc_8h.html#a8113e2fd72a5fbb372d691a0c2206422">grpc.h</a>
+: <a class="el" href="grpc__types_8h.html#a8113e2fd72a5fbb372d691a0c2206422">grpc_types.h</a>
 </li>
 <li>grpc_completion_queue_create()
-: <a class="el" href="grpc_8h.html#ae1dc1e6cbb21d67a62db56ab8ef8c787">grpc.h</a>
+: <a class="el" href="grpc_8h.html#aa47ec388be96d8b90e5dd6812234664c">grpc.h</a>
 </li>
 <li>grpc_completion_queue_create_for_next()
 : <a class="el" href="grpc_8h.html#a687672b2c261e965286e36f66e3adbef">grpc.h</a>
@@ -1197,7 +1221,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 : <a class="el" href="grpc_8h.html#af77734d6350953db5d730f7213aac639">grpc.h</a>
 </li>
 <li>grpc_completion_queue_factory
-: <a class="el" href="grpc_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc.h</a>
+: <a class="el" href="grpc__types_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_types.h</a>
 </li>
 <li>grpc_completion_queue_factory_lookup()
 : <a class="el" href="grpc_8h.html#aa7e0ae56f1bbfd9746805bc0161f80bc">grpc.h</a>
@@ -1293,28 +1317,28 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 : <a class="el" href="connectivity__state_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2">connectivity_state.h</a>
 </li>
 <li>grpc_cq_completion_type
-: <a class="el" href="grpc_8h.html#a1d6272e15d32381a9ffa027cefd60bf8">grpc.h</a>
+: <a class="el" href="grpc__types_8h.html#a1d6272e15d32381a9ffa027cefd60bf8">grpc_types.h</a>
 </li>
 <li>GRPC_CQ_CURRENT_VERSION
-: <a class="el" href="grpc_8h.html#a52497b2b6db8035126a8b45467a14d97">grpc.h</a>
+: <a class="el" href="grpc__types_8h.html#a52497b2b6db8035126a8b45467a14d97">grpc_types.h</a>
 </li>
 <li>GRPC_CQ_DEFAULT_POLLING
-: <a class="el" href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343afc366f1bf1fc412fafd97557bc0160c8">grpc.h</a>
+: <a class="el" href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343afc366f1bf1fc412fafd97557bc0160c8">grpc_types.h</a>
 </li>
 <li>GRPC_CQ_NEXT
-: <a class="el" href="grpc_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a3fccd6237614f711bfc1999438ed2676">grpc.h</a>
+: <a class="el" href="grpc__types_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a3fccd6237614f711bfc1999438ed2676">grpc_types.h</a>
 </li>
 <li>GRPC_CQ_NON_LISTENING
-: <a class="el" href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343aa291aea150282f3a2366437d8fc93b11">grpc.h</a>
+: <a class="el" href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343aa291aea150282f3a2366437d8fc93b11">grpc_types.h</a>
 </li>
 <li>GRPC_CQ_NON_POLLING
-: <a class="el" href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343a30fe3e6720c740094d5295546e9bb849">grpc.h</a>
+: <a class="el" href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343a30fe3e6720c740094d5295546e9bb849">grpc_types.h</a>
 </li>
 <li>GRPC_CQ_PLUCK
-: <a class="el" href="grpc_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a7ddd2051625309ecc657b658c021476a">grpc.h</a>
+: <a class="el" href="grpc__types_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a7ddd2051625309ecc657b658c021476a">grpc_types.h</a>
 </li>
 <li>grpc_cq_polling_type
-: <a class="el" href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343">grpc.h</a>
+: <a class="el" href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343">grpc_types.h</a>
 </li>
 <li>grpc_credentials_plugin_metadata_cb
 : <a class="el" href="grpc__security_8h.html#acc59d2e9577dc4429895b9cd89450106">grpc_security.h</a>
@@ -1394,18 +1418,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>grpc_lame_client_channel_create()
 : <a class="el" href="grpc_8h.html#ab70a06437661ce737e0c4823cbbd73f3">grpc.h</a>
 </li>
+<li>GRPC_LB_COST_MD_KEY
+: <a class="el" href="load__reporting_8h.html#a26062f16fe0fc3265852717c32be532c">load_reporting.h</a>
+</li>
 <li>GRPC_LB_TOKEN_MD_KEY
 : <a class="el" href="load__reporting_8h.html#aad02df8e03e2f88bf4b0f54beb904d12">load_reporting.h</a>
 </li>
-<li>grpc_load_reporting_cost_context
-: <a class="el" href="load__reporting_8h.html#ad2110f7867820dc21471987555ba3e36">load_reporting.h</a>
-</li>
 <li>grpc_max_auth_token_lifetime()
 : <a class="el" href="grpc__security_8h.html#a8bf68d788a4b95461e77278049f4c73f">grpc_security.h</a>
 </li>
 <li>GRPC_MAX_COMPLETION_QUEUE_PLUCKERS
 : <a class="el" href="grpc_8h.html#a7fa47963513b9ce50ca4006b9db94c5e">grpc.h</a>
 </li>
+<li>GRPC_MAX_WORKAROUND_ID
+: <a class="el" href="workaround__list_8h.html#ade8be35fce7415c7234ac22d8b9ad9d2ac8d0c094c010899a69f029de9b70bc3c">workaround_list.h</a>
+</li>
 <li>grpc_metadata
 : <a class="el" href="grpc__types_8h.html#a1da84eaead787d991c5a0c87aed7c30b">grpc_types.h</a>
 </li>
@@ -1550,9 +1577,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>grpc_server_register_method_payload_handling
 : <a class="el" href="grpc_8h.html#aab04022748000f50c2590230f985acbc">grpc.h</a>
 </li>
-<li>grpc_server_register_non_listening_completion_queue()
-: <a class="el" href="grpc_8h.html#a8be1e6025540b47bfdbbf0ae059ec65d">grpc.h</a>
-</li>
 <li>grpc_server_request_call()
 : <a class="el" href="grpc_8h.html#ad8472547ac3173e746b1e7980c1208b5">grpc.h</a>
 </li>
@@ -1607,6 +1631,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>grpc_slice_buffer_move_first_into_buffer()
 : <a class="el" href="slice__buffer_8h.html#ab0a50399722f66965800c42b8d5f2c9d">slice_buffer.h</a>
 </li>
+<li>grpc_slice_buffer_move_first_no_ref()
+: <a class="el" href="slice__buffer_8h.html#a7bd220a3e589556980985bef36b08d3e">slice_buffer.h</a>
+</li>
 <li>grpc_slice_buffer_move_into()
 : <a class="el" href="slice__buffer_8h.html#aa173423d301fcac2089714659333e460">slice_buffer.h</a>
 </li>
@@ -1637,6 +1664,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>grpc_slice_cmp()
 : <a class="el" href="slice_8h.html#a8c2a57340b8ff85c5bc17ecffe941a8d">slice.h</a>
 </li>
+<li>grpc_slice_copy()
+: <a class="el" href="slice_8h.html#a0b428779eb2f6b030f4a8bcad2c9416f">slice.h</a>
+</li>
 <li>grpc_slice_default_eq_impl()
 : <a class="el" href="slice_8h.html#acc97ac4bfd72bc3769c50ba45ab138b4">slice.h</a>
 </li>
@@ -1685,6 +1715,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>grpc_slice_malloc()
 : <a class="el" href="slice_8h.html#a0b714cdd6fa993b1d47eb08f2d5f8fc1">slice.h</a>
 </li>
+<li>GRPC_SLICE_MALLOC
+: <a class="el" href="slice_8h.html#ae0799ad659c9438e0b2cc25e1aa99a52">slice.h</a>
+</li>
+<li>grpc_slice_malloc_large()
+: <a class="el" href="slice_8h.html#ab286ea0212352a75cfaf34c32eccff17">slice.h</a>
+</li>
 <li>grpc_slice_new()
 : <a class="el" href="slice_8h.html#a85704b2e5f1c8d70e728e86ad6d1ca0a">slice.h</a>
 </li>
@@ -1700,6 +1736,18 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>grpc_slice_ref()
 : <a class="el" href="slice_8h.html#aaf6dd367abbe7883973588f411928c6e">slice.h</a>
 </li>
+<li>GRPC_SLICE_REF_BOTH
+: <a class="el" href="slice_8h.html#a4a42e5de5c07151adf96278ea466ef4da45eab2ea11c1b01d8ce88fe2595475ef">slice.h</a>
+</li>
+<li>GRPC_SLICE_REF_HEAD
+: <a class="el" href="slice_8h.html#a4a42e5de5c07151adf96278ea466ef4da66708668aef3ee159492da7c14d4e825">slice.h</a>
+</li>
+<li>GRPC_SLICE_REF_TAIL
+: <a class="el" href="slice_8h.html#a4a42e5de5c07151adf96278ea466ef4dafd9b13d6de6a33193be0aeee53915f01">slice.h</a>
+</li>
+<li>grpc_slice_ref_whom
+: <a class="el" href="slice_8h.html#a4a42e5de5c07151adf96278ea466ef4d">slice.h</a>
+</li>
 <li>grpc_slice_refcount
 : <a class="el" href="impl_2codegen_2slice_8h.html#acb7fc89ea8343fde6d0c09f1ea70dbc4">slice.h</a>
 </li>
@@ -1718,6 +1766,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>grpc_slice_split_tail()
 : <a class="el" href="slice_8h.html#a5aedc925ae6e2bae484fe82383fac025">slice.h</a>
 </li>
+<li>grpc_slice_split_tail_maybe_ref()
+: <a class="el" href="slice_8h.html#adf447cd644eb32cb42c5d6da21fcaf55">slice.h</a>
+</li>
 <li>GRPC_SLICE_START_PTR
 : <a class="el" href="impl_2codegen_2slice_8h.html#a8a15783c251cdeb18c3f8b0ad41d0352">slice.h</a>
 </li>
@@ -1868,6 +1919,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>grpc_version_string()
 : <a class="el" href="grpc_8h.html#a8bf40c680565d2d3b29b85e8a9e661f3">grpc.h</a>
 </li>
+<li>GRPC_WORKAROUND_ID_CRONET_COMPRESSION
+: <a class="el" href="workaround__list_8h.html#ade8be35fce7415c7234ac22d8b9ad9d2ad5634536a70e6bf3b14550dd26a66033">workaround_list.h</a>
+</li>
+<li>grpc_workaround_list
+: <a class="el" href="workaround__list_8h.html#ade8be35fce7415c7234ac22d8b9ad9d2">workaround_list.h</a>
+</li>
 <li>GRPC_WRITE_BUFFER_HINT
 : <a class="el" href="grpc__types_8h.html#adf29fd8b7df2ecc47d14a7f5a3a079c0">grpc_types.h</a>
 </li>
@@ -1893,7 +1950,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:58 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 4 - 7
core/globals_type.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -197,10 +197,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 : <a class="el" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_types.h</a>
 </li>
 <li>grpc_completion_queue_attributes
-: <a class="el" href="grpc_8h.html#a8113e2fd72a5fbb372d691a0c2206422">grpc.h</a>
+: <a class="el" href="grpc__types_8h.html#a8113e2fd72a5fbb372d691a0c2206422">grpc_types.h</a>
 </li>
 <li>grpc_completion_queue_factory
-: <a class="el" href="grpc_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc.h</a>
+: <a class="el" href="grpc__types_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_types.h</a>
 </li>
 <li>grpc_completion_type
 : <a class="el" href="grpc__types_8h.html#a70454b2958c92c1cd8feeaa45f157b74">grpc_types.h</a>
@@ -217,9 +217,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>grpc_exec_ctx
 : <a class="el" href="exec__ctx__fwd_8h.html#aabc6a414771ff6697446fc9d5d708057">exec_ctx_fwd.h</a>
 </li>
-<li>grpc_load_reporting_cost_context
-: <a class="el" href="load__reporting_8h.html#ad2110f7867820dc21471987555ba3e36">load_reporting.h</a>
-</li>
 <li>grpc_metadata
 : <a class="el" href="grpc__types_8h.html#a1da84eaead787d991c5a0c87aed7c30b">grpc_types.h</a>
 </li>
@@ -260,7 +257,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:58 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 7 - 3
core/gpr__slice_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -98,6 +98,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
 Macros</h2></td></tr>
 <tr class="memitem:aec9e3b59ce21312d75e3c11013f0adab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gpr__slice_8h.html#aec9e3b59ce21312d75e3c11013f0adab">GRPC_ALLOW_GPR_SLICE_FUNCTIONS</a>&#160;&#160;&#160;1</td></tr>
+<tr class="memdesc:aec9e3b59ce21312d75e3c11013f0adab"><td class="mdescLeft">&#160;</td><td class="mdescRight">WARNING: Please do not use this header.  <a href="#aec9e3b59ce21312d75e3c11013f0adab">More...</a><br/></td></tr>
 <tr class="separator:aec9e3b59ce21312d75e3c11013f0adab"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a80821e4a998847922c99171ec1b82d8a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gpr__slice_8h.html#a80821e4a998847922c99171ec1b82d8a">gpr_slice_refcount</a>&#160;&#160;&#160;<a class="el" href="structgrpc__slice__refcount.html">grpc_slice_refcount</a></td></tr>
 <tr class="separator:a80821e4a998847922c99171ec1b82d8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -559,12 +560,15 @@ Macros</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>WARNING: Please do not use this header. </p>
+<p>This was added as a temporary measure to not break some of the external projects that depend on gpr_slice_* functions. We are actively working on moving all the gpr_slice_* references to grpc_slice_* and this file will be removed </p>
+
 </div>
 </div>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 3 - 9
core/gpr__slice_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -125,12 +125,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#ifndef GRPC_IMPL_CODEGEN_GPR_SLICE_H</span></div>
 <div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_IMPL_CODEGEN_GPR_SLICE_H</span></div>
 <div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">/* WARNING: Please do not use this header. This was added as a temporary measure</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment"> * to not break some of the external projects that depend on gpr_slice_*</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment"> * functions. We are actively working on moving all the gpr_slice_* references</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment"> * to grpc_slice_* and this file will be removed</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment"> * */</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div>
 <div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">/* TODO (sreek) - Allowed by default but will be very soon turned off */</span></div>
 <div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="gpr__slice_8h.html#aec9e3b59ce21312d75e3c11013f0adab">   43</a></span>&#160;<span class="preprocessor">#define GRPC_ALLOW_GPR_SLICE_FUNCTIONS 1</span></div>
 <div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor"></span></div>
@@ -177,7 +171,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 18 - 4
core/gpr__types_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -96,18 +96,19 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="contents">
 <div class="textblock"><code>#include &lt;<a class="el" href="impl_2codegen_2port__platform_8h_source.html">grpc/impl/codegen/port_platform.h</a>&gt;</code><br/>
 <code>#include &lt;stddef.h&gt;</code><br/>
-<code>#include &lt;stdint.h&gt;</code><br/>
 </div>
 <p><a href="gpr__types_8h_source.html">Go to the source code of this file.</a></p>
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
 Data Structures</h2></td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgpr__timespec.html">gpr_timespec</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Analogous to struct timespec.  <a href="structgpr__timespec.html#details">More...</a><br/></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
 Typedefs</h2></td></tr>
 <tr class="memitem:a7dd12c72fcf53ebecfdfc13632914c45"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structgpr__timespec.html">gpr_timespec</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gpr__types_8h.html#a7dd12c72fcf53ebecfdfc13632914c45">gpr_timespec</a></td></tr>
+<tr class="memdesc:a7dd12c72fcf53ebecfdfc13632914c45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Analogous to struct timespec.  <a href="#a7dd12c72fcf53ebecfdfc13632914c45">More...</a><br/></td></tr>
 <tr class="separator:a7dd12c72fcf53ebecfdfc13632914c45"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
@@ -117,6 +118,7 @@ Enumerations</h2></td></tr>
 <a class="el" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a6f43783fbe61877c4b9f9b6767a28bf6">GPR_CLOCK_PRECISE</a>, 
 <a class="el" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a52f75e587240b7b44d3b8bc7fb3d5741">GPR_TIMESPAN</a>
  }</td></tr>
+<tr class="memdesc:a2441bd1fbe80e86ff741e0757725b281"><td class="mdescLeft">&#160;</td><td class="mdescRight">The clocks we support.  <a href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281">More...</a><br/></td></tr>
 <tr class="separator:a2441bd1fbe80e86ff741e0757725b281"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <h2 class="groupheader">Typedef Documentation</h2>
@@ -130,6 +132,9 @@ Enumerations</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Analogous to struct timespec. </p>
+<p>On some machines, absolute times may be in local time. </p>
+
 </div>
 </div>
 <h2 class="groupheader">Enumeration Type Documentation</h2>
@@ -142,14 +147,23 @@ Enumerations</h2></td></tr>
         </tr>
       </table>
 </div><div class="memdoc">
+
+<p>The clocks we support. </p>
 <table class="fieldtable">
 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a2441bd1fbe80e86ff741e0757725b281a6ddd11813c5172c7b3e0e46e5ce7f01c"></a>GPR_CLOCK_MONOTONIC</em>&#160;</td><td class="fielddoc">
+<p>Monotonic clock. </p>
+<p>Epoch undefined. Always moves forwards. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a2441bd1fbe80e86ff741e0757725b281a685c67eccb0b9e3de6311b1e1330a746"></a>GPR_CLOCK_REALTIME</em>&#160;</td><td class="fielddoc">
+<p>Realtime clock. </p>
+<p>May jump forwards or backwards. Settable by the system administrator. Has its epoch at 0:00:00 UTC 1 Jan 1970. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a2441bd1fbe80e86ff741e0757725b281a6f43783fbe61877c4b9f9b6767a28bf6"></a>GPR_CLOCK_PRECISE</em>&#160;</td><td class="fielddoc">
+<p>CPU cycle time obtained by rdtsc instruction on x86 platforms. </p>
+<p>Epoch undefined. Degrades to GPR_CLOCK_REALTIME on other platforms. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a2441bd1fbe80e86ff741e0757725b281a52f75e587240b7b44d3b8bc7fb3d5741"></a>GPR_TIMESPAN</em>&#160;</td><td class="fielddoc">
+<p>Unmeasurable clock type: no base, created by taking the difference between two times. </p>
 </td></tr>
 </table>
 
@@ -158,7 +172,7 @@ Enumerations</h2></td></tr>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 36 - 47
core/gpr__types_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -129,55 +129,44 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="impl_2codegen_2port__platform_8h.html">grpc/impl/codegen/port_platform.h</a>&gt;</span></div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div>
 <div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &lt;stddef.h&gt;</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* The clocks we support. */</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281">   47</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  <span class="comment">/* Monotonic clock. Epoch undefined. Always moves forwards. */</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a6ddd11813c5172c7b3e0e46e5ce7f01c">   49</a></span>&#160;  <a class="code" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a6ddd11813c5172c7b3e0e46e5ce7f01c">GPR_CLOCK_MONOTONIC</a> = 0,</div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <span class="comment">/* Realtime clock. May jump forwards or backwards. Settable by</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">     the system administrator. Has its epoch at 0:00:00 UTC 1 Jan 1970. */</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a685c67eccb0b9e3de6311b1e1330a746">   52</a></span>&#160;  <a class="code" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a685c67eccb0b9e3de6311b1e1330a746">GPR_CLOCK_REALTIME</a>,</div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  <span class="comment">/* CPU cycle time obtained by rdtsc instruction on x86 platforms. Epoch</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">     undefined. Degrades to GPR_CLOCK_REALTIME on other platforms. */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a6f43783fbe61877c4b9f9b6767a28bf6">   55</a></span>&#160;  <a class="code" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a6f43783fbe61877c4b9f9b6767a28bf6">GPR_CLOCK_PRECISE</a>,</div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  <span class="comment">/* Unmeasurable clock type: no base, created by taking the difference</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">     between two times */</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a52f75e587240b7b44d3b8bc7fb3d5741">   58</a></span>&#160;  <a class="code" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a52f75e587240b7b44d3b8bc7fb3d5741">GPR_TIMESPAN</a></div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;} <a class="code" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281">gpr_clock_type</a>;</div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">/* Analogous to struct timespec. On some machines, absolute times may be in</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment"> * local time. */</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="structgpr__timespec.html">   63</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgpr__timespec.html">gpr_timespec</a> {</div>
-<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structgpr__timespec.html#a6c4506fc66a7ee0a6bc87a9ae73a70cb">   64</a></span>&#160;  int64_t <a class="code" href="structgpr__timespec.html#a6c4506fc66a7ee0a6bc87a9ae73a70cb">tv_sec</a>;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="structgpr__timespec.html#afff378cc8cba33300d81f4a406240ff0">   65</a></span>&#160;  int32_t <a class="code" href="structgpr__timespec.html#afff378cc8cba33300d81f4a406240ff0">tv_nsec</a>;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="structgpr__timespec.html#a6dd26976820fa71a7c5a710d4c1845ff">   68</a></span>&#160;  <a class="code" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281">gpr_clock_type</a> <a class="code" href="structgpr__timespec.html#a6dd26976820fa71a7c5a710d4c1845ff">clock_type</a>;</div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;} <a class="code" href="gpr__types_8h.html#a7dd12c72fcf53ebecfdfc13632914c45">gpr_timespec</a>;</div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor"></span>}</div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_IMPL_CODEGEN_GPR_TYPES_H */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="structgpr__timespec_html_afff378cc8cba33300d81f4a406240ff0"><div class="ttname"><a href="structgpr__timespec.html#afff378cc8cba33300d81f4a406240ff0">gpr_timespec::tv_nsec</a></div><div class="ttdeci">int32_t tv_nsec</div><div class="ttdef"><b>Definition:</b> gpr_types.h:65</div></div>
-<div class="ttc" id="gpr__types_8h_html_a7dd12c72fcf53ebecfdfc13632914c45"><div class="ttname"><a href="gpr__types_8h.html#a7dd12c72fcf53ebecfdfc13632914c45">gpr_timespec</a></div><div class="ttdeci">struct gpr_timespec gpr_timespec</div></div>
-<div class="ttc" id="gpr__types_8h_html_a2441bd1fbe80e86ff741e0757725b281a52f75e587240b7b44d3b8bc7fb3d5741"><div class="ttname"><a href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a52f75e587240b7b44d3b8bc7fb3d5741">GPR_TIMESPAN</a></div><div class="ttdef"><b>Definition:</b> gpr_types.h:58</div></div>
-<div class="ttc" id="gpr__types_8h_html_a2441bd1fbe80e86ff741e0757725b281a6ddd11813c5172c7b3e0e46e5ce7f01c"><div class="ttname"><a href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a6ddd11813c5172c7b3e0e46e5ce7f01c">GPR_CLOCK_MONOTONIC</a></div><div class="ttdef"><b>Definition:</b> gpr_types.h:49</div></div>
-<div class="ttc" id="structgpr__timespec_html_a6dd26976820fa71a7c5a710d4c1845ff"><div class="ttname"><a href="structgpr__timespec.html#a6dd26976820fa71a7c5a710d4c1845ff">gpr_timespec::clock_type</a></div><div class="ttdeci">gpr_clock_type clock_type</div><div class="ttdoc">Against which clock was this time measured? (or GPR_TIMESPAN if this is a relative time meaure) ...</div><div class="ttdef"><b>Definition:</b> gpr_types.h:68</div></div>
-<div class="ttc" id="gpr__types_8h_html_a2441bd1fbe80e86ff741e0757725b281a685c67eccb0b9e3de6311b1e1330a746"><div class="ttname"><a href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a685c67eccb0b9e3de6311b1e1330a746">GPR_CLOCK_REALTIME</a></div><div class="ttdef"><b>Definition:</b> gpr_types.h:52</div></div>
-<div class="ttc" id="structgpr__timespec_html_a6c4506fc66a7ee0a6bc87a9ae73a70cb"><div class="ttname"><a href="structgpr__timespec.html#a6c4506fc66a7ee0a6bc87a9ae73a70cb">gpr_timespec::tv_sec</a></div><div class="ttdeci">int64_t tv_sec</div><div class="ttdef"><b>Definition:</b> gpr_types.h:64</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> gpr_types.h:63</div></div>
-<div class="ttc" id="gpr__types_8h_html_a2441bd1fbe80e86ff741e0757725b281"><div class="ttname"><a href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281">gpr_clock_type</a></div><div class="ttdeci">gpr_clock_type</div><div class="ttdef"><b>Definition:</b> gpr_types.h:47</div></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281">   46</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a6ddd11813c5172c7b3e0e46e5ce7f01c">   48</a></span>&#160;  <a class="code" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a6ddd11813c5172c7b3e0e46e5ce7f01c">GPR_CLOCK_MONOTONIC</a> = 0,</div>
+<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a685c67eccb0b9e3de6311b1e1330a746">   51</a></span>&#160;  <a class="code" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a685c67eccb0b9e3de6311b1e1330a746">GPR_CLOCK_REALTIME</a>,</div>
+<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a6f43783fbe61877c4b9f9b6767a28bf6">   54</a></span>&#160;  <a class="code" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a6f43783fbe61877c4b9f9b6767a28bf6">GPR_CLOCK_PRECISE</a>,</div>
+<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a52f75e587240b7b44d3b8bc7fb3d5741">   57</a></span>&#160;  <a class="code" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a52f75e587240b7b44d3b8bc7fb3d5741">GPR_TIMESPAN</a></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;} <a class="code" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281">gpr_clock_type</a>;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structgpr__timespec.html">   62</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgpr__timespec.html">gpr_timespec</a> {</div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="structgpr__timespec.html#a6c4506fc66a7ee0a6bc87a9ae73a70cb">   63</a></span>&#160;  int64_t <a class="code" href="structgpr__timespec.html#a6c4506fc66a7ee0a6bc87a9ae73a70cb">tv_sec</a>;</div>
+<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structgpr__timespec.html#afff378cc8cba33300d81f4a406240ff0">   64</a></span>&#160;  int32_t <a class="code" href="structgpr__timespec.html#afff378cc8cba33300d81f4a406240ff0">tv_nsec</a>;</div>
+<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="structgpr__timespec.html#a6dd26976820fa71a7c5a710d4c1845ff">   67</a></span>&#160;  <a class="code" href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281">gpr_clock_type</a> <a class="code" href="structgpr__timespec.html#a6dd26976820fa71a7c5a710d4c1845ff">clock_type</a>;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;} <a class="code" href="gpr__types_8h.html#a7dd12c72fcf53ebecfdfc13632914c45">gpr_timespec</a>;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor"></span>}</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_IMPL_CODEGEN_GPR_TYPES_H */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="structgpr__timespec_html_afff378cc8cba33300d81f4a406240ff0"><div class="ttname"><a href="structgpr__timespec.html#afff378cc8cba33300d81f4a406240ff0">gpr_timespec::tv_nsec</a></div><div class="ttdeci">int32_t tv_nsec</div><div class="ttdef"><b>Definition:</b> gpr_types.h:64</div></div>
+<div class="ttc" id="gpr__types_8h_html_a7dd12c72fcf53ebecfdfc13632914c45"><div class="ttname"><a href="gpr__types_8h.html#a7dd12c72fcf53ebecfdfc13632914c45">gpr_timespec</a></div><div class="ttdeci">struct gpr_timespec gpr_timespec</div><div class="ttdoc">Analogous to struct timespec. </div></div>
+<div class="ttc" id="gpr__types_8h_html_a2441bd1fbe80e86ff741e0757725b281a52f75e587240b7b44d3b8bc7fb3d5741"><div class="ttname"><a href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a52f75e587240b7b44d3b8bc7fb3d5741">GPR_TIMESPAN</a></div><div class="ttdoc">Unmeasurable clock type: no base, created by taking the difference between two times. </div><div class="ttdef"><b>Definition:</b> gpr_types.h:57</div></div>
+<div class="ttc" id="gpr__types_8h_html_a2441bd1fbe80e86ff741e0757725b281a6ddd11813c5172c7b3e0e46e5ce7f01c"><div class="ttname"><a href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a6ddd11813c5172c7b3e0e46e5ce7f01c">GPR_CLOCK_MONOTONIC</a></div><div class="ttdoc">Monotonic clock. </div><div class="ttdef"><b>Definition:</b> gpr_types.h:48</div></div>
+<div class="ttc" id="structgpr__timespec_html_a6dd26976820fa71a7c5a710d4c1845ff"><div class="ttname"><a href="structgpr__timespec.html#a6dd26976820fa71a7c5a710d4c1845ff">gpr_timespec::clock_type</a></div><div class="ttdeci">gpr_clock_type clock_type</div><div class="ttdoc">Against which clock was this time measured? (or GPR_TIMESPAN if this is a relative time meaure) ...</div><div class="ttdef"><b>Definition:</b> gpr_types.h:67</div></div>
+<div class="ttc" id="gpr__types_8h_html_a2441bd1fbe80e86ff741e0757725b281a685c67eccb0b9e3de6311b1e1330a746"><div class="ttname"><a href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a685c67eccb0b9e3de6311b1e1330a746">GPR_CLOCK_REALTIME</a></div><div class="ttdoc">Realtime clock. </div><div class="ttdef"><b>Definition:</b> gpr_types.h:51</div></div>
+<div class="ttc" id="structgpr__timespec_html_a6c4506fc66a7ee0a6bc87a9ae73a70cb"><div class="ttname"><a href="structgpr__timespec.html#a6c4506fc66a7ee0a6bc87a9ae73a70cb">gpr_timespec::tv_sec</a></div><div class="ttdeci">int64_t tv_sec</div><div class="ttdef"><b>Definition:</b> gpr_types.h:63</div></div>
+<div class="ttc" id="structgpr__timespec_html"><div class="ttname"><a href="structgpr__timespec.html">gpr_timespec</a></div><div class="ttdoc">Analogous to struct timespec. </div><div class="ttdef"><b>Definition:</b> gpr_types.h:62</div></div>
+<div class="ttc" id="gpr__types_8h_html_a2441bd1fbe80e86ff741e0757725b281"><div class="ttname"><a href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281">gpr_clock_type</a></div><div class="ttdeci">gpr_clock_type</div><div class="ttdoc">The clocks we support. </div><div class="ttdef"><b>Definition:</b> gpr_types.h:46</div></div>
 <div class="ttc" id="impl_2codegen_2port__platform_8h_html"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html">port_platform.h</a></div></div>
-<div class="ttc" id="gpr__types_8h_html_a2441bd1fbe80e86ff741e0757725b281a6f43783fbe61877c4b9f9b6767a28bf6"><div class="ttname"><a href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a6f43783fbe61877c4b9f9b6767a28bf6">GPR_CLOCK_PRECISE</a></div><div class="ttdef"><b>Definition:</b> gpr_types.h:55</div></div>
+<div class="ttc" id="gpr__types_8h_html_a2441bd1fbe80e86ff741e0757725b281a6f43783fbe61877c4b9f9b6767a28bf6"><div class="ttname"><a href="gpr__types_8h.html#a2441bd1fbe80e86ff741e0757725b281a6f43783fbe61877c4b9f9b6767a28bf6">GPR_CLOCK_PRECISE</a></div><div class="ttdoc">CPU cycle time obtained by rdtsc instruction on x86 platforms. </div><div class="ttdef"><b>Definition:</b> gpr_types.h:54</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 2 - 2
core/graph_legend.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -147,7 +147,7 @@ A yellow dashed arrow denotes a relation between a template instance and the tem
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:58 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 125 - 7
core/group__grpc__arg__keys.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -126,8 +126,14 @@ Macros</h2></td></tr>
 <tr class="memitem:gaf4574abe94c339c6f21163bca6e7b6b7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gaf4574abe94c339c6f21163bca6e7b6b7">GRPC_ARG_MAX_CONNECTION_AGE_GRACE_MS</a>&#160;&#160;&#160;&quot;grpc.max_connection_age_grace_ms&quot;</td></tr>
 <tr class="memdesc:gaf4574abe94c339c6f21163bca6e7b6b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grace period after the chennel reaches its max age.  <a href="#gaf4574abe94c339c6f21163bca6e7b6b7">More...</a><br/></td></tr>
 <tr class="separator:gaf4574abe94c339c6f21163bca6e7b6b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab195665836ae27c45748f5c4e5dc4057"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gab195665836ae27c45748f5c4e5dc4057">GRPC_ARG_ENABLE_PER_MESSAGE_COMPRESSION</a>&#160;&#160;&#160;&quot;grpc.per_message_compression&quot;</td></tr>
+<tr class="memdesc:gab195665836ae27c45748f5c4e5dc4057"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable support for per-message compression.  <a href="#gab195665836ae27c45748f5c4e5dc4057">More...</a><br/></td></tr>
+<tr class="separator:gab195665836ae27c45748f5c4e5dc4057"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga405daab19c0dceb2a64d0b1a77f8fe97"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#ga405daab19c0dceb2a64d0b1a77f8fe97">GRPC_ARG_ENABLE_DEADLINE_CHECKS</a>&#160;&#160;&#160;&quot;grpc.enable_deadline_checking&quot;</td></tr>
+<tr class="memdesc:ga405daab19c0dceb2a64d0b1a77f8fe97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable support for deadline checking.  <a href="#ga405daab19c0dceb2a64d0b1a77f8fe97">More...</a><br/></td></tr>
+<tr class="separator:ga405daab19c0dceb2a64d0b1a77f8fe97"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaecc45a63163796ca1bc5453938bdfb36"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gaecc45a63163796ca1bc5453938bdfb36">GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER</a>&#160;&#160;&#160;&quot;grpc.http2.initial_sequence_number&quot;</td></tr>
-<tr class="memdesc:gaecc45a63163796ca1bc5453938bdfb36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initial sequence number for http2 transports.  <a href="#gaecc45a63163796ca1bc5453938bdfb36">More...</a><br/></td></tr>
+<tr class="memdesc:gaecc45a63163796ca1bc5453938bdfb36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initial stream ID for http2 transports.  <a href="#gaecc45a63163796ca1bc5453938bdfb36">More...</a><br/></td></tr>
 <tr class="separator:gaecc45a63163796ca1bc5453938bdfb36"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gac02673f790cd2e8616e03aa010be67d6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gac02673f790cd2e8616e03aa010be67d6">GRPC_ARG_HTTP2_STREAM_LOOKAHEAD_BYTES</a>&#160;&#160;&#160;&quot;grpc.http2.lookahead_bytes&quot;</td></tr>
 <tr class="memdesc:gac02673f790cd2e8616e03aa010be67d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Amount to read ahead on individual streams.  <a href="#gac02673f790cd2e8616e03aa010be67d6">More...</a><br/></td></tr>
@@ -147,6 +153,9 @@ Macros</h2></td></tr>
 <tr class="memitem:gacc0d0f1d3d582d39fcfb7a835b730a6c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gacc0d0f1d3d582d39fcfb7a835b730a6c">GRPC_ARG_HTTP2_MIN_TIME_BETWEEN_PINGS_MS</a>&#160;&#160;&#160;&quot;grpc.http2.min_time_between_pings_ms&quot;</td></tr>
 <tr class="memdesc:gacc0d0f1d3d582d39fcfb7a835b730a6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum time (in milliseconds) between successive ping frames being sent.  <a href="#gacc0d0f1d3d582d39fcfb7a835b730a6c">More...</a><br/></td></tr>
 <tr class="separator:gacc0d0f1d3d582d39fcfb7a835b730a6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7797da9f3f5a1381484b2cabca1920fc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#ga7797da9f3f5a1381484b2cabca1920fc">GRPC_ARG_HTTP2_SCHEME</a>&#160;&#160;&#160;&quot;grpc.http2_scheme&quot;</td></tr>
+<tr class="memdesc:ga7797da9f3f5a1381484b2cabca1920fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Channel arg to override the http2 :scheme header.  <a href="#ga7797da9f3f5a1381484b2cabca1920fc">More...</a><br/></td></tr>
+<tr class="separator:ga7797da9f3f5a1381484b2cabca1920fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga401cc6c0e567cbbb8b689b091f92dc7e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#ga401cc6c0e567cbbb8b689b091f92dc7e">GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA</a>&#160;&#160;&#160;&quot;grpc.http2.max_pings_without_data&quot;</td></tr>
 <tr class="memdesc:ga401cc6c0e567cbbb8b689b091f92dc7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">How many pings can we send before needing to send a data frame or header frame? (0 indicates that an infinite number of pings can be sent without sending a data frame or header frame)  <a href="#ga401cc6c0e567cbbb8b689b091f92dc7e">More...</a><br/></td></tr>
 <tr class="separator:ga401cc6c0e567cbbb8b689b091f92dc7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -180,6 +189,9 @@ Macros</h2></td></tr>
 <tr class="memitem:gaf47b4048c11e4f8f4162f12c135c2da4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gaf47b4048c11e4f8f4162f12c135c2da4">GRPC_ARG_SECONDARY_USER_AGENT_STRING</a>&#160;&#160;&#160;&quot;grpc.secondary_user_agent&quot;</td></tr>
 <tr class="memdesc:gaf47b4048c11e4f8f4162f12c135c2da4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Secondary user agent: goes at the end of the user-agent metadata sent on each request.  <a href="#gaf47b4048c11e4f8f4162f12c135c2da4">More...</a><br/></td></tr>
 <tr class="separator:gaf47b4048c11e4f8f4162f12c135c2da4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad7d9d143858d8f5e138cf704b0082973"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gad7d9d143858d8f5e138cf704b0082973">GRPC_ARG_MIN_RECONNECT_BACKOFF_MS</a>&#160;&#160;&#160;&quot;grpc.min_reconnect_backoff_ms&quot;</td></tr>
+<tr class="memdesc:gad7d9d143858d8f5e138cf704b0082973"><td class="mdescLeft">&#160;</td><td class="mdescRight">The minimum time between subsequent connection attempts, in ms.  <a href="#gad7d9d143858d8f5e138cf704b0082973">More...</a><br/></td></tr>
+<tr class="separator:gad7d9d143858d8f5e138cf704b0082973"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gac978e84658bcda47633c5b81a80d0052"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gac978e84658bcda47633c5b81a80d0052">GRPC_ARG_MAX_RECONNECT_BACKOFF_MS</a>&#160;&#160;&#160;&quot;grpc.max_reconnect_backoff_ms&quot;</td></tr>
 <tr class="memdesc:gac978e84658bcda47633c5b81a80d0052"><td class="mdescLeft">&#160;</td><td class="mdescRight">The maximum time between subsequent connection attempts, in ms.  <a href="#gac978e84658bcda47633c5b81a80d0052">More...</a><br/></td></tr>
 <tr class="separator:gac978e84658bcda47633c5b81a80d0052"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -187,14 +199,16 @@ Macros</h2></td></tr>
 <tr class="memdesc:gaedb26c5ca7d3d279b81d12d9bf6dabc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">The time between the first and second connection attempts, in ms.  <a href="#gaedb26c5ca7d3d279b81d12d9bf6dabc6">More...</a><br/></td></tr>
 <tr class="separator:gaedb26c5ca7d3d279b81d12d9bf6dabc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga218bf55b665134a11baf07ada5980825"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#ga218bf55b665134a11baf07ada5980825">GRPC_SSL_TARGET_NAME_OVERRIDE_ARG</a>&#160;&#160;&#160;&quot;grpc.ssl_target_name_override&quot;</td></tr>
+<tr class="memdesc:ga218bf55b665134a11baf07ada5980825"><td class="mdescLeft">&#160;</td><td class="mdescRight">This <em>should</em> be used for testing only.  <a href="#ga218bf55b665134a11baf07ada5980825">More...</a><br/></td></tr>
 <tr class="separator:ga218bf55b665134a11baf07ada5980825"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga2a9e23d3fe81ae539ba655d2e49051c8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#ga2a9e23d3fe81ae539ba655d2e49051c8">GRPC_ARG_MAX_METADATA_SIZE</a>&#160;&#160;&#160;&quot;grpc.max_metadata_size&quot;</td></tr>
+<tr class="memdesc:ga2a9e23d3fe81ae539ba655d2e49051c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum metadata size, in bytes.  <a href="#ga2a9e23d3fe81ae539ba655d2e49051c8">More...</a><br/></td></tr>
 <tr class="separator:ga2a9e23d3fe81ae539ba655d2e49051c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga40e635cf00ea7a10c71ed71c03d97f23"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#ga40e635cf00ea7a10c71ed71c03d97f23">GRPC_ARG_ALLOW_REUSEPORT</a>&#160;&#160;&#160;&quot;grpc.so_reuseport&quot;</td></tr>
 <tr class="memdesc:ga40e635cf00ea7a10c71ed71c03d97f23"><td class="mdescLeft">&#160;</td><td class="mdescRight">If non-zero, allow the use of SO_REUSEPORT if it's available (default 1)  <a href="#ga40e635cf00ea7a10c71ed71c03d97f23">More...</a><br/></td></tr>
 <tr class="separator:ga40e635cf00ea7a10c71ed71c03d97f23"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaa8bb5c65808f9c340ba7e4dd4f9f0f39"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gaa8bb5c65808f9c340ba7e4dd4f9f0f39">GRPC_ARG_RESOURCE_QUOTA</a>&#160;&#160;&#160;&quot;grpc.resource_quota&quot;</td></tr>
-<tr class="memdesc:gaa8bb5c65808f9c340ba7e4dd4f9f0f39"><td class="mdescLeft">&#160;</td><td class="mdescRight">If non-zero, a pointer to a buffer pool (use grpc_resource_quota_arg_vtable to fetch an appropriate pointer arg vtable)  <a href="#gaa8bb5c65808f9c340ba7e4dd4f9f0f39">More...</a><br/></td></tr>
+<tr class="memdesc:gaa8bb5c65808f9c340ba7e4dd4f9f0f39"><td class="mdescLeft">&#160;</td><td class="mdescRight">If non-zero, a pointer to a buffer pool (a pointer of type grpc_resource_quota*).  <a href="#gaa8bb5c65808f9c340ba7e4dd4f9f0f39">More...</a><br/></td></tr>
 <tr class="separator:gaa8bb5c65808f9c340ba7e4dd4f9f0f39"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gab11602475264d01e0ea50f0ce376cdcd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gab11602475264d01e0ea50f0ce376cdcd">GRPC_ARG_EXPAND_WILDCARD_ADDRS</a>&#160;&#160;&#160;&quot;grpc.expand_wildcard_addrs&quot;</td></tr>
 <tr class="memdesc:gab11602475264d01e0ea50f0ce376cdcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">If non-zero, expand wildcard addresses to a list of local addresses.  <a href="#gab11602475264d01e0ea50f0ce376cdcd">More...</a><br/></td></tr>
@@ -215,13 +229,20 @@ Macros</h2></td></tr>
 <tr class="memdesc:ga3da556ec531495ace9f93b97c8c4f24b"><td class="mdescLeft">&#160;</td><td class="mdescRight">If non-zero, Cronet transport will coalesce packets to fewer frames when possible.  <a href="#ga3da556ec531495ace9f93b97c8c4f24b">More...</a><br/></td></tr>
 <tr class="separator:ga3da556ec531495ace9f93b97c8c4f24b"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga82582ed0fcd7d6b0090f9102d75c765a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#ga82582ed0fcd7d6b0090f9102d75c765a">GRPC_ARG_TCP_READ_CHUNK_SIZE</a>&#160;&#160;&#160;&quot;grpc.experimental.tcp_read_chunk_size&quot;</td></tr>
+<tr class="memdesc:ga82582ed0fcd7d6b0090f9102d75c765a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Channel arg (integer) setting how large a slice to try and read from the wire each time recvmsg (or equivalent) is called.  <a href="#ga82582ed0fcd7d6b0090f9102d75c765a">More...</a><br/></td></tr>
 <tr class="separator:ga82582ed0fcd7d6b0090f9102d75c765a"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga1f91c3aec64a436d29051c8d415b1053"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#ga1f91c3aec64a436d29051c8d415b1053">GRPC_TCP_DEFAULT_READ_SLICE_SIZE</a>&#160;&#160;&#160;8192</td></tr>
+<tr class="memdesc:ga1f91c3aec64a436d29051c8d415b1053"><td class="mdescLeft">&#160;</td><td class="mdescRight">Note this is not a "channel arg" key.  <a href="#ga1f91c3aec64a436d29051c8d415b1053">More...</a><br/></td></tr>
 <tr class="separator:ga1f91c3aec64a436d29051c8d415b1053"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gae55b7bd57a5344e0083eac4d06c2d51b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gae55b7bd57a5344e0083eac4d06c2d51b">GRPC_ARG_TCP_MIN_READ_CHUNK_SIZE</a>&#160;&#160;&#160;&quot;grpc.experimental.tcp_min_read_chunk_size&quot;</td></tr>
 <tr class="separator:gae55b7bd57a5344e0083eac4d06c2d51b"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gadeaad8ae5b50ee8d2fb44d289aeb223d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gadeaad8ae5b50ee8d2fb44d289aeb223d">GRPC_ARG_TCP_MAX_READ_CHUNK_SIZE</a>&#160;&#160;&#160;&quot;grpc.experimental.tcp_max_read_chunk_size&quot;</td></tr>
 <tr class="separator:gadeaad8ae5b50ee8d2fb44d289aeb223d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1768735fceeb8108a2f1eb12ea0a894e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#ga1768735fceeb8108a2f1eb12ea0a894e">GRPC_ARG_GRPCLB_CALL_TIMEOUT_MS</a>&#160;&#160;&#160;&quot;grpc.grpclb_timeout_ms&quot;</td></tr>
+<tr class="separator:ga1768735fceeb8108a2f1eb12ea0a894e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga618ddbf19fdd38d8f90b8f3d7cb5d481"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#ga618ddbf19fdd38d8f90b8f3d7cb5d481">GRPC_ARG_WORKAROUND_CRONET_COMPRESSION</a>&#160;&#160;&#160;&quot;grpc.workaround.cronet_compression&quot;</td></tr>
+<tr class="memdesc:ga618ddbf19fdd38d8f90b8f3d7cb5d481"><td class="mdescLeft">&#160;</td><td class="mdescRight">If non-zero, grpc server's cronet compression workaround will be enabled.  <a href="#ga618ddbf19fdd38d8f90b8f3d7cb5d481">More...</a><br/></td></tr>
+<tr class="separator:ga618ddbf19fdd38d8f90b8f3d7cb5d481"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <p>Channel argument keys. </p>
@@ -268,6 +289,21 @@ Macros</h2></td></tr>
 
 <p>If non-zero, enable census for tracing and stats collection. </p>
 
+</div>
+</div>
+<a class="anchor" id="ga405daab19c0dceb2a64d0b1a77f8fe97"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define GRPC_ARG_ENABLE_DEADLINE_CHECKS&#160;&#160;&#160;&quot;grpc.enable_deadline_checking&quot;</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Enable/disable support for deadline checking. </p>
+<p>Defaults to 1, unless GRPC_ARG_MINIMAL_STACK is enabled, in which case it defaults to 0 </p>
+
 </div>
 </div>
 <a class="anchor" id="gaae124ed1c6d60a08d0f56884e9442044"></a>
@@ -282,6 +318,21 @@ Macros</h2></td></tr>
 
 <p>If non-zero, enable load reporting. </p>
 
+</div>
+</div>
+<a class="anchor" id="gab195665836ae27c45748f5c4e5dc4057"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define GRPC_ARG_ENABLE_PER_MESSAGE_COMPRESSION&#160;&#160;&#160;&quot;grpc.per_message_compression&quot;</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Enable/disable support for per-message compression. </p>
+<p>Defaults to 1, unless GRPC_ARG_MINIMAL_STACK is enabled, in which case it defaults to 0. </p>
+
 </div>
 </div>
 <a class="anchor" id="gab11602475264d01e0ea50f0ce376cdcd"></a>
@@ -296,6 +347,18 @@ Macros</h2></td></tr>
 
 <p>If non-zero, expand wildcard addresses to a list of local addresses. </p>
 
+</div>
+</div>
+<a class="anchor" id="ga1768735fceeb8108a2f1eb12ea0a894e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define GRPC_ARG_GRPCLB_CALL_TIMEOUT_MS&#160;&#160;&#160;&quot;grpc.grpclb_timeout_ms&quot;</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
 </div>
 </div>
 <a class="anchor" id="ga0958b21ee82acd9c77de30a978c59fb2"></a>
@@ -366,7 +429,7 @@ Macros</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Initial sequence number for http2 transports. </p>
+<p>Initial stream ID for http2 transports. </p>
 <p>Int valued. </p>
 
 </div>
@@ -441,6 +504,20 @@ Macros</h2></td></tr>
 
 <p>Minimum time (in milliseconds) between successive ping frames being sent. </p>
 
+</div>
+</div>
+<a class="anchor" id="ga7797da9f3f5a1381484b2cabca1920fc"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define GRPC_ARG_HTTP2_SCHEME&#160;&#160;&#160;&quot;grpc.http2_scheme&quot;</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Channel arg to override the http2 :scheme header. </p>
+
 </div>
 </div>
 <a class="anchor" id="gac02673f790cd2e8616e03aa010be67d6"></a>
@@ -614,7 +691,8 @@ Macros</h2></td></tr>
         </tr>
       </table>
 </div><div class="memdoc">
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>For backward compatibility. </dd></dl>
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>For backward compatibility.</dd></dl>
+<p>Use GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH instead. </p>
 
 </div>
 </div>
@@ -628,6 +706,9 @@ Macros</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Maximum metadata size, in bytes. </p>
+<p>Note this limit applies to the max sum of all metadata key-value entries in a batch of headers. </p>
+
 </div>
 </div>
 <a class="anchor" id="ga813f94f9ac3174571dd712c96cdbbdc1"></a>
@@ -672,6 +753,20 @@ Macros</h2></td></tr>
 <p>Maximum message length that the channel can send. </p>
 <p>Int valued, bytes. -1 means unlimited. </p>
 
+</div>
+</div>
+<a class="anchor" id="gad7d9d143858d8f5e138cf704b0082973"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define GRPC_ARG_MIN_RECONNECT_BACKOFF_MS&#160;&#160;&#160;&quot;grpc.min_reconnect_backoff_ms&quot;</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>The minimum time between subsequent connection attempts, in ms. </p>
+
 </div>
 </div>
 <a class="anchor" id="ga17b79aacf3bbfb0bce6d29bf9867988b"></a>
@@ -713,7 +808,8 @@ Macros</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>If non-zero, a pointer to a buffer pool (use grpc_resource_quota_arg_vtable to fetch an appropriate pointer arg vtable) </p>
+<p>If non-zero, a pointer to a buffer pool (a pointer of type grpc_resource_quota*). </p>
+<p>(use <a class="el" href="grpc_8h.html#a3878872e5415c8b8f7765221a8dc961d" title="Fetch a vtable for a grpc_channel_arg that points to a grpc_resource_quota. ">grpc_resource_quota_arg_vtable()</a> to fetch an appropriate pointer arg vtable) </p>
 
 </div>
 </div>
@@ -811,6 +907,8 @@ Macros</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Channel arg (integer) setting how large a slice to try and read from the wire each time recvmsg (or equivalent) is called. </p>
+
 </div>
 </div>
 <a class="anchor" id="ga3da556ec531495ace9f93b97c8c4f24b"></a>
@@ -825,6 +923,20 @@ Macros</h2></td></tr>
 
 <p>If non-zero, Cronet transport will coalesce packets to fewer frames when possible. </p>
 
+</div>
+</div>
+<a class="anchor" id="ga618ddbf19fdd38d8f90b8f3d7cb5d481"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define GRPC_ARG_WORKAROUND_CRONET_COMPRESSION&#160;&#160;&#160;&quot;grpc.workaround.cronet_compression&quot;</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>If non-zero, grpc server's cronet compression workaround will be enabled. </p>
+
 </div>
 </div>
 <a class="anchor" id="ga33cd5668b4ebacb59b657f4674cc1cf5"></a>
@@ -882,6 +994,9 @@ Macros</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>This <em>should</em> be used for testing only. </p>
+<p>The caller of the secure_channel_create functions may override the target name used for SSL host name checking using this channel argument which is of type <em>GRPC_ARG_STRING</em>. If this argument is not specified, the name used for SSL host name checking will be the target parameter (assuming that the secure channel is an SSL channel). If this parameter is specified and the underlying is not an SSL channel, it will just be ignored. </p>
+
 </div>
 </div>
 <a class="anchor" id="ga1f91c3aec64a436d29051c8d415b1053"></a>
@@ -894,12 +1009,15 @@ Macros</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Note this is not a "channel arg" key. </p>
+<p>This is the default slice size to use when trying to read from the wire if the GRPC_ARG_TCP_READ_CHUNK_SIZE channel arg is unspecified. </p>
+
 </div>
 </div>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:58 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 2 - 2
core/grpc-error_8md.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 114 - 204
core/grpc_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,14 +82,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
   <div class="summary">
-<a href="#nested-classes">Data Structures</a> &#124;
 <a href="#define-members">Macros</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
 <a href="#enum-members">Enumerations</a> &#124;
 <a href="#func-members">Functions</a>  </div>
   <div class="headertitle">
@@ -107,42 +105,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div>
 <p><a href="grpc_8h_source.html">Go to the source code of this file.</a></p>
 <table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__completion__queue__attributes.html">grpc_completion_queue_attributes</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
 Macros</h2></td></tr>
-<tr class="memitem:a52497b2b6db8035126a8b45467a14d97"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#a52497b2b6db8035126a8b45467a14d97">GRPC_CQ_CURRENT_VERSION</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a52497b2b6db8035126a8b45467a14d97"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a7fa47963513b9ce50ca4006b9db94c5e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#a7fa47963513b9ce50ca4006b9db94c5e">GRPC_MAX_COMPLETION_QUEUE_PLUCKERS</a>&#160;&#160;&#160;6</td></tr>
 <tr class="memdesc:a7fa47963513b9ce50ca4006b9db94c5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum number of outstanding grpc_completion_queue_pluck executions per completion queue.  <a href="#a7fa47963513b9ce50ca4006b9db94c5e">More...</a><br/></td></tr>
 <tr class="separator:a7fa47963513b9ce50ca4006b9db94c5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:a8113e2fd72a5fbb372d691a0c2206422"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
-<a class="el" href="structgrpc__completion__queue__attributes.html">grpc_completion_queue_attributes</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#a8113e2fd72a5fbb372d691a0c2206422">grpc_completion_queue_attributes</a></td></tr>
-<tr class="separator:a8113e2fd72a5fbb372d691a0c2206422"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7598a0f60120f40389e6e264d23b88a6"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
-<a class="el" href="grpc_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a></td></tr>
-<tr class="memdesc:a7598a0f60120f40389e6e264d23b88a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">The completion queue factory structure is opaque to the callers of grpc.  <a href="#a7598a0f60120f40389e6e264d23b88a6">More...</a><br/></td></tr>
-<tr class="separator:a7598a0f60120f40389e6e264d23b88a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
 Enumerations</h2></td></tr>
-<tr class="memitem:a1d6272e15d32381a9ffa027cefd60bf8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#a1d6272e15d32381a9ffa027cefd60bf8">grpc_cq_completion_type</a> { <a class="el" href="grpc_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a3fccd6237614f711bfc1999438ed2676">GRPC_CQ_NEXT</a> = 1, 
-<a class="el" href="grpc_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a7ddd2051625309ecc657b658c021476a">GRPC_CQ_PLUCK</a>
- }</td></tr>
-<tr class="memdesc:a1d6272e15d32381a9ffa027cefd60bf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specifies the type of APIs to use to pop events from the completion queue.  <a href="grpc_8h.html#a1d6272e15d32381a9ffa027cefd60bf8">More...</a><br/></td></tr>
-<tr class="separator:a1d6272e15d32381a9ffa027cefd60bf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6f3d3ec662c2a8ac669c98163d511343"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343">grpc_cq_polling_type</a> { <a class="el" href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343afc366f1bf1fc412fafd97557bc0160c8">GRPC_CQ_DEFAULT_POLLING</a>, 
-<a class="el" href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343aa291aea150282f3a2366437d8fc93b11">GRPC_CQ_NON_LISTENING</a>, 
-<a class="el" href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343a30fe3e6720c740094d5295546e9bb849">GRPC_CQ_NON_POLLING</a>
- }</td></tr>
-<tr class="memdesc:a6f3d3ec662c2a8ac669c98163d511343"><td class="mdescLeft">&#160;</td><td class="mdescRight">Completion queues internally MAY maintain a set of file descriptors in a structure called 'pollset'.  <a href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343">More...</a><br/></td></tr>
-<tr class="separator:a6f3d3ec662c2a8ac669c98163d511343"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aab04022748000f50c2590230f985acbc"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#aab04022748000f50c2590230f985acbc">grpc_server_register_method_payload_handling</a> { <a class="el" href="grpc_8h.html#aab04022748000f50c2590230f985acbca366bf1a7d2e4cafb3a606436876a1555">GRPC_SRM_PAYLOAD_NONE</a>, 
 <a class="el" href="grpc_8h.html#aab04022748000f50c2590230f985acbcaf954872e80a453fe2fd41c81c3a2b7cf">GRPC_SRM_PAYLOAD_READ_INITIAL_BYTE_BUFFER</a>
  }</td></tr>
@@ -175,7 +145,7 @@ Functions</h2></td></tr>
 <tr class="memdesc:a62cdc0eb52e0d7742c2f1b72e4cb4850"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a string specifying what the 'g' in gRPC stands for.  <a href="#a62cdc0eb52e0d7742c2f1b72e4cb4850">More...</a><br/></td></tr>
 <tr class="separator:a62cdc0eb52e0d7742c2f1b72e4cb4850"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aa7e0ae56f1bbfd9746805bc0161f80bc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> const <br class="typebreak"/>
-<a class="el" href="grpc_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#aa7e0ae56f1bbfd9746805bc0161f80bc">grpc_completion_queue_factory_lookup</a> (const <a class="el" href="structgrpc__completion__queue__attributes.html">grpc_completion_queue_attributes</a> *attributes)</td></tr>
+<a class="el" href="grpc__types_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#aa7e0ae56f1bbfd9746805bc0161f80bc">grpc_completion_queue_factory_lookup</a> (const <a class="el" href="structgrpc__completion__queue__attributes.html">grpc_completion_queue_attributes</a> *attributes)</td></tr>
 <tr class="memdesc:aa7e0ae56f1bbfd9746805bc0161f80bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the completion queue factory based on the attributes.  <a href="#aa7e0ae56f1bbfd9746805bc0161f80bc">More...</a><br/></td></tr>
 <tr class="separator:aa7e0ae56f1bbfd9746805bc0161f80bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a687672b2c261e965286e36f66e3adbef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#a687672b2c261e965286e36f66e3adbef">grpc_completion_queue_create_for_next</a> (void *reserved)</td></tr>
@@ -184,9 +154,9 @@ Functions</h2></td></tr>
 <tr class="memitem:ae9ceac4996a8c73159e3dc8dd560b882"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#ae9ceac4996a8c73159e3dc8dd560b882">grpc_completion_queue_create_for_pluck</a> (void *reserved)</td></tr>
 <tr class="memdesc:ae9ceac4996a8c73159e3dc8dd560b882"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to create a completion queue with grpc_cq_completion_type of GRPC_CQ_PLUCK and grpc_cq_polling_type of GRPC_CQ_DEFAULT_POLLING.  <a href="#ae9ceac4996a8c73159e3dc8dd560b882">More...</a><br/></td></tr>
 <tr class="separator:ae9ceac4996a8c73159e3dc8dd560b882"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae1dc1e6cbb21d67a62db56ab8ef8c787"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#ae1dc1e6cbb21d67a62db56ab8ef8c787">grpc_completion_queue_create</a> (void *reserved)</td></tr>
-<tr class="memdesc:ae1dc1e6cbb21d67a62db56ab8ef8c787"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a completion queue.  <a href="#ae1dc1e6cbb21d67a62db56ab8ef8c787">More...</a><br/></td></tr>
-<tr class="separator:ae1dc1e6cbb21d67a62db56ab8ef8c787"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa47ec388be96d8b90e5dd6812234664c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#aa47ec388be96d8b90e5dd6812234664c">grpc_completion_queue_create</a> (const <a class="el" href="grpc__types_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a> *factory, const <a class="el" href="structgrpc__completion__queue__attributes.html">grpc_completion_queue_attributes</a> *attributes, void *reserved)</td></tr>
+<tr class="memdesc:aa47ec388be96d8b90e5dd6812234664c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a completion queue.  <a href="#aa47ec388be96d8b90e5dd6812234664c">More...</a><br/></td></tr>
+<tr class="separator:aa47ec388be96d8b90e5dd6812234664c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ab43d55077bcbeb324044d3dcd26a5c80"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="structgrpc__event.html">grpc_event</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#ab43d55077bcbeb324044d3dcd26a5c80">grpc_completion_queue_next</a> (<a class="el" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq, <a class="el" href="structgpr__timespec.html">gpr_timespec</a> deadline, void *reserved)</td></tr>
 <tr class="memdesc:ab43d55077bcbeb324044d3dcd26a5c80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocks until an event is available, the completion queue is being shut down, or deadline is reached.  <a href="#ab43d55077bcbeb324044d3dcd26a5c80">More...</a><br/></td></tr>
 <tr class="separator:ab43d55077bcbeb324044d3dcd26a5c80"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -211,6 +181,9 @@ Functions</h2></td></tr>
 <tr class="memitem:a783c4ef542c9899f3c2e02c2a956fd6d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="connectivity__state_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2">grpc_connectivity_state</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#a783c4ef542c9899f3c2e02c2a956fd6d">grpc_channel_check_connectivity_state</a> (<a class="el" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel, int try_to_connect)</td></tr>
 <tr class="memdesc:a783c4ef542c9899f3c2e02c2a956fd6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check the connectivity state of a channel.  <a href="#a783c4ef542c9899f3c2e02c2a956fd6d">More...</a><br/></td></tr>
 <tr class="separator:a783c4ef542c9899f3c2e02c2a956fd6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac325c84ef541bcf04697abcc5d167a51"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#ac325c84ef541bcf04697abcc5d167a51">grpc_channel_num_external_connectivity_watchers</a> (<a class="el" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel)</td></tr>
+<tr class="memdesc:ac325c84ef541bcf04697abcc5d167a51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of active "external connectivity state watchers" attached to a channel.  <a href="#ac325c84ef541bcf04697abcc5d167a51">More...</a><br/></td></tr>
+<tr class="separator:ac325c84ef541bcf04697abcc5d167a51"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a568bac9fe4004c1dd790e6569b918d2f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#a568bac9fe4004c1dd790e6569b918d2f">grpc_channel_watch_connectivity_state</a> (<a class="el" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel, <a class="el" href="connectivity__state_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2">grpc_connectivity_state</a> last_observed_state, <a class="el" href="structgpr__timespec.html">gpr_timespec</a> deadline, <a class="el" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq, void *tag)</td></tr>
 <tr class="memdesc:a568bac9fe4004c1dd790e6569b918d2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Watch for a change in connectivity state.  <a href="#a568bac9fe4004c1dd790e6569b918d2f">More...</a><br/></td></tr>
 <tr class="separator:a568bac9fe4004c1dd790e6569b918d2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -226,14 +199,15 @@ Functions</h2></td></tr>
 <tr class="memitem:ae97cac8dcbadf3b71c6ccb49fa938d8a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#ae97cac8dcbadf3b71c6ccb49fa938d8a">grpc_channel_create_registered_call</a> (<a class="el" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel, <a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *parent_call, uint32_t propagation_mask, <a class="el" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *completion_queue, void *registered_call_handle, <a class="el" href="structgpr__timespec.html">gpr_timespec</a> deadline, void *reserved)</td></tr>
 <tr class="memdesc:ae97cac8dcbadf3b71c6ccb49fa938d8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a call given a handle returned from grpc_channel_register_call.  <a href="#ae97cac8dcbadf3b71c6ccb49fa938d8a">More...</a><br/></td></tr>
 <tr class="separator:ae97cac8dcbadf3b71c6ccb49fa938d8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab8b0d5c78fb89f05bc43d349dae561be"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#ab8b0d5c78fb89f05bc43d349dae561be">grpc_call_arena_alloc</a> (<a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call, size_t size)</td></tr>
+<tr class="memdesc:ab8b0d5c78fb89f05bc43d349dae561be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate memory in the grpc_call arena: this memory is automatically discarded at call completion.  <a href="#ab8b0d5c78fb89f05bc43d349dae561be">More...</a><br/></td></tr>
+<tr class="separator:ab8b0d5c78fb89f05bc43d349dae561be"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a693db1327a74ba933ad5e2d26e410622"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#a693db1327a74ba933ad5e2d26e410622">grpc_call_start_batch</a> (<a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call, const <a class="el" href="structgrpc__op.html">grpc_op</a> *ops, size_t nops, void *tag, void *reserved)</td></tr>
 <tr class="memdesc:a693db1327a74ba933ad5e2d26e410622"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start a batch of operations defined in the array ops; when complete, post a completion of type 'tag' to the completion queue bound to the call.  <a href="#a693db1327a74ba933ad5e2d26e410622">More...</a><br/></td></tr>
 <tr class="separator:a693db1327a74ba933ad5e2d26e410622"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a96bc6ab4dac03f512a04ea6c19733289"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#a96bc6ab4dac03f512a04ea6c19733289">grpc_call_get_peer</a> (<a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call)</td></tr>
 <tr class="memdesc:a96bc6ab4dac03f512a04ea6c19733289"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a newly allocated string representing the endpoint to which this call is communicating with.  <a href="#a96bc6ab4dac03f512a04ea6c19733289">More...</a><br/></td></tr>
 <tr class="separator:a96bc6ab4dac03f512a04ea6c19733289"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad57686192158efcb53aa585a9772954d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#ad57686192158efcb53aa585a9772954d">grpc_call_set_load_reporting_cost_context</a> (<a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call, struct <a class="el" href="structgrpc__load__reporting__cost__context.html">grpc_load_reporting_cost_context</a> *context)</td></tr>
-<tr class="separator:ad57686192158efcb53aa585a9772954d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:afacf7bcca0bd15d1ae07fa1ff7b94dce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#afacf7bcca0bd15d1ae07fa1ff7b94dce">grpc_census_call_set_context</a> (<a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call, struct <a class="el" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *context)</td></tr>
 <tr class="memdesc:afacf7bcca0bd15d1ae07fa1ff7b94dce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set census context for a call; Must be called before first call to <a class="el" href="grpc_8h.html#a693db1327a74ba933ad5e2d26e410622" title="Start a batch of operations defined in the array ops; when complete, post a completion of type &#39;tag&#39; ...">grpc_call_start_batch()</a>.  <a href="#afacf7bcca0bd15d1ae07fa1ff7b94dce">More...</a><br/></td></tr>
 <tr class="separator:afacf7bcca0bd15d1ae07fa1ff7b94dce"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -256,14 +230,17 @@ Functions</h2></td></tr>
 <tr class="memdesc:a3af54515116727e18116883e64ee031e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close and destroy a grpc channel.  <a href="#a3af54515116727e18116883e64ee031e">More...</a><br/></td></tr>
 <tr class="separator:a3af54515116727e18116883e64ee031e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ada3c794f1c02477b0d71b12026dd0333"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#ada3c794f1c02477b0d71b12026dd0333">grpc_call_cancel</a> (<a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call, void *reserved)</td></tr>
-<tr class="memdesc:ada3c794f1c02477b0d71b12026dd0333"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by clients to cancel an RPC on the server.  <a href="#ada3c794f1c02477b0d71b12026dd0333">More...</a><br/></td></tr>
+<tr class="memdesc:ada3c794f1c02477b0d71b12026dd0333"><td class="mdescLeft">&#160;</td><td class="mdescRight">Error handling for grpc_call Most grpc_call functions return a grpc_error.  <a href="#ada3c794f1c02477b0d71b12026dd0333">More...</a><br/></td></tr>
 <tr class="separator:ada3c794f1c02477b0d71b12026dd0333"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a5c09d334ae49404386cc0b13559dbb4d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#a5c09d334ae49404386cc0b13559dbb4d">grpc_call_cancel_with_status</a> (<a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call, <a class="el" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> status, const char *description, void *reserved)</td></tr>
 <tr class="memdesc:a5c09d334ae49404386cc0b13559dbb4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by clients to cancel an RPC on the server.  <a href="#a5c09d334ae49404386cc0b13559dbb4d">More...</a><br/></td></tr>
 <tr class="separator:a5c09d334ae49404386cc0b13559dbb4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9100ad0aaa8125219bd7f80527de6753"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#a9100ad0aaa8125219bd7f80527de6753">grpc_call_destroy</a> (<a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call)</td></tr>
-<tr class="memdesc:a9100ad0aaa8125219bd7f80527de6753"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy a call.  <a href="#a9100ad0aaa8125219bd7f80527de6753">More...</a><br/></td></tr>
-<tr class="separator:a9100ad0aaa8125219bd7f80527de6753"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a37a3bcb24b22addd01a9d0881c5a438c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#a37a3bcb24b22addd01a9d0881c5a438c">grpc_call_ref</a> (<a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call)</td></tr>
+<tr class="memdesc:a37a3bcb24b22addd01a9d0881c5a438c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ref a call.  <a href="#a37a3bcb24b22addd01a9d0881c5a438c">More...</a><br/></td></tr>
+<tr class="separator:a37a3bcb24b22addd01a9d0881c5a438c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad94050d59c72fadfb22962ff40110e85"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#ad94050d59c72fadfb22962ff40110e85">grpc_call_unref</a> (<a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call)</td></tr>
+<tr class="memdesc:ad94050d59c72fadfb22962ff40110e85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unref a call.  <a href="#ad94050d59c72fadfb22962ff40110e85">More...</a><br/></td></tr>
+<tr class="separator:ad94050d59c72fadfb22962ff40110e85"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ad8472547ac3173e746b1e7980c1208b5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#ad8472547ac3173e746b1e7980c1208b5">grpc_server_request_call</a> (<a class="el" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server, <a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> **call, <a class="el" href="structgrpc__call__details.html">grpc_call_details</a> *details, <a class="el" href="structgrpc__metadata__array.html">grpc_metadata_array</a> *request_metadata, <a class="el" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq_bound_to_call, <a class="el" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq_for_notification, void *tag_new)</td></tr>
 <tr class="memdesc:ad8472547ac3173e746b1e7980c1208b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request notification of a new call.  <a href="#ad8472547ac3173e746b1e7980c1208b5">More...</a><br/></td></tr>
 <tr class="separator:ad8472547ac3173e746b1e7980c1208b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -279,9 +256,6 @@ Functions</h2></td></tr>
 <tr class="memitem:a098116a78dbf2f635a9934be014d2bd8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#a098116a78dbf2f635a9934be014d2bd8">grpc_server_register_completion_queue</a> (<a class="el" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server, <a class="el" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq, void *reserved)</td></tr>
 <tr class="memdesc:a098116a78dbf2f635a9934be014d2bd8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a completion queue with the server.  <a href="#a098116a78dbf2f635a9934be014d2bd8">More...</a><br/></td></tr>
 <tr class="separator:a098116a78dbf2f635a9934be014d2bd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8be1e6025540b47bfdbbf0ae059ec65d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#a8be1e6025540b47bfdbbf0ae059ec65d">grpc_server_register_non_listening_completion_queue</a> (<a class="el" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server, <a class="el" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *q, void *reserved)</td></tr>
-<tr class="memdesc:a8be1e6025540b47bfdbbf0ae059ec65d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a non-listening completion queue with the server.  <a href="#a8be1e6025540b47bfdbbf0ae059ec65d">More...</a><br/></td></tr>
-<tr class="separator:a8be1e6025540b47bfdbbf0ae059ec65d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a5ca4074294f4acbc5cf8c16208a871fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc_8h.html#a5ca4074294f4acbc5cf8c16208a871fc">grpc_server_add_insecure_http2_port</a> (<a class="el" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server, const char *addr)</td></tr>
 <tr class="memdesc:a5ca4074294f4acbc5cf8c16208a871fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a HTTP2 over plaintext over tcp listener.  <a href="#a5ca4074294f4acbc5cf8c16208a871fc">More...</a><br/></td></tr>
 <tr class="separator:a5ca4074294f4acbc5cf8c16208a871fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -330,18 +304,6 @@ Functions</h2></td></tr>
 <tr class="separator:a3878872e5415c8b8f7765221a8dc961d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="a52497b2b6db8035126a8b45467a14d97"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define GRPC_CQ_CURRENT_VERSION&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
 <a class="anchor" id="a7fa47963513b9ce50ca4006b9db94c5e"></a>
 <div class="memitem">
 <div class="memproto">
@@ -354,81 +316,9 @@ Functions</h2></td></tr>
 
 <p>Maximum number of outstanding grpc_completion_queue_pluck executions per completion queue. </p>
 
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="a8113e2fd72a5fbb372d691a0c2206422"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="structgrpc__completion__queue__attributes.html">grpc_completion_queue_attributes</a>  <a class="el" href="structgrpc__completion__queue__attributes.html">grpc_completion_queue_attributes</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a7598a0f60120f40389e6e264d23b88a6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="grpc_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a> <a class="el" href="grpc_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>The completion queue factory structure is opaque to the callers of grpc. </p>
-
 </div>
 </div>
 <h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="a1d6272e15d32381a9ffa027cefd60bf8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="grpc_8h.html#a1d6272e15d32381a9ffa027cefd60bf8">grpc_cq_completion_type</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Specifies the type of APIs to use to pop events from the completion queue. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a1d6272e15d32381a9ffa027cefd60bf8a3fccd6237614f711bfc1999438ed2676"></a>GRPC_CQ_NEXT</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a1d6272e15d32381a9ffa027cefd60bf8a7ddd2051625309ecc657b658c021476a"></a>GRPC_CQ_PLUCK</em>&#160;</td><td class="fielddoc">
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="a6f3d3ec662c2a8ac669c98163d511343"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343">grpc_cq_polling_type</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Completion queues internally MAY maintain a set of file descriptors in a structure called 'pollset'. </p>
-<p>This enum specifies if a completion queue has an associated pollset and any restrictions on the type of file descriptors that can be present in the pollset.</p>
-<p>I/O progress can only be made when <a class="el" href="grpc_8h.html#ab43d55077bcbeb324044d3dcd26a5c80" title="Blocks until an event is available, the completion queue is being shut down, or deadline is reached...">grpc_completion_queue_next()</a> or <a class="el" href="grpc_8h.html#a0292bf7a0c794771cd66766dc4b8276c" title="Blocks until an event with tag &#39;tag&#39; is available, the completion queue is being shutdown or deadline...">grpc_completion_queue_pluck()</a> are called on the completion queue (unless the grpc_cq_polling_type is GRPC_CQ_NON_POLLING) and hence it is very important to actively call these APIs </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a6f3d3ec662c2a8ac669c98163d511343afc366f1bf1fc412fafd97557bc0160c8"></a>GRPC_CQ_DEFAULT_POLLING</em>&#160;</td><td class="fielddoc">
-<p>The completion queue will have an associated pollset and there is no restriction on the type of file descriptors the pollset may contain. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a6f3d3ec662c2a8ac669c98163d511343aa291aea150282f3a2366437d8fc93b11"></a>GRPC_CQ_NON_LISTENING</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a6f3d3ec662c2a8ac669c98163d511343a30fe3e6720c740094d5295546e9bb849"></a>GRPC_CQ_NON_POLLING</em>&#160;</td><td class="fielddoc">
-</td></tr>
-</table>
-
-</div>
-</div>
 <a class="anchor" id="aab04022748000f50c2590230f985acbc"></a>
 <div class="memitem">
 <div class="memproto">
@@ -522,6 +412,34 @@ Functions</h2></td></tr>
 
 <p>Destroy the given completion queue alarm, cancelling it in the process. </p>
 
+</div>
+</div>
+<a class="anchor" id="ab8b0d5c78fb89f05bc43d349dae561be"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void* grpc_call_arena_alloc </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *&#160;</td>
+          <td class="paramname"><em>call</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>size</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Allocate memory in the grpc_call arena: this memory is automatically discarded at call completion. </p>
+
 </div>
 </div>
 <a class="anchor" id="ada3c794f1c02477b0d71b12026dd0333"></a>
@@ -548,8 +466,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Called by clients to cancel an RPC on the server. </p>
-<p>Can be called multiple times, from any thread. THREAD-SAFETY grpc_call_cancel and grpc_call_cancel_with_status are thread-safe, and can be called at any point before grpc_call_destroy is called. </p>
+<p>Error handling for grpc_call Most grpc_call functions return a grpc_error. </p>
+<p>If the error is not GRPC_OK then the operation failed due to some unsatisfied precondition. If a grpc_call fails, it's guaranteed that no change to the call state has been made. Called by clients to cancel an RPC on the server. Can be called multiple times, from any thread. THREAD-SAFETY grpc_call_cancel and grpc_call_cancel_with_status are thread-safe, and can be called at any point before grpc_call_unref is called. </p>
 
 </div>
 </div>
@@ -592,25 +510,6 @@ Functions</h2></td></tr>
 <p>Called by clients to cancel an RPC on the server. </p>
 <p>Can be called multiple times, from any thread. If a status has not been received for the call, set it to the status code and description passed in. Importantly, this function does not send status nor description to the remote endpoint. </p>
 
-</div>
-</div>
-<a class="anchor" id="a9100ad0aaa8125219bd7f80527de6753"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void grpc_call_destroy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *&#160;</td>
-          <td class="paramname"><em>call</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Destroy a call. </p>
-<p>THREAD SAFETY: grpc_call_destroy is thread-compatible </p>
-
 </div>
 </div>
 <a class="anchor" id="ad18a001bb19d54c4355875062777d21f"></a>
@@ -678,35 +577,28 @@ Functions</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Returns a newly allocated string representing the endpoint to which this call is communicating with. </p>
-<p>The string is in the uri format accepted by grpc_channel_create. The returned string should be disposed of with <a class="el" href="alloc_8h.html#a7f8641de6e80a37dd003d3100cc94bd7">gpr_free()</a>.</p>
+<p>The string is in the uri format accepted by grpc_channel_create. The returned string should be disposed of with <a class="el" href="alloc_8h.html#a7f8641de6e80a37dd003d3100cc94bd7" title="free ">gpr_free()</a>.</p>
 <p>WARNING: this value is never authenticated or subject to any security related code. It must not be used for any authentication related functionality. Instead, use grpc_auth_context. </p>
 
 </div>
 </div>
-<a class="anchor" id="ad57686192158efcb53aa585a9772954d"></a>
+<a class="anchor" id="a37a3bcb24b22addd01a9d0881c5a438c"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void grpc_call_set_load_reporting_cost_context </td>
+          <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void grpc_call_ref </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *&#160;</td>
-          <td class="paramname"><em>call</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">struct <a class="el" href="structgrpc__load__reporting__cost__context.html">grpc_load_reporting_cost_context</a> *&#160;</td>
-          <td class="paramname"><em>context</em>&#160;</td>
-        </tr>
-        <tr>
+          <td class="paramname"><em>call</em></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
+<p>Ref a call. </p>
+<p>THREAD SAFETY: grpc_call_unref is thread-compatible </p>
+
 </div>
 </div>
 <a class="anchor" id="a693db1327a74ba933ad5e2d26e410622"></a>
@@ -754,6 +646,25 @@ Functions</h2></td></tr>
 <p>Start a batch of operations defined in the array ops; when complete, post a completion of type 'tag' to the completion queue bound to the call. </p>
 <p>The order of ops specified in the batch has no significance. Only one operation of each type can be active at once in any given batch. If a call to grpc_call_start_batch returns GRPC_CALL_OK you must call grpc_completion_queue_next or grpc_completion_queue_pluck on the completion queue associated with 'call' for work to be performed. If a call to grpc_call_start_batch returns any value other than GRPC_CALL_OK it is guaranteed that no state associated with 'call' is changed and it is not appropriate to call grpc_completion_queue_next or grpc_completion_queue_pluck consequent to the failed grpc_call_start_batch call. THREAD SAFETY: access to grpc_call_start_batch in multi-threaded environment needs to be synchronized. As an optimization, you may synchronize batches containing just send operations independently from batches containing just receive operations. </p>
 
+</div>
+</div>
+<a class="anchor" id="ad94050d59c72fadfb22962ff40110e85"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void grpc_call_unref </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *&#160;</td>
+          <td class="paramname"><em>call</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Unref a call. </p>
+<p>THREAD SAFETY: grpc_call_unref is thread-compatible </p>
+
 </div>
 </div>
 <a class="anchor" id="aad6d8b3df48a43605558f86f1ad5c4fd"></a>
@@ -1017,6 +928,25 @@ Functions</h2></td></tr>
 
 <p>Return a newly allocated string representing the target a channel was created for. </p>
 
+</div>
+</div>
+<a class="anchor" id="ac325c84ef541bcf04697abcc5d167a51"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> int grpc_channel_num_external_connectivity_watchers </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *&#160;</td>
+          <td class="paramname"><em>channel</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Number of active "external connectivity state watchers" attached to a channel. </p>
+<p>Useful for testing. </p>
+
 </div>
 </div>
 <a class="anchor" id="acad1b47029ebf10f80e0db9423401c87"></a>
@@ -1146,16 +1076,32 @@ Functions</h2></td></tr>
 
 </div>
 </div>
-<a class="anchor" id="ae1dc1e6cbb21d67a62db56ab8ef8c787"></a>
+<a class="anchor" id="aa47ec388be96d8b90e5dd6812234664c"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
           <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a>* grpc_completion_queue_create </td>
           <td>(</td>
+          <td class="paramtype">const <a class="el" href="grpc__types_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a> *&#160;</td>
+          <td class="paramname"><em>factory</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="structgrpc__completion__queue__attributes.html">grpc_completion_queue_attributes</a> *&#160;</td>
+          <td class="paramname"><em>attributes</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
           <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>reserved</em></td><td>)</td>
+          <td class="paramname"><em>reserved</em>&#160;</td>
+        </tr>
+        <tr>
           <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
@@ -1224,7 +1170,7 @@ Functions</h2></td></tr>
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> const <a class="el" href="grpc_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a>* grpc_completion_queue_factory_lookup </td>
+          <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> const <a class="el" href="grpc__types_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a>* grpc_completion_queue_factory_lookup </td>
           <td>(</td>
           <td class="paramtype">const <a class="el" href="structgrpc__completion__queue__attributes.html">grpc_completion_queue_attributes</a> *&#160;</td>
           <td class="paramname"><em>attributes</em></td><td>)</td>
@@ -1834,42 +1780,6 @@ Functions</h2></td></tr>
 <p>Registers a method in the server. </p>
 <p>Methods to this (host, method) pair will not be reported by grpc_server_request_call, but instead be reported by grpc_server_request_registered_call when passed the appropriate registered_method (as returned by this function). Must be called before grpc_server_start. Returns NULL on failure. </p>
 
-</div>
-</div>
-<a class="anchor" id="a8be1e6025540b47bfdbbf0ae059ec65d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void grpc_server_register_non_listening_completion_queue </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *&#160;</td>
-          <td class="paramname"><em>server</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *&#160;</td>
-          <td class="paramname"><em>q</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>reserved</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Register a non-listening completion queue with the server. </p>
-<p>This API is similar to grpc_server_register_completion_queue except that the server will not use this completion_queue to listen to any incoming channels.</p>
-<p>Registering a non-listening completion queue will have negative performance impact and hence this API is not recommended for production use cases. </p>
-
 </div>
 </div>
 <a class="anchor" id="ad8472547ac3173e746b1e7980c1208b5"></a>
@@ -2125,7 +2035,7 @@ Functions</h2></td></tr>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 198 - 251
core/grpc_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -156,327 +156,274 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div>
 <div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="grpc_8h.html#a62cdc0eb52e0d7742c2f1b72e4cb4850">grpc_g_stands_for</a>(<span class="keywordtype">void</span>);</div>
 <div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="grpc_8h.html#a1d6272e15d32381a9ffa027cefd60bf8">   97</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <span class="comment">/* Events are popped out by calling grpc_completion_queue_next() API ONLY */</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="grpc_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a3fccd6237614f711bfc1999438ed2676">   99</a></span>&#160;  <a class="code" href="grpc_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a3fccd6237614f711bfc1999438ed2676">GRPC_CQ_NEXT</a> = 1,</div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  <span class="comment">/* Events are popped out by calling grpc_completion_queue_pluck() API ONLY */</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="grpc_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a7ddd2051625309ecc657b658c021476a">  102</a></span>&#160;  <a class="code" href="grpc_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a7ddd2051625309ecc657b658c021476a">GRPC_CQ_PLUCK</a></div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;} <a class="code" href="grpc_8h.html#a1d6272e15d32381a9ffa027cefd60bf8">grpc_cq_completion_type</a>;</div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343">  114</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
-<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343afc366f1bf1fc412fafd97557bc0160c8">  117</a></span>&#160;  <a class="code" href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343afc366f1bf1fc412fafd97557bc0160c8">GRPC_CQ_DEFAULT_POLLING</a>,</div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <span class="comment">/* Similar to GRPC_CQ_DEFAULT_POLLING except that the completion queues will</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="comment">     not contain any &#39;listening file descriptors&#39; (i.e file descriptors used to</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="comment">     listen to incoming channels) */</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343aa291aea150282f3a2366437d8fc93b11">  122</a></span>&#160;  <a class="code" href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343aa291aea150282f3a2366437d8fc93b11">GRPC_CQ_NON_LISTENING</a>,</div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  <span class="comment">/* The completion queue will not have an associated pollset. Note that</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="comment">     grpc_completion_queue_next() or grpc_completion_queue_pluck() MUST still be</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="comment">     called to pop events from the completion queue; it is not required to call</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="comment">     them actively to make I/O progress */</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343a30fe3e6720c740094d5295546e9bb849">  128</a></span>&#160;  <a class="code" href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343a30fe3e6720c740094d5295546e9bb849">GRPC_CQ_NON_POLLING</a></div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;} <a class="code" href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343">grpc_cq_polling_type</a>;</div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div>
-<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="grpc_8h.html#a52497b2b6db8035126a8b45467a14d97">  131</a></span>&#160;<span class="preprocessor">#define GRPC_CQ_CURRENT_VERSION 1</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="structgrpc__completion__queue__attributes.html">  132</a></span>&#160;<span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__completion__queue__attributes.html">grpc_completion_queue_attributes</a> {</div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  <span class="comment">/* The version number of this structure. More fields might be added to this</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="comment">     structure in future. */</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="structgrpc__completion__queue__attributes.html#a77193c57fac60071d907ceda3be64f72">  135</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="structgrpc__completion__queue__attributes.html#a77193c57fac60071d907ceda3be64f72">version</a>; <span class="comment">/* Set to GRPC_CQ_CURRENT_VERSION */</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="structgrpc__completion__queue__attributes.html#a088c45a02ce2162ac11979e453939f6e">  137</a></span>&#160;  <a class="code" href="grpc_8h.html#a1d6272e15d32381a9ffa027cefd60bf8">grpc_cq_completion_type</a> <a class="code" href="structgrpc__completion__queue__attributes.html#a088c45a02ce2162ac11979e453939f6e">cq_completion_type</a>;</div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="structgrpc__completion__queue__attributes.html#a9cfd2d6b5b395d9d8f8592b994c30575">  139</a></span>&#160;  <a class="code" href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343">grpc_cq_polling_type</a> <a class="code" href="structgrpc__completion__queue__attributes.html#a9cfd2d6b5b395d9d8f8592b994c30575">cq_polling_type</a>;</div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;} <a class="code" href="grpc_8h.html#a8113e2fd72a5fbb372d691a0c2206422">grpc_completion_queue_attributes</a>;</div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="grpc_8h.html#a7598a0f60120f40389e6e264d23b88a6">  143</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a> <a class="code" href="grpc_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a>;</div>
-<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keyword">const</span> <a class="code" href="grpc_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a> *</div>
-<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<a class="code" href="grpc_8h.html#aa7e0ae56f1bbfd9746805bc0161f80bc">grpc_completion_queue_factory_lookup</a>(</div>
-<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    <span class="keyword">const</span> <a class="code" href="structgrpc__completion__queue__attributes.html">grpc_completion_queue_attributes</a> *attributes);</div>
-<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *<a class="code" href="grpc_8h.html#a687672b2c261e965286e36f66e3adbef">grpc_completion_queue_create_for_next</a>(</div>
-<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    <span class="keywordtype">void</span> *reserved);</div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *<a class="code" href="grpc_8h.html#ae9ceac4996a8c73159e3dc8dd560b882">grpc_completion_queue_create_for_pluck</a>(</div>
-<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    <span class="keywordtype">void</span> *reserved);</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keyword">const</span> <a class="code" href="grpc__types_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a> *</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<a class="code" href="grpc_8h.html#aa7e0ae56f1bbfd9746805bc0161f80bc">grpc_completion_queue_factory_lookup</a>(</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    <span class="keyword">const</span> <a class="code" href="structgrpc__completion__queue__attributes.html">grpc_completion_queue_attributes</a> *attributes);</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *<a class="code" href="grpc_8h.html#a687672b2c261e965286e36f66e3adbef">grpc_completion_queue_create_for_next</a>(</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    <span class="keywordtype">void</span> *reserved);</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *<a class="code" href="grpc_8h.html#ae9ceac4996a8c73159e3dc8dd560b882">grpc_completion_queue_create_for_pluck</a>(</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="keywordtype">void</span> *reserved);</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *<a class="code" href="grpc_8h.html#aa47ec388be96d8b90e5dd6812234664c">grpc_completion_queue_create</a>(</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="keyword">const</span> <a class="code" href="grpc__types_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a> *factory,</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <span class="keyword">const</span> <a class="code" href="structgrpc__completion__queue__attributes.html">grpc_completion_queue_attributes</a> *attributes, <span class="keywordtype">void</span> *reserved);</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="structgrpc__event.html">grpc_event</a> <a class="code" href="grpc_8h.html#ab43d55077bcbeb324044d3dcd26a5c80">grpc_completion_queue_next</a>(<a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq,</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;                                              <a class="code" href="structgpr__timespec.html">gpr_timespec</a> deadline,</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;                                              <span class="keywordtype">void</span> *reserved);</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="structgrpc__event.html">grpc_event</a> <a class="code" href="grpc_8h.html#a0292bf7a0c794771cd66766dc4b8276c">grpc_completion_queue_pluck</a>(<a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq,</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;                                               <span class="keywordtype">void</span> *tag, <a class="code" href="structgpr__timespec.html">gpr_timespec</a> deadline,</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;                                               <span class="keywordtype">void</span> *reserved);</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div>
+<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="grpc_8h.html#a7fa47963513b9ce50ca4006b9db94c5e">  146</a></span>&#160;<span class="preprocessor">#define GRPC_MAX_COMPLETION_QUEUE_PLUCKERS 6</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a3e1097e9c970519e357eb556777315ec">grpc_completion_queue_shutdown</a>(<a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq);</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#af77734d6350953db5d730f7213aac639">grpc_completion_queue_destroy</a>(<a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq);</div>
 <div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div>
-<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *<a class="code" href="grpc_8h.html#ae1dc1e6cbb21d67a62db56ab8ef8c787">grpc_completion_queue_create</a>(<span class="keywordtype">void</span> *reserved);</div>
-<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;</div>
-<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="structgrpc__event.html">grpc_event</a> <a class="code" href="grpc_8h.html#ab43d55077bcbeb324044d3dcd26a5c80">grpc_completion_queue_next</a>(<a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq,</div>
-<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;                                              <a class="code" href="structgpr__timespec.html">gpr_timespec</a> deadline,</div>
-<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;                                              <span class="keywordtype">void</span> *reserved);</div>
-<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div>
-<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="structgrpc__event.html">grpc_event</a> <a class="code" href="grpc_8h.html#a0292bf7a0c794771cd66766dc4b8276c">grpc_completion_queue_pluck</a>(<a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq,</div>
-<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;                                               <span class="keywordtype">void</span> *tag, <a class="code" href="structgpr__timespec.html">gpr_timespec</a> deadline,</div>
-<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;                                               <span class="keywordtype">void</span> *reserved);</div>
-<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;</div>
-<div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="grpc_8h.html#a7fa47963513b9ce50ca4006b9db94c5e">  193</a></span>&#160;<span class="preprocessor">#define GRPC_MAX_COMPLETION_QUEUE_PLUCKERS 6</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a3e1097e9c970519e357eb556777315ec">grpc_completion_queue_shutdown</a>(<a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq);</div>
-<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;</div>
-<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#af77734d6350953db5d730f7213aac639">grpc_completion_queue_destroy</a>(<a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq);</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a09ce3d7fa6473ac1cb39692adf257a13">grpc_alarm</a> *<a class="code" href="grpc_8h.html#a74505bb522ecd43c21cb51651788c621">grpc_alarm_create</a>(<a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq,</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;                                      <a class="code" href="structgpr__timespec.html">gpr_timespec</a> deadline, <span class="keywordtype">void</span> *tag);</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#aaaf4d5c77eea32e58481b81d07561ba3">grpc_alarm_cancel</a>(<a class="code" href="grpc__types_8h.html#a09ce3d7fa6473ac1cb39692adf257a13">grpc_alarm</a> *alarm);</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a44294a352d5e6c2d23a213668e2a11cb">grpc_alarm_destroy</a>(<a class="code" href="grpc__types_8h.html#a09ce3d7fa6473ac1cb39692adf257a13">grpc_alarm</a> *alarm);</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="connectivity__state_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2">grpc_connectivity_state</a> <a class="code" href="grpc_8h.html#a783c4ef542c9899f3c2e02c2a956fd6d">grpc_channel_check_connectivity_state</a>(</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    <a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel, <span class="keywordtype">int</span> try_to_connect);</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">int</span> <a class="code" href="grpc_8h.html#ac325c84ef541bcf04697abcc5d167a51">grpc_channel_num_external_connectivity_watchers</a>(</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    <a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel);</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a568bac9fe4004c1dd790e6569b918d2f">grpc_channel_watch_connectivity_state</a>(</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    <a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel, <a class="code" href="connectivity__state_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2">grpc_connectivity_state</a> last_observed_state,</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    <a class="code" href="structgpr__timespec.html">gpr_timespec</a> deadline, <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq, <span class="keywordtype">void</span> *tag);</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *<a class="code" href="grpc_8h.html#a9686ae95702f8d696c134d3a3e02fa97">grpc_channel_create_call</a>(</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    <a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel, <a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *parent_call, uint32_t propagation_mask,</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *completion_queue, <a class="code" href="structgrpc__slice.html">grpc_slice</a> method,</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    <span class="keyword">const</span> <a class="code" href="structgrpc__slice.html">grpc_slice</a> *host, <a class="code" href="structgpr__timespec.html">gpr_timespec</a> deadline, <span class="keywordtype">void</span> *reserved);</div>
 <div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div>
-<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a09ce3d7fa6473ac1cb39692adf257a13">grpc_alarm</a> *<a class="code" href="grpc_8h.html#a74505bb522ecd43c21cb51651788c621">grpc_alarm_create</a>(<a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq,</div>
-<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;                                      <a class="code" href="structgpr__timespec.html">gpr_timespec</a> deadline, <span class="keywordtype">void</span> *tag);</div>
-<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div>
-<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#aaaf4d5c77eea32e58481b81d07561ba3">grpc_alarm_cancel</a>(<a class="code" href="grpc__types_8h.html#a09ce3d7fa6473ac1cb39692adf257a13">grpc_alarm</a> *alarm);</div>
-<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div>
-<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a44294a352d5e6c2d23a213668e2a11cb">grpc_alarm_destroy</a>(<a class="code" href="grpc__types_8h.html#a09ce3d7fa6473ac1cb39692adf257a13">grpc_alarm</a> *alarm);</div>
-<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;</div>
-<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="connectivity__state_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2">grpc_connectivity_state</a> <a class="code" href="grpc_8h.html#a783c4ef542c9899f3c2e02c2a956fd6d">grpc_channel_check_connectivity_state</a>(</div>
-<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel, <span class="keywordtype">int</span> try_to_connect);</div>
-<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;</div>
-<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a568bac9fe4004c1dd790e6569b918d2f">grpc_channel_watch_connectivity_state</a>(</div>
-<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    <a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel, <a class="code" href="connectivity__state_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2">grpc_connectivity_state</a> last_observed_state,</div>
-<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    <a class="code" href="structgpr__timespec.html">gpr_timespec</a> deadline, <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq, <span class="keywordtype">void</span> *tag);</div>
-<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;</div>
-<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *<a class="code" href="grpc_8h.html#a9686ae95702f8d696c134d3a3e02fa97">grpc_channel_create_call</a>(</div>
-<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    <a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel, <a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *parent_call, uint32_t propagation_mask,</div>
-<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *completion_queue, <a class="code" href="structgrpc__slice.html">grpc_slice</a> method,</div>
-<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    <span class="keyword">const</span> <a class="code" href="structgrpc__slice.html">grpc_slice</a> *host, <a class="code" href="structgpr__timespec.html">gpr_timespec</a> deadline, <span class="keywordtype">void</span> *reserved);</div>
-<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div>
-<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#acad1b47029ebf10f80e0db9423401c87">grpc_channel_ping</a>(<a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel, <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq,</div>
-<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;                               <span class="keywordtype">void</span> *tag, <span class="keywordtype">void</span> *reserved);</div>
-<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;</div>
-<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> *<a class="code" href="grpc_8h.html#af09cbd24340547542b6ec3300e973d62">grpc_channel_register_call</a>(<a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel,</div>
-<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;                                         <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="l00257"></a><span class="lineno">  257</span>&#160;                                         <span class="keywordtype">void</span> *reserved);</div>
-<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;</div>
-<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *<a class="code" href="grpc_8h.html#ae97cac8dcbadf3b71c6ccb49fa938d8a">grpc_channel_create_registered_call</a>(</div>
-<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    <a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel, <a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *parent_call, uint32_t propagation_mask,</div>
-<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *completion_queue, <span class="keywordtype">void</span> *registered_call_handle,</div>
-<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    <a class="code" href="structgpr__timespec.html">gpr_timespec</a> deadline, <span class="keywordtype">void</span> *reserved);</div>
-<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;</div>
-<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> <a class="code" href="grpc_8h.html#a693db1327a74ba933ad5e2d26e410622">grpc_call_start_batch</a>(<a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call,</div>
-<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;                                              <span class="keyword">const</span> <a class="code" href="structgrpc__op.html">grpc_op</a> *ops, <span class="keywordtype">size_t</span> nops,</div>
-<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;                                              <span class="keywordtype">void</span> *tag, <span class="keywordtype">void</span> *reserved);</div>
-<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;</div>
-<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">char</span> *<a class="code" href="grpc_8h.html#a96bc6ab4dac03f512a04ea6c19733289">grpc_call_get_peer</a>(<a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call);</div>
-<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div>
-<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="keyword">struct </span><a class="code" href="structgrpc__load__reporting__cost__context.html">grpc_load_reporting_cost_context</a>;</div>
-<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;</div>
-<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="comment">/* Associate costs contained in \a cost_context to \a call. */</span></div>
-<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#ad57686192158efcb53aa585a9772954d">grpc_call_set_load_reporting_cost_context</a>(</div>
-<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;    <a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call, <span class="keyword">struct</span> <a class="code" href="structgrpc__load__reporting__cost__context.html">grpc_load_reporting_cost_context</a> *context);</div>
-<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;</div>
-<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="keyword">struct </span><a class="code" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a>;</div>
-<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;</div>
-<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#afacf7bcca0bd15d1ae07fa1ff7b94dce">grpc_census_call_set_context</a>(<a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call,</div>
-<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;                                          <span class="keyword">struct</span> <a class="code" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *context);</div>
-<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;</div>
-<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keyword">struct </span><a class="code" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *<a class="code" href="grpc_8h.html#aad6d8b3df48a43605558f86f1ad5c4fd">grpc_census_call_get_context</a>(<a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call);</div>
-<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div>
-<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">char</span> *<a class="code" href="grpc_8h.html#aaa25111c739e1c01ae2d195a23079afd">grpc_channel_get_target</a>(<a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel);</div>
-<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;</div>
-<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#afacde78420397fae74276ec522bd4dba">grpc_channel_get_info</a>(<a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel,</div>
-<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;                                   <span class="keyword">const</span> <a class="code" href="structgrpc__channel__info.html">grpc_channel_info</a> *channel_info);</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#acad1b47029ebf10f80e0db9423401c87">grpc_channel_ping</a>(<a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel, <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq,</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;                               <span class="keywordtype">void</span> *tag, <span class="keywordtype">void</span> *reserved);</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> *<a class="code" href="grpc_8h.html#af09cbd24340547542b6ec3300e973d62">grpc_channel_register_call</a>(<a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel,</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;                                         <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="l00216"></a><span class="lineno">  216</span>&#160;                                         <span class="keywordtype">void</span> *reserved);</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *<a class="code" href="grpc_8h.html#ae97cac8dcbadf3b71c6ccb49fa938d8a">grpc_channel_create_registered_call</a>(</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    <a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel, <a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *parent_call, uint32_t propagation_mask,</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *completion_queue, <span class="keywordtype">void</span> *registered_call_handle,</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    <a class="code" href="structgpr__timespec.html">gpr_timespec</a> deadline, <span class="keywordtype">void</span> *reserved);</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> *<a class="code" href="grpc_8h.html#ab8b0d5c78fb89f05bc43d349dae561be">grpc_call_arena_alloc</a>(<a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call, <span class="keywordtype">size_t</span> size);</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> <a class="code" href="grpc_8h.html#a693db1327a74ba933ad5e2d26e410622">grpc_call_start_batch</a>(<a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call,</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;                                              <span class="keyword">const</span> <a class="code" href="structgrpc__op.html">grpc_op</a> *ops, <span class="keywordtype">size_t</span> nops,</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;                                              <span class="keywordtype">void</span> *tag, <span class="keywordtype">void</span> *reserved);</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">char</span> *<a class="code" href="grpc_8h.html#a96bc6ab4dac03f512a04ea6c19733289">grpc_call_get_peer</a>(<a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call);</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="keyword">struct </span><a class="code" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a>;</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#afacf7bcca0bd15d1ae07fa1ff7b94dce">grpc_census_call_set_context</a>(<a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call,</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;                                          <span class="keyword">struct</span> <a class="code" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *context);</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keyword">struct </span><a class="code" href="census_8h.html#a27fc8788690179599713226f1f054736">census_context</a> *<a class="code" href="grpc_8h.html#aad6d8b3df48a43605558f86f1ad5c4fd">grpc_census_call_get_context</a>(<a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call);</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">char</span> *<a class="code" href="grpc_8h.html#aaa25111c739e1c01ae2d195a23079afd">grpc_channel_get_target</a>(<a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel);</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#afacde78420397fae74276ec522bd4dba">grpc_channel_get_info</a>(<a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel,</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;                                   <span class="keyword">const</span> <a class="code" href="structgrpc__channel__info.html">grpc_channel_info</a> *channel_info);</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *<a class="code" href="grpc_8h.html#af41ff1c02a6c4bcf59d6b38daa95d5e4">grpc_insecure_channel_create</a>(</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *target, <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="l00288"></a><span class="lineno">  288</span>&#160;</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *<a class="code" href="grpc_8h.html#ab70a06437661ce737e0c4823cbbd73f3">grpc_lame_client_channel_create</a>(</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *target, <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> error_code, <span class="keyword">const</span> <span class="keywordtype">char</span> *error_message);</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a3af54515116727e18116883e64ee031e">grpc_channel_destroy</a>(<a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel);</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> <a class="code" href="grpc_8h.html#ada3c794f1c02477b0d71b12026dd0333">grpc_call_cancel</a>(<a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call, <span class="keywordtype">void</span> *reserved);</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> <a class="code" href="grpc_8h.html#a5c09d334ae49404386cc0b13559dbb4d">grpc_call_cancel_with_status</a>(<a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call,</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;                                                     <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> status,</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;                                                     <span class="keyword">const</span> <span class="keywordtype">char</span> *description,</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;                                                     <span class="keywordtype">void</span> *reserved);</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a37a3bcb24b22addd01a9d0881c5a438c">grpc_call_ref</a>(<a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call);</div>
 <div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;</div>
-<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *<a class="code" href="grpc_8h.html#af41ff1c02a6c4bcf59d6b38daa95d5e4">grpc_insecure_channel_create</a>(</div>
-<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *target, <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="l00331"></a><span class="lineno">  331</span>&#160;</div>
-<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *<a class="code" href="grpc_8h.html#ab70a06437661ce737e0c4823cbbd73f3">grpc_lame_client_channel_create</a>(</div>
-<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *target, <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> error_code, <span class="keyword">const</span> <span class="keywordtype">char</span> *error_message);</div>
-<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div>
-<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a3af54515116727e18116883e64ee031e">grpc_channel_destroy</a>(<a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *channel);</div>
-<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;</div>
-<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;<span class="comment">/* Error handling for grpc_call</span></div>
-<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<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="l00341"></a><span class="lineno">  341</span>&#160;<span class="comment">   then the operation failed due to some unsatisfied precondition.</span></div>
-<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="comment">   If a grpc_call fails, it&#39;s guaranteed that no change to the call state</span></div>
-<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;<span class="comment">   has been made. */</span></div>
-<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;</div>
-<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> <a class="code" href="grpc_8h.html#ada3c794f1c02477b0d71b12026dd0333">grpc_call_cancel</a>(<a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call, <span class="keywordtype">void</span> *reserved);</div>
-<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;</div>
-<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> <a class="code" href="grpc_8h.html#a5c09d334ae49404386cc0b13559dbb4d">grpc_call_cancel_with_status</a>(<a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call,</div>
-<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;                                                     <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> status,</div>
-<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;                                                     <span class="keyword">const</span> <span class="keywordtype">char</span> *description,</div>
-<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;                                                     <span class="keywordtype">void</span> *reserved);</div>
-<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;</div>
-<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a9100ad0aaa8125219bd7f80527de6753">grpc_call_destroy</a>(<a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call);</div>
-<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;</div>
-<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> <a class="code" href="grpc_8h.html#ad8472547ac3173e746b1e7980c1208b5">grpc_server_request_call</a>(</div>
-<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;    <a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server, <a class="code" href="grpc__types_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="l00377"></a><span class="lineno">  377</span>&#160;    <a class="code" href="structgrpc__metadata__array.html">grpc_metadata_array</a> *request_metadata,</div>
-<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;    <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq_bound_to_call,</div>
-<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;    <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq_for_notification, <span class="keywordtype">void</span> *tag_new);</div>
-<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;</div>
-<div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="grpc_8h.html#aab04022748000f50c2590230f985acbc">  382</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
-<div class="line"><a name="l00384"></a><span class="lineno"><a class="line" href="grpc_8h.html#aab04022748000f50c2590230f985acbca366bf1a7d2e4cafb3a606436876a1555">  384</a></span>&#160;  <a class="code" href="grpc_8h.html#aab04022748000f50c2590230f985acbca366bf1a7d2e4cafb3a606436876a1555">GRPC_SRM_PAYLOAD_NONE</a>,</div>
-<div class="line"><a name="l00386"></a><span class="lineno"><a class="line" href="grpc_8h.html#aab04022748000f50c2590230f985acbcaf954872e80a453fe2fd41c81c3a2b7cf">  386</a></span>&#160;  <a class="code" href="grpc_8h.html#aab04022748000f50c2590230f985acbcaf954872e80a453fe2fd41c81c3a2b7cf">GRPC_SRM_PAYLOAD_READ_INITIAL_BYTE_BUFFER</a></div>
-<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;} <a class="code" href="grpc_8h.html#aab04022748000f50c2590230f985acbc">grpc_server_register_method_payload_handling</a>;</div>
-<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;</div>
-<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> *<a class="code" href="grpc_8h.html#afdc7d1e04d9fa62641aeccfc732ea0bc">grpc_server_register_method</a>(</div>
-<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    <a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server, <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="l00398"></a><span class="lineno">  398</span>&#160;    <a class="code" href="grpc_8h.html#aab04022748000f50c2590230f985acbc">grpc_server_register_method_payload_handling</a> payload_handling,</div>
-<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;    uint32_t flags);</div>
-<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;</div>
-<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> <a class="code" href="grpc_8h.html#a0946b5fdc9c1d55de6f62e7a9335de25">grpc_server_request_registered_call</a>(</div>
-<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;    <a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server, <span class="keywordtype">void</span> *registered_method, <a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> **call,</div>
-<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;    <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="l00407"></a><span class="lineno">  407</span>&#160;    <a class="code" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a> **optional_payload,</div>
-<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;    <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq_bound_to_call,</div>
-<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;    <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq_for_notification, <span class="keywordtype">void</span> *tag_new);</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#ad94050d59c72fadfb22962ff40110e85">grpc_call_unref</a>(<a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call);</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> <a class="code" href="grpc_8h.html#ad8472547ac3173e746b1e7980c1208b5">grpc_server_request_call</a>(</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    <a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server, <a class="code" href="grpc__types_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="l00338"></a><span class="lineno">  338</span>&#160;    <a class="code" href="structgrpc__metadata__array.html">grpc_metadata_array</a> *request_metadata,</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;    <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq_bound_to_call,</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;    <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq_for_notification, <span class="keywordtype">void</span> *tag_new);</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;</div>
+<div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="grpc_8h.html#aab04022748000f50c2590230f985acbc">  343</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
+<div class="line"><a name="l00345"></a><span class="lineno"><a class="line" href="grpc_8h.html#aab04022748000f50c2590230f985acbca366bf1a7d2e4cafb3a606436876a1555">  345</a></span>&#160;  <a class="code" href="grpc_8h.html#aab04022748000f50c2590230f985acbca366bf1a7d2e4cafb3a606436876a1555">GRPC_SRM_PAYLOAD_NONE</a>,</div>
+<div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="grpc_8h.html#aab04022748000f50c2590230f985acbcaf954872e80a453fe2fd41c81c3a2b7cf">  347</a></span>&#160;  <a class="code" href="grpc_8h.html#aab04022748000f50c2590230f985acbcaf954872e80a453fe2fd41c81c3a2b7cf">GRPC_SRM_PAYLOAD_READ_INITIAL_BYTE_BUFFER</a></div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;} <a class="code" href="grpc_8h.html#aab04022748000f50c2590230f985acbc">grpc_server_register_method_payload_handling</a>;</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> *<a class="code" href="grpc_8h.html#afdc7d1e04d9fa62641aeccfc732ea0bc">grpc_server_register_method</a>(</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    <a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server, <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="l00359"></a><span class="lineno">  359</span>&#160;    <a class="code" href="grpc_8h.html#aab04022748000f50c2590230f985acbc">grpc_server_register_method_payload_handling</a> payload_handling,</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    uint32_t flags);</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> <a class="code" href="grpc_8h.html#a0946b5fdc9c1d55de6f62e7a9335de25">grpc_server_request_registered_call</a>(</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;    <a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server, <span class="keywordtype">void</span> *registered_method, <a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> **call,</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    <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="l00368"></a><span class="lineno">  368</span>&#160;    <a class="code" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a> **optional_payload,</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;    <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq_bound_to_call,</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;    <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq_for_notification, <span class="keywordtype">void</span> *tag_new);</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *<a class="code" href="grpc_8h.html#ab39d2a2fa68e430fec31facdfaca59ec">grpc_server_create</a>(<span class="keyword">const</span> <a class="code" href="structgrpc__channel__args.html">grpc_channel_args</a> *args,</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;                                        <span class="keywordtype">void</span> *reserved);</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a098116a78dbf2f635a9934be014d2bd8">grpc_server_register_completion_queue</a>(<a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server,</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;                                                   <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq,</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;                                                   <span class="keywordtype">void</span> *reserved);</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">int</span> <a class="code" href="grpc_8h.html#a5ca4074294f4acbc5cf8c16208a871fc">grpc_server_add_insecure_http2_port</a>(<a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server,</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;                                                <span class="keyword">const</span> <span class="keywordtype">char</span> *addr);</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#ab2213d7fae4c33c47c824266f268859c">grpc_server_start</a>(<a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server);</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a5950aea48195923a1f4f585b1ecb6ba0">grpc_server_shutdown_and_notify</a>(<a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server,</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;                                             <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq,</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;                                             <span class="keywordtype">void</span> *tag);</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#adedae229ffe970c9e4da9595319e0fcb">grpc_server_cancel_all_calls</a>(<a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server);</div>
 <div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;</div>
-<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *<a class="code" href="grpc_8h.html#ab39d2a2fa68e430fec31facdfaca59ec">grpc_server_create</a>(<span class="keyword">const</span> <a class="code" href="structgrpc__channel__args.html">grpc_channel_args</a> *args,</div>
-<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;                                        <span class="keywordtype">void</span> *reserved);</div>
-<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;</div>
-<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a098116a78dbf2f635a9934be014d2bd8">grpc_server_register_completion_queue</a>(<a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server,</div>
-<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;                                                   <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq,</div>
-<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;                                                   <span class="keywordtype">void</span> *reserved);</div>
-<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;</div>
-<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a8be1e6025540b47bfdbbf0ae059ec65d">grpc_server_register_non_listening_completion_queue</a>(</div>
-<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;    <a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server, <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *q, <span class="keywordtype">void</span> *reserved);</div>
-<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;</div>
-<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">int</span> <a class="code" href="grpc_8h.html#a5ca4074294f4acbc5cf8c16208a871fc">grpc_server_add_insecure_http2_port</a>(<a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server,</div>
-<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;                                                <span class="keyword">const</span> <span class="keywordtype">char</span> *addr);</div>
-<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;</div>
-<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#ab2213d7fae4c33c47c824266f268859c">grpc_server_start</a>(<a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server);</div>
-<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;</div>
-<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a5950aea48195923a1f4f585b1ecb6ba0">grpc_server_shutdown_and_notify</a>(<a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server,</div>
-<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;                                             <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> *cq,</div>
-<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;                                             <span class="keywordtype">void</span> *tag);</div>
-<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;</div>
-<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#adedae229ffe970c9e4da9595319e0fcb">grpc_server_cancel_all_calls</a>(<a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server);</div>
-<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;</div>
-<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a9d4171777584a2ff3380328a6b463a24">grpc_server_destroy</a>(<a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server);</div>
-<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;</div>
-<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">int</span> <a class="code" href="grpc_8h.html#a0bcbc8d69b256843facb8339d812ae2e">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="l00474"></a><span class="lineno">  474</span>&#160;</div>
-<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">int</span> <a class="code" href="grpc_8h.html#a25a24cbee66233b54eecb26ba3cd44ae">grpc_header_key_is_legal</a>(<a class="code" href="structgrpc__slice.html">grpc_slice</a> slice);</div>
-<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;</div>
-<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">int</span> <a class="code" href="grpc_8h.html#ac98bf44e113cc1430e6f1419b4b22cb0">grpc_header_nonbin_value_is_legal</a>(<a class="code" href="structgrpc__slice.html">grpc_slice</a> slice);</div>
-<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;</div>
-<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">int</span> <a class="code" href="grpc_8h.html#a63ace3b4e161d0b5667a5d11dfd602dc">grpc_is_binary_header</a>(<a class="code" href="structgrpc__slice.html">grpc_slice</a> slice);</div>
-<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;</div>
-<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="grpc_8h.html#aff94033db2c0a4c2486f8551399b17cd">grpc_call_error_to_string</a>(<a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> error);</div>
-<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;</div>
-<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a16d58b8d7c93609d01311b869f4a8d05">grpc_resource_quota</a> *<a class="code" href="grpc_8h.html#aaf12188fc8a1a4a686595606891a42af">grpc_resource_quota_create</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *trace_name);</div>
-<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;</div>
-<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#ab66f2f37d2688c0587d19c472a17dca0">grpc_resource_quota_ref</a>(<a class="code" href="grpc__types_8h.html#a16d58b8d7c93609d01311b869f4a8d05">grpc_resource_quota</a> *resource_quota);</div>
-<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;</div>
-<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a704afb1a7423e76a9b6264ba840ba54b">grpc_resource_quota_unref</a>(<a class="code" href="grpc__types_8h.html#a16d58b8d7c93609d01311b869f4a8d05">grpc_resource_quota</a> *resource_quota);</div>
-<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;</div>
-<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#aee71b01d5d8e91607258d01e1d15785d">grpc_resource_quota_resize</a>(<a class="code" href="grpc__types_8h.html#a16d58b8d7c93609d01311b869f4a8d05">grpc_resource_quota</a> *resource_quota,</div>
-<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;                                        <span class="keywordtype">size_t</span> new_size);</div>
-<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;</div>
-<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keyword">const</span> <a class="code" href="structgrpc__arg__pointer__vtable.html">grpc_arg_pointer_vtable</a> *<a class="code" href="grpc_8h.html#a3878872e5415c8b8f7765221a8dc961d">grpc_resource_quota_arg_vtable</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;</div>
-<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;<span class="preprocessor"></span>}</div>
-<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_GRPC_H */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="grpc__types_8h_html_a122f8f4f0a585396d993d9b55848f222"><div class="ttname"><a href="grpc__types_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_types.h:85</div></div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a9d4171777584a2ff3380328a6b463a24">grpc_server_destroy</a>(<a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server);</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">int</span> <a class="code" href="grpc_8h.html#a0bcbc8d69b256843facb8339d812ae2e">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="l00426"></a><span class="lineno">  426</span>&#160;</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">int</span> <a class="code" href="grpc_8h.html#a25a24cbee66233b54eecb26ba3cd44ae">grpc_header_key_is_legal</a>(<a class="code" href="structgrpc__slice.html">grpc_slice</a> slice);</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">int</span> <a class="code" href="grpc_8h.html#ac98bf44e113cc1430e6f1419b4b22cb0">grpc_header_nonbin_value_is_legal</a>(<a class="code" href="structgrpc__slice.html">grpc_slice</a> slice);</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">int</span> <a class="code" href="grpc_8h.html#a63ace3b4e161d0b5667a5d11dfd602dc">grpc_is_binary_header</a>(<a class="code" href="structgrpc__slice.html">grpc_slice</a> slice);</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="grpc_8h.html#aff94033db2c0a4c2486f8551399b17cd">grpc_call_error_to_string</a>(<a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> error);</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a16d58b8d7c93609d01311b869f4a8d05">grpc_resource_quota</a> *<a class="code" href="grpc_8h.html#aaf12188fc8a1a4a686595606891a42af">grpc_resource_quota_create</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *trace_name);</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#ab66f2f37d2688c0587d19c472a17dca0">grpc_resource_quota_ref</a>(<a class="code" href="grpc__types_8h.html#a16d58b8d7c93609d01311b869f4a8d05">grpc_resource_quota</a> *resource_quota);</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#a704afb1a7423e76a9b6264ba840ba54b">grpc_resource_quota_unref</a>(<a class="code" href="grpc__types_8h.html#a16d58b8d7c93609d01311b869f4a8d05">grpc_resource_quota</a> *resource_quota);</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc_8h.html#aee71b01d5d8e91607258d01e1d15785d">grpc_resource_quota_resize</a>(<a class="code" href="grpc__types_8h.html#a16d58b8d7c93609d01311b869f4a8d05">grpc_resource_quota</a> *resource_quota,</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;                                        <span class="keywordtype">size_t</span> new_size);</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keyword">const</span> <a class="code" href="structgrpc__arg__pointer__vtable.html">grpc_arg_pointer_vtable</a> *<a class="code" href="grpc_8h.html#a3878872e5415c8b8f7765221a8dc961d">grpc_resource_quota_arg_vtable</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;<span class="preprocessor"></span>}</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_GRPC_H */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="grpc__types_8h_html_a122f8f4f0a585396d993d9b55848f222"><div class="ttname"><a href="grpc__types_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_types.h:86</div></div>
 <div class="ttc" id="grpc_8h_html_a5c09d334ae49404386cc0b13559dbb4d"><div class="ttname"><a href="grpc_8h.html#a5c09d334ae49404386cc0b13559dbb4d">grpc_call_cancel_with_status</a></div><div class="ttdeci">GRPCAPI 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="grpc_8h_html_a5950aea48195923a1f4f585b1ecb6ba0"><div class="ttname"><a href="grpc_8h.html#a5950aea48195923a1f4f585b1ecb6ba0">grpc_server_shutdown_and_notify</a></div><div class="ttdeci">GRPCAPI 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_a687672b2c261e965286e36f66e3adbef"><div class="ttname"><a href="grpc_8h.html#a687672b2c261e965286e36f66e3adbef">grpc_completion_queue_create_for_next</a></div><div class="ttdeci">GRPCAPI grpc_completion_queue * grpc_completion_queue_create_for_next(void *reserved)</div><div class="ttdoc">Helper function to create a completion queue with grpc_cq_completion_type of GRPC_CQ_NEXT and grpc_cq...</div></div>
 <div class="ttc" id="grpc_8h_html_ab43d55077bcbeb324044d3dcd26a5c80"><div class="ttname"><a href="grpc_8h.html#ab43d55077bcbeb324044d3dcd26a5c80">grpc_completion_queue_next</a></div><div class="ttdeci">GRPCAPI 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="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_types.h:142</div></div>
-<div class="ttc" id="structgrpc__arg__pointer__vtable_html"><div class="ttname"><a href="structgrpc__arg__pointer__vtable.html">grpc_arg_pointer_vtable</a></div><div class="ttdef"><b>Definition:</b> grpc_types.h:100</div></div>
-<div class="ttc" id="grpc_8h_html_aab04022748000f50c2590230f985acbcaf954872e80a453fe2fd41c81c3a2b7cf"><div class="ttname"><a href="grpc_8h.html#aab04022748000f50c2590230f985acbcaf954872e80a453fe2fd41c81c3a2b7cf">GRPC_SRM_PAYLOAD_READ_INITIAL_BYTE_BUFFER</a></div><div class="ttdoc">Read the initial payload as a byte buffer. </div><div class="ttdef"><b>Definition:</b> grpc.h:386</div></div>
-<div class="ttc" id="grpc__types_8h_html_a432bfa6b9f6603643cdf9de8804c254e"><div class="ttname"><a href="grpc__types_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_types.h:77</div></div>
+<div class="ttc" id="grpc__types_8h_html_a7598a0f60120f40389e6e264d23b88a6"><div class="ttname"><a href="grpc__types_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a></div><div class="ttdeci">struct grpc_completion_queue_factory grpc_completion_queue_factory</div><div class="ttdoc">The completion queue factory structure is opaque to the callers of grpc. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:613</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_types.h:143</div></div>
+<div class="ttc" id="structgrpc__arg__pointer__vtable_html"><div class="ttname"><a href="structgrpc__arg__pointer__vtable.html">grpc_arg_pointer_vtable</a></div><div class="ttdef"><b>Definition:</b> grpc_types.h:101</div></div>
+<div class="ttc" id="grpc_8h_html_aab04022748000f50c2590230f985acbcaf954872e80a453fe2fd41c81c3a2b7cf"><div class="ttname"><a href="grpc_8h.html#aab04022748000f50c2590230f985acbcaf954872e80a453fe2fd41c81c3a2b7cf">GRPC_SRM_PAYLOAD_READ_INITIAL_BYTE_BUFFER</a></div><div class="ttdoc">Read the initial payload as a byte buffer. </div><div class="ttdef"><b>Definition:</b> grpc.h:347</div></div>
+<div class="ttc" id="grpc__types_8h_html_a432bfa6b9f6603643cdf9de8804c254e"><div class="ttname"><a href="grpc__types_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_types.h:78</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_aab04022748000f50c2590230f985acbc"><div class="ttname"><a href="grpc_8h.html#aab04022748000f50c2590230f985acbc">grpc_server_register_method_payload_handling</a></div><div class="ttdeci">grpc_server_register_method_payload_handling</div><div class="ttdoc">How to handle payloads for a registered method. </div><div class="ttdef"><b>Definition:</b> grpc.h:382</div></div>
+<div class="ttc" id="grpc_8h_html_aab04022748000f50c2590230f985acbc"><div class="ttname"><a href="grpc_8h.html#aab04022748000f50c2590230f985acbc">grpc_server_register_method_payload_handling</a></div><div class="ttdeci">grpc_server_register_method_payload_handling</div><div class="ttdoc">How to handle payloads for a registered method. </div><div class="ttdef"><b>Definition:</b> grpc.h:343</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="propagation__bits_8h_html"><div class="ttname"><a href="propagation__bits_8h.html">propagation_bits.h</a></div></div>
 <div class="ttc" id="grpc_8h_html_a098116a78dbf2f635a9934be014d2bd8"><div class="ttname"><a href="grpc_8h.html#a098116a78dbf2f635a9934be014d2bd8">grpc_server_register_completion_queue</a></div><div class="ttdeci">GRPCAPI 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="grpc_8h_html_a62cdc0eb52e0d7742c2f1b72e4cb4850"><div class="ttname"><a href="grpc_8h.html#a62cdc0eb52e0d7742c2f1b72e4cb4850">grpc_g_stands_for</a></div><div class="ttdeci">GRPCAPI const char * grpc_g_stands_for(void)</div><div class="ttdoc">Return a string specifying what the &#39;g&#39; in gRPC stands for. </div></div>
 <div class="ttc" id="grpc_8h_html_a8bf40c680565d2d3b29b85e8a9e661f3"><div class="ttname"><a href="grpc_8h.html#a8bf40c680565d2d3b29b85e8a9e661f3">grpc_version_string</a></div><div class="ttdeci">GRPCAPI 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="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_types.h:393</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_types.h:413</div></div>
 <div class="ttc" id="grpc_8h_html_acad1b47029ebf10f80e0db9423401c87"><div class="ttname"><a href="grpc_8h.html#acad1b47029ebf10f80e0db9423401c87">grpc_channel_ping</a></div><div class="ttdeci">GRPCAPI 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="grpc_8h_html_a44294a352d5e6c2d23a213668e2a11cb"><div class="ttname"><a href="grpc_8h.html#a44294a352d5e6c2d23a213668e2a11cb">grpc_alarm_destroy</a></div><div class="ttdeci">GRPCAPI 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="structgrpc__completion__queue__attributes_html_a088c45a02ce2162ac11979e453939f6e"><div class="ttname"><a href="structgrpc__completion__queue__attributes.html#a088c45a02ce2162ac11979e453939f6e">grpc_completion_queue_attributes::cq_completion_type</a></div><div class="ttdeci">grpc_cq_completion_type cq_completion_type</div><div class="ttdef"><b>Definition:</b> grpc.h:137</div></div>
-<div class="ttc" id="structgrpc__slice_html"><div class="ttname"><a href="structgrpc__slice.html">grpc_slice</a></div><div class="ttdef"><b>Definition:</b> slice.h:90</div></div>
-<div class="ttc" id="grpc_8h_html_ada3c794f1c02477b0d71b12026dd0333"><div class="ttname"><a href="grpc_8h.html#ada3c794f1c02477b0d71b12026dd0333">grpc_call_cancel</a></div><div class="ttdeci">GRPCAPI 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_ac325c84ef541bcf04697abcc5d167a51"><div class="ttname"><a href="grpc_8h.html#ac325c84ef541bcf04697abcc5d167a51">grpc_channel_num_external_connectivity_watchers</a></div><div class="ttdeci">GRPCAPI int grpc_channel_num_external_connectivity_watchers(grpc_channel *channel)</div><div class="ttdoc">Number of active &quot;external connectivity state watchers&quot; attached to a channel. </div></div>
+<div class="ttc" id="structgrpc__slice_html"><div class="ttname"><a href="structgrpc__slice.html">grpc_slice</a></div><div class="ttdoc">A grpc_slice s, if initialized, represents the byte range s.bytes[0..s.length-1]. ...</div><div class="ttdef"><b>Definition:</b> slice.h:91</div></div>
+<div class="ttc" id="grpc_8h_html_aa47ec388be96d8b90e5dd6812234664c"><div class="ttname"><a href="grpc_8h.html#aa47ec388be96d8b90e5dd6812234664c">grpc_completion_queue_create</a></div><div class="ttdeci">GRPCAPI grpc_completion_queue * grpc_completion_queue_create(const grpc_completion_queue_factory *factory, const grpc_completion_queue_attributes *attributes, void *reserved)</div><div class="ttdoc">Create a completion queue. </div></div>
+<div class="ttc" id="grpc_8h_html_ada3c794f1c02477b0d71b12026dd0333"><div class="ttname"><a href="grpc_8h.html#ada3c794f1c02477b0d71b12026dd0333">grpc_call_cancel</a></div><div class="ttdeci">GRPCAPI grpc_call_error grpc_call_cancel(grpc_call *call, void *reserved)</div><div class="ttdoc">Error handling for grpc_call Most grpc_call functions return a grpc_error. </div></div>
 <div class="ttc" id="grpc_8h_html_ad18a001bb19d54c4355875062777d21f"><div class="ttname"><a href="grpc_8h.html#ad18a001bb19d54c4355875062777d21f">grpc_call_details_destroy</a></div><div class="ttdeci">GRPCAPI void grpc_call_details_destroy(grpc_call_details *details)</div></div>
 <div class="ttc" id="grpc_8h_html_a704afb1a7423e76a9b6264ba840ba54b"><div class="ttname"><a href="grpc_8h.html#a704afb1a7423e76a9b6264ba840ba54b">grpc_resource_quota_unref</a></div><div class="ttdeci">GRPCAPI void grpc_resource_quota_unref(grpc_resource_quota *resource_quota)</div><div class="ttdoc">Drop a reference to a buffer pool. </div></div>
 <div class="ttc" id="grpc_8h_html_ab2213d7fae4c33c47c824266f268859c"><div class="ttname"><a href="grpc_8h.html#ab2213d7fae4c33c47c824266f268859c">grpc_server_start</a></div><div class="ttdeci">GRPCAPI 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_aaaf4d5c77eea32e58481b81d07561ba3"><div class="ttname"><a href="grpc_8h.html#aaaf4d5c77eea32e58481b81d07561ba3">grpc_alarm_cancel</a></div><div class="ttdeci">GRPCAPI void grpc_alarm_cancel(grpc_alarm *alarm)</div><div class="ttdoc">Cancel a completion queue alarm. </div></div>
-<div class="ttc" id="grpc__types_8h_html_a2bbbaad8f7a806f6c834b68c5dd916d8"><div class="ttname"><a href="grpc__types_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_types.h:80</div></div>
-<div class="ttc" id="grpc_8h_html_a8be1e6025540b47bfdbbf0ae059ec65d"><div class="ttname"><a href="grpc_8h.html#a8be1e6025540b47bfdbbf0ae059ec65d">grpc_server_register_non_listening_completion_queue</a></div><div class="ttdeci">GRPCAPI void grpc_server_register_non_listening_completion_queue(grpc_server *server, grpc_completion_queue *q, void *reserved)</div><div class="ttdoc">Register a non-listening completion queue with the server. </div></div>
+<div class="ttc" id="grpc__types_8h_html_a2bbbaad8f7a806f6c834b68c5dd916d8"><div class="ttname"><a href="grpc__types_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_types.h:81</div></div>
 <div class="ttc" id="grpc__types_8h_html"><div class="ttname"><a href="grpc__types_8h.html">grpc_types.h</a></div></div>
 <div class="ttc" id="grpc_8h_html_a3878872e5415c8b8f7765221a8dc961d"><div class="ttname"><a href="grpc_8h.html#a3878872e5415c8b8f7765221a8dc961d">grpc_resource_quota_arg_vtable</a></div><div class="ttdeci">GRPCAPI const grpc_arg_pointer_vtable * grpc_resource_quota_arg_vtable(void)</div><div class="ttdoc">Fetch a vtable for a grpc_channel_arg that points to a grpc_resource_quota. </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_types.h:410</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> grpc_types.h:55</div></div>
-<div class="ttc" id="grpc_8h_html_aab04022748000f50c2590230f985acbca366bf1a7d2e4cafb3a606436876a1555"><div class="ttname"><a href="grpc_8h.html#aab04022748000f50c2590230f985acbca366bf1a7d2e4cafb3a606436876a1555">GRPC_SRM_PAYLOAD_NONE</a></div><div class="ttdoc">Don&#39;t try to read the payload. </div><div class="ttdef"><b>Definition:</b> grpc.h:384</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_types.h:433</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> grpc_types.h:56</div></div>
+<div class="ttc" id="grpc_8h_html_aab04022748000f50c2590230f985acbca366bf1a7d2e4cafb3a606436876a1555"><div class="ttname"><a href="grpc_8h.html#aab04022748000f50c2590230f985acbca366bf1a7d2e4cafb3a606436876a1555">GRPC_SRM_PAYLOAD_NONE</a></div><div class="ttdoc">Don&#39;t try to read the payload. </div><div class="ttdef"><b>Definition:</b> grpc.h:345</div></div>
 <div class="ttc" id="grpc_8h_html_ad8472547ac3173e746b1e7980c1208b5"><div class="ttname"><a href="grpc_8h.html#ad8472547ac3173e746b1e7980c1208b5">grpc_server_request_call</a></div><div class="ttdeci">GRPCAPI 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_a96bc6ab4dac03f512a04ea6c19733289"><div class="ttname"><a href="grpc_8h.html#a96bc6ab4dac03f512a04ea6c19733289">grpc_call_get_peer</a></div><div class="ttdeci">GRPCAPI 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__metadata__array_html"><div class="ttname"><a href="structgrpc__metadata__array.html">grpc_metadata_array</a></div><div class="ttdef"><b>Definition:</b> grpc_types.h:404</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_types.h:427</div></div>
 <div class="ttc" id="grpc_8h_html_adedae229ffe970c9e4da9595319e0fcb"><div class="ttname"><a href="grpc_8h.html#adedae229ffe970c9e4da9595319e0fcb">grpc_server_cancel_all_calls</a></div><div class="ttdeci">GRPCAPI 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_a783c4ef542c9899f3c2e02c2a956fd6d"><div class="ttname"><a href="grpc_8h.html#a783c4ef542c9899f3c2e02c2a956fd6d">grpc_channel_check_connectivity_state</a></div><div class="ttdeci">GRPCAPI 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="grpc_8h_html_a6f3d3ec662c2a8ac669c98163d511343aa291aea150282f3a2366437d8fc93b11"><div class="ttname"><a href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343aa291aea150282f3a2366437d8fc93b11">GRPC_CQ_NON_LISTENING</a></div><div class="ttdef"><b>Definition:</b> grpc.h:122</div></div>
-<div class="ttc" id="structgrpc__completion__queue__attributes_html"><div class="ttname"><a href="structgrpc__completion__queue__attributes.html">grpc_completion_queue_attributes</a></div><div class="ttdef"><b>Definition:</b> grpc.h:132</div></div>
-<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785b"><div class="ttname"><a href="grpc__types_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_types.h:291</div></div>
-<div class="ttc" id="grpc_8h_html_ae1dc1e6cbb21d67a62db56ab8ef8c787"><div class="ttname"><a href="grpc_8h.html#ae1dc1e6cbb21d67a62db56ab8ef8c787">grpc_completion_queue_create</a></div><div class="ttdeci">GRPCAPI grpc_completion_queue * grpc_completion_queue_create(void *reserved)</div><div class="ttdoc">Create a completion queue. </div></div>
+<div class="ttc" id="structgrpc__completion__queue__attributes_html"><div class="ttname"><a href="structgrpc__completion__queue__attributes.html">grpc_completion_queue_attributes</a></div><div class="ttdef"><b>Definition:</b> grpc_types.h:602</div></div>
+<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785b"><div class="ttname"><a href="grpc__types_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_types.h:311</div></div>
 <div class="ttc" id="grpc_8h_html_aaa25111c739e1c01ae2d195a23079afd"><div class="ttname"><a href="grpc_8h.html#aaa25111c739e1c01ae2d195a23079afd">grpc_channel_get_target</a></div><div class="ttdeci">GRPCAPI 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_a63ace3b4e161d0b5667a5d11dfd602dc"><div class="ttname"><a href="grpc_8h.html#a63ace3b4e161d0b5667a5d11dfd602dc">grpc_is_binary_header</a></div><div class="ttdeci">GRPCAPI int grpc_is_binary_header(grpc_slice slice)</div><div class="ttdoc">Check whether a metadata key corresponds to a binary value. </div></div>
 <div class="ttc" id="connectivity__state_8h_html_a065b65f5cdd062a67d82e2b6bcf68cf2"><div class="ttname"><a href="connectivity__state_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> connectivity_state.h:42</div></div>
 <div class="ttc" id="grpc_8h_html_afacde78420397fae74276ec522bd4dba"><div class="ttname"><a href="grpc_8h.html#afacde78420397fae74276ec522bd4dba">grpc_channel_get_info</a></div><div class="ttdeci">GRPCAPI void grpc_channel_get_info(grpc_channel *channel, const grpc_channel_info *channel_info)</div><div class="ttdoc">Request info about the channel. </div></div>
 <div class="ttc" id="grpc_8h_html_afd22cfbc549db65ee265335c3264a57b"><div class="ttname"><a href="grpc_8h.html#afd22cfbc549db65ee265335c3264a57b">grpc_call_details_init</a></div><div class="ttdeci">GRPCAPI void grpc_call_details_init(grpc_call_details *details)</div></div>
-<div class="ttc" id="grpc_8h_html_a1d6272e15d32381a9ffa027cefd60bf8"><div class="ttname"><a href="grpc_8h.html#a1d6272e15d32381a9ffa027cefd60bf8">grpc_cq_completion_type</a></div><div class="ttdeci">grpc_cq_completion_type</div><div class="ttdoc">Specifies the type of APIs to use to pop events from the completion queue. </div><div class="ttdef"><b>Definition:</b> grpc.h:97</div></div>
 <div class="ttc" id="grpc_8h_html_ab70a06437661ce737e0c4823cbbd73f3"><div class="ttname"><a href="grpc_8h.html#ab70a06437661ce737e0c4823cbbd73f3">grpc_lame_client_channel_create</a></div><div class="ttdeci">GRPCAPI 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_afdc7d1e04d9fa62641aeccfc732ea0bc"><div class="ttname"><a href="grpc_8h.html#afdc7d1e04d9fa62641aeccfc732ea0bc">grpc_server_register_method</a></div><div class="ttdeci">GRPCAPI void * grpc_server_register_method(grpc_server *server, const char *method, const char *host, grpc_server_register_method_payload_handling payload_handling, uint32_t flags)</div><div class="ttdoc">Registers a method in the server. </div></div>
-<div class="ttc" id="grpc_8h_html_a1d6272e15d32381a9ffa027cefd60bf8a3fccd6237614f711bfc1999438ed2676"><div class="ttname"><a href="grpc_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a3fccd6237614f711bfc1999438ed2676">GRPC_CQ_NEXT</a></div><div class="ttdef"><b>Definition:</b> grpc.h:99</div></div>
 <div class="ttc" id="grpc_8h_html_ae97cac8dcbadf3b71c6ccb49fa938d8a"><div class="ttname"><a href="grpc_8h.html#ae97cac8dcbadf3b71c6ccb49fa938d8a">grpc_channel_create_registered_call</a></div><div class="ttdeci">GRPCAPI grpc_call * grpc_channel_create_registered_call(grpc_channel *channel, grpc_call *parent_call, uint32_t 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="grpc_8h_html_ab66f2f37d2688c0587d19c472a17dca0"><div class="ttname"><a href="grpc_8h.html#ab66f2f37d2688c0587d19c472a17dca0">grpc_resource_quota_ref</a></div><div class="ttdeci">GRPCAPI void grpc_resource_quota_ref(grpc_resource_quota *resource_quota)</div><div class="ttdoc">Add a reference to a buffer pool. </div></div>
 <div class="ttc" id="grpc_8h_html_a9d4171777584a2ff3380328a6b463a24"><div class="ttname"><a href="grpc_8h.html#a9d4171777584a2ff3380328a6b463a24">grpc_server_destroy</a></div><div class="ttdeci">GRPCAPI void grpc_server_destroy(grpc_server *server)</div><div class="ttdoc">Destroy a server. </div></div>
 <div class="ttc" id="grpc_8h_html_a9686ae95702f8d696c134d3a3e02fa97"><div class="ttname"><a href="grpc_8h.html#a9686ae95702f8d696c134d3a3e02fa97">grpc_channel_create_call</a></div><div class="ttdeci">GRPCAPI grpc_call * grpc_channel_create_call(grpc_channel *channel, grpc_call *parent_call, uint32_t propagation_mask, grpc_completion_queue *completion_queue, grpc_slice method, const grpc_slice *host, gpr_timespec deadline, void *reserved)</div><div class="ttdoc">Create a call given a grpc_channel, in order to call &#39;method&#39;. </div></div>
-<div class="ttc" id="grpc_8h_html_a6f3d3ec662c2a8ac669c98163d511343a30fe3e6720c740094d5295546e9bb849"><div class="ttname"><a href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343a30fe3e6720c740094d5295546e9bb849">GRPC_CQ_NON_POLLING</a></div><div class="ttdef"><b>Definition:</b> grpc.h:128</div></div>
 <div class="ttc" id="grpc_8h_html_a0c8d5a1d0d3b3e862c3a71fbb78e9b50"><div class="ttname"><a href="grpc_8h.html#a0c8d5a1d0d3b3e862c3a71fbb78e9b50">grpc_metadata_array_init</a></div><div class="ttdeci">GRPCAPI void grpc_metadata_array_init(grpc_metadata_array *array)</div></div>
 <div class="ttc" id="grpc_8h_html_aad6d8b3df48a43605558f86f1ad5c4fd"><div class="ttname"><a href="grpc_8h.html#aad6d8b3df48a43605558f86f1ad5c4fd">grpc_census_call_get_context</a></div><div class="ttdeci">GRPCAPI struct census_context * grpc_census_call_get_context(grpc_call *call)</div><div class="ttdoc">Retrieve the calls current census context. </div></div>
-<div class="ttc" id="structgrpc__load__reporting__cost__context_html"><div class="ttname"><a href="structgrpc__load__reporting__cost__context.html">grpc_load_reporting_cost_context</a></div><div class="ttdoc">A sequence of values for load reporting purposes. </div><div class="ttdef"><b>Definition:</b> load_reporting.h:54</div></div>
 <div class="ttc" id="grpc_8h_html_af77734d6350953db5d730f7213aac639"><div class="ttname"><a href="grpc_8h.html#af77734d6350953db5d730f7213aac639">grpc_completion_queue_destroy</a></div><div class="ttdeci">GRPCAPI void grpc_completion_queue_destroy(grpc_completion_queue *cq)</div><div class="ttdoc">Destroy a completion queue. </div></div>
 <div class="ttc" id="grpc_8h_html_aaf12188fc8a1a4a686595606891a42af"><div class="ttname"><a href="grpc_8h.html#aaf12188fc8a1a4a686595606891a42af">grpc_resource_quota_create</a></div><div class="ttdeci">GRPCAPI grpc_resource_quota * grpc_resource_quota_create(const char *trace_name)</div><div class="ttdoc">Create a buffer pool. </div></div>
 <div class="ttc" id="grpc_8h_html_a3af54515116727e18116883e64ee031e"><div class="ttname"><a href="grpc_8h.html#a3af54515116727e18116883e64ee031e">grpc_channel_destroy</a></div><div class="ttdeci">GRPCAPI void grpc_channel_destroy(grpc_channel *channel)</div><div class="ttdoc">Close and destroy a grpc channel. </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_types.h:467</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_types.h:488</div></div>
 <div class="ttc" id="grpc_8h_html_a5ca4074294f4acbc5cf8c16208a871fc"><div class="ttname"><a href="grpc_8h.html#a5ca4074294f4acbc5cf8c16208a871fc">grpc_server_add_insecure_http2_port</a></div><div class="ttdeci">GRPCAPI 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_aa7e0ae56f1bbfd9746805bc0161f80bc"><div class="ttname"><a href="grpc_8h.html#aa7e0ae56f1bbfd9746805bc0161f80bc">grpc_completion_queue_factory_lookup</a></div><div class="ttdeci">GRPCAPI const grpc_completion_queue_factory * grpc_completion_queue_factory_lookup(const grpc_completion_queue_attributes *attributes)</div><div class="ttdoc">Returns the completion queue factory based on the attributes. </div></div>
 <div class="ttc" id="grpc_8h_html_a3e1097e9c970519e357eb556777315ec"><div class="ttname"><a href="grpc_8h.html#a3e1097e9c970519e357eb556777315ec">grpc_completion_queue_shutdown</a></div><div class="ttdeci">GRPCAPI 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__types_8h_html_a09ce3d7fa6473ac1cb39692adf257a13"><div class="ttname"><a href="grpc__types_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_types.h:74</div></div>
-<div class="ttc" id="grpc_8h_html_a6f3d3ec662c2a8ac669c98163d511343afc366f1bf1fc412fafd97557bc0160c8"><div class="ttname"><a href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343afc366f1bf1fc412fafd97557bc0160c8">GRPC_CQ_DEFAULT_POLLING</a></div><div class="ttdoc">The completion queue will have an associated pollset and there is no restriction on the type of file ...</div><div class="ttdef"><b>Definition:</b> grpc.h:117</div></div>
+<div class="ttc" id="grpc__types_8h_html_a09ce3d7fa6473ac1cb39692adf257a13"><div class="ttname"><a href="grpc__types_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_types.h:75</div></div>
 <div class="ttc" id="grpc_8h_html_a573aed8e200997856a227c7eb798a185"><div class="ttname"><a href="grpc_8h.html#a573aed8e200997856a227c7eb798a185">grpc_init</a></div><div class="ttdeci">GRPCAPI void grpc_init(void)</div><div class="ttdoc">Initialize the grpc library. </div></div>
 <div class="ttc" id="grpc_8h_html_a74505bb522ecd43c21cb51651788c621"><div class="ttname"><a href="grpc_8h.html#a74505bb522ecd43c21cb51651788c621">grpc_alarm_create</a></div><div class="ttdeci">GRPCAPI 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_a6f3d3ec662c2a8ac669c98163d511343"><div class="ttname"><a href="grpc_8h.html#a6f3d3ec662c2a8ac669c98163d511343">grpc_cq_polling_type</a></div><div class="ttdeci">grpc_cq_polling_type</div><div class="ttdoc">Completion queues internally MAY maintain a set of file descriptors in a structure called &#39;pollset&#39;...</div><div class="ttdef"><b>Definition:</b> grpc.h:114</div></div>
 <div class="ttc" id="connectivity__state_8h_html"><div class="ttname"><a href="connectivity__state_8h.html">connectivity_state.h</a></div></div>
-<div class="ttc" id="impl_2codegen_2port__platform_8h_html_a2865c3b28ea7db75be4c725adb1edc7d"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a></div><div class="ttdeci">#define GRPCAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:414</div></div>
+<div class="ttc" id="impl_2codegen_2port__platform_8h_html_a2865c3b28ea7db75be4c725adb1edc7d"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a></div><div class="ttdeci">#define GRPCAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:420</div></div>
 <div class="ttc" id="grpc_8h_html_a60d82644a7c9d97ada453796b4b2f711"><div class="ttname"><a href="grpc_8h.html#a60d82644a7c9d97ada453796b4b2f711">grpc_metadata_array_destroy</a></div><div class="ttdeci">GRPCAPI void grpc_metadata_array_destroy(grpc_metadata_array *array)</div></div>
 <div class="ttc" id="grpc_8h_html_af41ff1c02a6c4bcf59d6b38daa95d5e4"><div class="ttname"><a href="grpc_8h.html#af41ff1c02a6c4bcf59d6b38daa95d5e4">grpc_insecure_channel_create</a></div><div class="ttdeci">GRPCAPI 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 &#39;target&#39;. </div></div>
 <div class="ttc" id="grpc_8h_html_a693db1327a74ba933ad5e2d26e410622"><div class="ttname"><a href="grpc_8h.html#a693db1327a74ba933ad5e2d26e410622">grpc_call_start_batch</a></div><div class="ttdeci">GRPCAPI 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 &#39;tag&#39; ...</div></div>
 <div class="ttc" id="grpc_8h_html_a35f55253e80714c17f4f3a0657e06f1b"><div class="ttname"><a href="grpc_8h.html#a35f55253e80714c17f4f3a0657e06f1b">grpc_shutdown</a></div><div class="ttdeci">GRPCAPI void grpc_shutdown(void)</div><div class="ttdoc">Shut down the grpc library. </div></div>
+<div class="ttc" id="grpc_8h_html_a37a3bcb24b22addd01a9d0881c5a438c"><div class="ttname"><a href="grpc_8h.html#a37a3bcb24b22addd01a9d0881c5a438c">grpc_call_ref</a></div><div class="ttdeci">GRPCAPI void grpc_call_ref(grpc_call *call)</div><div class="ttdoc">Ref a call. </div></div>
 <div class="ttc" id="grpc_8h_html_a568bac9fe4004c1dd790e6569b918d2f"><div class="ttname"><a href="grpc_8h.html#a568bac9fe4004c1dd790e6569b918d2f">grpc_channel_watch_connectivity_state</a></div><div class="ttdeci">GRPCAPI 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="grpc_8h_html_af09cbd24340547542b6ec3300e973d62"><div class="ttname"><a href="grpc_8h.html#af09cbd24340547542b6ec3300e973d62">grpc_channel_register_call</a></div><div class="ttdeci">GRPCAPI 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="grpc_8h_html_ab8b0d5c78fb89f05bc43d349dae561be"><div class="ttname"><a href="grpc_8h.html#ab8b0d5c78fb89f05bc43d349dae561be">grpc_call_arena_alloc</a></div><div class="ttdeci">GRPCAPI void * grpc_call_arena_alloc(grpc_call *call, size_t size)</div><div class="ttdoc">Allocate memory in the grpc_call arena: this memory is automatically discarded at call completion...</div></div>
 <div class="ttc" id="grpc_8h_html_ab39d2a2fa68e430fec31facdfaca59ec"><div class="ttname"><a href="grpc_8h.html#ab39d2a2fa68e430fec31facdfaca59ec">grpc_server_create</a></div><div class="ttdeci">GRPCAPI 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="status_8h_html"><div class="ttname"><a href="status_8h.html">status.h</a></div></div>
 <div class="ttc" id="grpc_8h_html_ac98bf44e113cc1430e6f1419b4b22cb0"><div class="ttname"><a href="grpc_8h.html#ac98bf44e113cc1430e6f1419b4b22cb0">grpc_header_nonbin_value_is_legal</a></div><div class="ttdeci">GRPCAPI int grpc_header_nonbin_value_is_legal(grpc_slice slice)</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_a8113e2fd72a5fbb372d691a0c2206422"><div class="ttname"><a href="grpc_8h.html#a8113e2fd72a5fbb372d691a0c2206422">grpc_completion_queue_attributes</a></div><div class="ttdeci">struct grpc_completion_queue_attributes grpc_completion_queue_attributes</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="structgrpc__channel__info_html"><div class="ttname"><a href="structgrpc__channel__info.html">grpc_channel_info</a></div><div class="ttdoc">Information requested from the channel. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:535</div></div>
-<div class="ttc" id="grpc_8h_html_a9100ad0aaa8125219bd7f80527de6753"><div class="ttname"><a href="grpc_8h.html#a9100ad0aaa8125219bd7f80527de6753">grpc_call_destroy</a></div><div class="ttdeci">GRPCAPI void grpc_call_destroy(grpc_call *call)</div><div class="ttdoc">Destroy a call. </div></div>
+<div class="ttc" id="structgrpc__channel__info_html"><div class="ttname"><a href="structgrpc__channel__info.html">grpc_channel_info</a></div><div class="ttdoc">Information requested from the channel. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:555</div></div>
+<div class="ttc" id="grpc_8h_html_ad94050d59c72fadfb22962ff40110e85"><div class="ttname"><a href="grpc_8h.html#ad94050d59c72fadfb22962ff40110e85">grpc_call_unref</a></div><div class="ttdeci">GRPCAPI void grpc_call_unref(grpc_call *call)</div><div class="ttdoc">Unref a call. </div></div>
 <div class="ttc" id="grpc_8h_html_a25a24cbee66233b54eecb26ba3cd44ae"><div class="ttname"><a href="grpc_8h.html#a25a24cbee66233b54eecb26ba3cd44ae">grpc_header_key_is_legal</a></div><div class="ttdeci">GRPCAPI int grpc_header_key_is_legal(grpc_slice slice)</div><div class="ttdoc">Check whether a metadata key is legal (will be accepted by core) </div></div>
-<div class="ttc" id="grpc__types_8h_html_a16d58b8d7c93609d01311b869f4a8d05"><div class="ttname"><a href="grpc__types_8h.html#a16d58b8d7c93609d01311b869f4a8d05">grpc_resource_quota</a></div><div class="ttdeci">struct grpc_resource_quota grpc_resource_quota</div><div class="ttdef"><b>Definition:</b> grpc_types.h:544</div></div>
-<div class="ttc" id="grpc_8h_html_a1d6272e15d32381a9ffa027cefd60bf8a7ddd2051625309ecc657b658c021476a"><div class="ttname"><a href="grpc_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a7ddd2051625309ecc657b658c021476a">GRPC_CQ_PLUCK</a></div><div class="ttdef"><b>Definition:</b> grpc.h:102</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> gpr_types.h:63</div></div>
+<div class="ttc" id="grpc__types_8h_html_a16d58b8d7c93609d01311b869f4a8d05"><div class="ttname"><a href="grpc__types_8h.html#a16d58b8d7c93609d01311b869f4a8d05">grpc_resource_quota</a></div><div class="ttdeci">struct grpc_resource_quota grpc_resource_quota</div><div class="ttdef"><b>Definition:</b> grpc_types.h:564</div></div>
+<div class="ttc" id="structgpr__timespec_html"><div class="ttname"><a href="structgpr__timespec.html">gpr_timespec</a></div><div class="ttdoc">Analogous to struct timespec. </div><div class="ttdef"><b>Definition:</b> gpr_types.h:62</div></div>
 <div class="ttc" id="grpc_8h_html_a0292bf7a0c794771cd66766dc4b8276c"><div class="ttname"><a href="grpc_8h.html#a0292bf7a0c794771cd66766dc4b8276c">grpc_completion_queue_pluck</a></div><div class="ttdeci">GRPCAPI 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 &#39;tag&#39; is available, the completion queue is being shutdown or deadline...</div></div>
 <div class="ttc" id="grpc_8h_html_afacf7bcca0bd15d1ae07fa1ff7b94dce"><div class="ttname"><a href="grpc_8h.html#afacf7bcca0bd15d1ae07fa1ff7b94dce">grpc_census_call_set_context</a></div><div class="ttdeci">GRPCAPI void grpc_census_call_set_context(grpc_call *call, struct census_context *context)</div><div class="ttdoc">Set census context for a call; Must be called before first call to grpc_call_start_batch(). </div></div>
 <div class="ttc" id="grpc_8h_html_ae9ceac4996a8c73159e3dc8dd560b882"><div class="ttname"><a href="grpc_8h.html#ae9ceac4996a8c73159e3dc8dd560b882">grpc_completion_queue_create_for_pluck</a></div><div class="ttdeci">GRPCAPI grpc_completion_queue * grpc_completion_queue_create_for_pluck(void *reserved)</div><div class="ttdoc">Helper function to create a completion queue with grpc_cq_completion_type of GRPC_CQ_PLUCK and grpc_c...</div></div>
-<div class="ttc" id="grpc_8h_html_a7598a0f60120f40389e6e264d23b88a6"><div class="ttname"><a href="grpc_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a></div><div class="ttdeci">struct grpc_completion_queue_factory grpc_completion_queue_factory</div><div class="ttdoc">The completion queue factory structure is opaque to the callers of grpc. </div><div class="ttdef"><b>Definition:</b> grpc.h:143</div></div>
 <div class="ttc" id="grpc_8h_html_a0946b5fdc9c1d55de6f62e7a9335de25"><div class="ttname"><a href="grpc_8h.html#a0946b5fdc9c1d55de6f62e7a9335de25">grpc_server_request_registered_call</a></div><div class="ttdeci">GRPCAPI 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__types_8h_html_a895faab0e6035445750e43482651ba2f"><div class="ttname"><a href="grpc__types_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_types.h:71</div></div>
+<div class="ttc" id="grpc__types_8h_html_a895faab0e6035445750e43482651ba2f"><div class="ttname"><a href="grpc__types_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_types.h:72</div></div>
 <div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eb"><div class="ttname"><a href="impl_2codegen_2status_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_a0bcbc8d69b256843facb8339d812ae2e"><div class="ttname"><a href="grpc_8h.html#a0bcbc8d69b256843facb8339d812ae2e">grpc_tracer_set_enabled</a></div><div class="ttdeci">GRPCAPI 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_afb2c29a4f1805be6903261d6f4cfefd0"><div class="ttname"><a href="grpc_8h.html#afb2c29a4f1805be6903261d6f4cfefd0">grpc_register_plugin</a></div><div class="ttdeci">GRPCAPI 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="structgrpc__completion__queue__attributes_html_a9cfd2d6b5b395d9d8f8592b994c30575"><div class="ttname"><a href="structgrpc__completion__queue__attributes.html#a9cfd2d6b5b395d9d8f8592b994c30575">grpc_completion_queue_attributes::cq_polling_type</a></div><div class="ttdeci">grpc_cq_polling_type cq_polling_type</div><div class="ttdef"><b>Definition:</b> grpc.h:139</div></div>
 <div class="ttc" id="grpc_8h_html_aee71b01d5d8e91607258d01e1d15785d"><div class="ttname"><a href="grpc_8h.html#aee71b01d5d8e91607258d01e1d15785d">grpc_resource_quota_resize</a></div><div class="ttdeci">GRPCAPI void grpc_resource_quota_resize(grpc_resource_quota *resource_quota, size_t new_size)</div><div class="ttdoc">Update the size of a buffer pool. </div></div>
-<div class="ttc" id="grpc_8h_html_ad57686192158efcb53aa585a9772954d"><div class="ttname"><a href="grpc_8h.html#ad57686192158efcb53aa585a9772954d">grpc_call_set_load_reporting_cost_context</a></div><div class="ttdeci">GRPCAPI void grpc_call_set_load_reporting_cost_context(grpc_call *call, struct grpc_load_reporting_cost_context *context)</div></div>
 <div class="ttc" id="grpc_8h_html_aff94033db2c0a4c2486f8551399b17cd"><div class="ttname"><a href="grpc_8h.html#aff94033db2c0a4c2486f8551399b17cd">grpc_call_error_to_string</a></div><div class="ttdeci">GRPCAPI const char * grpc_call_error_to_string(grpc_call_error error)</div><div class="ttdoc">Convert grpc_call_error values to a string. </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">A Census Context is a handle used by Census to represent the current tracing and stats collection inf...</div><div class="ttdef"><b>Definition:</b> census.h:83</div></div>
-<div class="ttc" id="structgrpc__completion__queue__attributes_html_a77193c57fac60071d907ceda3be64f72"><div class="ttname"><a href="structgrpc__completion__queue__attributes.html#a77193c57fac60071d907ceda3be64f72">grpc_completion_queue_attributes::version</a></div><div class="ttdeci">int version</div><div class="ttdef"><b>Definition:</b> grpc.h:135</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 3 - 3
core/grpc__posix_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -208,7 +208,7 @@ Functions</h2></td></tr>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 7 - 7
core/grpc__posix_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -150,17 +150,17 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_GRPC_POSIX_H */</span><span class="preprocessor"></span></div>
 <div class="ttc" id="grpc__posix_8h_html_a0dd4f6903c0919775d45189990067d14"><div class="ttname"><a href="grpc__posix_8h.html#a0dd4f6903c0919775d45189990067d14">grpc_use_signal</a></div><div class="ttdeci">GRPCAPI void grpc_use_signal(int signum)</div><div class="ttdoc">GRPC Core POSIX library may internally use signals to optimize some work. </div></div>
 <div class="ttc" id="grpc__posix_8h_html_ae01dba904905ef6ad2298f4a85233a41"><div class="ttname"><a href="grpc__posix_8h.html#ae01dba904905ef6ad2298f4a85233a41">grpc_insecure_channel_create_from_fd</a></div><div class="ttdeci">GRPCAPI grpc_channel * grpc_insecure_channel_create_from_fd(const char *target, int fd, const grpc_channel_args *args)</div><div class="ttdoc">Create a client channel to &#39;target&#39; using file descriptor &#39;fd&#39;. </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_types.h:142</div></div>
-<div class="ttc" id="grpc__types_8h_html_a432bfa6b9f6603643cdf9de8804c254e"><div class="ttname"><a href="grpc__types_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_types.h:77</div></div>
-<div class="ttc" id="grpc__types_8h_html_a2bbbaad8f7a806f6c834b68c5dd916d8"><div class="ttname"><a href="grpc__types_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_types.h:80</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_types.h:143</div></div>
+<div class="ttc" id="grpc__types_8h_html_a432bfa6b9f6603643cdf9de8804c254e"><div class="ttname"><a href="grpc__types_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_types.h:78</div></div>
+<div class="ttc" id="grpc__types_8h_html_a2bbbaad8f7a806f6c834b68c5dd916d8"><div class="ttname"><a href="grpc__types_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_types.h:81</div></div>
 <div class="ttc" id="grpc__types_8h_html"><div class="ttname"><a href="grpc__types_8h.html">grpc_types.h</a></div></div>
 <div class="ttc" id="grpc__posix_8h_html_a9a7bbbb272a485556cf84f96905b1c78"><div class="ttname"><a href="grpc__posix_8h.html#a9a7bbbb272a485556cf84f96905b1c78">grpc_server_add_insecure_channel_from_fd</a></div><div class="ttdeci">GRPCAPI void grpc_server_add_insecure_channel_from_fd(grpc_server *server, void *reserved, int fd)</div><div class="ttdoc">Add the connected communication channel based on file descriptor &#39;fd&#39; to the &#39;server&#39;. </div></div>
-<div class="ttc" id="impl_2codegen_2port__platform_8h_html_a2865c3b28ea7db75be4c725adb1edc7d"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a></div><div class="ttdeci">#define GRPCAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:414</div></div>
+<div class="ttc" id="impl_2codegen_2port__platform_8h_html_a2865c3b28ea7db75be4c725adb1edc7d"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a></div><div class="ttdeci">#define GRPCAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:420</div></div>
 <div class="ttc" id="support_2port__platform_8h_html"><div class="ttname"><a href="support_2port__platform_8h.html">port_platform.h</a></div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 181 - 3
core/grpc__security_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -105,105 +105,148 @@ Data Structures</h2></td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__auth__property.html">grpc_auth_property</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">value, if not NULL, is guaranteed to be NULL terminated.  <a href="structgrpc__auth__property.html#details">More...</a><br/></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Object that holds a private key / certificate chain pair in PEM format.  <a href="structgrpc__ssl__pem__key__cert__pair.html#details">More...</a><br/></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__auth__metadata__context.html">grpc_auth_metadata_context</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Context that can be used by metadata credentials plugin in order to create auth related metadata.  <a href="structgrpc__auth__metadata__context.html#details">More...</a><br/></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__metadata__credentials__plugin.html">grpc_metadata_credentials_plugin</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">grpc_metadata_credentials plugin is an API user provided structure used to create grpc_credentials objects that can be set on a channel (composed) or a call.  <a href="structgrpc__metadata__credentials__plugin.html#details">More...</a><br/></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__auth__metadata__processor.html">grpc_auth_metadata_processor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pluggable server-side metadata processor object.  <a href="structgrpc__auth__metadata__processor.html#details">More...</a><br/></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
 Typedefs</h2></td></tr>
 <tr class="memitem:aa13f0724cb7ff99995d7f0881c01d553"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a></td></tr>
+<tr class="memdesc:aa13f0724cb7ff99995d7f0881c01d553"><td class="mdescLeft">&#160;</td><td class="mdescRight">&mdash; Authentication Context.  <a href="#aa13f0724cb7ff99995d7f0881c01d553">More...</a><br/></td></tr>
 <tr class="separator:aa13f0724cb7ff99995d7f0881c01d553"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a26981fdcb987d885b25d34c7dc66e4cf"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
 <a class="el" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a26981fdcb987d885b25d34c7dc66e4cf">grpc_auth_property_iterator</a></td></tr>
 <tr class="separator:a26981fdcb987d885b25d34c7dc66e4cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a010fe7d27deaa2ea50b765b48dbad429"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structgrpc__auth__property.html">grpc_auth_property</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a010fe7d27deaa2ea50b765b48dbad429">grpc_auth_property</a></td></tr>
+<tr class="memdesc:a010fe7d27deaa2ea50b765b48dbad429"><td class="mdescLeft">&#160;</td><td class="mdescRight">value, if not NULL, is guaranteed to be NULL terminated.  <a href="#a010fe7d27deaa2ea50b765b48dbad429">More...</a><br/></td></tr>
 <tr class="separator:a010fe7d27deaa2ea50b765b48dbad429"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ab4ed40ea84a2f70ffd81a84bd8ee634b"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
 <a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a></td></tr>
+<tr class="memdesc:ab4ed40ea84a2f70ffd81a84bd8ee634b"><td class="mdescLeft">&#160;</td><td class="mdescRight">&mdash; grpc_channel_credentials object.  <a href="#ab4ed40ea84a2f70ffd81a84bd8ee634b">More...</a><br/></td></tr>
 <tr class="separator:ab4ed40ea84a2f70ffd81a84bd8ee634b"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a005f46357a959bbfbb7b1241a933ef43"><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/>
 <a class="el" href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68c">grpc_ssl_roots_override_result</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a005f46357a959bbfbb7b1241a933ef43">grpc_ssl_roots_override_callback</a> )(char **pem_root_certs)</td></tr>
+<tr class="memdesc:a005f46357a959bbfbb7b1241a933ef43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback for getting the SSL roots override from the application.  <a href="#a005f46357a959bbfbb7b1241a933ef43">More...</a><br/></td></tr>
 <tr class="separator:a005f46357a959bbfbb7b1241a933ef43"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a2350ef1b38c4f69d0ff8510dcbe40072"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
 <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a></td></tr>
+<tr class="memdesc:a2350ef1b38c4f69d0ff8510dcbe40072"><td class="mdescLeft">&#160;</td><td class="mdescRight">&mdash; grpc_call_credentials object.  <a href="#a2350ef1b38c4f69d0ff8510dcbe40072">More...</a><br/></td></tr>
 <tr class="separator:a2350ef1b38c4f69d0ff8510dcbe40072"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:acc59d2e9577dc4429895b9cd89450106"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#acc59d2e9577dc4429895b9cd89450106">grpc_credentials_plugin_metadata_cb</a> )(void *user_data, const <a class="el" href="structgrpc__metadata.html">grpc_metadata</a> *creds_md, size_t num_creds_md, <a class="el" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> status, const char *error_details)</td></tr>
+<tr class="memdesc:acc59d2e9577dc4429895b9cd89450106"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function to be called by the metadata credentials plugin implementation when the metadata is ready.  <a href="#acc59d2e9577dc4429895b9cd89450106">More...</a><br/></td></tr>
 <tr class="separator:acc59d2e9577dc4429895b9cd89450106"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aa724192e56fdc03827846f16752deccc"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
 <a class="el" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a></td></tr>
+<tr class="memdesc:aa724192e56fdc03827846f16752deccc"><td class="mdescLeft">&#160;</td><td class="mdescRight">&mdash; grpc_server_credentials object.  <a href="#aa724192e56fdc03827846f16752deccc">More...</a><br/></td></tr>
 <tr class="separator:aa724192e56fdc03827846f16752deccc"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a54decefff49649afe0c5a3056d0734f1"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a54decefff49649afe0c5a3056d0734f1">grpc_process_auth_metadata_done_cb</a> )(void *user_data, const <a class="el" href="structgrpc__metadata.html">grpc_metadata</a> *consumed_md, size_t num_consumed_md, const <a class="el" href="structgrpc__metadata.html">grpc_metadata</a> *response_md, size_t num_response_md, <a class="el" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> status, const char *error_details)</td></tr>
+<tr class="memdesc:a54decefff49649afe0c5a3056d0734f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">&mdash; Auth Metadata Processing &mdash;  <a href="#a54decefff49649afe0c5a3056d0734f1">More...</a><br/></td></tr>
 <tr class="separator:a54decefff49649afe0c5a3056d0734f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:a064c4dc355a3720cd2bcf6e3ddfb3e05"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> const <a class="el" href="structgrpc__auth__property.html">grpc_auth_property</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a064c4dc355a3720cd2bcf6e3ddfb3e05">grpc_auth_property_iterator_next</a> (<a class="el" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a> *it)</td></tr>
+<tr class="memdesc:a064c4dc355a3720cd2bcf6e3ddfb3e05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns NULL when the iterator is at the end.  <a href="#a064c4dc355a3720cd2bcf6e3ddfb3e05">More...</a><br/></td></tr>
 <tr class="separator:a064c4dc355a3720cd2bcf6e3ddfb3e05"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aedee02a7f6ed58e9bd41b00a518350c2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#aedee02a7f6ed58e9bd41b00a518350c2">grpc_auth_context_property_iterator</a> (const <a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx)</td></tr>
+<tr class="memdesc:aedee02a7f6ed58e9bd41b00a518350c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterates over the auth context.  <a href="#aedee02a7f6ed58e9bd41b00a518350c2">More...</a><br/></td></tr>
 <tr class="separator:aedee02a7f6ed58e9bd41b00a518350c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a4d6409cf4a261297cd327bd49e72fcea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a4d6409cf4a261297cd327bd49e72fcea">grpc_auth_context_peer_identity</a> (const <a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx)</td></tr>
+<tr class="memdesc:a4d6409cf4a261297cd327bd49e72fcea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the peer identity.  <a href="#a4d6409cf4a261297cd327bd49e72fcea">More...</a><br/></td></tr>
 <tr class="separator:a4d6409cf4a261297cd327bd49e72fcea"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9d3ce2db2aa6fb1c21dd2789ee7c2d18"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a9d3ce2db2aa6fb1c21dd2789ee7c2d18">grpc_auth_context_find_properties_by_name</a> (const <a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx, const char *name)</td></tr>
+<tr class="memdesc:a9d3ce2db2aa6fb1c21dd2789ee7c2d18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds a property in the context.  <a href="#a9d3ce2db2aa6fb1c21dd2789ee7c2d18">More...</a><br/></td></tr>
 <tr class="separator:a9d3ce2db2aa6fb1c21dd2789ee7c2d18"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a5a627008e49efec12fb97c25b5da4628"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a5a627008e49efec12fb97c25b5da4628">grpc_auth_context_peer_identity_property_name</a> (const <a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx)</td></tr>
+<tr class="memdesc:a5a627008e49efec12fb97c25b5da4628"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the name of the property that indicates the peer identity.  <a href="#a5a627008e49efec12fb97c25b5da4628">More...</a><br/></td></tr>
 <tr class="separator:a5a627008e49efec12fb97c25b5da4628"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a5bb56dbcba0b0c54e3c6da0635391959"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a5bb56dbcba0b0c54e3c6da0635391959">grpc_auth_context_peer_is_authenticated</a> (const <a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx)</td></tr>
+<tr class="memdesc:a5bb56dbcba0b0c54e3c6da0635391959"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns 1 if the peer is authenticated, 0 otherwise.  <a href="#a5bb56dbcba0b0c54e3c6da0635391959">More...</a><br/></td></tr>
 <tr class="separator:a5bb56dbcba0b0c54e3c6da0635391959"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a3c1860cddc9edaa7f657a98a35b77e80"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a3c1860cddc9edaa7f657a98a35b77e80">grpc_call_auth_context</a> (<a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call)</td></tr>
+<tr class="memdesc:a3c1860cddc9edaa7f657a98a35b77e80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the auth context from the call.  <a href="#a3c1860cddc9edaa7f657a98a35b77e80">More...</a><br/></td></tr>
 <tr class="separator:a3c1860cddc9edaa7f657a98a35b77e80"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aa9dbfdabaca2ab86c9d7e71cbc81d3d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#aa9dbfdabaca2ab86c9d7e71cbc81d3d4">grpc_auth_context_release</a> (<a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *context)</td></tr>
+<tr class="memdesc:aa9dbfdabaca2ab86c9d7e71cbc81d3d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases the auth context returned from grpc_call_auth_context.  <a href="#aa9dbfdabaca2ab86c9d7e71cbc81d3d4">More...</a><br/></td></tr>
 <tr class="separator:aa9dbfdabaca2ab86c9d7e71cbc81d3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a93f543166de70abb3a725bdca1d79996"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a93f543166de70abb3a725bdca1d79996">grpc_auth_context_add_property</a> (<a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx, const char *name, const char *value, size_t value_length)</td></tr>
+<tr class="memdesc:a93f543166de70abb3a725bdca1d79996"><td class="mdescLeft">&#160;</td><td class="mdescRight">&ndash; The following auth context methods should only be called by a server metadata processor to set properties extracted from auth metadata.  <a href="#a93f543166de70abb3a725bdca1d79996">More...</a><br/></td></tr>
 <tr class="separator:a93f543166de70abb3a725bdca1d79996"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a73068ca89b430bb9004f8c3e86a2886a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a73068ca89b430bb9004f8c3e86a2886a">grpc_auth_context_add_cstring_property</a> (<a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx, const char *name, const char *value)</td></tr>
+<tr class="memdesc:a73068ca89b430bb9004f8c3e86a2886a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a C string property.  <a href="#a73068ca89b430bb9004f8c3e86a2886a">More...</a><br/></td></tr>
 <tr class="separator:a73068ca89b430bb9004f8c3e86a2886a"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9cff913051370085b7cc58aa3ccbd4a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a9cff913051370085b7cc58aa3ccbd4a4">grpc_auth_context_set_peer_identity_property_name</a> (<a class="el" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx, const char *name)</td></tr>
+<tr class="memdesc:a9cff913051370085b7cc58aa3ccbd4a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the property name.  <a href="#a9cff913051370085b7cc58aa3ccbd4a4">More...</a><br/></td></tr>
 <tr class="separator:a9cff913051370085b7cc58aa3ccbd4a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a5a32645c900c2b50bc89fa11ebdc5a07"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a5a32645c900c2b50bc89fa11ebdc5a07">grpc_channel_credentials_release</a> (<a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> *creds)</td></tr>
+<tr class="memdesc:a5a32645c900c2b50bc89fa11ebdc5a07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases a channel credentials object.  <a href="#a5a32645c900c2b50bc89fa11ebdc5a07">More...</a><br/></td></tr>
 <tr class="separator:a5a32645c900c2b50bc89fa11ebdc5a07"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a68183d792830190c3e14504557d57ad7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a68183d792830190c3e14504557d57ad7">grpc_google_default_credentials_create</a> (void)</td></tr>
+<tr class="memdesc:a68183d792830190c3e14504557d57ad7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates default credentials to connect to a google gRPC service.  <a href="#a68183d792830190c3e14504557d57ad7">More...</a><br/></td></tr>
 <tr class="separator:a68183d792830190c3e14504557d57ad7"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a44c23e47832d9cc27bb56822d66bf436"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a44c23e47832d9cc27bb56822d66bf436">grpc_set_ssl_roots_override_callback</a> (<a class="el" href="grpc__security_8h.html#a005f46357a959bbfbb7b1241a933ef43">grpc_ssl_roots_override_callback</a> cb)</td></tr>
+<tr class="memdesc:a44c23e47832d9cc27bb56822d66bf436"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup a callback to override the default TLS/SSL roots.  <a href="#a44c23e47832d9cc27bb56822d66bf436">More...</a><br/></td></tr>
 <tr class="separator:a44c23e47832d9cc27bb56822d66bf436"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a2dfd4a555352ff0e449ce9c38abd2f21"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a2dfd4a555352ff0e449ce9c38abd2f21">grpc_ssl_credentials_create</a> (const char *pem_root_certs, <a class="el" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a> *pem_key_cert_pair, void *reserved)</td></tr>
+<tr class="memdesc:a2dfd4a555352ff0e449ce9c38abd2f21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an SSL credentials object.  <a href="#a2dfd4a555352ff0e449ce9c38abd2f21">More...</a><br/></td></tr>
 <tr class="separator:a2dfd4a555352ff0e449ce9c38abd2f21"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aeb21611154f3defe05e4eac4cc25af5a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#aeb21611154f3defe05e4eac4cc25af5a">grpc_call_credentials_release</a> (<a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *creds)</td></tr>
+<tr class="memdesc:aeb21611154f3defe05e4eac4cc25af5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases a call credentials object.  <a href="#aeb21611154f3defe05e4eac4cc25af5a">More...</a><br/></td></tr>
 <tr class="separator:aeb21611154f3defe05e4eac4cc25af5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a8e4b35968eac741831a708224e207348"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a8e4b35968eac741831a708224e207348">grpc_composite_channel_credentials_create</a> (<a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> *channel_creds, <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *call_creds, void *reserved)</td></tr>
+<tr class="memdesc:a8e4b35968eac741831a708224e207348"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a composite channel credentials object.  <a href="#a8e4b35968eac741831a708224e207348">More...</a><br/></td></tr>
 <tr class="separator:a8e4b35968eac741831a708224e207348"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a5fb84795d5b0306006fdb8d316262a82"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a5fb84795d5b0306006fdb8d316262a82">grpc_composite_call_credentials_create</a> (<a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *creds1, <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *creds2, void *reserved)</td></tr>
+<tr class="memdesc:a5fb84795d5b0306006fdb8d316262a82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a composite call credentials object.  <a href="#a5fb84795d5b0306006fdb8d316262a82">More...</a><br/></td></tr>
 <tr class="separator:a5fb84795d5b0306006fdb8d316262a82"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:af66841ff2c26a95ff9cd18ea2cdf38cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#af66841ff2c26a95ff9cd18ea2cdf38cb">grpc_google_compute_engine_credentials_create</a> (void *reserved)</td></tr>
+<tr class="memdesc:af66841ff2c26a95ff9cd18ea2cdf38cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a compute engine credentials object for connecting to Google.  <a href="#af66841ff2c26a95ff9cd18ea2cdf38cb">More...</a><br/></td></tr>
 <tr class="separator:af66841ff2c26a95ff9cd18ea2cdf38cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a8bf68d788a4b95461e77278049f4c73f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="structgpr__timespec.html">gpr_timespec</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a8bf68d788a4b95461e77278049f4c73f">grpc_max_auth_token_lifetime</a> ()</td></tr>
 <tr class="separator:a8bf68d788a4b95461e77278049f4c73f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ae8c4bf6c9657d6e19ea1481c1ea9a5d5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#ae8c4bf6c9657d6e19ea1481c1ea9a5d5">grpc_service_account_jwt_access_credentials_create</a> (const char *json_key, <a class="el" href="structgpr__timespec.html">gpr_timespec</a> token_lifetime, void *reserved)</td></tr>
+<tr class="memdesc:ae8c4bf6c9657d6e19ea1481c1ea9a5d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a JWT credentials object.  <a href="#ae8c4bf6c9657d6e19ea1481c1ea9a5d5">More...</a><br/></td></tr>
 <tr class="separator:ae8c4bf6c9657d6e19ea1481c1ea9a5d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aa2108431aea25ab0e9bef17becff7357"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#aa2108431aea25ab0e9bef17becff7357">grpc_google_refresh_token_credentials_create</a> (const char *json_refresh_token, void *reserved)</td></tr>
+<tr class="memdesc:aa2108431aea25ab0e9bef17becff7357"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an Oauth2 Refresh Token credentials object for connecting to Google.  <a href="#aa2108431aea25ab0e9bef17becff7357">More...</a><br/></td></tr>
 <tr class="separator:aa2108431aea25ab0e9bef17becff7357"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aa64d5173a15c51fdb2d80c3c187157ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#aa64d5173a15c51fdb2d80c3c187157ca">grpc_access_token_credentials_create</a> (const char *access_token, void *reserved)</td></tr>
+<tr class="memdesc:aa64d5173a15c51fdb2d80c3c187157ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an Oauth2 Access Token credentials with an access token that was aquired by an out of band mechanism.  <a href="#aa64d5173a15c51fdb2d80c3c187157ca">More...</a><br/></td></tr>
 <tr class="separator:aa64d5173a15c51fdb2d80c3c187157ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a060719c0b294858858dbf41b7ec2abb5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a060719c0b294858858dbf41b7ec2abb5">grpc_google_iam_credentials_create</a> (const char *authorization_token, const char *authority_selector, void *reserved)</td></tr>
+<tr class="memdesc:a060719c0b294858858dbf41b7ec2abb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an IAM credentials object for connecting to Google.  <a href="#a060719c0b294858858dbf41b7ec2abb5">More...</a><br/></td></tr>
 <tr class="separator:a060719c0b294858858dbf41b7ec2abb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aed07d29d954508e9f9da66b547660160"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#aed07d29d954508e9f9da66b547660160">grpc_metadata_credentials_create_from_plugin</a> (<a class="el" href="structgrpc__metadata__credentials__plugin.html">grpc_metadata_credentials_plugin</a> plugin, void *reserved)</td></tr>
+<tr class="memdesc:aed07d29d954508e9f9da66b547660160"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a credentials object from a plugin.  <a href="#aed07d29d954508e9f9da66b547660160">More...</a><br/></td></tr>
 <tr class="separator:aed07d29d954508e9f9da66b547660160"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:acad1744e2cdf6f9f11723c3450874ca7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#acad1744e2cdf6f9f11723c3450874ca7">grpc_secure_channel_create</a> (<a class="el" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> *creds, const char *target, const <a class="el" href="structgrpc__channel__args.html">grpc_channel_args</a> *args, void *reserved)</td></tr>
+<tr class="memdesc:acad1744e2cdf6f9f11723c3450874ca7"><td class="mdescLeft">&#160;</td><td class="mdescRight">&mdash; Secure channel creation.  <a href="#acad1744e2cdf6f9f11723c3450874ca7">More...</a><br/></td></tr>
 <tr class="separator:acad1744e2cdf6f9f11723c3450874ca7"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a8d8e443300d9a94fa5fe7ef76c77fd38"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a8d8e443300d9a94fa5fe7ef76c77fd38">grpc_server_credentials_release</a> (<a class="el" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a> *creds)</td></tr>
+<tr class="memdesc:a8d8e443300d9a94fa5fe7ef76c77fd38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases a server_credentials object.  <a href="#a8d8e443300d9a94fa5fe7ef76c77fd38">More...</a><br/></td></tr>
 <tr class="separator:a8d8e443300d9a94fa5fe7ef76c77fd38"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:adde6c7d191f88997fd82fd8b54f9420e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#adde6c7d191f88997fd82fd8b54f9420e">grpc_ssl_server_credentials_create</a> (const char *pem_root_certs, <a class="el" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a> *pem_key_cert_pairs, size_t num_key_cert_pairs, int force_client_auth, void *reserved)</td></tr>
+<tr class="memdesc:adde6c7d191f88997fd82fd8b54f9420e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deprecated in favor of grpc_ssl_server_credentials_create_ex.  <a href="#adde6c7d191f88997fd82fd8b54f9420e">More...</a><br/></td></tr>
 <tr class="separator:adde6c7d191f88997fd82fd8b54f9420e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a5f8a4204d09f2b10a3986d25b6583a08"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a5f8a4204d09f2b10a3986d25b6583a08">grpc_ssl_server_credentials_create_ex</a> (const char *pem_root_certs, <a class="el" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a> *pem_key_cert_pairs, size_t num_key_cert_pairs, <a class="el" href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09">grpc_ssl_client_certificate_request_type</a> client_certificate_request, void *reserved)</td></tr>
+<tr class="memdesc:a5f8a4204d09f2b10a3986d25b6583a08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as grpc_ssl_server_credentials_create method except uses grpc_ssl_client_certificate_request_type enum to support more ways to authenticate client cerificates.  <a href="#a5f8a4204d09f2b10a3986d25b6583a08">More...</a><br/></td></tr>
 <tr class="separator:a5f8a4204d09f2b10a3986d25b6583a08"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a53278c0894e787a5f3bb1092d0fdc3f6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a53278c0894e787a5f3bb1092d0fdc3f6">grpc_server_add_secure_http2_port</a> (<a class="el" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server, const char *addr, <a class="el" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a> *creds)</td></tr>
+<tr class="memdesc:a53278c0894e787a5f3bb1092d0fdc3f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">&mdash; Server-side secure ports.  <a href="#a53278c0894e787a5f3bb1092d0fdc3f6">More...</a><br/></td></tr>
 <tr class="separator:a53278c0894e787a5f3bb1092d0fdc3f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ab065a653f78111065e91a579fd2ce2d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="el" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#ab065a653f78111065e91a579fd2ce2d2">grpc_call_set_credentials</a> (<a class="el" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call, <a class="el" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *creds)</td></tr>
+<tr class="memdesc:ab065a653f78111065e91a579fd2ce2d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">&mdash; Call specific credentials.  <a href="#ab065a653f78111065e91a579fd2ce2d2">More...</a><br/></td></tr>
 <tr class="separator:ab065a653f78111065e91a579fd2ce2d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a37da13e43ccc9b19e9f1a6051feaedc3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security_8h.html#a37da13e43ccc9b19e9f1a6051feaedc3">grpc_server_credentials_set_auth_metadata_processor</a> (<a class="el" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a> *creds, <a class="el" href="structgrpc__auth__metadata__processor.html">grpc_auth_metadata_processor</a> processor)</td></tr>
 <tr class="separator:a37da13e43ccc9b19e9f1a6051feaedc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -219,6 +262,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>&mdash; Authentication Context. </p>
+<hr/>
+ 
 </div>
 </div>
 <a class="anchor" id="a010fe7d27deaa2ea50b765b48dbad429"></a>
@@ -231,6 +277,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>value, if not NULL, is guaranteed to be NULL terminated. </p>
+
 </div>
 </div>
 <a class="anchor" id="a26981fdcb987d885b25d34c7dc66e4cf"></a>
@@ -255,6 +303,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>&mdash; grpc_call_credentials object. </p>
+<p>A call credentials object represents a way to authenticate on a particular call. These credentials can be composed with a channel credentials object so that they are sent with every call on this channel. </p>
+
 </div>
 </div>
 <a class="anchor" id="ab4ed40ea84a2f70ffd81a84bd8ee634b"></a>
@@ -267,6 +318,10 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>&mdash; grpc_channel_credentials object. </p>
+<hr/>
+<p>A channel credentials object represents a way to authenticate a client on a channel. </p>
+
 </div>
 </div>
 <a class="anchor" id="acc59d2e9577dc4429895b9cd89450106"></a>
@@ -279,6 +334,15 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Callback function to be called by the metadata credentials plugin implementation when the metadata is ready. </p>
+<ul>
+<li>user_data is the opaque pointer that was passed in the get_metadata method of the <a class="el" href="structgrpc__metadata__credentials__plugin.html" title="grpc_metadata_credentials plugin is an API user provided structure used to create grpc_credentials ob...">grpc_metadata_credentials_plugin</a> (see below).</li>
+<li>creds_md is an array of credentials metadata produced by the plugin. It may be set to NULL in case of an error.</li>
+<li>num_creds_md is the number of items in the creds_md array.</li>
+<li>status must be GRPC_STATUS_OK in case of success or another specific error code otherwise.</li>
+<li>error_details contains details about the error if any. In case of success it should be NULL and will be otherwise ignored. </li>
+</ul>
+
 </div>
 </div>
 <a class="anchor" id="a54decefff49649afe0c5a3056d0734f1"></a>
@@ -291,6 +355,15 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>&mdash; Auth Metadata Processing &mdash; </p>
+<p>Callback function that is called when the metadata processing is done.</p>
+<ul>
+<li>Consumed metadata will be removed from the set of metadata available on the call. consumed_md may be NULL if no metadata has been consumed.</li>
+<li>Response metadata will be set on the response. response_md may be NULL.</li>
+<li>status is GRPC_STATUS_OK for success or a specific status for an error. Common error status for auth metadata processing is either GRPC_STATUS_UNAUTHENTICATED in case of an authentication failure or GRPC_STATUS PERMISSION_DENIED in case of an authorization failure.</li>
+<li>error_details gives details about the error. May be NULL. </li>
+</ul>
+
 </div>
 </div>
 <a class="anchor" id="aa724192e56fdc03827846f16752deccc"></a>
@@ -303,6 +376,10 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>&mdash; grpc_server_credentials object. </p>
+<hr/>
+<p>A server credentials object represents a way to authenticate a server. </p>
+
 </div>
 </div>
 <a class="anchor" id="a005f46357a959bbfbb7b1241a933ef43"></a>
@@ -315,6 +392,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Callback for getting the SSL roots override from the application. </p>
+<p>In case of success, *pem_roots_certs must be set to a NULL terminated string containing the list of PEM encoded root certificates. The ownership is passed to the core and freed (laster by the core) with gpr_free. If this function fails and GRPC_DEFAULT_SSL_ROOTS_FILE_PATH environment is set to a valid path, it will override the roots specified this func </p>
+
 </div>
 </div>
 <h2 class="groupheader">Function Documentation</h2>
@@ -342,6 +422,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Creates an Oauth2 Access Token credentials with an access token that was aquired by an out of band mechanism. </p>
+
 </div>
 </div>
 <a class="anchor" id="a73068ca89b430bb9004f8c3e86a2886a"></a>
@@ -374,6 +456,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Add a C string property. </p>
+
 </div>
 </div>
 <a class="anchor" id="a93f543166de70abb3a725bdca1d79996"></a>
@@ -412,6 +496,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>&ndash; The following auth context methods should only be called by a server metadata processor to set properties extracted from auth metadata. </p>
+<p>&ndash; Add a property. </p>
+
 </div>
 </div>
 <a class="anchor" id="a9d3ce2db2aa6fb1c21dd2789ee7c2d18"></a>
@@ -438,6 +525,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Finds a property in the context. </p>
+<p>May return an empty iterator (first _next will return NULL) if no property with this name was found in the context. </p>
+
 </div>
 </div>
 <a class="anchor" id="a4d6409cf4a261297cd327bd49e72fcea"></a>
@@ -454,6 +544,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Gets the peer identity. </p>
+<p>Returns an empty iterator (first _next will return NULL) if the peer is not authenticated. </p>
+
 </div>
 </div>
 <a class="anchor" id="a5a627008e49efec12fb97c25b5da4628"></a>
@@ -470,6 +563,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Gets the name of the property that indicates the peer identity. </p>
+<p>Will return NULL if the peer is not authenticated. </p>
+
 </div>
 </div>
 <a class="anchor" id="a5bb56dbcba0b0c54e3c6da0635391959"></a>
@@ -486,6 +582,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Returns 1 if the peer is authenticated, 0 otherwise. </p>
+
 </div>
 </div>
 <a class="anchor" id="aedee02a7f6ed58e9bd41b00a518350c2"></a>
@@ -502,6 +600,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Iterates over the auth context. </p>
+
 </div>
 </div>
 <a class="anchor" id="aa9dbfdabaca2ab86c9d7e71cbc81d3d4"></a>
@@ -518,6 +618,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Releases the auth context returned from grpc_call_auth_context. </p>
+
 </div>
 </div>
 <a class="anchor" id="a9cff913051370085b7cc58aa3ccbd4a4"></a>
@@ -544,6 +646,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Sets the property name. </p>
+<p>Returns 1 if successful or 0 in case of failure (which means that no property with this name exists). </p>
+
 </div>
 </div>
 <a class="anchor" id="a064c4dc355a3720cd2bcf6e3ddfb3e05"></a>
@@ -560,6 +665,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Returns NULL when the iterator is at the end. </p>
+
 </div>
 </div>
 <a class="anchor" id="a3c1860cddc9edaa7f657a98a35b77e80"></a>
@@ -576,6 +683,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Gets the auth context from the call. </p>
+<p>Caller needs to call grpc_auth_context_release on the returned context. </p>
+
 </div>
 </div>
 <a class="anchor" id="aeb21611154f3defe05e4eac4cc25af5a"></a>
@@ -592,6 +702,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Releases a call credentials object. </p>
+<p>The creator of the credentials object is responsible for its release. </p>
+
 </div>
 </div>
 <a class="anchor" id="ab065a653f78111065e91a579fd2ce2d2"></a>
@@ -618,6 +731,10 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>&mdash; Call specific credentials. </p>
+<hr/>
+<p> Sets a credentials to a call. Can only be called on the client side before grpc_call_start_batch. </p>
+
 </div>
 </div>
 <a class="anchor" id="a5a32645c900c2b50bc89fa11ebdc5a07"></a>
@@ -634,6 +751,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Releases a channel credentials object. </p>
+<p>The creator of the credentials object is responsible for its release. </p>
+
 </div>
 </div>
 <a class="anchor" id="a5fb84795d5b0306006fdb8d316262a82"></a>
@@ -666,6 +786,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Creates a composite call credentials object. </p>
+
 </div>
 </div>
 <a class="anchor" id="a8e4b35968eac741831a708224e207348"></a>
@@ -698,6 +820,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Creates a composite channel credentials object. </p>
+
 </div>
 </div>
 <a class="anchor" id="af66841ff2c26a95ff9cd18ea2cdf38cb"></a>
@@ -714,6 +838,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Creates a compute engine credentials object for connecting to Google. </p>
+<p>WARNING: Do NOT use this credentials to connect to a non-google service as this could result in an oauth2 token leak. </p>
+
 </div>
 </div>
 <a class="anchor" id="a68183d792830190c3e14504557d57ad7"></a>
@@ -730,6 +857,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Creates default credentials to connect to a google gRPC service. </p>
+<p>WARNING: Do NOT use this credentials to connect to a non-google service as this could result in an oauth2 token leak. </p>
+
 </div>
 </div>
 <a class="anchor" id="a060719c0b294858858dbf41b7ec2abb5"></a>
@@ -762,6 +892,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Creates an IAM credentials object for connecting to Google. </p>
+
 </div>
 </div>
 <a class="anchor" id="aa2108431aea25ab0e9bef17becff7357"></a>
@@ -788,6 +920,12 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Creates an Oauth2 Refresh Token credentials object for connecting to Google. </p>
+<p>May return NULL if the input is invalid. WARNING: Do NOT use this credentials to connect to a non-google service as this could result in an oauth2 token leak.</p>
+<ul>
+<li>json_refresh_token is the JSON string containing the refresh token itself along with a client_id and client_secret. </li>
+</ul>
+
 </div>
 </div>
 <a class="anchor" id="a8bf68d788a4b95461e77278049f4c73f"></a>
@@ -829,6 +967,8 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Creates a credentials object from a plugin. </p>
+
 </div>
 </div>
 <a class="anchor" id="acad1744e2cdf6f9f11723c3450874ca7"></a>
@@ -867,6 +1007,10 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>&mdash; Secure channel creation. </p>
+<hr/>
+<p> Creates a secure channel using the passed-in credentials. </p>
+
 </div>
 </div>
 <a class="anchor" id="a53278c0894e787a5f3bb1092d0fdc3f6"></a>
@@ -899,6 +1043,10 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>&mdash; Server-side secure ports. </p>
+<hr/>
+<p> Add a HTTP2 over an encrypted link over tcp listener. Returns bound port number on success, 0 on failure. REQUIRES: server not started </p>
+
 </div>
 </div>
 <a class="anchor" id="a8d8e443300d9a94fa5fe7ef76c77fd38"></a>
@@ -915,6 +1063,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Releases a server_credentials object. </p>
+<p>The creator of the server_credentials object is responsible for its release. </p>
+
 </div>
 </div>
 <a class="anchor" id="a37da13e43ccc9b19e9f1a6051feaedc3"></a>
@@ -973,6 +1124,13 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Creates a JWT credentials object. </p>
+<p>May return NULL if the input is invalid.</p>
+<ul>
+<li>json_key is the JSON key string containing the client's private key.</li>
+<li>token_lifetime is the lifetime of each Json Web Token (JWT) created with this credentials. It should not exceed grpc_max_auth_token_lifetime or will be cropped to this value. </li>
+</ul>
+
 </div>
 </div>
 <a class="anchor" id="a44c23e47832d9cc27bb56822d66bf436"></a>
@@ -989,6 +1147,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Setup a callback to override the default TLS/SSL roots. </p>
+<p>This function is not thread-safe and must be called at initialization time before any ssl credentials are created to have the desired side effect. If GRPC_DEFAULT_SSL_ROOTS_FILE_PATH environment is set to a valid path, the callback will not be called. </p>
+
 </div>
 </div>
 <a class="anchor" id="a2dfd4a555352ff0e449ce9c38abd2f21"></a>
@@ -1021,6 +1182,12 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Creates an SSL credentials object. </p>
+<ul>
+<li>pem_root_certs is the NULL-terminated string containing the PEM encoding of the server root certificates. If this parameter is NULL, the implementation will first try to dereference the file pointed by the GRPC_DEFAULT_SSL_ROOTS_FILE_PATH environment variable, and if that fails, try to get the roots set by grpc_override_ssl_default_roots. Eventually, if all these fail, it will try to get the roots from a well-known place on disk (in the grpc install directory).</li>
+<li>pem_key_cert_pair is a pointer on the object containing client's private key and certificate chain. This parameter can be NULL if the client does not have such a key/cert pair. </li>
+</ul>
+
 </div>
 </div>
 <a class="anchor" id="adde6c7d191f88997fd82fd8b54f9420e"></a>
@@ -1065,6 +1232,15 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Deprecated in favor of grpc_ssl_server_credentials_create_ex. </p>
+<p>Creates an SSL server_credentials object.</p>
+<ul>
+<li>pem_roots_cert is the NULL-terminated string containing the PEM encoding of the client root certificates. This parameter may be NULL if the server does not want the client to be authenticated with SSL.</li>
+<li>pem_key_cert_pairs is an array private key / certificate chains of the server. This parameter cannot be NULL.</li>
+<li>num_key_cert_pairs indicates the number of items in the private_key_files and cert_chain_files parameters. It should be at least 1.</li>
+<li>force_client_auth, if set to non-zero will force the client to authenticate with an SSL cert. Note that this option is ignored if pem_root_certs is NULL. </li>
+</ul>
+
 </div>
 </div>
 <a class="anchor" id="a5f8a4204d09f2b10a3986d25b6583a08"></a>
@@ -1109,12 +1285,14 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Same as grpc_ssl_server_credentials_create method except uses grpc_ssl_client_certificate_request_type enum to support more ways to authenticate client cerificates. </p>
+
 </div>
 </div>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 63 - 234
core/grpc__security_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -134,8 +134,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
 <div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#endif</span></div>
 <div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* --- Authentication Context. --- */</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div>
 <div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">   47</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> <a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a>;</div>
 <div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div>
 <div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="structgrpc__auth__property__iterator.html">   49</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a> {</div>
@@ -144,327 +142,158 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="structgrpc__auth__property__iterator.html#a3838efa5eb622c7e2c071497132b1cc7">   52</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structgrpc__auth__property__iterator.html#a3838efa5eb622c7e2c071497132b1cc7">name</a>;</div>
 <div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;} <a class="code" href="grpc__security_8h.html#a26981fdcb987d885b25d34c7dc66e4cf">grpc_auth_property_iterator</a>;</div>
 <div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* value, if not NULL, is guaranteed to be NULL terminated. */</span></div>
 <div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="structgrpc__auth__property.html">   56</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__auth__property.html">grpc_auth_property</a> {</div>
 <div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="structgrpc__auth__property.html#a83fb830ffe7321265dc9b628e9246a27">   57</a></span>&#160;  <span class="keywordtype">char</span> *<a class="code" href="structgrpc__auth__property.html#a83fb830ffe7321265dc9b628e9246a27">name</a>;</div>
 <div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="structgrpc__auth__property.html#af44f45ac4673a0298d00354c47d0907e">   58</a></span>&#160;  <span class="keywordtype">char</span> *<a class="code" href="structgrpc__auth__property.html#af44f45ac4673a0298d00354c47d0907e">value</a>;</div>
 <div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="structgrpc__auth__property.html#a07359a178c29240cab42a89ef047b101">   59</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__auth__property.html#a07359a178c29240cab42a89ef047b101">value_length</a>;</div>
 <div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;} <a class="code" href="grpc__security_8h.html#a010fe7d27deaa2ea50b765b48dbad429">grpc_auth_property</a>;</div>
 <div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/* Returns NULL when the iterator is at the end. */</span></div>
 <div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keyword">const</span> <a class="code" href="structgrpc__auth__property.html">grpc_auth_property</a> *<a class="code" href="grpc__security_8h.html#a064c4dc355a3720cd2bcf6e3ddfb3e05">grpc_auth_property_iterator_next</a>(</div>
 <div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <a class="code" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a> *it);</div>
 <div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/* Iterates over the auth context. */</span></div>
 <div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a></div>
 <div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<a class="code" href="grpc__security_8h.html#aedee02a7f6ed58e9bd41b00a518350c2">grpc_auth_context_property_iterator</a>(<span class="keyword">const</span> <a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx);</div>
 <div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">/* Gets the peer identity. Returns an empty iterator (first _next will return</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">   NULL) if the peer is not authenticated. */</span></div>
 <div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a></div>
 <div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<a class="code" href="grpc__security_8h.html#a4d6409cf4a261297cd327bd49e72fcea">grpc_auth_context_peer_identity</a>(<span class="keyword">const</span> <a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx);</div>
 <div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">/* Finds a property in the context. May return an empty iterator (first _next</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">   will return NULL) if no property with this name was found in the context. */</span></div>
 <div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a> <a class="code" href="grpc__security_8h.html#a9d3ce2db2aa6fb1c21dd2789ee7c2d18">grpc_auth_context_find_properties_by_name</a>(</div>
 <div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    <span class="keyword">const</span> <a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx, <span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div>
 <div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment">/* Gets the name of the property that indicates the peer identity. Will return</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment">   NULL if the peer is not authenticated. */</span></div>
 <div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="grpc__security_8h.html#a5a627008e49efec12fb97c25b5da4628">grpc_auth_context_peer_identity_property_name</a>(</div>
 <div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="keyword">const</span> <a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx);</div>
 <div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* Returns 1 if the peer is authenticated, 0 otherwise. */</span></div>
 <div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">int</span> <a class="code" href="grpc__security_8h.html#a5bb56dbcba0b0c54e3c6da0635391959">grpc_auth_context_peer_is_authenticated</a>(</div>
 <div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <span class="keyword">const</span> <a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx);</div>
 <div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment">/* Gets the auth context from the call. Caller needs to call</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment">   grpc_auth_context_release on the returned context. */</span></div>
 <div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *<a class="code" href="grpc__security_8h.html#a3c1860cddc9edaa7f657a98a35b77e80">grpc_call_auth_context</a>(<a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call);</div>
 <div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment">/* Releases the auth context returned from grpc_call_auth_context. */</span></div>
 <div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc__security_8h.html#aa9dbfdabaca2ab86c9d7e71cbc81d3d4">grpc_auth_context_release</a>(<a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *context);</div>
 <div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment">/* --</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="comment">   The following auth context methods should only be called by a server metadata</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment">   processor to set properties extracted from auth metadata.</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment">   -- */</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment">/* Add a property. */</span></div>
 <div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc__security_8h.html#a93f543166de70abb3a725bdca1d79996">grpc_auth_context_add_property</a>(<a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx,</div>
 <div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;                                            <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> <span class="keywordtype">char</span> *value,</div>
 <div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;                                            <span class="keywordtype">size_t</span> value_length);</div>
 <div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="comment">/* Add a C string property. */</span></div>
 <div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc__security_8h.html#a73068ca89b430bb9004f8c3e86a2886a">grpc_auth_context_add_cstring_property</a>(<a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx,</div>
 <div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;                                                    <span class="keyword">const</span> <span class="keywordtype">char</span> *name,</div>
 <div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;                                                    <span class="keyword">const</span> <span class="keywordtype">char</span> *value);</div>
 <div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="comment">/* Sets the property name. Returns 1 if successful or 0 in case of failure</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="comment">   (which means that no property with this name exists). */</span></div>
 <div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">int</span> <a class="code" href="grpc__security_8h.html#a9cff913051370085b7cc58aa3ccbd4a4">grpc_auth_context_set_peer_identity_property_name</a>(</div>
 <div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *ctx, <span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div>
 <div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment">/* --- grpc_channel_credentials object. ---</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="comment">   A channel credentials object represents a way to authenticate a client on a</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="comment">   channel.  */</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div>
 <div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">  121</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> <a class="code" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a>;</div>
 <div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment">/* Releases a channel credentials object.</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment">   The creator of the credentials object is responsible for its release. */</span></div>
 <div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc__security_8h.html#a5a32645c900c2b50bc89fa11ebdc5a07">grpc_channel_credentials_release</a>(<a class="code" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> *creds);</div>
 <div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="comment">/* Creates default credentials to connect to a google gRPC service.</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="comment">   WARNING: Do NOT use this credentials to connect to a non-google service as</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="comment">   this could result in an oauth2 token leak. */</span></div>
 <div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> *<a class="code" href="grpc__security_8h.html#a68183d792830190c3e14504557d57ad7">grpc_google_default_credentials_create</a>(<span class="keywordtype">void</span>);</div>
 <div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="comment">/* Callback for getting the SSL roots override from the application.</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="comment">   In case of success, *pem_roots_certs must be set to a NULL terminated string</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="comment">   containing the list of PEM encoded root certificates. The ownership is passed</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="comment">   to the core and freed (laster by the core) with gpr_free.</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="comment">   If this function fails and GRPC_DEFAULT_SSL_ROOTS_FILE_PATH environment is</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="comment">   set to a valid path, it will override the roots specified this func */</span></div>
 <div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#a005f46357a959bbfbb7b1241a933ef43">  138</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68c">grpc_ssl_roots_override_result</a> (*<a class="code" href="grpc__security_8h.html#a005f46357a959bbfbb7b1241a933ef43">grpc_ssl_roots_override_callback</a>)(</div>
 <div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    <span class="keywordtype">char</span> **pem_root_certs);</div>
 <div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="comment">/* Setup a callback to override the default TLS/SSL roots.</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="comment">   This function is not thread-safe and must be called at initialization time</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">   before any ssl credentials are created to have the desired side effect.</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="comment">   If GRPC_DEFAULT_SSL_ROOTS_FILE_PATH environment is set to a valid path, the</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="comment">   callback will not be called. */</span></div>
 <div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc__security_8h.html#a44c23e47832d9cc27bb56822d66bf436">grpc_set_ssl_roots_override_callback</a>(</div>
 <div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    <a class="code" href="grpc__security_8h.html#a005f46357a959bbfbb7b1241a933ef43">grpc_ssl_roots_override_callback</a> cb);</div>
 <div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div>
-<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="comment">/* Object that holds a private key / certificate chain pair in PEM format. */</span></div>
 <div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="structgrpc__ssl__pem__key__cert__pair.html">  150</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;  <span class="comment">/* private_key is the NULL-terminated string containing the PEM encoding of</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="comment">     the client&#39;s private key. */</span></div>
 <div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="structgrpc__ssl__pem__key__cert__pair.html#a2d4e3bdbc59d906bc9ca8b873120fd72">  153</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structgrpc__ssl__pem__key__cert__pair.html#a2d4e3bdbc59d906bc9ca8b873120fd72">private_key</a>;</div>
 <div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  <span class="comment">/* cert_chain is the NULL-terminated string containing the PEM encoding of</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="comment">     the client&#39;s certificate chain. */</span></div>
 <div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="structgrpc__ssl__pem__key__cert__pair.html#a483c3601705853f48dfbc8ee66d5e656">  157</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structgrpc__ssl__pem__key__cert__pair.html#a483c3601705853f48dfbc8ee66d5e656">cert_chain</a>;</div>
 <div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;} <a class="code" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a>;</div>
 <div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div>
-<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="comment">/* Creates an SSL credentials object.</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="comment">   - pem_roots_cert is the NULL-terminated string containing the PEM encoding</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="comment">     of the server root certificates. If this parameter is NULL, the</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="comment">     implementation will first try to dereference the file pointed by the</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="comment">     GRPC_DEFAULT_SSL_ROOTS_FILE_PATH environment variable, and if that fails,</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="comment">     try to get the roots set by grpc_override_ssl_default_roots. Eventually,</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="comment">     if all these fail, it will try to get the roots from a well-known place on</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="comment">     disk (in the grpc install directory).</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="comment">   - pem_key_cert_pair is a pointer on the object containing client&#39;s private</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="comment">     key and certificate chain. This parameter can be NULL if the client does</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="comment">     not have such a key/cert pair. */</span></div>
 <div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> *<a class="code" href="grpc__security_8h.html#a2dfd4a555352ff0e449ce9c38abd2f21">grpc_ssl_credentials_create</a>(</div>
 <div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *pem_root_certs, <a class="code" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a> *pem_key_cert_pair,</div>
 <div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    <span class="keywordtype">void</span> *reserved);</div>
 <div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;</div>
-<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="comment">/* --- grpc_call_credentials object.</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="comment">   A call credentials object represents a way to authenticate on a particular</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="comment">   call. These credentials can be composed with a channel credentials object</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="comment">   so that they are sent with every call on this channel.  */</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div>
 <div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">  181</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a>;</div>
 <div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;</div>
-<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="comment">/* Releases a call credentials object.</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="comment">   The creator of the credentials object is responsible for its release. */</span></div>
 <div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc__security_8h.html#aeb21611154f3defe05e4eac4cc25af5a">grpc_call_credentials_release</a>(<a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *creds);</div>
 <div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;</div>
-<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="comment">/* Creates a composite channel credentials object. */</span></div>
 <div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> *<a class="code" href="grpc__security_8h.html#a8e4b35968eac741831a708224e207348">grpc_composite_channel_credentials_create</a>(</div>
 <div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    <a class="code" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> *channel_creds, <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *call_creds,</div>
 <div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <span class="keywordtype">void</span> *reserved);</div>
 <div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div>
-<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="comment">/* Creates a composite call credentials object. */</span></div>
 <div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *<a class="code" href="grpc__security_8h.html#a5fb84795d5b0306006fdb8d316262a82">grpc_composite_call_credentials_create</a>(</div>
 <div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *creds1, <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *creds2,</div>
 <div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    <span class="keywordtype">void</span> *reserved);</div>
 <div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div>
-<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="comment">/* Creates a compute engine credentials object for connecting to Google.</span></div>
-<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="comment">   WARNING: Do NOT use this credentials to connect to a non-google service as</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="comment">   this could result in an oauth2 token leak. */</span></div>
 <div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *<a class="code" href="grpc__security_8h.html#af66841ff2c26a95ff9cd18ea2cdf38cb">grpc_google_compute_engine_credentials_create</a>(</div>
 <div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    <span class="keywordtype">void</span> *reserved);</div>
 <div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div>
 <div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="structgpr__timespec.html">gpr_timespec</a> <a class="code" href="grpc__security_8h.html#a8bf68d788a4b95461e77278049f4c73f">grpc_max_auth_token_lifetime</a>();</div>
 <div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;</div>
-<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="comment">/* Creates a JWT credentials object. May return NULL if the input is invalid.</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="comment">   - json_key is the JSON key string containing the client&#39;s private key.</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="comment">   - token_lifetime is the lifetime of each Json Web Token (JWT) created with</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="comment">     this credentials.  It should not exceed grpc_max_auth_token_lifetime or</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="comment">     will be cropped to this value.  */</span></div>
 <div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *</div>
 <div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<a class="code" href="grpc__security_8h.html#ae8c4bf6c9657d6e19ea1481c1ea9a5d5">grpc_service_account_jwt_access_credentials_create</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *json_key,</div>
 <div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;                                                   <a class="code" href="structgpr__timespec.html">gpr_timespec</a> token_lifetime,</div>
 <div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;                                                   <span class="keywordtype">void</span> *reserved);</div>
 <div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div>
-<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;<span class="comment">/* Creates an Oauth2 Refresh Token credentials object for connecting to Google.</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="comment">   May return NULL if the input is invalid.</span></div>
-<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="comment">   WARNING: Do NOT use this credentials to connect to a non-google service as</span></div>
-<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="comment">   this could result in an oauth2 token leak.</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="comment">   - json_refresh_token is the JSON string containing the refresh token itself</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="comment">     along with a client_id and client_secret. */</span></div>
 <div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *<a class="code" href="grpc__security_8h.html#aa2108431aea25ab0e9bef17becff7357">grpc_google_refresh_token_credentials_create</a>(</div>
 <div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *json_refresh_token, <span class="keywordtype">void</span> *reserved);</div>
 <div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;</div>
-<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="comment">/* Creates an Oauth2 Access Token credentials with an access token that was</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="comment">   aquired by an out of band mechanism. */</span></div>
 <div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *<a class="code" href="grpc__security_8h.html#aa64d5173a15c51fdb2d80c3c187157ca">grpc_access_token_credentials_create</a>(</div>
 <div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *access_token, <span class="keywordtype">void</span> *reserved);</div>
 <div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div>
-<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="comment">/* Creates an IAM credentials object for connecting to Google. */</span></div>
 <div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *<a class="code" href="grpc__security_8h.html#a060719c0b294858858dbf41b7ec2abb5">grpc_google_iam_credentials_create</a>(</div>
 <div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *authorization_token, <span class="keyword">const</span> <span class="keywordtype">char</span> *authority_selector,</div>
 <div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    <span class="keywordtype">void</span> *reserved);</div>
 <div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;</div>
-<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="comment">/* Callback function to be called by the metadata credentials plugin</span></div>
-<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="comment">   implementation when the metadata is ready.</span></div>
-<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;<span class="comment">   - user_data is the opaque pointer that was passed in the get_metadata method</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="comment">     of the grpc_metadata_credentials_plugin (see below).</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="comment">   - creds_md is an array of credentials metadata produced by the plugin. It</span></div>
-<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="comment">     may be set to NULL in case of an error.</span></div>
-<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="comment">   - num_creds_md is the number of items in the creds_md array.</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="comment">   - status must be GRPC_STATUS_OK in case of success or another specific error</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="comment">     code otherwise.</span></div>
-<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="comment">   - error_details contains details about the error if any. In case of success</span></div>
-<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="comment">     it should be NULL and will be otherwise ignored. */</span></div>
 <div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#acc59d2e9577dc4429895b9cd89450106">  245</a></span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="grpc__security_8h.html#acc59d2e9577dc4429895b9cd89450106">grpc_credentials_plugin_metadata_cb</a>)(</div>
 <div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    <span class="keywordtype">void</span> *user_data, <span class="keyword">const</span> <a class="code" href="structgrpc__metadata.html">grpc_metadata</a> *creds_md, <span class="keywordtype">size_t</span> num_creds_md,</div>
 <div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> status, <span class="keyword">const</span> <span class="keywordtype">char</span> *error_details);</div>
 <div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div>
-<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="comment">/* Context that can be used by metadata credentials plugin in order to create</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="comment">   auth related metadata. */</span></div>
 <div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="structgrpc__auth__metadata__context.html">  251</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;  <span class="comment">/* The fully qualifed service url. */</span></div>
 <div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="structgrpc__auth__metadata__context.html#a67ff8c2ebf38b5511da3d3194d72e01d">  253</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structgrpc__auth__metadata__context.html#a67ff8c2ebf38b5511da3d3194d72e01d">service_url</a>;</div>
 <div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;</div>
-<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;  <span class="comment">/* The method name of the RPC being called (not fully qualified).</span></div>
-<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="comment">     The fully qualified method name can be built from the service_url:</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="comment">     full_qualified_method_name = ctx-&gt;service_url + &#39;/&#39; + ctx-&gt;method_name. */</span></div>
 <div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="structgrpc__auth__metadata__context.html#ad031faf41efeaae29c4f71d67a0d2cb3">  258</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structgrpc__auth__metadata__context.html#ad031faf41efeaae29c4f71d67a0d2cb3">method_name</a>;</div>
 <div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div>
-<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;  <span class="comment">/* The auth_context of the channel which gives the server&#39;s identity. */</span></div>
 <div class="line"><a name="l00261"></a><span class="lineno"><a class="line" href="structgrpc__auth__metadata__context.html#a7cb596d3af7463816fdde64f3e18dbde">  261</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *<a class="code" href="structgrpc__auth__metadata__context.html#a7cb596d3af7463816fdde64f3e18dbde">channel_auth_context</a>;</div>
 <div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;</div>
-<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;  <span class="comment">/* Reserved for future use. */</span></div>
 <div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="structgrpc__auth__metadata__context.html#a0ca2d1c0da619c1e50cef8437f1ef517">  264</a></span>&#160;  <span class="keywordtype">void</span> *<a class="code" href="structgrpc__auth__metadata__context.html#a0ca2d1c0da619c1e50cef8437f1ef517">reserved</a>;</div>
 <div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;} <a class="code" href="structgrpc__auth__metadata__context.html">grpc_auth_metadata_context</a>;</div>
 <div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;</div>
-<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="comment">/* grpc_metadata_credentials plugin is an API user provided structure used to</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="comment">   create grpc_credentials objects that can be set on a channel (composed) or</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;<span class="comment">   a call. See grpc_credentials_metadata_create_from_plugin below.</span></div>
-<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;<span class="comment">   The grpc client stack will call the get_metadata method of the plugin for</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;<span class="comment">   every call in scope for the credentials created from it. */</span></div>
 <div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="structgrpc__metadata__credentials__plugin.html">  272</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;  <span class="comment">/* The implementation of this method has to be non-blocking.</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;<span class="comment">     - context is the information that can be used by the plugin to create auth</span></div>
-<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="comment">       metadata.</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;<span class="comment">     - cb is the callback that needs to be called when the metadata is ready.</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="comment">     - user_data needs to be passed as the first parameter of the callback. */</span></div>
 <div class="line"><a name="l00278"></a><span class="lineno"><a class="line" href="structgrpc__metadata__credentials__plugin.html#ab4c51fa8cceb204b222ab928d73a95bd">  278</a></span>&#160;  void (*get_metadata)(<span class="keywordtype">void</span> *state, <a class="code" href="structgrpc__auth__metadata__context.html">grpc_auth_metadata_context</a> context,</div>
 <div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;                       <a class="code" href="grpc__security_8h.html#acc59d2e9577dc4429895b9cd89450106">grpc_credentials_plugin_metadata_cb</a> cb, <span class="keywordtype">void</span> *user_data);</div>
 <div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div>
-<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;  <span class="comment">/* Destroys the plugin state. */</span></div>
 <div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="structgrpc__metadata__credentials__plugin.html#add80309ff459eeb988630682913582c2">  282</a></span>&#160;  void (*destroy)(<span class="keywordtype">void</span> *state);</div>
 <div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;</div>
-<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;  <span class="comment">/* State that will be set as the first parameter of the methods above. */</span></div>
 <div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="structgrpc__metadata__credentials__plugin.html#a3b571f8cbf3cffd887dec1ed5a662571">  285</a></span>&#160;  <span class="keywordtype">void</span> *<a class="code" href="structgrpc__metadata__credentials__plugin.html#a3b571f8cbf3cffd887dec1ed5a662571">state</a>;</div>
 <div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;</div>
-<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;  <span class="comment">/* Type of credentials that this plugin is implementing. */</span></div>
 <div class="line"><a name="l00288"></a><span class="lineno"><a class="line" href="structgrpc__metadata__credentials__plugin.html#a6c02843e7eff42cb3b397800bd64f2dc">  288</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structgrpc__metadata__credentials__plugin.html#a6c02843e7eff42cb3b397800bd64f2dc">type</a>;</div>
 <div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;} <a class="code" href="structgrpc__metadata__credentials__plugin.html">grpc_metadata_credentials_plugin</a>;</div>
 <div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;</div>
-<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;<span class="comment">/* Creates a credentials object from a plugin. */</span></div>
 <div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *<a class="code" href="grpc__security_8h.html#aed07d29d954508e9f9da66b547660160">grpc_metadata_credentials_create_from_plugin</a>(</div>
 <div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;    <a class="code" href="structgrpc__metadata__credentials__plugin.html">grpc_metadata_credentials_plugin</a> plugin, <span class="keywordtype">void</span> *reserved);</div>
 <div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div>
-<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">/* --- Secure channel creation. --- */</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div>
-<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="comment">/* Creates a secure channel using the passed-in credentials. */</span></div>
 <div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> *<a class="code" href="grpc__security_8h.html#acad1744e2cdf6f9f11723c3450874ca7">grpc_secure_channel_create</a>(</div>
 <div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;    <a class="code" href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a> *creds, <span class="keyword">const</span> <span class="keywordtype">char</span> *target,</div>
 <div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;    <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="l00301"></a><span class="lineno">  301</span>&#160;</div>
-<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="comment">/* --- grpc_server_credentials object. ---</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="comment">   A server credentials object represents a way to authenticate a server.  */</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div>
 <div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">  306</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a> <a class="code" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a>;</div>
 <div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;</div>
-<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="comment">/* Releases a server_credentials object.</span></div>
-<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<span class="comment">   The creator of the server_credentials object is responsible for its release.</span></div>
-<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;<span class="comment">   */</span></div>
 <div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">void</span> <a class="code" href="grpc__security_8h.html#a8d8e443300d9a94fa5fe7ef76c77fd38">grpc_server_credentials_release</a>(<a class="code" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a> *creds);</div>
 <div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div>
-<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="comment">/* Deprecated in favor of grpc_ssl_server_credentials_create_ex.</span></div>
-<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="comment">   Creates an SSL server_credentials object.</span></div>
-<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="comment">   - pem_roots_cert is the NULL-terminated string containing the PEM encoding of</span></div>
-<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="comment">     the client root certificates. This parameter may be NULL if the server does</span></div>
-<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;<span class="comment">     not want the client to be authenticated with SSL.</span></div>
-<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;<span class="comment">   - pem_key_cert_pairs is an array private key / certificate chains of the</span></div>
-<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;<span class="comment">     server. This parameter cannot be NULL.</span></div>
-<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="comment">   - num_key_cert_pairs indicates the number of items in the private_key_files</span></div>
-<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;<span class="comment">     and cert_chain_files parameters. It should be at least 1.</span></div>
-<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="comment">   - force_client_auth, if set to non-zero will force the client to authenticate</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;<span class="comment">     with an SSL cert. Note that this option is ignored if pem_root_certs is</span></div>
-<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;<span class="comment">     NULL. */</span></div>
 <div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a> *<a class="code" href="grpc__security_8h.html#adde6c7d191f88997fd82fd8b54f9420e">grpc_ssl_server_credentials_create</a>(</div>
 <div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *pem_root_certs, <a class="code" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a> *pem_key_cert_pairs,</div>
 <div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;    <span class="keywordtype">size_t</span> num_key_cert_pairs, <span class="keywordtype">int</span> force_client_auth, <span class="keywordtype">void</span> *reserved);</div>
 <div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;</div>
-<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="comment">/* Same as grpc_ssl_server_credentials_create method except uses</span></div>
-<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="comment">   grpc_ssl_client_certificate_request_type enum to support more ways to</span></div>
-<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="comment">   authenticate client cerificates.*/</span></div>
 <div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a> *<a class="code" href="grpc__security_8h.html#a5f8a4204d09f2b10a3986d25b6583a08">grpc_ssl_server_credentials_create_ex</a>(</div>
 <div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *pem_root_certs, <a class="code" href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a> *pem_key_cert_pairs,</div>
 <div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;    <span class="keywordtype">size_t</span> num_key_cert_pairs,</div>
 <div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;    <a class="code" href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09">grpc_ssl_client_certificate_request_type</a> client_certificate_request,</div>
 <div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;    <span class="keywordtype">void</span> *reserved);</div>
 <div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;</div>
-<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;<span class="comment">/* --- Server-side secure ports. --- */</span></div>
-<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;</div>
-<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<span class="comment">/* Add a HTTP2 over an encrypted link over tcp listener.</span></div>
-<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;<span class="comment">   Returns bound port number on success, 0 on failure.</span></div>
-<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="comment">   REQUIRES: server not started */</span></div>
 <div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <span class="keywordtype">int</span> <a class="code" href="grpc__security_8h.html#a53278c0894e787a5f3bb1092d0fdc3f6">grpc_server_add_secure_http2_port</a>(<a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> *server,</div>
 <div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;                                              <span class="keyword">const</span> <span class="keywordtype">char</span> *addr,</div>
 <div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;                                              <a class="code" href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a> *creds);</div>
 <div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;</div>
-<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="comment">/* --- Call specific credentials. --- */</span></div>
-<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;</div>
-<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="comment">/* Sets a credentials to a call. Can only be called on the client side before</span></div>
-<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;<span class="comment">   grpc_call_start_batch. */</span></div>
 <div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a> <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> <a class="code" href="grpc__security_8h.html#ab065a653f78111065e91a579fd2ce2d2">grpc_call_set_credentials</a>(<a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> *call,</div>
 <div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;                                                  <a class="code" href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a> *creds);</div>
 <div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;</div>
-<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;<span class="comment">/* --- Auth Metadata Processing --- */</span></div>
-<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;</div>
-<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;<span class="comment">/* Callback function that is called when the metadata processing is done.</span></div>
-<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;<span class="comment">   - Consumed metadata will be removed from the set of metadata available on the</span></div>
-<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;<span class="comment">     call. consumed_md may be NULL if no metadata has been consumed.</span></div>
-<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;<span class="comment">   - Response metadata will be set on the response. response_md may be NULL.</span></div>
-<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;<span class="comment">   - status is GRPC_STATUS_OK for success or a specific status for an error.</span></div>
-<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;<span class="comment">     Common error status for auth metadata processing is either</span></div>
-<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;<span class="comment">     GRPC_STATUS_UNAUTHENTICATED in case of an authentication failure or</span></div>
-<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;<span class="comment">     GRPC_STATUS PERMISSION_DENIED in case of an authorization failure.</span></div>
-<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;<span class="comment">   - error_details gives details about the error. May be NULL. */</span></div>
 <div class="line"><a name="l00365"></a><span class="lineno"><a class="line" href="grpc__security_8h.html#a54decefff49649afe0c5a3056d0734f1">  365</a></span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="grpc__security_8h.html#a54decefff49649afe0c5a3056d0734f1">grpc_process_auth_metadata_done_cb</a>)(</div>
 <div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;    <span class="keywordtype">void</span> *user_data, <span class="keyword">const</span> <a class="code" href="structgrpc__metadata.html">grpc_metadata</a> *consumed_md, <span class="keywordtype">size_t</span> num_consumed_md,</div>
 <div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    <span class="keyword">const</span> <a class="code" href="structgrpc__metadata.html">grpc_metadata</a> *response_md, <span class="keywordtype">size_t</span> num_response_md,</div>
 <div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;    <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> status, <span class="keyword">const</span> <span class="keywordtype">char</span> *error_details);</div>
 <div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;</div>
-<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;<span class="comment">/* Pluggable server-side metadata processor object. */</span></div>
 <div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="structgrpc__auth__metadata__processor.html">  371</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;  <span class="comment">/* The context object is read/write: it contains the properties of the</span></div>
-<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="comment">     channel peer and it is the job of the process function to augment it with</span></div>
-<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;<span class="comment">     properties derived from the passed-in metadata.</span></div>
-<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;<span class="comment">     The lifetime of these objects is guaranteed until cb is invoked. */</span></div>
 <div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="structgrpc__auth__metadata__processor.html#a600fce6862323bb4dc4a3a1b2f844c68">  376</a></span>&#160;  void (*process)(<span class="keywordtype">void</span> *state, <a class="code" href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a> *context,</div>
 <div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;                  <span class="keyword">const</span> <a class="code" href="structgrpc__metadata.html">grpc_metadata</a> *md, <span class="keywordtype">size_t</span> num_md,</div>
 <div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;                  <a class="code" href="grpc__security_8h.html#a54decefff49649afe0c5a3056d0734f1">grpc_process_auth_metadata_done_cb</a> cb, <span class="keywordtype">void</span> *user_data);</div>
@@ -480,86 +309,86 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;<span class="preprocessor">#endif</span></div>
 <div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;<span class="preprocessor"></span></div>
 <div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_GRPC_SECURITY_H */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="grpc__types_8h_html_a122f8f4f0a585396d993d9b55848f222"><div class="ttname"><a href="grpc__types_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_types.h:85</div></div>
-<div class="ttc" id="grpc__security_8h_html_a9d3ce2db2aa6fb1c21dd2789ee7c2d18"><div class="ttname"><a href="grpc__security_8h.html#a9d3ce2db2aa6fb1c21dd2789ee7c2d18">grpc_auth_context_find_properties_by_name</a></div><div class="ttdeci">GRPCAPI grpc_auth_property_iterator grpc_auth_context_find_properties_by_name(const grpc_auth_context *ctx, const char *name)</div></div>
-<div class="ttc" id="grpc__security_8h_html_a73068ca89b430bb9004f8c3e86a2886a"><div class="ttname"><a href="grpc__security_8h.html#a73068ca89b430bb9004f8c3e86a2886a">grpc_auth_context_add_cstring_property</a></div><div class="ttdeci">GRPCAPI void grpc_auth_context_add_cstring_property(grpc_auth_context *ctx, const char *name, const char *value)</div></div>
-<div class="ttc" id="grpc__security_8h_html_a54decefff49649afe0c5a3056d0734f1"><div class="ttname"><a href="grpc__security_8h.html#a54decefff49649afe0c5a3056d0734f1">grpc_process_auth_metadata_done_cb</a></div><div class="ttdeci">void(* grpc_process_auth_metadata_done_cb)(void *user_data, const grpc_metadata *consumed_md, size_t num_consumed_md, const grpc_metadata *response_md, size_t num_response_md, grpc_status_code status, const char *error_details)</div><div class="ttdef"><b>Definition:</b> grpc_security.h:365</div></div>
-<div class="ttc" id="grpc__security_8h_html_aedee02a7f6ed58e9bd41b00a518350c2"><div class="ttname"><a href="grpc__security_8h.html#aedee02a7f6ed58e9bd41b00a518350c2">grpc_auth_context_property_iterator</a></div><div class="ttdeci">GRPCAPI grpc_auth_property_iterator grpc_auth_context_property_iterator(const grpc_auth_context *ctx)</div></div>
+<div class="ttc" id="grpc__types_8h_html_a122f8f4f0a585396d993d9b55848f222"><div class="ttname"><a href="grpc__types_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_types.h:86</div></div>
+<div class="ttc" id="grpc__security_8h_html_a9d3ce2db2aa6fb1c21dd2789ee7c2d18"><div class="ttname"><a href="grpc__security_8h.html#a9d3ce2db2aa6fb1c21dd2789ee7c2d18">grpc_auth_context_find_properties_by_name</a></div><div class="ttdeci">GRPCAPI grpc_auth_property_iterator grpc_auth_context_find_properties_by_name(const grpc_auth_context *ctx, const char *name)</div><div class="ttdoc">Finds a property in the context. </div></div>
+<div class="ttc" id="grpc__security_8h_html_a73068ca89b430bb9004f8c3e86a2886a"><div class="ttname"><a href="grpc__security_8h.html#a73068ca89b430bb9004f8c3e86a2886a">grpc_auth_context_add_cstring_property</a></div><div class="ttdeci">GRPCAPI void grpc_auth_context_add_cstring_property(grpc_auth_context *ctx, const char *name, const char *value)</div><div class="ttdoc">Add a C string property. </div></div>
+<div class="ttc" id="grpc__security_8h_html_a54decefff49649afe0c5a3056d0734f1"><div class="ttname"><a href="grpc__security_8h.html#a54decefff49649afe0c5a3056d0734f1">grpc_process_auth_metadata_done_cb</a></div><div class="ttdeci">void(* grpc_process_auth_metadata_done_cb)(void *user_data, const grpc_metadata *consumed_md, size_t num_consumed_md, const grpc_metadata *response_md, size_t num_response_md, grpc_status_code status, const char *error_details)</div><div class="ttdoc">— Auth Metadata Processing — </div><div class="ttdef"><b>Definition:</b> grpc_security.h:365</div></div>
+<div class="ttc" id="grpc__security_8h_html_aedee02a7f6ed58e9bd41b00a518350c2"><div class="ttname"><a href="grpc__security_8h.html#aedee02a7f6ed58e9bd41b00a518350c2">grpc_auth_context_property_iterator</a></div><div class="ttdeci">GRPCAPI grpc_auth_property_iterator grpc_auth_context_property_iterator(const grpc_auth_context *ctx)</div><div class="ttdoc">Iterates over the auth context. </div></div>
 <div class="ttc" id="structgrpc__auth__property_html_a07359a178c29240cab42a89ef047b101"><div class="ttname"><a href="structgrpc__auth__property.html#a07359a178c29240cab42a89ef047b101">grpc_auth_property::value_length</a></div><div class="ttdeci">size_t value_length</div><div class="ttdef"><b>Definition:</b> grpc_security.h:59</div></div>
-<div class="ttc" id="grpc__security_8h_html_aa724192e56fdc03827846f16752deccc"><div class="ttname"><a href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a></div><div class="ttdeci">struct grpc_server_credentials grpc_server_credentials</div><div class="ttdef"><b>Definition:</b> grpc_security.h:306</div></div>
-<div class="ttc" id="grpc__security_8h_html_ab065a653f78111065e91a579fd2ce2d2"><div class="ttname"><a href="grpc__security_8h.html#ab065a653f78111065e91a579fd2ce2d2">grpc_call_set_credentials</a></div><div class="ttdeci">GRPCAPI grpc_call_error grpc_call_set_credentials(grpc_call *call, grpc_call_credentials *creds)</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_types.h:142</div></div>
+<div class="ttc" id="grpc__security_8h_html_aa724192e56fdc03827846f16752deccc"><div class="ttname"><a href="grpc__security_8h.html#aa724192e56fdc03827846f16752deccc">grpc_server_credentials</a></div><div class="ttdeci">struct grpc_server_credentials grpc_server_credentials</div><div class="ttdoc">— grpc_server_credentials object. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:306</div></div>
+<div class="ttc" id="grpc__security_8h_html_ab065a653f78111065e91a579fd2ce2d2"><div class="ttname"><a href="grpc__security_8h.html#ab065a653f78111065e91a579fd2ce2d2">grpc_call_set_credentials</a></div><div class="ttdeci">GRPCAPI grpc_call_error grpc_call_set_credentials(grpc_call *call, grpc_call_credentials *creds)</div><div class="ttdoc">— Call specific credentials. </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_types.h:143</div></div>
 <div class="ttc" id="structgrpc__auth__property_html_af44f45ac4673a0298d00354c47d0907e"><div class="ttname"><a href="structgrpc__auth__property.html#af44f45ac4673a0298d00354c47d0907e">grpc_auth_property::value</a></div><div class="ttdeci">char * value</div><div class="ttdef"><b>Definition:</b> grpc_security.h:58</div></div>
-<div class="ttc" id="grpc__security_8h_html_a8e4b35968eac741831a708224e207348"><div class="ttname"><a href="grpc__security_8h.html#a8e4b35968eac741831a708224e207348">grpc_composite_channel_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_channel_credentials * grpc_composite_channel_credentials_create(grpc_channel_credentials *channel_creds, grpc_call_credentials *call_creds, void *reserved)</div></div>
-<div class="ttc" id="grpc__types_8h_html_a432bfa6b9f6603643cdf9de8804c254e"><div class="ttname"><a href="grpc__types_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_types.h:77</div></div>
-<div class="ttc" id="grpc__security_8h_html_ae8c4bf6c9657d6e19ea1481c1ea9a5d5"><div class="ttname"><a href="grpc__security_8h.html#ae8c4bf6c9657d6e19ea1481c1ea9a5d5">grpc_service_account_jwt_access_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_call_credentials * grpc_service_account_jwt_access_credentials_create(const char *json_key, gpr_timespec token_lifetime, void *reserved)</div></div>
+<div class="ttc" id="grpc__security_8h_html_a8e4b35968eac741831a708224e207348"><div class="ttname"><a href="grpc__security_8h.html#a8e4b35968eac741831a708224e207348">grpc_composite_channel_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_channel_credentials * grpc_composite_channel_credentials_create(grpc_channel_credentials *channel_creds, grpc_call_credentials *call_creds, void *reserved)</div><div class="ttdoc">Creates a composite channel credentials object. </div></div>
+<div class="ttc" id="grpc__types_8h_html_a432bfa6b9f6603643cdf9de8804c254e"><div class="ttname"><a href="grpc__types_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_types.h:78</div></div>
+<div class="ttc" id="grpc__security_8h_html_ae8c4bf6c9657d6e19ea1481c1ea9a5d5"><div class="ttname"><a href="grpc__security_8h.html#ae8c4bf6c9657d6e19ea1481c1ea9a5d5">grpc_service_account_jwt_access_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_call_credentials * grpc_service_account_jwt_access_credentials_create(const char *json_key, gpr_timespec token_lifetime, void *reserved)</div><div class="ttdoc">Creates a JWT credentials object. </div></div>
 <div class="ttc" id="grpc__security_8h_html_a37da13e43ccc9b19e9f1a6051feaedc3"><div class="ttname"><a href="grpc__security_8h.html#a37da13e43ccc9b19e9f1a6051feaedc3">grpc_server_credentials_set_auth_metadata_processor</a></div><div class="ttdeci">GRPCAPI void grpc_server_credentials_set_auth_metadata_processor(grpc_server_credentials *creds, grpc_auth_metadata_processor processor)</div></div>
-<div class="ttc" id="structgrpc__metadata__credentials__plugin_html"><div class="ttname"><a href="structgrpc__metadata__credentials__plugin.html">grpc_metadata_credentials_plugin</a></div><div class="ttdef"><b>Definition:</b> grpc_security.h:272</div></div>
-<div class="ttc" id="structgrpc__auth__metadata__context_html_ad031faf41efeaae29c4f71d67a0d2cb3"><div class="ttname"><a href="structgrpc__auth__metadata__context.html#ad031faf41efeaae29c4f71d67a0d2cb3">grpc_auth_metadata_context::method_name</a></div><div class="ttdeci">const char * method_name</div><div class="ttdef"><b>Definition:</b> grpc_security.h:258</div></div>
-<div class="ttc" id="structgrpc__metadata__credentials__plugin_html_a6c02843e7eff42cb3b397800bd64f2dc"><div class="ttname"><a href="structgrpc__metadata__credentials__plugin.html#a6c02843e7eff42cb3b397800bd64f2dc">grpc_metadata_credentials_plugin::type</a></div><div class="ttdeci">const char * type</div><div class="ttdef"><b>Definition:</b> grpc_security.h:288</div></div>
-<div class="ttc" id="structgrpc__ssl__pem__key__cert__pair_html_a2d4e3bdbc59d906bc9ca8b873120fd72"><div class="ttname"><a href="structgrpc__ssl__pem__key__cert__pair.html#a2d4e3bdbc59d906bc9ca8b873120fd72">grpc_ssl_pem_key_cert_pair::private_key</a></div><div class="ttdeci">const char * private_key</div><div class="ttdef"><b>Definition:</b> grpc_security.h:153</div></div>
-<div class="ttc" id="grpc__security_8h_html_aa2108431aea25ab0e9bef17becff7357"><div class="ttname"><a href="grpc__security_8h.html#aa2108431aea25ab0e9bef17becff7357">grpc_google_refresh_token_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_call_credentials * grpc_google_refresh_token_credentials_create(const char *json_refresh_token, void *reserved)</div></div>
-<div class="ttc" id="grpc__types_8h_html_a2bbbaad8f7a806f6c834b68c5dd916d8"><div class="ttname"><a href="grpc__types_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_types.h:80</div></div>
-<div class="ttc" id="grpc__security_8h_html_a2dfd4a555352ff0e449ce9c38abd2f21"><div class="ttname"><a href="grpc__security_8h.html#a2dfd4a555352ff0e449ce9c38abd2f21">grpc_ssl_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_channel_credentials * grpc_ssl_credentials_create(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair, void *reserved)</div></div>
+<div class="ttc" id="structgrpc__metadata__credentials__plugin_html"><div class="ttname"><a href="structgrpc__metadata__credentials__plugin.html">grpc_metadata_credentials_plugin</a></div><div class="ttdoc">grpc_metadata_credentials plugin is an API user provided structure used to create grpc_credentials ob...</div><div class="ttdef"><b>Definition:</b> grpc_security.h:272</div></div>
+<div class="ttc" id="structgrpc__auth__metadata__context_html_ad031faf41efeaae29c4f71d67a0d2cb3"><div class="ttname"><a href="structgrpc__auth__metadata__context.html#ad031faf41efeaae29c4f71d67a0d2cb3">grpc_auth_metadata_context::method_name</a></div><div class="ttdeci">const char * method_name</div><div class="ttdoc">The method name of the RPC being called (not fully qualified). </div><div class="ttdef"><b>Definition:</b> grpc_security.h:258</div></div>
+<div class="ttc" id="structgrpc__metadata__credentials__plugin_html_a6c02843e7eff42cb3b397800bd64f2dc"><div class="ttname"><a href="structgrpc__metadata__credentials__plugin.html#a6c02843e7eff42cb3b397800bd64f2dc">grpc_metadata_credentials_plugin::type</a></div><div class="ttdeci">const char * type</div><div class="ttdoc">Type of credentials that this plugin is implementing. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:288</div></div>
+<div class="ttc" id="structgrpc__ssl__pem__key__cert__pair_html_a2d4e3bdbc59d906bc9ca8b873120fd72"><div class="ttname"><a href="structgrpc__ssl__pem__key__cert__pair.html#a2d4e3bdbc59d906bc9ca8b873120fd72">grpc_ssl_pem_key_cert_pair::private_key</a></div><div class="ttdeci">const char * private_key</div><div class="ttdoc">private_key is the NULL-terminated string containing the PEM encoding of the client&#39;s private key...</div><div class="ttdef"><b>Definition:</b> grpc_security.h:153</div></div>
+<div class="ttc" id="grpc__security_8h_html_aa2108431aea25ab0e9bef17becff7357"><div class="ttname"><a href="grpc__security_8h.html#aa2108431aea25ab0e9bef17becff7357">grpc_google_refresh_token_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_call_credentials * grpc_google_refresh_token_credentials_create(const char *json_refresh_token, void *reserved)</div><div class="ttdoc">Creates an Oauth2 Refresh Token credentials object for connecting to Google. </div></div>
+<div class="ttc" id="grpc__types_8h_html_a2bbbaad8f7a806f6c834b68c5dd916d8"><div class="ttname"><a href="grpc__types_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_types.h:81</div></div>
+<div class="ttc" id="grpc__security_8h_html_a2dfd4a555352ff0e449ce9c38abd2f21"><div class="ttname"><a href="grpc__security_8h.html#a2dfd4a555352ff0e449ce9c38abd2f21">grpc_ssl_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_channel_credentials * grpc_ssl_credentials_create(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair, void *reserved)</div><div class="ttdoc">Creates an SSL credentials object. </div></div>
 <div class="ttc" id="structgrpc__auth__metadata__processor_html_af85de1293dfd5e846339d5ef4b7b41dc"><div class="ttname"><a href="structgrpc__auth__metadata__processor.html#af85de1293dfd5e846339d5ef4b7b41dc">grpc_auth_metadata_processor::state</a></div><div class="ttdeci">void * state</div><div class="ttdef"><b>Definition:</b> grpc_security.h:380</div></div>
 <div class="ttc" id="grpc__security__constants_8h_html"><div class="ttname"><a href="grpc__security__constants_8h.html">grpc_security_constants.h</a></div></div>
 <div class="ttc" id="structgrpc__auth__property_html_a83fb830ffe7321265dc9b628e9246a27"><div class="ttname"><a href="structgrpc__auth__property.html#a83fb830ffe7321265dc9b628e9246a27">grpc_auth_property::name</a></div><div class="ttdeci">char * name</div><div class="ttdef"><b>Definition:</b> grpc_security.h:57</div></div>
-<div class="ttc" id="structgrpc__auth__metadata__context_html_a0ca2d1c0da619c1e50cef8437f1ef517"><div class="ttname"><a href="structgrpc__auth__metadata__context.html#a0ca2d1c0da619c1e50cef8437f1ef517">grpc_auth_metadata_context::reserved</a></div><div class="ttdeci">void * reserved</div><div class="ttdef"><b>Definition:</b> grpc_security.h:264</div></div>
-<div class="ttc" id="grpc__security_8h_html_acad1744e2cdf6f9f11723c3450874ca7"><div class="ttname"><a href="grpc__security_8h.html#acad1744e2cdf6f9f11723c3450874ca7">grpc_secure_channel_create</a></div><div class="ttdeci">GRPCAPI grpc_channel * grpc_secure_channel_create(grpc_channel_credentials *creds, const char *target, const grpc_channel_args *args, void *reserved)</div></div>
+<div class="ttc" id="structgrpc__auth__metadata__context_html_a0ca2d1c0da619c1e50cef8437f1ef517"><div class="ttname"><a href="structgrpc__auth__metadata__context.html#a0ca2d1c0da619c1e50cef8437f1ef517">grpc_auth_metadata_context::reserved</a></div><div class="ttdeci">void * reserved</div><div class="ttdoc">Reserved for future use. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:264</div></div>
+<div class="ttc" id="grpc__security_8h_html_acad1744e2cdf6f9f11723c3450874ca7"><div class="ttname"><a href="grpc__security_8h.html#acad1744e2cdf6f9f11723c3450874ca7">grpc_secure_channel_create</a></div><div class="ttdeci">GRPCAPI grpc_channel * grpc_secure_channel_create(grpc_channel_credentials *creds, const char *target, const grpc_channel_args *args, void *reserved)</div><div class="ttdoc">— Secure channel creation. </div></div>
 <div class="ttc" id="grpc__security_8h_html_a8bf68d788a4b95461e77278049f4c73f"><div class="ttname"><a href="grpc__security_8h.html#a8bf68d788a4b95461e77278049f4c73f">grpc_max_auth_token_lifetime</a></div><div class="ttdeci">GRPCAPI gpr_timespec grpc_max_auth_token_lifetime()</div></div>
-<div class="ttc" id="grpc__security_8h_html_a93f543166de70abb3a725bdca1d79996"><div class="ttname"><a href="grpc__security_8h.html#a93f543166de70abb3a725bdca1d79996">grpc_auth_context_add_property</a></div><div class="ttdeci">GRPCAPI void grpc_auth_context_add_property(grpc_auth_context *ctx, const char *name, const char *value, size_t value_length)</div></div>
-<div class="ttc" id="grpc__security_8h_html_a68183d792830190c3e14504557d57ad7"><div class="ttname"><a href="grpc__security_8h.html#a68183d792830190c3e14504557d57ad7">grpc_google_default_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_channel_credentials * grpc_google_default_credentials_create(void)</div></div>
-<div class="ttc" id="grpc__security_8h_html_a44c23e47832d9cc27bb56822d66bf436"><div class="ttname"><a href="grpc__security_8h.html#a44c23e47832d9cc27bb56822d66bf436">grpc_set_ssl_roots_override_callback</a></div><div class="ttdeci">GRPCAPI void grpc_set_ssl_roots_override_callback(grpc_ssl_roots_override_callback cb)</div></div>
-<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785b"><div class="ttname"><a href="grpc__types_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_types.h:291</div></div>
-<div class="ttc" id="grpc__security_8h_html_a3c1860cddc9edaa7f657a98a35b77e80"><div class="ttname"><a href="grpc__security_8h.html#a3c1860cddc9edaa7f657a98a35b77e80">grpc_call_auth_context</a></div><div class="ttdeci">GRPCAPI grpc_auth_context * grpc_call_auth_context(grpc_call *call)</div></div>
-<div class="ttc" id="grpc__security_8h_html_a53278c0894e787a5f3bb1092d0fdc3f6"><div class="ttname"><a href="grpc__security_8h.html#a53278c0894e787a5f3bb1092d0fdc3f6">grpc_server_add_secure_http2_port</a></div><div class="ttdeci">GRPCAPI int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr, grpc_server_credentials *creds)</div></div>
+<div class="ttc" id="grpc__security_8h_html_a93f543166de70abb3a725bdca1d79996"><div class="ttname"><a href="grpc__security_8h.html#a93f543166de70abb3a725bdca1d79996">grpc_auth_context_add_property</a></div><div class="ttdeci">GRPCAPI void grpc_auth_context_add_property(grpc_auth_context *ctx, const char *name, const char *value, size_t value_length)</div><div class="ttdoc">– The following auth context methods should only be called by a server metadata processor to set prop...</div></div>
+<div class="ttc" id="grpc__security_8h_html_a68183d792830190c3e14504557d57ad7"><div class="ttname"><a href="grpc__security_8h.html#a68183d792830190c3e14504557d57ad7">grpc_google_default_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_channel_credentials * grpc_google_default_credentials_create(void)</div><div class="ttdoc">Creates default credentials to connect to a google gRPC service. </div></div>
+<div class="ttc" id="grpc__security_8h_html_a44c23e47832d9cc27bb56822d66bf436"><div class="ttname"><a href="grpc__security_8h.html#a44c23e47832d9cc27bb56822d66bf436">grpc_set_ssl_roots_override_callback</a></div><div class="ttdeci">GRPCAPI void grpc_set_ssl_roots_override_callback(grpc_ssl_roots_override_callback cb)</div><div class="ttdoc">Setup a callback to override the default TLS/SSL roots. </div></div>
+<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785b"><div class="ttname"><a href="grpc__types_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_types.h:311</div></div>
+<div class="ttc" id="grpc__security_8h_html_a3c1860cddc9edaa7f657a98a35b77e80"><div class="ttname"><a href="grpc__security_8h.html#a3c1860cddc9edaa7f657a98a35b77e80">grpc_call_auth_context</a></div><div class="ttdeci">GRPCAPI grpc_auth_context * grpc_call_auth_context(grpc_call *call)</div><div class="ttdoc">Gets the auth context from the call. </div></div>
+<div class="ttc" id="grpc__security_8h_html_a53278c0894e787a5f3bb1092d0fdc3f6"><div class="ttname"><a href="grpc__security_8h.html#a53278c0894e787a5f3bb1092d0fdc3f6">grpc_server_add_secure_http2_port</a></div><div class="ttdeci">GRPCAPI int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr, grpc_server_credentials *creds)</div><div class="ttdoc">— Server-side secure ports. </div></div>
 <div class="ttc" id="structgrpc__auth__property__iterator_html_a971904d29fa6f6ca6a853d078cae2f58"><div class="ttname"><a href="structgrpc__auth__property__iterator.html#a971904d29fa6f6ca6a853d078cae2f58">grpc_auth_property_iterator::ctx</a></div><div class="ttdeci">const grpc_auth_context * ctx</div><div class="ttdef"><b>Definition:</b> grpc_security.h:50</div></div>
-<div class="ttc" id="grpc__security_8h_html_a064c4dc355a3720cd2bcf6e3ddfb3e05"><div class="ttname"><a href="grpc__security_8h.html#a064c4dc355a3720cd2bcf6e3ddfb3e05">grpc_auth_property_iterator_next</a></div><div class="ttdeci">GRPCAPI const grpc_auth_property * grpc_auth_property_iterator_next(grpc_auth_property_iterator *it)</div></div>
-<div class="ttc" id="structgrpc__auth__metadata__context_html_a67ff8c2ebf38b5511da3d3194d72e01d"><div class="ttname"><a href="structgrpc__auth__metadata__context.html#a67ff8c2ebf38b5511da3d3194d72e01d">grpc_auth_metadata_context::service_url</a></div><div class="ttdeci">const char * service_url</div><div class="ttdef"><b>Definition:</b> grpc_security.h:253</div></div>
+<div class="ttc" id="grpc__security_8h_html_a064c4dc355a3720cd2bcf6e3ddfb3e05"><div class="ttname"><a href="grpc__security_8h.html#a064c4dc355a3720cd2bcf6e3ddfb3e05">grpc_auth_property_iterator_next</a></div><div class="ttdeci">GRPCAPI const grpc_auth_property * grpc_auth_property_iterator_next(grpc_auth_property_iterator *it)</div><div class="ttdoc">Returns NULL when the iterator is at the end. </div></div>
+<div class="ttc" id="structgrpc__auth__metadata__context_html_a67ff8c2ebf38b5511da3d3194d72e01d"><div class="ttname"><a href="structgrpc__auth__metadata__context.html#a67ff8c2ebf38b5511da3d3194d72e01d">grpc_auth_metadata_context::service_url</a></div><div class="ttdeci">const char * service_url</div><div class="ttdoc">The fully qualifed service url. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:253</div></div>
 <div class="ttc" id="structgrpc__auth__property__iterator_html_a3838efa5eb622c7e2c071497132b1cc7"><div class="ttname"><a href="structgrpc__auth__property__iterator.html#a3838efa5eb622c7e2c071497132b1cc7">grpc_auth_property_iterator::name</a></div><div class="ttdeci">const char * name</div><div class="ttdef"><b>Definition:</b> grpc_security.h:52</div></div>
-<div class="ttc" id="grpc__security_8h_html_aeb21611154f3defe05e4eac4cc25af5a"><div class="ttname"><a href="grpc__security_8h.html#aeb21611154f3defe05e4eac4cc25af5a">grpc_call_credentials_release</a></div><div class="ttdeci">GRPCAPI void grpc_call_credentials_release(grpc_call_credentials *creds)</div></div>
+<div class="ttc" id="grpc__security_8h_html_aeb21611154f3defe05e4eac4cc25af5a"><div class="ttname"><a href="grpc__security_8h.html#aeb21611154f3defe05e4eac4cc25af5a">grpc_call_credentials_release</a></div><div class="ttdeci">GRPCAPI void grpc_call_credentials_release(grpc_call_credentials *creds)</div><div class="ttdoc">Releases a call credentials object. </div></div>
 <div class="ttc" id="structgrpc__auth__property__iterator_html_ac2b2a0501f097562a6d8856e3da5e7e6"><div class="ttname"><a href="structgrpc__auth__property__iterator.html#ac2b2a0501f097562a6d8856e3da5e7e6">grpc_auth_property_iterator::index</a></div><div class="ttdeci">size_t index</div><div class="ttdef"><b>Definition:</b> grpc_security.h:51</div></div>
 <div class="ttc" id="structgrpc__auth__property__iterator_html"><div class="ttname"><a href="structgrpc__auth__property__iterator.html">grpc_auth_property_iterator</a></div><div class="ttdef"><b>Definition:</b> grpc_security.h:49</div></div>
-<div class="ttc" id="grpc__security_8h_html_a2350ef1b38c4f69d0ff8510dcbe40072"><div class="ttname"><a href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a></div><div class="ttdeci">struct grpc_call_credentials grpc_call_credentials</div><div class="ttdef"><b>Definition:</b> grpc_security.h:181</div></div>
-<div class="ttc" id="structgrpc__ssl__pem__key__cert__pair_html"><div class="ttname"><a href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a></div><div class="ttdef"><b>Definition:</b> grpc_security.h:150</div></div>
-<div class="ttc" id="structgrpc__auth__metadata__context_html_a7cb596d3af7463816fdde64f3e18dbde"><div class="ttname"><a href="structgrpc__auth__metadata__context.html#a7cb596d3af7463816fdde64f3e18dbde">grpc_auth_metadata_context::channel_auth_context</a></div><div class="ttdeci">const grpc_auth_context * channel_auth_context</div><div class="ttdef"><b>Definition:</b> grpc_security.h:261</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_types.h:364</div></div>
-<div class="ttc" id="grpc__security_8h_html_aa13f0724cb7ff99995d7f0881c01d553"><div class="ttname"><a href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a></div><div class="ttdeci">struct grpc_auth_context grpc_auth_context</div><div class="ttdef"><b>Definition:</b> grpc_security.h:47</div></div>
+<div class="ttc" id="grpc__security_8h_html_a2350ef1b38c4f69d0ff8510dcbe40072"><div class="ttname"><a href="grpc__security_8h.html#a2350ef1b38c4f69d0ff8510dcbe40072">grpc_call_credentials</a></div><div class="ttdeci">struct grpc_call_credentials grpc_call_credentials</div><div class="ttdoc">— grpc_call_credentials object. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:181</div></div>
+<div class="ttc" id="structgrpc__ssl__pem__key__cert__pair_html"><div class="ttname"><a href="structgrpc__ssl__pem__key__cert__pair.html">grpc_ssl_pem_key_cert_pair</a></div><div class="ttdoc">Object that holds a private key / certificate chain pair in PEM format. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:150</div></div>
+<div class="ttc" id="structgrpc__auth__metadata__context_html_a7cb596d3af7463816fdde64f3e18dbde"><div class="ttname"><a href="structgrpc__auth__metadata__context.html#a7cb596d3af7463816fdde64f3e18dbde">grpc_auth_metadata_context::channel_auth_context</a></div><div class="ttdeci">const grpc_auth_context * channel_auth_context</div><div class="ttdoc">The auth_context of the channel which gives the server&#39;s identity. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:261</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_types.h:384</div></div>
+<div class="ttc" id="grpc__security_8h_html_aa13f0724cb7ff99995d7f0881c01d553"><div class="ttname"><a href="grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553">grpc_auth_context</a></div><div class="ttdeci">struct grpc_auth_context grpc_auth_context</div><div class="ttdoc">— Authentication Context. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:47</div></div>
 <div class="ttc" id="grpc__security_8h_html_a26981fdcb987d885b25d34c7dc66e4cf"><div class="ttname"><a href="grpc__security_8h.html#a26981fdcb987d885b25d34c7dc66e4cf">grpc_auth_property_iterator</a></div><div class="ttdeci">struct grpc_auth_property_iterator grpc_auth_property_iterator</div></div>
-<div class="ttc" id="grpc__security_8h_html_a4d6409cf4a261297cd327bd49e72fcea"><div class="ttname"><a href="grpc__security_8h.html#a4d6409cf4a261297cd327bd49e72fcea">grpc_auth_context_peer_identity</a></div><div class="ttdeci">GRPCAPI grpc_auth_property_iterator grpc_auth_context_peer_identity(const grpc_auth_context *ctx)</div></div>
+<div class="ttc" id="grpc__security_8h_html_a4d6409cf4a261297cd327bd49e72fcea"><div class="ttname"><a href="grpc__security_8h.html#a4d6409cf4a261297cd327bd49e72fcea">grpc_auth_context_peer_identity</a></div><div class="ttdeci">GRPCAPI grpc_auth_property_iterator grpc_auth_context_peer_identity(const grpc_auth_context *ctx)</div><div class="ttdoc">Gets the peer identity. </div></div>
 <div class="ttc" id="grpc__security__constants_8h_html_a29ffe63a8bb3b4945ecab42d82758f09"><div class="ttname"><a href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09">grpc_ssl_client_certificate_request_type</a></div><div class="ttdeci">grpc_ssl_client_certificate_request_type</div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:66</div></div>
-<div class="ttc" id="structgrpc__ssl__pem__key__cert__pair_html_a483c3601705853f48dfbc8ee66d5e656"><div class="ttname"><a href="structgrpc__ssl__pem__key__cert__pair.html#a483c3601705853f48dfbc8ee66d5e656">grpc_ssl_pem_key_cert_pair::cert_chain</a></div><div class="ttdeci">const char * cert_chain</div><div class="ttdef"><b>Definition:</b> grpc_security.h:157</div></div>
-<div class="ttc" id="grpc__security_8h_html_adde6c7d191f88997fd82fd8b54f9420e"><div class="ttname"><a href="grpc__security_8h.html#adde6c7d191f88997fd82fd8b54f9420e">grpc_ssl_server_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_server_credentials * grpc_ssl_server_credentials_create(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, size_t num_key_cert_pairs, int force_client_auth, void *reserved)</div></div>
-<div class="ttc" id="grpc__security__constants_8h_html_a90c47ae1d8c33145342170fe615fa68c"><div class="ttname"><a href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68c">grpc_ssl_roots_override_result</a></div><div class="ttdeci">grpc_ssl_roots_override_result</div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:60</div></div>
-<div class="ttc" id="structgrpc__auth__metadata__processor_html"><div class="ttname"><a href="structgrpc__auth__metadata__processor.html">grpc_auth_metadata_processor</a></div><div class="ttdef"><b>Definition:</b> grpc_security.h:371</div></div>
-<div class="ttc" id="impl_2codegen_2port__platform_8h_html_a2865c3b28ea7db75be4c725adb1edc7d"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a></div><div class="ttdeci">#define GRPCAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:414</div></div>
-<div class="ttc" id="grpc__security_8h_html_ab4ed40ea84a2f70ffd81a84bd8ee634b"><div class="ttname"><a href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a></div><div class="ttdeci">struct grpc_channel_credentials grpc_channel_credentials</div><div class="ttdef"><b>Definition:</b> grpc_security.h:121</div></div>
-<div class="ttc" id="structgrpc__metadata__credentials__plugin_html_a3b571f8cbf3cffd887dec1ed5a662571"><div class="ttname"><a href="structgrpc__metadata__credentials__plugin.html#a3b571f8cbf3cffd887dec1ed5a662571">grpc_metadata_credentials_plugin::state</a></div><div class="ttdeci">void * state</div><div class="ttdef"><b>Definition:</b> grpc_security.h:285</div></div>
-<div class="ttc" id="grpc__security_8h_html_a8d8e443300d9a94fa5fe7ef76c77fd38"><div class="ttname"><a href="grpc__security_8h.html#a8d8e443300d9a94fa5fe7ef76c77fd38">grpc_server_credentials_release</a></div><div class="ttdeci">GRPCAPI void grpc_server_credentials_release(grpc_server_credentials *creds)</div></div>
-<div class="ttc" id="grpc__security_8h_html_af66841ff2c26a95ff9cd18ea2cdf38cb"><div class="ttname"><a href="grpc__security_8h.html#af66841ff2c26a95ff9cd18ea2cdf38cb">grpc_google_compute_engine_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_call_credentials * grpc_google_compute_engine_credentials_create(void *reserved)</div></div>
-<div class="ttc" id="structgrpc__auth__property_html"><div class="ttname"><a href="structgrpc__auth__property.html">grpc_auth_property</a></div><div class="ttdef"><b>Definition:</b> grpc_security.h:56</div></div>
-<div class="ttc" id="grpc__security_8h_html_a5fb84795d5b0306006fdb8d316262a82"><div class="ttname"><a href="grpc__security_8h.html#a5fb84795d5b0306006fdb8d316262a82">grpc_composite_call_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_call_credentials * grpc_composite_call_credentials_create(grpc_call_credentials *creds1, grpc_call_credentials *creds2, void *reserved)</div></div>
-<div class="ttc" id="grpc__security_8h_html_aed07d29d954508e9f9da66b547660160"><div class="ttname"><a href="grpc__security_8h.html#aed07d29d954508e9f9da66b547660160">grpc_metadata_credentials_create_from_plugin</a></div><div class="ttdeci">GRPCAPI grpc_call_credentials * grpc_metadata_credentials_create_from_plugin(grpc_metadata_credentials_plugin plugin, void *reserved)</div></div>
-<div class="ttc" id="grpc__security_8h_html_a060719c0b294858858dbf41b7ec2abb5"><div class="ttname"><a href="grpc__security_8h.html#a060719c0b294858858dbf41b7ec2abb5">grpc_google_iam_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_call_credentials * grpc_google_iam_credentials_create(const char *authorization_token, const char *authority_selector, void *reserved)</div></div>
-<div class="ttc" id="grpc__security_8h_html_a010fe7d27deaa2ea50b765b48dbad429"><div class="ttname"><a href="grpc__security_8h.html#a010fe7d27deaa2ea50b765b48dbad429">grpc_auth_property</a></div><div class="ttdeci">struct grpc_auth_property grpc_auth_property</div></div>
+<div class="ttc" id="structgrpc__ssl__pem__key__cert__pair_html_a483c3601705853f48dfbc8ee66d5e656"><div class="ttname"><a href="structgrpc__ssl__pem__key__cert__pair.html#a483c3601705853f48dfbc8ee66d5e656">grpc_ssl_pem_key_cert_pair::cert_chain</a></div><div class="ttdeci">const char * cert_chain</div><div class="ttdoc">cert_chain is the NULL-terminated string containing the PEM encoding of the client&#39;s certificate chai...</div><div class="ttdef"><b>Definition:</b> grpc_security.h:157</div></div>
+<div class="ttc" id="grpc__security_8h_html_adde6c7d191f88997fd82fd8b54f9420e"><div class="ttname"><a href="grpc__security_8h.html#adde6c7d191f88997fd82fd8b54f9420e">grpc_ssl_server_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_server_credentials * grpc_ssl_server_credentials_create(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, size_t num_key_cert_pairs, int force_client_auth, void *reserved)</div><div class="ttdoc">Deprecated in favor of grpc_ssl_server_credentials_create_ex. </div></div>
+<div class="ttc" id="grpc__security__constants_8h_html_a90c47ae1d8c33145342170fe615fa68c"><div class="ttname"><a href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68c">grpc_ssl_roots_override_result</a></div><div class="ttdeci">grpc_ssl_roots_override_result</div><div class="ttdoc">Results for the SSL roots override callback. </div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:60</div></div>
+<div class="ttc" id="structgrpc__auth__metadata__processor_html"><div class="ttname"><a href="structgrpc__auth__metadata__processor.html">grpc_auth_metadata_processor</a></div><div class="ttdoc">Pluggable server-side metadata processor object. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:371</div></div>
+<div class="ttc" id="impl_2codegen_2port__platform_8h_html_a2865c3b28ea7db75be4c725adb1edc7d"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">GRPCAPI</a></div><div class="ttdeci">#define GRPCAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:420</div></div>
+<div class="ttc" id="grpc__security_8h_html_ab4ed40ea84a2f70ffd81a84bd8ee634b"><div class="ttname"><a href="grpc__security_8h.html#ab4ed40ea84a2f70ffd81a84bd8ee634b">grpc_channel_credentials</a></div><div class="ttdeci">struct grpc_channel_credentials grpc_channel_credentials</div><div class="ttdoc">— grpc_channel_credentials object. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:121</div></div>
+<div class="ttc" id="structgrpc__metadata__credentials__plugin_html_a3b571f8cbf3cffd887dec1ed5a662571"><div class="ttname"><a href="structgrpc__metadata__credentials__plugin.html#a3b571f8cbf3cffd887dec1ed5a662571">grpc_metadata_credentials_plugin::state</a></div><div class="ttdeci">void * state</div><div class="ttdoc">State that will be set as the first parameter of the methods above. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:285</div></div>
+<div class="ttc" id="grpc__security_8h_html_a8d8e443300d9a94fa5fe7ef76c77fd38"><div class="ttname"><a href="grpc__security_8h.html#a8d8e443300d9a94fa5fe7ef76c77fd38">grpc_server_credentials_release</a></div><div class="ttdeci">GRPCAPI void grpc_server_credentials_release(grpc_server_credentials *creds)</div><div class="ttdoc">Releases a server_credentials object. </div></div>
+<div class="ttc" id="grpc__security_8h_html_af66841ff2c26a95ff9cd18ea2cdf38cb"><div class="ttname"><a href="grpc__security_8h.html#af66841ff2c26a95ff9cd18ea2cdf38cb">grpc_google_compute_engine_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_call_credentials * grpc_google_compute_engine_credentials_create(void *reserved)</div><div class="ttdoc">Creates a compute engine credentials object for connecting to Google. </div></div>
+<div class="ttc" id="structgrpc__auth__property_html"><div class="ttname"><a href="structgrpc__auth__property.html">grpc_auth_property</a></div><div class="ttdoc">value, if not NULL, is guaranteed to be NULL terminated. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:56</div></div>
+<div class="ttc" id="grpc__security_8h_html_a5fb84795d5b0306006fdb8d316262a82"><div class="ttname"><a href="grpc__security_8h.html#a5fb84795d5b0306006fdb8d316262a82">grpc_composite_call_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_call_credentials * grpc_composite_call_credentials_create(grpc_call_credentials *creds1, grpc_call_credentials *creds2, void *reserved)</div><div class="ttdoc">Creates a composite call credentials object. </div></div>
+<div class="ttc" id="grpc__security_8h_html_aed07d29d954508e9f9da66b547660160"><div class="ttname"><a href="grpc__security_8h.html#aed07d29d954508e9f9da66b547660160">grpc_metadata_credentials_create_from_plugin</a></div><div class="ttdeci">GRPCAPI grpc_call_credentials * grpc_metadata_credentials_create_from_plugin(grpc_metadata_credentials_plugin plugin, void *reserved)</div><div class="ttdoc">Creates a credentials object from a plugin. </div></div>
+<div class="ttc" id="grpc__security_8h_html_a060719c0b294858858dbf41b7ec2abb5"><div class="ttname"><a href="grpc__security_8h.html#a060719c0b294858858dbf41b7ec2abb5">grpc_google_iam_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_call_credentials * grpc_google_iam_credentials_create(const char *authorization_token, const char *authority_selector, void *reserved)</div><div class="ttdoc">Creates an IAM credentials object for connecting to Google. </div></div>
+<div class="ttc" id="grpc__security_8h_html_a010fe7d27deaa2ea50b765b48dbad429"><div class="ttname"><a href="grpc__security_8h.html#a010fe7d27deaa2ea50b765b48dbad429">grpc_auth_property</a></div><div class="ttdeci">struct grpc_auth_property grpc_auth_property</div><div class="ttdoc">value, if not NULL, is guaranteed to be NULL terminated. </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__security_8h_html_aa9dbfdabaca2ab86c9d7e71cbc81d3d4"><div class="ttname"><a href="grpc__security_8h.html#aa9dbfdabaca2ab86c9d7e71cbc81d3d4">grpc_auth_context_release</a></div><div class="ttdeci">GRPCAPI void grpc_auth_context_release(grpc_auth_context *context)</div></div>
-<div class="ttc" id="grpc__security_8h_html_a9cff913051370085b7cc58aa3ccbd4a4"><div class="ttname"><a href="grpc__security_8h.html#a9cff913051370085b7cc58aa3ccbd4a4">grpc_auth_context_set_peer_identity_property_name</a></div><div class="ttdeci">GRPCAPI int grpc_auth_context_set_peer_identity_property_name(grpc_auth_context *ctx, const char *name)</div></div>
-<div class="ttc" id="grpc__security_8h_html_aa64d5173a15c51fdb2d80c3c187157ca"><div class="ttname"><a href="grpc__security_8h.html#aa64d5173a15c51fdb2d80c3c187157ca">grpc_access_token_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_call_credentials * grpc_access_token_credentials_create(const char *access_token, void *reserved)</div></div>
-<div class="ttc" id="grpc__security_8h_html_a5a627008e49efec12fb97c25b5da4628"><div class="ttname"><a href="grpc__security_8h.html#a5a627008e49efec12fb97c25b5da4628">grpc_auth_context_peer_identity_property_name</a></div><div class="ttdeci">GRPCAPI const char * grpc_auth_context_peer_identity_property_name(const grpc_auth_context *ctx)</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> gpr_types.h:63</div></div>
-<div class="ttc" id="grpc__security_8h_html_acc59d2e9577dc4429895b9cd89450106"><div class="ttname"><a href="grpc__security_8h.html#acc59d2e9577dc4429895b9cd89450106">grpc_credentials_plugin_metadata_cb</a></div><div class="ttdeci">void(* grpc_credentials_plugin_metadata_cb)(void *user_data, const grpc_metadata *creds_md, size_t num_creds_md, grpc_status_code status, const char *error_details)</div><div class="ttdef"><b>Definition:</b> grpc_security.h:245</div></div>
-<div class="ttc" id="grpc__security_8h_html_a5f8a4204d09f2b10a3986d25b6583a08"><div class="ttname"><a href="grpc__security_8h.html#a5f8a4204d09f2b10a3986d25b6583a08">grpc_ssl_server_credentials_create_ex</a></div><div class="ttdeci">GRPCAPI grpc_server_credentials * grpc_ssl_server_credentials_create_ex(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, size_t num_key_cert_pairs, grpc_ssl_client_certificate_request_type client_certificate_request, void *reserved)</div></div>
+<div class="ttc" id="grpc__security_8h_html_aa9dbfdabaca2ab86c9d7e71cbc81d3d4"><div class="ttname"><a href="grpc__security_8h.html#aa9dbfdabaca2ab86c9d7e71cbc81d3d4">grpc_auth_context_release</a></div><div class="ttdeci">GRPCAPI void grpc_auth_context_release(grpc_auth_context *context)</div><div class="ttdoc">Releases the auth context returned from grpc_call_auth_context. </div></div>
+<div class="ttc" id="grpc__security_8h_html_a9cff913051370085b7cc58aa3ccbd4a4"><div class="ttname"><a href="grpc__security_8h.html#a9cff913051370085b7cc58aa3ccbd4a4">grpc_auth_context_set_peer_identity_property_name</a></div><div class="ttdeci">GRPCAPI int grpc_auth_context_set_peer_identity_property_name(grpc_auth_context *ctx, const char *name)</div><div class="ttdoc">Sets the property name. </div></div>
+<div class="ttc" id="grpc__security_8h_html_aa64d5173a15c51fdb2d80c3c187157ca"><div class="ttname"><a href="grpc__security_8h.html#aa64d5173a15c51fdb2d80c3c187157ca">grpc_access_token_credentials_create</a></div><div class="ttdeci">GRPCAPI grpc_call_credentials * grpc_access_token_credentials_create(const char *access_token, void *reserved)</div><div class="ttdoc">Creates an Oauth2 Access Token credentials with an access token that was aquired by an out of band me...</div></div>
+<div class="ttc" id="grpc__security_8h_html_a5a627008e49efec12fb97c25b5da4628"><div class="ttname"><a href="grpc__security_8h.html#a5a627008e49efec12fb97c25b5da4628">grpc_auth_context_peer_identity_property_name</a></div><div class="ttdeci">GRPCAPI const char * grpc_auth_context_peer_identity_property_name(const grpc_auth_context *ctx)</div><div class="ttdoc">Gets the name of the property that indicates the peer identity. </div></div>
+<div class="ttc" id="structgpr__timespec_html"><div class="ttname"><a href="structgpr__timespec.html">gpr_timespec</a></div><div class="ttdoc">Analogous to struct timespec. </div><div class="ttdef"><b>Definition:</b> gpr_types.h:62</div></div>
+<div class="ttc" id="grpc__security_8h_html_acc59d2e9577dc4429895b9cd89450106"><div class="ttname"><a href="grpc__security_8h.html#acc59d2e9577dc4429895b9cd89450106">grpc_credentials_plugin_metadata_cb</a></div><div class="ttdeci">void(* grpc_credentials_plugin_metadata_cb)(void *user_data, const grpc_metadata *creds_md, size_t num_creds_md, grpc_status_code status, const char *error_details)</div><div class="ttdoc">Callback function to be called by the metadata credentials plugin implementation when the metadata is...</div><div class="ttdef"><b>Definition:</b> grpc_security.h:245</div></div>
+<div class="ttc" id="grpc__security_8h_html_a5f8a4204d09f2b10a3986d25b6583a08"><div class="ttname"><a href="grpc__security_8h.html#a5f8a4204d09f2b10a3986d25b6583a08">grpc_ssl_server_credentials_create_ex</a></div><div class="ttdeci">GRPCAPI grpc_server_credentials * grpc_ssl_server_credentials_create_ex(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, size_t num_key_cert_pairs, grpc_ssl_client_certificate_request_type client_certificate_request, void *reserved)</div><div class="ttdoc">Same as grpc_ssl_server_credentials_create method except uses grpc_ssl_client_certificate_request_typ...</div></div>
 <div class="ttc" id="grpc_8h_html"><div class="ttname"><a href="grpc_8h.html">grpc.h</a></div></div>
 <div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eb"><div class="ttname"><a href="impl_2codegen_2status_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__security_8h_html_a5bb56dbcba0b0c54e3c6da0635391959"><div class="ttname"><a href="grpc__security_8h.html#a5bb56dbcba0b0c54e3c6da0635391959">grpc_auth_context_peer_is_authenticated</a></div><div class="ttdeci">GRPCAPI int grpc_auth_context_peer_is_authenticated(const grpc_auth_context *ctx)</div></div>
-<div class="ttc" id="structgrpc__auth__metadata__context_html"><div class="ttname"><a href="structgrpc__auth__metadata__context.html">grpc_auth_metadata_context</a></div><div class="ttdef"><b>Definition:</b> grpc_security.h:251</div></div>
-<div class="ttc" id="grpc__security_8h_html_a005f46357a959bbfbb7b1241a933ef43"><div class="ttname"><a href="grpc__security_8h.html#a005f46357a959bbfbb7b1241a933ef43">grpc_ssl_roots_override_callback</a></div><div class="ttdeci">grpc_ssl_roots_override_result(* grpc_ssl_roots_override_callback)(char **pem_root_certs)</div><div class="ttdef"><b>Definition:</b> grpc_security.h:138</div></div>
-<div class="ttc" id="grpc__security_8h_html_a5a32645c900c2b50bc89fa11ebdc5a07"><div class="ttname"><a href="grpc__security_8h.html#a5a32645c900c2b50bc89fa11ebdc5a07">grpc_channel_credentials_release</a></div><div class="ttdeci">GRPCAPI void grpc_channel_credentials_release(grpc_channel_credentials *creds)</div></div>
+<div class="ttc" id="grpc__security_8h_html_a5bb56dbcba0b0c54e3c6da0635391959"><div class="ttname"><a href="grpc__security_8h.html#a5bb56dbcba0b0c54e3c6da0635391959">grpc_auth_context_peer_is_authenticated</a></div><div class="ttdeci">GRPCAPI int grpc_auth_context_peer_is_authenticated(const grpc_auth_context *ctx)</div><div class="ttdoc">Returns 1 if the peer is authenticated, 0 otherwise. </div></div>
+<div class="ttc" id="structgrpc__auth__metadata__context_html"><div class="ttname"><a href="structgrpc__auth__metadata__context.html">grpc_auth_metadata_context</a></div><div class="ttdoc">Context that can be used by metadata credentials plugin in order to create auth related metadata...</div><div class="ttdef"><b>Definition:</b> grpc_security.h:251</div></div>
+<div class="ttc" id="grpc__security_8h_html_a005f46357a959bbfbb7b1241a933ef43"><div class="ttname"><a href="grpc__security_8h.html#a005f46357a959bbfbb7b1241a933ef43">grpc_ssl_roots_override_callback</a></div><div class="ttdeci">grpc_ssl_roots_override_result(* grpc_ssl_roots_override_callback)(char **pem_root_certs)</div><div class="ttdoc">Callback for getting the SSL roots override from the application. </div><div class="ttdef"><b>Definition:</b> grpc_security.h:138</div></div>
+<div class="ttc" id="grpc__security_8h_html_a5a32645c900c2b50bc89fa11ebdc5a07"><div class="ttname"><a href="grpc__security_8h.html#a5a32645c900c2b50bc89fa11ebdc5a07">grpc_channel_credentials_release</a></div><div class="ttdeci">GRPCAPI void grpc_channel_credentials_release(grpc_channel_credentials *creds)</div><div class="ttdoc">Releases a channel credentials object. </div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 29 - 3
core/grpc__security__constants_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -109,8 +109,10 @@ Macros</h2></td></tr>
 <tr class="memitem:ad46c3fd565d6a24eeb25d1fdc342cb28"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security__constants_8h.html#ad46c3fd565d6a24eeb25d1fdc342cb28">GRPC_X509_PEM_CERT_PROPERTY_NAME</a>&#160;&#160;&#160;&quot;x509_pem_cert&quot;</td></tr>
 <tr class="separator:ad46c3fd565d6a24eeb25d1fdc342cb28"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a48565da473b7c82fa2453798f620fd59"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security__constants_8h.html#a48565da473b7c82fa2453798f620fd59">GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR</a>&#160;&#160;&#160;&quot;GRPC_DEFAULT_SSL_ROOTS_FILE_PATH&quot;</td></tr>
+<tr class="memdesc:a48565da473b7c82fa2453798f620fd59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Environment variable that points to the default SSL roots file.  <a href="#a48565da473b7c82fa2453798f620fd59">More...</a><br/></td></tr>
 <tr class="separator:a48565da473b7c82fa2453798f620fd59"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a3874f70577fc9fe15fd2c4ce68a36ecd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security__constants_8h.html#a3874f70577fc9fe15fd2c4ce68a36ecd">GRPC_GOOGLE_CREDENTIALS_ENV_VAR</a>&#160;&#160;&#160;&quot;GOOGLE_APPLICATION_CREDENTIALS&quot;</td></tr>
+<tr class="memdesc:a3874f70577fc9fe15fd2c4ce68a36ecd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Environment variable that points to the google default application credentials json key or refresh token.  <a href="#a3874f70577fc9fe15fd2c4ce68a36ecd">More...</a><br/></td></tr>
 <tr class="separator:a3874f70577fc9fe15fd2c4ce68a36ecd"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
@@ -119,6 +121,7 @@ Enumerations</h2></td></tr>
 <a class="el" href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68caa0fdee0e3b14865c1ee4e7d89a46cc64">GRPC_SSL_ROOTS_OVERRIDE_FAIL_PERMANENTLY</a>, 
 <a class="el" href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68ca0c132ade28f3f56729b82119fc9f8142">GRPC_SSL_ROOTS_OVERRIDE_FAIL</a>
  }</td></tr>
+<tr class="memdesc:a90c47ae1d8c33145342170fe615fa68c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Results for the SSL roots override callback.  <a href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68c">More...</a><br/></td></tr>
 <tr class="separator:a90c47ae1d8c33145342170fe615fa68c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a29ffe63a8bb3b4945ecab42d82758f09"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09">grpc_ssl_client_certificate_request_type</a> { <br/>
 &#160;&#160;<a class="el" href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09a8bced4a94b58d31fd0718d3203da376f">GRPC_SSL_DONT_REQUEST_CLIENT_CERTIFICATE</a>, 
@@ -142,6 +145,9 @@ Enumerations</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Environment variable that points to the default SSL roots file. </p>
+<p>This file must be a PEM encoded file with all the roots such as the one that can be downloaded from <a href="https://pki.google.com/roots.pem">https://pki.google.com/roots.pem</a>. </p>
+
 </div>
 </div>
 <a class="anchor" id="a3874f70577fc9fe15fd2c4ce68a36ecd"></a>
@@ -154,6 +160,9 @@ Enumerations</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Environment variable that points to the google default application credentials json key or refresh token. </p>
+<p>Used in the grpc_google_default_credentials_create function. </p>
+
 </div>
 </div>
 <a class="anchor" id="a35a35c597b7090b8ac7e2d854c9bcc7a"></a>
@@ -228,14 +237,28 @@ Enumerations</h2></td></tr>
 </div><div class="memdoc">
 <table class="fieldtable">
 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a29ffe63a8bb3b4945ecab42d82758f09a8bced4a94b58d31fd0718d3203da376f"></a>GRPC_SSL_DONT_REQUEST_CLIENT_CERTIFICATE</em>&#160;</td><td class="fielddoc">
+<p>Server does not request client certificate. </p>
+<p>A client can present a self signed or signed certificates if it wishes to do so and they would be accepted. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a29ffe63a8bb3b4945ecab42d82758f09af7c66a36be648bf7e396a145654d79f1"></a>GRPC_SSL_REQUEST_CLIENT_CERTIFICATE_BUT_DONT_VERIFY</em>&#160;</td><td class="fielddoc">
+<p>Server requests client certificate but does not enforce that the client presents a certificate. </p>
+<p>If the client presents a certificate, the client authentication is left to the application based on the metadata like certificate etc.</p>
+<p>The key cert pair should still be valid for the SSL connection to be established. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a29ffe63a8bb3b4945ecab42d82758f09a7390ee04c71c633589eefdad872c2048"></a>GRPC_SSL_REQUEST_CLIENT_CERTIFICATE_AND_VERIFY</em>&#160;</td><td class="fielddoc">
+<p>Server requests client certificate but does not enforce that the client presents a certificate. </p>
+<p>If the client presents a certificate, the client authentication is done by grpc framework (The client needs to either present a signed cert or skip no certificate for a successful connection).</p>
+<p>The key cert pair should still be valid for the SSL connection to be established. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a29ffe63a8bb3b4945ecab42d82758f09a6522b7d489da328ef7c9745039a93f42"></a>GRPC_SSL_REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_BUT_DONT_VERIFY</em>&#160;</td><td class="fielddoc">
+<p>Server requests client certificate but enforces that the client presents a certificate. </p>
+<p>If the client presents a certificate, the client authentication is left to the application based on the metadata like certificate etc.</p>
+<p>The key cert pair should still be valid for the SSL connection to be established. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a29ffe63a8bb3b4945ecab42d82758f09a1041edab0ab12d270937f066f1e1ea0d"></a>GRPC_SSL_REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_AND_VERIFY</em>&#160;</td><td class="fielddoc">
+<p>Server requests client certificate but enforces that the client presents a certificate. </p>
+<p>The cerificate presented by the client is verified by grpc framework (The client needs to present signed certs for a successful connection).</p>
+<p>The key cert pair should still be valid for the SSL connection to be established. </p>
 </td></tr>
 </table>
 
@@ -250,12 +273,15 @@ Enumerations</h2></td></tr>
         </tr>
       </table>
 </div><div class="memdoc">
+
+<p>Results for the SSL roots override callback. </p>
 <table class="fieldtable">
 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a90c47ae1d8c33145342170fe615fa68cadc1832235a9330a02cfa9a753eab70bc"></a>GRPC_SSL_ROOTS_OVERRIDE_OK</em>&#160;</td><td class="fielddoc">
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a90c47ae1d8c33145342170fe615fa68caa0fdee0e3b14865c1ee4e7d89a46cc64"></a>GRPC_SSL_ROOTS_OVERRIDE_FAIL_PERMANENTLY</em>&#160;</td><td class="fielddoc">
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a90c47ae1d8c33145342170fe615fa68ca0c132ade28f3f56729b82119fc9f8142"></a>GRPC_SSL_ROOTS_OVERRIDE_FAIL</em>&#160;</td><td class="fielddoc">
+<p>Do not try fallback options. </p>
 </td></tr>
 </table>
 
@@ -264,7 +290,7 @@ Enumerations</h2></td></tr>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 11 - 54
core/grpc__security__constants_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -137,65 +137,22 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="grpc__security__constants_8h.html#a1412421653b7999544296f56025a0f36">   45</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_X509_SAN_PROPERTY_NAME &quot;x509_subject_alternative_name&quot;</span></div>
 <div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="grpc__security__constants_8h.html#ad46c3fd565d6a24eeb25d1fdc342cb28">   46</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_X509_PEM_CERT_PROPERTY_NAME &quot;x509_pem_cert&quot;</span></div>
 <div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">/* Environment variable that points to the default SSL roots file. This file</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">   must be a PEM encoded file with all the roots such as the one that can be</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">   downloaded from https://pki.google.com/roots.pem.  */</span></div>
 <div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="grpc__security__constants_8h.html#a48565da473b7c82fa2453798f620fd59">   51</a></span>&#160;<span class="preprocessor">#define GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR \</span></div>
 <div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">  &quot;GRPC_DEFAULT_SSL_ROOTS_FILE_PATH&quot;</span></div>
 <div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">/* Environment variable that points to the google default application</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">   credentials json key or refresh token. Used in the</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">   grpc_google_default_credentials_create function. */</span></div>
 <div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="grpc__security__constants_8h.html#a3874f70577fc9fe15fd2c4ce68a36ecd">   57</a></span>&#160;<span class="preprocessor">#define GRPC_GOOGLE_CREDENTIALS_ENV_VAR &quot;GOOGLE_APPLICATION_CREDENTIALS&quot;</span></div>
 <div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">/* Results for the SSL roots override callback. */</span></div>
 <div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68c">   60</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
 <div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68cadc1832235a9330a02cfa9a753eab70bc">   61</a></span>&#160;  <a class="code" href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68cadc1832235a9330a02cfa9a753eab70bc">GRPC_SSL_ROOTS_OVERRIDE_OK</a>,</div>
-<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68caa0fdee0e3b14865c1ee4e7d89a46cc64">   62</a></span>&#160;  <a class="code" href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68caa0fdee0e3b14865c1ee4e7d89a46cc64">GRPC_SSL_ROOTS_OVERRIDE_FAIL_PERMANENTLY</a>, <span class="comment">/* Do not try fallback options. */</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68caa0fdee0e3b14865c1ee4e7d89a46cc64">   62</a></span>&#160;  <a class="code" href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68caa0fdee0e3b14865c1ee4e7d89a46cc64">GRPC_SSL_ROOTS_OVERRIDE_FAIL_PERMANENTLY</a>, </div>
 <div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68ca0c132ade28f3f56729b82119fc9f8142">   63</a></span>&#160;  <a class="code" href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68ca0c132ade28f3f56729b82119fc9f8142">GRPC_SSL_ROOTS_OVERRIDE_FAIL</a></div>
 <div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;} <a class="code" href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68c">grpc_ssl_roots_override_result</a>;</div>
 <div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div>
 <div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09">   66</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  <span class="comment">/* Server does not request client certificate. A client can present a self</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">     signed or signed certificates if it wishes to do so and they would be</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">     accepted. */</span></div>
 <div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09a8bced4a94b58d31fd0718d3203da376f">   70</a></span>&#160;  <a class="code" href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09a8bced4a94b58d31fd0718d3203da376f">GRPC_SSL_DONT_REQUEST_CLIENT_CERTIFICATE</a>,</div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  <span class="comment">/* Server requests client certificate but does not enforce that the client</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">     presents a certificate.</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">     If the client presents a certificate, the client authentication is left to</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">     the application based on the metadata like certificate etc.</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">     The key cert pair should still be valid for the SSL connection to be</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">     established. */</span></div>
 <div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09af7c66a36be648bf7e396a145654d79f1">   79</a></span>&#160;  <a class="code" href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09af7c66a36be648bf7e396a145654d79f1">GRPC_SSL_REQUEST_CLIENT_CERTIFICATE_BUT_DONT_VERIFY</a>,</div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <span class="comment">/* Server requests client certificate but does not enforce that the client</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment">     presents a certificate.</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment">     If the client presents a certificate, the client authentication is done by</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">     grpc framework (The client needs to either present a signed cert or skip no</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">     certificate for a successful connection).</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">     The key cert pair should still be valid for the SSL connection to be</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment">     established. */</span></div>
 <div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09a7390ee04c71c633589eefdad872c2048">   89</a></span>&#160;  <a class="code" href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09a7390ee04c71c633589eefdad872c2048">GRPC_SSL_REQUEST_CLIENT_CERTIFICATE_AND_VERIFY</a>,</div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;  <span class="comment">/* Server requests client certificate but enforces that the client presents a</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment">     certificate.</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment">     If the client presents a certificate, the client authentication is left to</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment">     the application based on the metadata like certificate etc.</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment">     The key cert pair should still be valid for the SSL connection to be</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="comment">     established. */</span></div>
 <div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09a6522b7d489da328ef7c9745039a93f42">   98</a></span>&#160;  <a class="code" href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09a6522b7d489da328ef7c9745039a93f42">GRPC_SSL_REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_BUT_DONT_VERIFY</a>,</div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;  <span class="comment">/* Server requests client certificate but enforces that the client presents a</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment">     certificate.</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment">     The cerificate presented by the client is verified by grpc framework (The</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="comment">     client needs to present signed certs for a successful connection).</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment">     The key cert pair should still be valid for the SSL connection to be</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="comment">     established. */</span></div>
 <div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09a1041edab0ab12d270937f066f1e1ea0d">  107</a></span>&#160;  <a class="code" href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09a1041edab0ab12d270937f066f1e1ea0d">GRPC_SSL_REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_AND_VERIFY</a></div>
 <div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;} <a class="code" href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09">grpc_ssl_client_certificate_request_type</a>;</div>
 <div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div>
@@ -204,20 +161,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div>
 <div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="preprocessor"></span></div>
 <div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_GRPC_SECURITY_CONSTANTS_H */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="grpc__security__constants_8h_html_a29ffe63a8bb3b4945ecab42d82758f09a1041edab0ab12d270937f066f1e1ea0d"><div class="ttname"><a href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09a1041edab0ab12d270937f066f1e1ea0d">GRPC_SSL_REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_AND_VERIFY</a></div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:107</div></div>
+<div class="ttc" id="grpc__security__constants_8h_html_a29ffe63a8bb3b4945ecab42d82758f09a1041edab0ab12d270937f066f1e1ea0d"><div class="ttname"><a href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09a1041edab0ab12d270937f066f1e1ea0d">GRPC_SSL_REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_AND_VERIFY</a></div><div class="ttdoc">Server requests client certificate but enforces that the client presents a certificate. </div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:107</div></div>
 <div class="ttc" id="grpc__security__constants_8h_html_a90c47ae1d8c33145342170fe615fa68caa0fdee0e3b14865c1ee4e7d89a46cc64"><div class="ttname"><a href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68caa0fdee0e3b14865c1ee4e7d89a46cc64">GRPC_SSL_ROOTS_OVERRIDE_FAIL_PERMANENTLY</a></div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:62</div></div>
-<div class="ttc" id="grpc__security__constants_8h_html_a90c47ae1d8c33145342170fe615fa68ca0c132ade28f3f56729b82119fc9f8142"><div class="ttname"><a href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68ca0c132ade28f3f56729b82119fc9f8142">GRPC_SSL_ROOTS_OVERRIDE_FAIL</a></div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:63</div></div>
+<div class="ttc" id="grpc__security__constants_8h_html_a90c47ae1d8c33145342170fe615fa68ca0c132ade28f3f56729b82119fc9f8142"><div class="ttname"><a href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68ca0c132ade28f3f56729b82119fc9f8142">GRPC_SSL_ROOTS_OVERRIDE_FAIL</a></div><div class="ttdoc">Do not try fallback options. </div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:63</div></div>
 <div class="ttc" id="grpc__security__constants_8h_html_a29ffe63a8bb3b4945ecab42d82758f09"><div class="ttname"><a href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09">grpc_ssl_client_certificate_request_type</a></div><div class="ttdeci">grpc_ssl_client_certificate_request_type</div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:66</div></div>
-<div class="ttc" id="grpc__security__constants_8h_html_a29ffe63a8bb3b4945ecab42d82758f09a6522b7d489da328ef7c9745039a93f42"><div class="ttname"><a href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09a6522b7d489da328ef7c9745039a93f42">GRPC_SSL_REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_BUT_DONT_VERIFY</a></div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:98</div></div>
-<div class="ttc" id="grpc__security__constants_8h_html_a90c47ae1d8c33145342170fe615fa68c"><div class="ttname"><a href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68c">grpc_ssl_roots_override_result</a></div><div class="ttdeci">grpc_ssl_roots_override_result</div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:60</div></div>
+<div class="ttc" id="grpc__security__constants_8h_html_a29ffe63a8bb3b4945ecab42d82758f09a6522b7d489da328ef7c9745039a93f42"><div class="ttname"><a href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09a6522b7d489da328ef7c9745039a93f42">GRPC_SSL_REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_BUT_DONT_VERIFY</a></div><div class="ttdoc">Server requests client certificate but enforces that the client presents a certificate. </div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:98</div></div>
+<div class="ttc" id="grpc__security__constants_8h_html_a90c47ae1d8c33145342170fe615fa68c"><div class="ttname"><a href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68c">grpc_ssl_roots_override_result</a></div><div class="ttdeci">grpc_ssl_roots_override_result</div><div class="ttdoc">Results for the SSL roots override callback. </div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:60</div></div>
 <div class="ttc" id="grpc__security__constants_8h_html_a90c47ae1d8c33145342170fe615fa68cadc1832235a9330a02cfa9a753eab70bc"><div class="ttname"><a href="grpc__security__constants_8h.html#a90c47ae1d8c33145342170fe615fa68cadc1832235a9330a02cfa9a753eab70bc">GRPC_SSL_ROOTS_OVERRIDE_OK</a></div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:61</div></div>
-<div class="ttc" id="grpc__security__constants_8h_html_a29ffe63a8bb3b4945ecab42d82758f09a7390ee04c71c633589eefdad872c2048"><div class="ttname"><a href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09a7390ee04c71c633589eefdad872c2048">GRPC_SSL_REQUEST_CLIENT_CERTIFICATE_AND_VERIFY</a></div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:89</div></div>
-<div class="ttc" id="grpc__security__constants_8h_html_a29ffe63a8bb3b4945ecab42d82758f09af7c66a36be648bf7e396a145654d79f1"><div class="ttname"><a href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09af7c66a36be648bf7e396a145654d79f1">GRPC_SSL_REQUEST_CLIENT_CERTIFICATE_BUT_DONT_VERIFY</a></div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:79</div></div>
-<div class="ttc" id="grpc__security__constants_8h_html_a29ffe63a8bb3b4945ecab42d82758f09a8bced4a94b58d31fd0718d3203da376f"><div class="ttname"><a href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09a8bced4a94b58d31fd0718d3203da376f">GRPC_SSL_DONT_REQUEST_CLIENT_CERTIFICATE</a></div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:70</div></div>
+<div class="ttc" id="grpc__security__constants_8h_html_a29ffe63a8bb3b4945ecab42d82758f09a7390ee04c71c633589eefdad872c2048"><div class="ttname"><a href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09a7390ee04c71c633589eefdad872c2048">GRPC_SSL_REQUEST_CLIENT_CERTIFICATE_AND_VERIFY</a></div><div class="ttdoc">Server requests client certificate but does not enforce that the client presents a certificate...</div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:89</div></div>
+<div class="ttc" id="grpc__security__constants_8h_html_a29ffe63a8bb3b4945ecab42d82758f09af7c66a36be648bf7e396a145654d79f1"><div class="ttname"><a href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09af7c66a36be648bf7e396a145654d79f1">GRPC_SSL_REQUEST_CLIENT_CERTIFICATE_BUT_DONT_VERIFY</a></div><div class="ttdoc">Server requests client certificate but does not enforce that the client presents a certificate...</div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:79</div></div>
+<div class="ttc" id="grpc__security__constants_8h_html_a29ffe63a8bb3b4945ecab42d82758f09a8bced4a94b58d31fd0718d3203da376f"><div class="ttname"><a href="grpc__security__constants_8h.html#a29ffe63a8bb3b4945ecab42d82758f09a8bced4a94b58d31fd0718d3203da376f">GRPC_SSL_DONT_REQUEST_CLIENT_CERTIFICATE</a></div><div class="ttdoc">Server does not request client certificate. </div><div class="ttdef"><b>Definition:</b> grpc_security_constants.h:70</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 154 - 17
core/grpc__types_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -95,13 +95,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="title">grpc_types.h File Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="textblock"><code>#include &lt;<a class="el" href="compression__types_8h_source.html">grpc/impl/codegen/compression_types.h</a>&gt;</code><br/>
+<div class="textblock"><code>#include &lt;<a class="el" href="impl_2codegen_2port__platform_8h_source.html">grpc/impl/codegen/port_platform.h</a>&gt;</code><br/>
+<code>#include &lt;<a class="el" href="compression__types_8h_source.html">grpc/impl/codegen/compression_types.h</a>&gt;</code><br/>
 <code>#include &lt;<a class="el" href="exec__ctx__fwd_8h_source.html">grpc/impl/codegen/exec_ctx_fwd.h</a>&gt;</code><br/>
 <code>#include &lt;<a class="el" href="gpr__types_8h_source.html">grpc/impl/codegen/gpr_types.h</a>&gt;</code><br/>
 <code>#include &lt;<a class="el" href="impl_2codegen_2slice_8h_source.html">grpc/impl/codegen/slice.h</a>&gt;</code><br/>
 <code>#include &lt;<a class="el" href="impl_2codegen_2status_8h_source.html">grpc/impl/codegen/status.h</a>&gt;</code><br/>
 <code>#include &lt;stddef.h&gt;</code><br/>
-<code>#include &lt;stdint.h&gt;</code><br/>
 </div>
 <p><a href="grpc__types_8h_source.html">Go to the source code of this file.</a></p>
 <table class="memberdecls">
@@ -133,6 +133,8 @@ Data Structures</h2></td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__channel__info.html">grpc_channel_info</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information requested from the channel.  <a href="structgrpc__channel__info.html#details">More...</a><br/></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__completion__queue__attributes.html">grpc_completion_queue_attributes</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
 Macros</h2></td></tr>
@@ -165,8 +167,14 @@ Macros</h2></td></tr>
 <tr class="memitem:gaf4574abe94c339c6f21163bca6e7b6b7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gaf4574abe94c339c6f21163bca6e7b6b7">GRPC_ARG_MAX_CONNECTION_AGE_GRACE_MS</a>&#160;&#160;&#160;&quot;grpc.max_connection_age_grace_ms&quot;</td></tr>
 <tr class="memdesc:gaf4574abe94c339c6f21163bca6e7b6b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Grace period after the chennel reaches its max age.  <a href="group__grpc__arg__keys.html#gaf4574abe94c339c6f21163bca6e7b6b7">More...</a><br/></td></tr>
 <tr class="separator:gaf4574abe94c339c6f21163bca6e7b6b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab195665836ae27c45748f5c4e5dc4057"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gab195665836ae27c45748f5c4e5dc4057">GRPC_ARG_ENABLE_PER_MESSAGE_COMPRESSION</a>&#160;&#160;&#160;&quot;grpc.per_message_compression&quot;</td></tr>
+<tr class="memdesc:gab195665836ae27c45748f5c4e5dc4057"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable support for per-message compression.  <a href="group__grpc__arg__keys.html#gab195665836ae27c45748f5c4e5dc4057">More...</a><br/></td></tr>
+<tr class="separator:gab195665836ae27c45748f5c4e5dc4057"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga405daab19c0dceb2a64d0b1a77f8fe97"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#ga405daab19c0dceb2a64d0b1a77f8fe97">GRPC_ARG_ENABLE_DEADLINE_CHECKS</a>&#160;&#160;&#160;&quot;grpc.enable_deadline_checking&quot;</td></tr>
+<tr class="memdesc:ga405daab19c0dceb2a64d0b1a77f8fe97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable support for deadline checking.  <a href="group__grpc__arg__keys.html#ga405daab19c0dceb2a64d0b1a77f8fe97">More...</a><br/></td></tr>
+<tr class="separator:ga405daab19c0dceb2a64d0b1a77f8fe97"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaecc45a63163796ca1bc5453938bdfb36"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gaecc45a63163796ca1bc5453938bdfb36">GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER</a>&#160;&#160;&#160;&quot;grpc.http2.initial_sequence_number&quot;</td></tr>
-<tr class="memdesc:gaecc45a63163796ca1bc5453938bdfb36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initial sequence number for http2 transports.  <a href="group__grpc__arg__keys.html#gaecc45a63163796ca1bc5453938bdfb36">More...</a><br/></td></tr>
+<tr class="memdesc:gaecc45a63163796ca1bc5453938bdfb36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initial stream ID for http2 transports.  <a href="group__grpc__arg__keys.html#gaecc45a63163796ca1bc5453938bdfb36">More...</a><br/></td></tr>
 <tr class="separator:gaecc45a63163796ca1bc5453938bdfb36"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gac02673f790cd2e8616e03aa010be67d6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gac02673f790cd2e8616e03aa010be67d6">GRPC_ARG_HTTP2_STREAM_LOOKAHEAD_BYTES</a>&#160;&#160;&#160;&quot;grpc.http2.lookahead_bytes&quot;</td></tr>
 <tr class="memdesc:gac02673f790cd2e8616e03aa010be67d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Amount to read ahead on individual streams.  <a href="group__grpc__arg__keys.html#gac02673f790cd2e8616e03aa010be67d6">More...</a><br/></td></tr>
@@ -186,6 +194,9 @@ Macros</h2></td></tr>
 <tr class="memitem:gacc0d0f1d3d582d39fcfb7a835b730a6c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gacc0d0f1d3d582d39fcfb7a835b730a6c">GRPC_ARG_HTTP2_MIN_TIME_BETWEEN_PINGS_MS</a>&#160;&#160;&#160;&quot;grpc.http2.min_time_between_pings_ms&quot;</td></tr>
 <tr class="memdesc:gacc0d0f1d3d582d39fcfb7a835b730a6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum time (in milliseconds) between successive ping frames being sent.  <a href="group__grpc__arg__keys.html#gacc0d0f1d3d582d39fcfb7a835b730a6c">More...</a><br/></td></tr>
 <tr class="separator:gacc0d0f1d3d582d39fcfb7a835b730a6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7797da9f3f5a1381484b2cabca1920fc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#ga7797da9f3f5a1381484b2cabca1920fc">GRPC_ARG_HTTP2_SCHEME</a>&#160;&#160;&#160;&quot;grpc.http2_scheme&quot;</td></tr>
+<tr class="memdesc:ga7797da9f3f5a1381484b2cabca1920fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Channel arg to override the http2 :scheme header.  <a href="group__grpc__arg__keys.html#ga7797da9f3f5a1381484b2cabca1920fc">More...</a><br/></td></tr>
+<tr class="separator:ga7797da9f3f5a1381484b2cabca1920fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga401cc6c0e567cbbb8b689b091f92dc7e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#ga401cc6c0e567cbbb8b689b091f92dc7e">GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA</a>&#160;&#160;&#160;&quot;grpc.http2.max_pings_without_data&quot;</td></tr>
 <tr class="memdesc:ga401cc6c0e567cbbb8b689b091f92dc7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">How many pings can we send before needing to send a data frame or header frame? (0 indicates that an infinite number of pings can be sent without sending a data frame or header frame)  <a href="group__grpc__arg__keys.html#ga401cc6c0e567cbbb8b689b091f92dc7e">More...</a><br/></td></tr>
 <tr class="separator:ga401cc6c0e567cbbb8b689b091f92dc7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -219,6 +230,9 @@ Macros</h2></td></tr>
 <tr class="memitem:gaf47b4048c11e4f8f4162f12c135c2da4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gaf47b4048c11e4f8f4162f12c135c2da4">GRPC_ARG_SECONDARY_USER_AGENT_STRING</a>&#160;&#160;&#160;&quot;grpc.secondary_user_agent&quot;</td></tr>
 <tr class="memdesc:gaf47b4048c11e4f8f4162f12c135c2da4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Secondary user agent: goes at the end of the user-agent metadata sent on each request.  <a href="group__grpc__arg__keys.html#gaf47b4048c11e4f8f4162f12c135c2da4">More...</a><br/></td></tr>
 <tr class="separator:gaf47b4048c11e4f8f4162f12c135c2da4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad7d9d143858d8f5e138cf704b0082973"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gad7d9d143858d8f5e138cf704b0082973">GRPC_ARG_MIN_RECONNECT_BACKOFF_MS</a>&#160;&#160;&#160;&quot;grpc.min_reconnect_backoff_ms&quot;</td></tr>
+<tr class="memdesc:gad7d9d143858d8f5e138cf704b0082973"><td class="mdescLeft">&#160;</td><td class="mdescRight">The minimum time between subsequent connection attempts, in ms.  <a href="group__grpc__arg__keys.html#gad7d9d143858d8f5e138cf704b0082973">More...</a><br/></td></tr>
+<tr class="separator:gad7d9d143858d8f5e138cf704b0082973"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gac978e84658bcda47633c5b81a80d0052"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gac978e84658bcda47633c5b81a80d0052">GRPC_ARG_MAX_RECONNECT_BACKOFF_MS</a>&#160;&#160;&#160;&quot;grpc.max_reconnect_backoff_ms&quot;</td></tr>
 <tr class="memdesc:gac978e84658bcda47633c5b81a80d0052"><td class="mdescLeft">&#160;</td><td class="mdescRight">The maximum time between subsequent connection attempts, in ms.  <a href="group__grpc__arg__keys.html#gac978e84658bcda47633c5b81a80d0052">More...</a><br/></td></tr>
 <tr class="separator:gac978e84658bcda47633c5b81a80d0052"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -226,14 +240,16 @@ Macros</h2></td></tr>
 <tr class="memdesc:gaedb26c5ca7d3d279b81d12d9bf6dabc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">The time between the first and second connection attempts, in ms.  <a href="group__grpc__arg__keys.html#gaedb26c5ca7d3d279b81d12d9bf6dabc6">More...</a><br/></td></tr>
 <tr class="separator:gaedb26c5ca7d3d279b81d12d9bf6dabc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga218bf55b665134a11baf07ada5980825"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#ga218bf55b665134a11baf07ada5980825">GRPC_SSL_TARGET_NAME_OVERRIDE_ARG</a>&#160;&#160;&#160;&quot;grpc.ssl_target_name_override&quot;</td></tr>
+<tr class="memdesc:ga218bf55b665134a11baf07ada5980825"><td class="mdescLeft">&#160;</td><td class="mdescRight">This <em>should</em> be used for testing only.  <a href="group__grpc__arg__keys.html#ga218bf55b665134a11baf07ada5980825">More...</a><br/></td></tr>
 <tr class="separator:ga218bf55b665134a11baf07ada5980825"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga2a9e23d3fe81ae539ba655d2e49051c8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#ga2a9e23d3fe81ae539ba655d2e49051c8">GRPC_ARG_MAX_METADATA_SIZE</a>&#160;&#160;&#160;&quot;grpc.max_metadata_size&quot;</td></tr>
+<tr class="memdesc:ga2a9e23d3fe81ae539ba655d2e49051c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum metadata size, in bytes.  <a href="group__grpc__arg__keys.html#ga2a9e23d3fe81ae539ba655d2e49051c8">More...</a><br/></td></tr>
 <tr class="separator:ga2a9e23d3fe81ae539ba655d2e49051c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga40e635cf00ea7a10c71ed71c03d97f23"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#ga40e635cf00ea7a10c71ed71c03d97f23">GRPC_ARG_ALLOW_REUSEPORT</a>&#160;&#160;&#160;&quot;grpc.so_reuseport&quot;</td></tr>
 <tr class="memdesc:ga40e635cf00ea7a10c71ed71c03d97f23"><td class="mdescLeft">&#160;</td><td class="mdescRight">If non-zero, allow the use of SO_REUSEPORT if it's available (default 1)  <a href="group__grpc__arg__keys.html#ga40e635cf00ea7a10c71ed71c03d97f23">More...</a><br/></td></tr>
 <tr class="separator:ga40e635cf00ea7a10c71ed71c03d97f23"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gaa8bb5c65808f9c340ba7e4dd4f9f0f39"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gaa8bb5c65808f9c340ba7e4dd4f9f0f39">GRPC_ARG_RESOURCE_QUOTA</a>&#160;&#160;&#160;&quot;grpc.resource_quota&quot;</td></tr>
-<tr class="memdesc:gaa8bb5c65808f9c340ba7e4dd4f9f0f39"><td class="mdescLeft">&#160;</td><td class="mdescRight">If non-zero, a pointer to a buffer pool (use grpc_resource_quota_arg_vtable to fetch an appropriate pointer arg vtable)  <a href="group__grpc__arg__keys.html#gaa8bb5c65808f9c340ba7e4dd4f9f0f39">More...</a><br/></td></tr>
+<tr class="memdesc:gaa8bb5c65808f9c340ba7e4dd4f9f0f39"><td class="mdescLeft">&#160;</td><td class="mdescRight">If non-zero, a pointer to a buffer pool (a pointer of type grpc_resource_quota*).  <a href="group__grpc__arg__keys.html#gaa8bb5c65808f9c340ba7e4dd4f9f0f39">More...</a><br/></td></tr>
 <tr class="separator:gaa8bb5c65808f9c340ba7e4dd4f9f0f39"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gab11602475264d01e0ea50f0ce376cdcd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gab11602475264d01e0ea50f0ce376cdcd">GRPC_ARG_EXPAND_WILDCARD_ADDRS</a>&#160;&#160;&#160;&quot;grpc.expand_wildcard_addrs&quot;</td></tr>
 <tr class="memdesc:gab11602475264d01e0ea50f0ce376cdcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">If non-zero, expand wildcard addresses to a list of local addresses.  <a href="group__grpc__arg__keys.html#gab11602475264d01e0ea50f0ce376cdcd">More...</a><br/></td></tr>
@@ -254,19 +270,27 @@ Macros</h2></td></tr>
 <tr class="memdesc:ga3da556ec531495ace9f93b97c8c4f24b"><td class="mdescLeft">&#160;</td><td class="mdescRight">If non-zero, Cronet transport will coalesce packets to fewer frames when possible.  <a href="group__grpc__arg__keys.html#ga3da556ec531495ace9f93b97c8c4f24b">More...</a><br/></td></tr>
 <tr class="separator:ga3da556ec531495ace9f93b97c8c4f24b"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga82582ed0fcd7d6b0090f9102d75c765a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#ga82582ed0fcd7d6b0090f9102d75c765a">GRPC_ARG_TCP_READ_CHUNK_SIZE</a>&#160;&#160;&#160;&quot;grpc.experimental.tcp_read_chunk_size&quot;</td></tr>
+<tr class="memdesc:ga82582ed0fcd7d6b0090f9102d75c765a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Channel arg (integer) setting how large a slice to try and read from the wire each time recvmsg (or equivalent) is called.  <a href="group__grpc__arg__keys.html#ga82582ed0fcd7d6b0090f9102d75c765a">More...</a><br/></td></tr>
 <tr class="separator:ga82582ed0fcd7d6b0090f9102d75c765a"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ga1f91c3aec64a436d29051c8d415b1053"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#ga1f91c3aec64a436d29051c8d415b1053">GRPC_TCP_DEFAULT_READ_SLICE_SIZE</a>&#160;&#160;&#160;8192</td></tr>
+<tr class="memdesc:ga1f91c3aec64a436d29051c8d415b1053"><td class="mdescLeft">&#160;</td><td class="mdescRight">Note this is not a "channel arg" key.  <a href="group__grpc__arg__keys.html#ga1f91c3aec64a436d29051c8d415b1053">More...</a><br/></td></tr>
 <tr class="separator:ga1f91c3aec64a436d29051c8d415b1053"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gae55b7bd57a5344e0083eac4d06c2d51b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gae55b7bd57a5344e0083eac4d06c2d51b">GRPC_ARG_TCP_MIN_READ_CHUNK_SIZE</a>&#160;&#160;&#160;&quot;grpc.experimental.tcp_min_read_chunk_size&quot;</td></tr>
 <tr class="separator:gae55b7bd57a5344e0083eac4d06c2d51b"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:gadeaad8ae5b50ee8d2fb44d289aeb223d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#gadeaad8ae5b50ee8d2fb44d289aeb223d">GRPC_ARG_TCP_MAX_READ_CHUNK_SIZE</a>&#160;&#160;&#160;&quot;grpc.experimental.tcp_max_read_chunk_size&quot;</td></tr>
 <tr class="separator:gadeaad8ae5b50ee8d2fb44d289aeb223d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1768735fceeb8108a2f1eb12ea0a894e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#ga1768735fceeb8108a2f1eb12ea0a894e">GRPC_ARG_GRPCLB_CALL_TIMEOUT_MS</a>&#160;&#160;&#160;&quot;grpc.grpclb_timeout_ms&quot;</td></tr>
+<tr class="separator:ga1768735fceeb8108a2f1eb12ea0a894e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga618ddbf19fdd38d8f90b8f3d7cb5d481"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grpc__arg__keys.html#ga618ddbf19fdd38d8f90b8f3d7cb5d481">GRPC_ARG_WORKAROUND_CRONET_COMPRESSION</a>&#160;&#160;&#160;&quot;grpc.workaround.cronet_compression&quot;</td></tr>
+<tr class="memdesc:ga618ddbf19fdd38d8f90b8f3d7cb5d481"><td class="mdescLeft">&#160;</td><td class="mdescRight">If non-zero, grpc server's cronet compression workaround will be enabled.  <a href="group__grpc__arg__keys.html#ga618ddbf19fdd38d8f90b8f3d7cb5d481">More...</a><br/></td></tr>
+<tr class="separator:ga618ddbf19fdd38d8f90b8f3d7cb5d481"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a4e5d829393a2ad7a98e53c4856057220"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__types_8h.html#a4e5d829393a2ad7a98e53c4856057220">GRPC_DEFAULT_MAX_SEND_MESSAGE_LENGTH</a>&#160;&#160;&#160;-1</td></tr>
+<tr class="memdesc:a4e5d829393a2ad7a98e53c4856057220"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default send/receive message size limits in bytes.  <a href="#a4e5d829393a2ad7a98e53c4856057220">More...</a><br/></td></tr>
 <tr class="separator:a4e5d829393a2ad7a98e53c4856057220"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a25687d417e9dc0a05af692dff23af179"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__types_8h.html#a25687d417e9dc0a05af692dff23af179">GRPC_DEFAULT_MAX_RECV_MESSAGE_LENGTH</a>&#160;&#160;&#160;(4 * 1024 * 1024)</td></tr>
 <tr class="separator:a25687d417e9dc0a05af692dff23af179"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:adf29fd8b7df2ecc47d14a7f5a3a079c0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__types_8h.html#adf29fd8b7df2ecc47d14a7f5a3a079c0">GRPC_WRITE_BUFFER_HINT</a>&#160;&#160;&#160;(0x00000001u)</td></tr>
-<tr class="memdesc:adf29fd8b7df2ecc47d14a7f5a3a079c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hint that the write may be buffered and need not go out on the wire immediately.  <a href="#adf29fd8b7df2ecc47d14a7f5a3a079c0">More...</a><br/></td></tr>
+<tr class="memdesc:adf29fd8b7df2ecc47d14a7f5a3a079c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write Flags:  <a href="#adf29fd8b7df2ecc47d14a7f5a3a079c0">More...</a><br/></td></tr>
 <tr class="separator:adf29fd8b7df2ecc47d14a7f5a3a079c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ae09000181671f031ed0e319ed557da4e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__types_8h.html#ae09000181671f031ed0e319ed557da4e">GRPC_WRITE_NO_COMPRESS</a>&#160;&#160;&#160;(0x00000002u)</td></tr>
 <tr class="memdesc:ae09000181671f031ed0e319ed557da4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Force compression to be disabled for a particular write (start_write/add_metadata).  <a href="#ae09000181671f031ed0e319ed557da4e">More...</a><br/></td></tr>
@@ -275,7 +299,7 @@ Macros</h2></td></tr>
 <tr class="memdesc:a3317259e1098b2b6f49982d6997bbf6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask of all valid flags.  <a href="#a3317259e1098b2b6f49982d6997bbf6a">More...</a><br/></td></tr>
 <tr class="separator:a3317259e1098b2b6f49982d6997bbf6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a3b9e262e1a797030f62bccfe7b42ce01"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__types_8h.html#a3b9e262e1a797030f62bccfe7b42ce01">GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST</a>&#160;&#160;&#160;(0x00000010u)</td></tr>
-<tr class="memdesc:a3b9e262e1a797030f62bccfe7b42ce01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signal that the call is idempotent.  <a href="#a3b9e262e1a797030f62bccfe7b42ce01">More...</a><br/></td></tr>
+<tr class="memdesc:a3b9e262e1a797030f62bccfe7b42ce01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initial metadata flags.  <a href="#a3b9e262e1a797030f62bccfe7b42ce01">More...</a><br/></td></tr>
 <tr class="separator:a3b9e262e1a797030f62bccfe7b42ce01"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9606180fd0950a1514522fbe535edf49"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__types_8h.html#a9606180fd0950a1514522fbe535edf49">GRPC_INITIAL_METADATA_WAIT_FOR_READY</a>&#160;&#160;&#160;(0x00000020u)</td></tr>
 <tr class="memdesc:a9606180fd0950a1514522fbe535edf49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signal that the call should not return UNAVAILABLE before it has started.  <a href="#a9606180fd0950a1514522fbe535edf49">More...</a><br/></td></tr>
@@ -292,6 +316,8 @@ Macros</h2></td></tr>
 <tr class="memitem:aca7fa3c1b87589e5829f508ee3fc1f84"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__types_8h.html#aca7fa3c1b87589e5829f508ee3fc1f84">GRPC_INITIAL_METADATA_USED_MASK</a></td></tr>
 <tr class="memdesc:aca7fa3c1b87589e5829f508ee3fc1f84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask of all valid flags.  <a href="#aca7fa3c1b87589e5829f508ee3fc1f84">More...</a><br/></td></tr>
 <tr class="separator:aca7fa3c1b87589e5829f508ee3fc1f84"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a52497b2b6db8035126a8b45467a14d97"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__types_8h.html#a52497b2b6db8035126a8b45467a14d97">GRPC_CQ_CURRENT_VERSION</a>&#160;&#160;&#160;1</td></tr>
+<tr class="separator:a52497b2b6db8035126a8b45467a14d97"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
 Typedefs</h2></td></tr>
@@ -339,6 +365,13 @@ Typedefs</h2></td></tr>
 <tr class="separator:a6556a58ca45ad5132b89c770cf875215"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a16d58b8d7c93609d01311b869f4a8d05"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="grpc__types_8h.html#a16d58b8d7c93609d01311b869f4a8d05">grpc_resource_quota</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__types_8h.html#a16d58b8d7c93609d01311b869f4a8d05">grpc_resource_quota</a></td></tr>
 <tr class="separator:a16d58b8d7c93609d01311b869f4a8d05"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8113e2fd72a5fbb372d691a0c2206422"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
+<a class="el" href="structgrpc__completion__queue__attributes.html">grpc_completion_queue_attributes</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__types_8h.html#a8113e2fd72a5fbb372d691a0c2206422">grpc_completion_queue_attributes</a></td></tr>
+<tr class="separator:a8113e2fd72a5fbb372d691a0c2206422"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7598a0f60120f40389e6e264d23b88a6"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
+<a class="el" href="grpc__types_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__types_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a></td></tr>
+<tr class="memdesc:a7598a0f60120f40389e6e264d23b88a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">The completion queue factory structure is opaque to the callers of grpc.  <a href="#a7598a0f60120f40389e6e264d23b88a6">More...</a><br/></td></tr>
+<tr class="separator:a7598a0f60120f40389e6e264d23b88a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
 Enumerations</h2></td></tr>
@@ -393,8 +426,31 @@ Enumerations</h2></td></tr>
 <br/>
  }</td></tr>
 <tr class="separator:a41dc9abf9678decbfcef1a037e35939a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6f3d3ec662c2a8ac669c98163d511343"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343">grpc_cq_polling_type</a> { <a class="el" href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343afc366f1bf1fc412fafd97557bc0160c8">GRPC_CQ_DEFAULT_POLLING</a>, 
+<a class="el" href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343aa291aea150282f3a2366437d8fc93b11">GRPC_CQ_NON_LISTENING</a>, 
+<a class="el" href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343a30fe3e6720c740094d5295546e9bb849">GRPC_CQ_NON_POLLING</a>
+ }</td></tr>
+<tr class="memdesc:a6f3d3ec662c2a8ac669c98163d511343"><td class="mdescLeft">&#160;</td><td class="mdescRight">Completion queues internally MAY maintain a set of file descriptors in a structure called 'pollset'.  <a href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343">More...</a><br/></td></tr>
+<tr class="separator:a6f3d3ec662c2a8ac669c98163d511343"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d6272e15d32381a9ffa027cefd60bf8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="grpc__types_8h.html#a1d6272e15d32381a9ffa027cefd60bf8">grpc_cq_completion_type</a> { <a class="el" href="grpc__types_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a3fccd6237614f711bfc1999438ed2676">GRPC_CQ_NEXT</a>, 
+<a class="el" href="grpc__types_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a7ddd2051625309ecc657b658c021476a">GRPC_CQ_PLUCK</a>
+ }</td></tr>
+<tr class="memdesc:a1d6272e15d32381a9ffa027cefd60bf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specifies the type of APIs to use to pop events from the completion queue.  <a href="grpc__types_8h.html#a1d6272e15d32381a9ffa027cefd60bf8">More...</a><br/></td></tr>
+<tr class="separator:a1d6272e15d32381a9ffa027cefd60bf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <h2 class="groupheader">Macro Definition Documentation</h2>
+<a class="anchor" id="a52497b2b6db8035126a8b45467a14d97"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define GRPC_CQ_CURRENT_VERSION&#160;&#160;&#160;1</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
 <a class="anchor" id="a25687d417e9dc0a05af692dff23af179"></a>
 <div class="memitem">
 <div class="memproto">
@@ -417,6 +473,9 @@ Enumerations</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Default send/receive message size limits in bytes. </p>
+<p>-1 for unlimited. TODO(roth) Make this match the default receive limit after next release </p>
+
 </div>
 </div>
 <a class="anchor" id="a7978c09a9933e7b858c65c1b03eb5b2b"></a>
@@ -458,7 +517,8 @@ Enumerations</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Signal that the call is idempotent. </p>
+<p>Initial metadata flags. </p>
+<p>Signal that the call is idempotent </p>
 
 </div>
 </div>
@@ -476,11 +536,11 @@ Enumerations</h2></td></tr>
 <div class="line"><a class="code" href="grpc__types_8h.html#a7978c09a9933e7b858c65c1b03eb5b2b">   GRPC_INITIAL_METADATA_CACHEABLE_REQUEST</a> |             <a class="code" href="grpc__types_8h.html#afa71c451716eca6c8d38fb71d66c0bbb">\</a></div>
 <div class="line"><a class="code" href="grpc__types_8h.html#afa71c451716eca6c8d38fb71d66c0bbb">   GRPC_INITIAL_METADATA_WAIT_FOR_READY_EXPLICITLY_SET</a> | <a class="code" href="grpc__types_8h.html#a1175f30479912922d006387536d2c46c">\</a></div>
 <div class="line"><a class="code" href="grpc__types_8h.html#a1175f30479912922d006387536d2c46c">   GRPC_INITIAL_METADATA_CORKED</a>)</div>
-<div class="ttc" id="grpc__types_8h_html_afa71c451716eca6c8d38fb71d66c0bbb"><div class="ttname"><a href="grpc__types_8h.html#afa71c451716eca6c8d38fb71d66c0bbb">GRPC_INITIAL_METADATA_WAIT_FOR_READY_EXPLICITLY_SET</a></div><div class="ttdeci">#define GRPC_INITIAL_METADATA_WAIT_FOR_READY_EXPLICITLY_SET</div><div class="ttdoc">Signal that GRPC_INITIAL_METADATA_WAIT_FOR_READY was explicitly set by the calling application...</div><div class="ttdef"><b>Definition:</b> grpc_types.h:351</div></div>
-<div class="ttc" id="grpc__types_8h_html_a1175f30479912922d006387536d2c46c"><div class="ttname"><a href="grpc__types_8h.html#a1175f30479912922d006387536d2c46c">GRPC_INITIAL_METADATA_CORKED</a></div><div class="ttdeci">#define GRPC_INITIAL_METADATA_CORKED</div><div class="ttdoc">Signal that the initial metadata should be corked. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:353</div></div>
-<div class="ttc" id="grpc__types_8h_html_a7978c09a9933e7b858c65c1b03eb5b2b"><div class="ttname"><a href="grpc__types_8h.html#a7978c09a9933e7b858c65c1b03eb5b2b">GRPC_INITIAL_METADATA_CACHEABLE_REQUEST</a></div><div class="ttdeci">#define GRPC_INITIAL_METADATA_CACHEABLE_REQUEST</div><div class="ttdoc">Signal that the call is cacheable. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:348</div></div>
-<div class="ttc" id="grpc__types_8h_html_a9606180fd0950a1514522fbe535edf49"><div class="ttname"><a href="grpc__types_8h.html#a9606180fd0950a1514522fbe535edf49">GRPC_INITIAL_METADATA_WAIT_FOR_READY</a></div><div class="ttdeci">#define GRPC_INITIAL_METADATA_WAIT_FOR_READY</div><div class="ttdoc">Signal that the call should not return UNAVAILABLE before it has started. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:346</div></div>
-<div class="ttc" id="grpc__types_8h_html_a3b9e262e1a797030f62bccfe7b42ce01"><div class="ttname"><a href="grpc__types_8h.html#a3b9e262e1a797030f62bccfe7b42ce01">GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST</a></div><div class="ttdeci">#define GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST</div><div class="ttdoc">Signal that the call is idempotent. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:344</div></div>
+<div class="ttc" id="grpc__types_8h_html_afa71c451716eca6c8d38fb71d66c0bbb"><div class="ttname"><a href="grpc__types_8h.html#afa71c451716eca6c8d38fb71d66c0bbb">GRPC_INITIAL_METADATA_WAIT_FOR_READY_EXPLICITLY_SET</a></div><div class="ttdeci">#define GRPC_INITIAL_METADATA_WAIT_FOR_READY_EXPLICITLY_SET</div><div class="ttdoc">Signal that GRPC_INITIAL_METADATA_WAIT_FOR_READY was explicitly set by the calling application...</div><div class="ttdef"><b>Definition:</b> grpc_types.h:371</div></div>
+<div class="ttc" id="grpc__types_8h_html_a1175f30479912922d006387536d2c46c"><div class="ttname"><a href="grpc__types_8h.html#a1175f30479912922d006387536d2c46c">GRPC_INITIAL_METADATA_CORKED</a></div><div class="ttdeci">#define GRPC_INITIAL_METADATA_CORKED</div><div class="ttdoc">Signal that the initial metadata should be corked. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:373</div></div>
+<div class="ttc" id="grpc__types_8h_html_a7978c09a9933e7b858c65c1b03eb5b2b"><div class="ttname"><a href="grpc__types_8h.html#a7978c09a9933e7b858c65c1b03eb5b2b">GRPC_INITIAL_METADATA_CACHEABLE_REQUEST</a></div><div class="ttdeci">#define GRPC_INITIAL_METADATA_CACHEABLE_REQUEST</div><div class="ttdoc">Signal that the call is cacheable. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:368</div></div>
+<div class="ttc" id="grpc__types_8h_html_a9606180fd0950a1514522fbe535edf49"><div class="ttname"><a href="grpc__types_8h.html#a9606180fd0950a1514522fbe535edf49">GRPC_INITIAL_METADATA_WAIT_FOR_READY</a></div><div class="ttdeci">#define GRPC_INITIAL_METADATA_WAIT_FOR_READY</div><div class="ttdoc">Signal that the call should not return UNAVAILABLE before it has started. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:366</div></div>
+<div class="ttc" id="grpc__types_8h_html_a3b9e262e1a797030f62bccfe7b42ce01"><div class="ttname"><a href="grpc__types_8h.html#a3b9e262e1a797030f62bccfe7b42ce01">GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST</a></div><div class="ttdeci">#define GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST</div><div class="ttdoc">Initial metadata flags. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:364</div></div>
 </div><!-- fragment -->
 <p>Mask of all valid flags. </p>
 
@@ -524,8 +584,8 @@ Enumerations</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Hint that the write may be buffered and need not go out on the wire immediately. </p>
-<p>GRPC is free to buffer the message until the next non-buffered write, or until writes_done, but it need not buffer completely or at all. </p>
+<p>Write Flags: </p>
+<p>Hint that the write may be buffered and need not go out on the wire immediately. GRPC is free to buffer the message until the next non-buffered write, or until writes_done, but it need not buffer completely or at all. </p>
 
 </div>
 </div>
@@ -653,6 +713,32 @@ Enumerations</h2></td></tr>
 
 <p>Completion Queues enable notification of the completion of asynchronous actions. </p>
 
+</div>
+</div>
+<a class="anchor" id="a8113e2fd72a5fbb372d691a0c2206422"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef struct <a class="el" href="structgrpc__completion__queue__attributes.html">grpc_completion_queue_attributes</a>  <a class="el" href="structgrpc__completion__queue__attributes.html">grpc_completion_queue_attributes</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7598a0f60120f40389e6e264d23b88a6"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef struct <a class="el" href="grpc__types_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a> <a class="el" href="grpc__types_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>The completion queue factory structure is opaque to the callers of grpc. </p>
+
 </div>
 </div>
 <a class="anchor" id="a70454b2958c92c1cd8feeaa45f157b74"></a>
@@ -800,6 +886,7 @@ Enumerations</h2></td></tr>
 </div><div class="memdoc">
 <table class="fieldtable">
 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="acdc94363b280bde9c82e3d9b5dc3b3e6a1918bbb8502c74288793b58f1786f636"></a>GRPC_BB_RAW</em>&#160;</td><td class="fielddoc">
+<p>Future types may include GRPC_BB_PROTOBUF, etc. </p>
 </td></tr>
 </table>
 
@@ -890,6 +977,56 @@ Enumerations</h2></td></tr>
 </td></tr>
 </table>
 
+</div>
+</div>
+<a class="anchor" id="a1d6272e15d32381a9ffa027cefd60bf8"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="grpc__types_8h.html#a1d6272e15d32381a9ffa027cefd60bf8">grpc_cq_completion_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Specifies the type of APIs to use to pop events from the completion queue. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a1d6272e15d32381a9ffa027cefd60bf8a3fccd6237614f711bfc1999438ed2676"></a>GRPC_CQ_NEXT</em>&#160;</td><td class="fielddoc">
+<p>Events are popped out by calling <a class="el" href="grpc_8h.html#ab43d55077bcbeb324044d3dcd26a5c80" title="Blocks until an event is available, the completion queue is being shut down, or deadline is reached...">grpc_completion_queue_next()</a> API ONLY. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a1d6272e15d32381a9ffa027cefd60bf8a7ddd2051625309ecc657b658c021476a"></a>GRPC_CQ_PLUCK</em>&#160;</td><td class="fielddoc">
+<p>Events are popped out by calling <a class="el" href="grpc_8h.html#a0292bf7a0c794771cd66766dc4b8276c" title="Blocks until an event with tag &#39;tag&#39; is available, the completion queue is being shutdown or deadline...">grpc_completion_queue_pluck()</a> API ONLY. </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<a class="anchor" id="a6f3d3ec662c2a8ac669c98163d511343"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343">grpc_cq_polling_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Completion queues internally MAY maintain a set of file descriptors in a structure called 'pollset'. </p>
+<p>This enum specifies if a completion queue has an associated pollset and any restrictions on the type of file descriptors that can be present in the pollset.</p>
+<p>I/O progress can only be made when <a class="el" href="grpc_8h.html#ab43d55077bcbeb324044d3dcd26a5c80" title="Blocks until an event is available, the completion queue is being shut down, or deadline is reached...">grpc_completion_queue_next()</a> or <a class="el" href="grpc_8h.html#a0292bf7a0c794771cd66766dc4b8276c" title="Blocks until an event with tag &#39;tag&#39; is available, the completion queue is being shutdown or deadline...">grpc_completion_queue_pluck()</a> are called on the completion queue (unless the grpc_cq_polling_type is GRPC_CQ_NON_POLLING) and hence it is very important to actively call these APIs </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a6f3d3ec662c2a8ac669c98163d511343afc366f1bf1fc412fafd97557bc0160c8"></a>GRPC_CQ_DEFAULT_POLLING</em>&#160;</td><td class="fielddoc">
+<p>The completion queue will have an associated pollset and there is no restriction on the type of file descriptors the pollset may contain. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a6f3d3ec662c2a8ac669c98163d511343aa291aea150282f3a2366437d8fc93b11"></a>GRPC_CQ_NON_LISTENING</em>&#160;</td><td class="fielddoc">
+<p>Similar to GRPC_CQ_DEFAULT_POLLING except that the completion queues will not contain any 'listening file descriptors' (i.e file descriptors used to listen to incoming channels) </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a6f3d3ec662c2a8ac669c98163d511343a30fe3e6720c740094d5295546e9bb849"></a>GRPC_CQ_NON_POLLING</em>&#160;</td><td class="fielddoc">
+<p>The completion queue will not have an associated pollset. </p>
+<p>Note that <a class="el" href="grpc_8h.html#ab43d55077bcbeb324044d3dcd26a5c80" title="Blocks until an event is available, the completion queue is being shut down, or deadline is reached...">grpc_completion_queue_next()</a> or <a class="el" href="grpc_8h.html#a0292bf7a0c794771cd66766dc4b8276c" title="Blocks until an event with tag &#39;tag&#39; is available, the completion queue is being shutdown or deadline...">grpc_completion_queue_pluck()</a> MUST still be called to pop events from the completion queue; it is not required to call them actively to make I/O progress </p>
+</td></tr>
+</table>
+
 </div>
 </div>
 <a class="anchor" id="a41dc9abf9678decbfcef1a037e35939a"></a>
@@ -941,7 +1078,7 @@ Enumerations</h2></td></tr>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 473 - 440
core/grpc__types_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -126,477 +126,510 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#ifndef GRPC_IMPL_CODEGEN_GRPC_TYPES_H</span></div>
 <div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_IMPL_CODEGEN_GRPC_TYPES_H</span></div>
 <div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="compression__types_8h.html">grpc/impl/codegen/compression_types.h</a>&gt;</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="exec__ctx__fwd_8h.html">grpc/impl/codegen/exec_ctx_fwd.h</a>&gt;</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="gpr__types_8h.html">grpc/impl/codegen/gpr_types.h</a>&gt;</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="impl_2codegen_2slice_8h.html">grpc/impl/codegen/slice.h</a>&gt;</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="impl_2codegen_2status_8h.html">grpc/impl/codegen/status.h</a>&gt;</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &lt;stddef.h&gt;</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#acdc94363b280bde9c82e3d9b5dc3b3e6">   50</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
-<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#acdc94363b280bde9c82e3d9b5dc3b3e6a1918bbb8502c74288793b58f1786f636">   51</a></span>&#160;  <a class="code" href="grpc__types_8h.html#acdc94363b280bde9c82e3d9b5dc3b3e6a1918bbb8502c74288793b58f1786f636">GRPC_BB_RAW</a></div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  <span class="comment">/* Future types may include GRPC_BB_PROTOBUF, etc. */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;} <a class="code" href="grpc__types_8h.html#acdc94363b280bde9c82e3d9b5dc3b3e6">grpc_byte_buffer_type</a>;</div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="structgrpc__byte__buffer.html">   55</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a> {</div>
-<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="structgrpc__byte__buffer.html#a1fc968604a3dcb4a0f34554be528bba2">   56</a></span>&#160;  <span class="keywordtype">void</span> *<a class="code" href="structgrpc__byte__buffer.html#a1fc968604a3dcb4a0f34554be528bba2">reserved</a>;</div>
-<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="structgrpc__byte__buffer.html#aa7357d67e401d5bc9d10d8fed008dec8">   57</a></span>&#160;  <a class="code" href="grpc__types_8h.html#acdc94363b280bde9c82e3d9b5dc3b3e6">grpc_byte_buffer_type</a> <a class="code" href="structgrpc__byte__buffer.html#aa7357d67e401d5bc9d10d8fed008dec8">type</a>;</div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  <span class="keyword">union </span>{</div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      <span class="keywordtype">void</span> *<a class="code" href="structgrpc__byte__buffer.html#a1fc968604a3dcb4a0f34554be528bba2">reserved</a>[8];</div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    } <a class="code" href="structgrpc__byte__buffer.html#a1fc968604a3dcb4a0f34554be528bba2">reserved</a>;</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="structgrpc__byte__buffer.html#a3663648016e1076b82c5e731dc5b2399">   63</a></span>&#160;      <a class="code" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">grpc_compression_algorithm</a> <a class="code" href="structgrpc__byte__buffer.html#a3663648016e1076b82c5e731dc5b2399">compression</a>;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structgrpc__byte__buffer.html#ab551d5a2ca46d9bc3adc8bbc0f816590">   64</a></span>&#160;      <a class="code" href="structgrpc__slice__buffer.html">grpc_slice_buffer</a> <a class="code" href="structgrpc__byte__buffer.html#ab551d5a2ca46d9bc3adc8bbc0f816590">slice_buffer</a>;</div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    } <a class="code" href="structgrpc__byte__buffer.html#ab2846baf41ef4510a04a61db141bc597">raw</a>;</div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  } <a class="code" href="structgrpc__byte__buffer.html#a3234eae3c2d68f4ccec7f658dba785f2">data</a>;</div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;} <a class="code" href="grpc__types_8h.html#acf22f6b5ce464dd73df59c9c49f8871c">grpc_byte_buffer</a>;</div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">   71</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a>;</div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a09ce3d7fa6473ac1cb39692adf257a13">   74</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__types_8h.html#a09ce3d7fa6473ac1cb39692adf257a13">grpc_alarm</a> <a class="code" href="grpc__types_8h.html#a09ce3d7fa6473ac1cb39692adf257a13">grpc_alarm</a>;</div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div>
-<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">   77</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> <a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a>;</div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">   80</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> <a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a>;</div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div>
-<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">   85</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> <a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a>;</div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a72c4781284bb0c964d281e6e46cf4a90">   88</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__types_8h.html#a72c4781284bb0c964d281e6e46cf4a90">grpc_socket_mutator</a> <a class="code" href="grpc__types_8h.html#a72c4781284bb0c964d281e6e46cf4a90">grpc_socket_mutator</a>;</div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a6bb7fdad6ac88edb9468eb46c801ddb0">   91</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__types_8h.html#a6bb7fdad6ac88edb9468eb46c801ddb0">grpc_socket_factory</a> <a class="code" href="grpc__types_8h.html#a6bb7fdad6ac88edb9468eb46c801ddb0">grpc_socket_factory</a>;</div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593">   94</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
-<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593a215b6b9143ba133ede0e29f79098239d">   95</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593a215b6b9143ba133ede0e29f79098239d">GRPC_ARG_STRING</a>,</div>
-<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593a8d2f803b8aaf88f34dac1f887826c689">   96</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593a8d2f803b8aaf88f34dac1f887826c689">GRPC_ARG_INTEGER</a>,</div>
-<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593a02a823a7037e2a60b9d9a031fd42591b">   97</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593a02a823a7037e2a60b9d9a031fd42591b">GRPC_ARG_POINTER</a></div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;} <a class="code" href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593">grpc_arg_type</a>;</div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div>
-<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="structgrpc__arg__pointer__vtable.html">  100</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__arg__pointer__vtable.html">grpc_arg_pointer_vtable</a> {</div>
-<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="structgrpc__arg__pointer__vtable.html#a4b937861a8c7c8165fcb3bfc831dd95e">  101</a></span>&#160;  <span class="keywordtype">void</span> *(*copy)(<span class="keywordtype">void</span> *p);</div>
-<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="structgrpc__arg__pointer__vtable.html#aa56514dd670d6fc91f2b36cdd2a27be6">  102</a></span>&#160;  void (*<a class="code" href="structgrpc__arg__pointer__vtable.html#aa56514dd670d6fc91f2b36cdd2a27be6">destroy</a>)(<a class="code" href="exec__ctx__fwd_8h.html#aabc6a414771ff6697446fc9d5d708057">grpc_exec_ctx</a> *exec_ctx, <span class="keywordtype">void</span> *p);</div>
-<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="structgrpc__arg__pointer__vtable.html#a1037c7866bb3f070f4689b4a8ad04c09">  103</a></span>&#160;  int (*<a class="code" href="structgrpc__arg__pointer__vtable.html#a1037c7866bb3f070f4689b4a8ad04c09">cmp</a>)(<span class="keywordtype">void</span> *p, <span class="keywordtype">void</span> *q);</div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;} <a class="code" href="grpc__types_8h.html#a8499b89a510e8a3d4e76e011776a1548">grpc_arg_pointer_vtable</a>;</div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="structgrpc__arg.html">  118</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#aa26f2d3c4b1649c9eb061d24a8c10fd4">  119</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593">grpc_arg_type</a> <a class="code" href="structgrpc__arg.html#aa26f2d3c4b1649c9eb061d24a8c10fd4">type</a>;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#aeb230fbd50daacfe654abc3500a44968">  120</a></span>&#160;  <span class="keywordtype">char</span> *<a class="code" href="structgrpc__arg.html#aeb230fbd50daacfe654abc3500a44968">key</a>;</div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  <span class="keyword">union </span>{</div>
-<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#a05bc3701718db73608ef3598480e8fa8">  122</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="structgrpc__arg.html#a05bc3701718db73608ef3598480e8fa8">string</a>;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#a6871bfca9c52e7f56abbd71c81d97554">  123</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structgrpc__arg.html#a6871bfca9c52e7f56abbd71c81d97554">integer</a>;</div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#aab5d11432a11b03a53e5d959d9a5328d">  125</a></span>&#160;      <span class="keywordtype">void</span> *<a class="code" href="structgrpc__arg.html#aab5d11432a11b03a53e5d959d9a5328d">p</a>;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#ac7a5ce7474a9d144aa42ed39fbe63fb7">  126</a></span>&#160;      <span class="keyword">const</span> <a class="code" href="structgrpc__arg__pointer__vtable.html">grpc_arg_pointer_vtable</a> *<a class="code" href="structgrpc__arg.html#ac7a5ce7474a9d144aa42ed39fbe63fb7">vtable</a>;</div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    } pointer;</div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  } value;</div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;} <a class="code" href="structgrpc__arg.html">grpc_arg</a>;</div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="structgrpc__channel__args.html">  142</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="structgrpc__channel__args.html#a41e5d0b22449f062b3a7798dd528afde">  143</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__channel__args.html#a41e5d0b22449f062b3a7798dd528afde">num_args</a>;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="structgrpc__channel__args.html#a05aa7aeb14aa9ae5f4d6a34f5c222b76">  144</a></span>&#160;  <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="l00145"></a><span class="lineno">  145</span>&#160;} <a class="code" href="structgrpc__channel__args.html">grpc_channel_args</a>;</div>
-<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gae498934a02de89ce29cec570b02a2037">  152</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_ENABLE_CENSUS &quot;grpc.census&quot;</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gaae124ed1c6d60a08d0f56884e9442044">  154</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_ENABLE_LOAD_REPORTING &quot;grpc.loadreporting&quot;</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga17b79aacf3bbfb0bce6d29bf9867988b">  157</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_MINIMAL_STACK &quot;grpc.minimal_stack&quot;</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga5bb9256d0b457cab219f4d9d765148b6">  160</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_MAX_CONCURRENT_STREAMS &quot;grpc.max_concurrent_streams&quot;</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga813f94f9ac3174571dd712c96cdbbdc1">  163</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH &quot;grpc.max_receive_message_length&quot;</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga50f37feb7c000a23b3b0edf4c31d4367">  165</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_MAX_MESSAGE_LENGTH GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gab4defdabac3610ef8a5946848592458c">  168</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_MAX_SEND_MESSAGE_LENGTH &quot;grpc.max_send_message_length&quot;</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga8a7a3d98f39302c7859aa09e3f35a12a">  171</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_MAX_CONNECTION_IDLE_MS &quot;grpc.max_connection_idle_ms&quot;</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gabd3a16f46ad2cb5f06064bb607df7b5b">  174</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_MAX_CONNECTION_AGE_MS &quot;grpc.max_connection_age_ms&quot;</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gaf4574abe94c339c6f21163bca6e7b6b7">  177</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_MAX_CONNECTION_AGE_GRACE_MS &quot;grpc.max_connection_age_grace_ms&quot;</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gaecc45a63163796ca1bc5453938bdfb36">  179</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER \</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">  &quot;grpc.http2.initial_sequence_number&quot;</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gac02673f790cd2e8616e03aa010be67d6">  185</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_STREAM_LOOKAHEAD_BYTES &quot;grpc.http2.lookahead_bytes&quot;</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="impl_2codegen_2port__platform_8h.html">grpc/impl/codegen/port_platform.h</a>&gt;</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="compression__types_8h.html">grpc/impl/codegen/compression_types.h</a>&gt;</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="exec__ctx__fwd_8h.html">grpc/impl/codegen/exec_ctx_fwd.h</a>&gt;</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="gpr__types_8h.html">grpc/impl/codegen/gpr_types.h</a>&gt;</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="impl_2codegen_2slice_8h.html">grpc/impl/codegen/slice.h</a>&gt;</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="impl_2codegen_2status_8h.html">grpc/impl/codegen/status.h</a>&gt;</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#include &lt;stddef.h&gt;</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#acdc94363b280bde9c82e3d9b5dc3b3e6">   51</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#acdc94363b280bde9c82e3d9b5dc3b3e6a1918bbb8502c74288793b58f1786f636">   52</a></span>&#160;  <a class="code" href="grpc__types_8h.html#acdc94363b280bde9c82e3d9b5dc3b3e6a1918bbb8502c74288793b58f1786f636">GRPC_BB_RAW</a></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;} <a class="code" href="grpc__types_8h.html#acdc94363b280bde9c82e3d9b5dc3b3e6">grpc_byte_buffer_type</a>;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div>
+<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="structgrpc__byte__buffer.html">   56</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a> {</div>
+<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="structgrpc__byte__buffer.html#a1fc968604a3dcb4a0f34554be528bba2">   57</a></span>&#160;  <span class="keywordtype">void</span> *<a class="code" href="structgrpc__byte__buffer.html#a1fc968604a3dcb4a0f34554be528bba2">reserved</a>;</div>
+<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="structgrpc__byte__buffer.html#aa7357d67e401d5bc9d10d8fed008dec8">   58</a></span>&#160;  <a class="code" href="grpc__types_8h.html#acdc94363b280bde9c82e3d9b5dc3b3e6">grpc_byte_buffer_type</a> <a class="code" href="structgrpc__byte__buffer.html#aa7357d67e401d5bc9d10d8fed008dec8">type</a>;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <span class="keyword">union </span>{</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      <span class="keywordtype">void</span> *<a class="code" href="structgrpc__byte__buffer.html#a1fc968604a3dcb4a0f34554be528bba2">reserved</a>[8];</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    } <a class="code" href="structgrpc__byte__buffer.html#a1fc968604a3dcb4a0f34554be528bba2">reserved</a>;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structgrpc__byte__buffer.html#a3663648016e1076b82c5e731dc5b2399">   64</a></span>&#160;      <a class="code" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">grpc_compression_algorithm</a> <a class="code" href="structgrpc__byte__buffer.html#a3663648016e1076b82c5e731dc5b2399">compression</a>;</div>
+<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="structgrpc__byte__buffer.html#ab551d5a2ca46d9bc3adc8bbc0f816590">   65</a></span>&#160;      <a class="code" href="structgrpc__slice__buffer.html">grpc_slice_buffer</a> <a class="code" href="structgrpc__byte__buffer.html#ab551d5a2ca46d9bc3adc8bbc0f816590">slice_buffer</a>;</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    } <a class="code" href="structgrpc__byte__buffer.html#ab2846baf41ef4510a04a61db141bc597">raw</a>;</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  } <a class="code" href="structgrpc__byte__buffer.html#a3234eae3c2d68f4ccec7f658dba785f2">data</a>;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;} <a class="code" href="grpc__types_8h.html#acf22f6b5ce464dd73df59c9c49f8871c">grpc_byte_buffer</a>;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div>
+<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">   72</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a> <a class="code" href="grpc__types_8h.html#a895faab0e6035445750e43482651ba2f">grpc_completion_queue</a>;</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div>
+<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a09ce3d7fa6473ac1cb39692adf257a13">   75</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__types_8h.html#a09ce3d7fa6473ac1cb39692adf257a13">grpc_alarm</a> <a class="code" href="grpc__types_8h.html#a09ce3d7fa6473ac1cb39692adf257a13">grpc_alarm</a>;</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div>
+<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">   78</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a> <a class="code" href="grpc__types_8h.html#a432bfa6b9f6603643cdf9de8804c254e">grpc_channel</a>;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div>
+<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">   81</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a> <a class="code" href="grpc__types_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8">grpc_server</a>;</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div>
+<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">   86</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a> <a class="code" href="grpc__types_8h.html#a122f8f4f0a585396d993d9b55848f222">grpc_call</a>;</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div>
+<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a72c4781284bb0c964d281e6e46cf4a90">   89</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__types_8h.html#a72c4781284bb0c964d281e6e46cf4a90">grpc_socket_mutator</a> <a class="code" href="grpc__types_8h.html#a72c4781284bb0c964d281e6e46cf4a90">grpc_socket_mutator</a>;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div>
+<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a6bb7fdad6ac88edb9468eb46c801ddb0">   92</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__types_8h.html#a6bb7fdad6ac88edb9468eb46c801ddb0">grpc_socket_factory</a> <a class="code" href="grpc__types_8h.html#a6bb7fdad6ac88edb9468eb46c801ddb0">grpc_socket_factory</a>;</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div>
+<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593">   95</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
+<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593a215b6b9143ba133ede0e29f79098239d">   96</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593a215b6b9143ba133ede0e29f79098239d">GRPC_ARG_STRING</a>,</div>
+<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593a8d2f803b8aaf88f34dac1f887826c689">   97</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593a8d2f803b8aaf88f34dac1f887826c689">GRPC_ARG_INTEGER</a>,</div>
+<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593a02a823a7037e2a60b9d9a031fd42591b">   98</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593a02a823a7037e2a60b9d9a031fd42591b">GRPC_ARG_POINTER</a></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;} <a class="code" href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593">grpc_arg_type</a>;</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div>
+<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="structgrpc__arg__pointer__vtable.html">  101</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__arg__pointer__vtable.html">grpc_arg_pointer_vtable</a> {</div>
+<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="structgrpc__arg__pointer__vtable.html#a4b937861a8c7c8165fcb3bfc831dd95e">  102</a></span>&#160;  <span class="keywordtype">void</span> *(*copy)(<span class="keywordtype">void</span> *p);</div>
+<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="structgrpc__arg__pointer__vtable.html#aa56514dd670d6fc91f2b36cdd2a27be6">  103</a></span>&#160;  void (*<a class="code" href="structgrpc__arg__pointer__vtable.html#aa56514dd670d6fc91f2b36cdd2a27be6">destroy</a>)(<a class="code" href="exec__ctx__fwd_8h.html#aabc6a414771ff6697446fc9d5d708057">grpc_exec_ctx</a> *exec_ctx, <span class="keywordtype">void</span> *p);</div>
+<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="structgrpc__arg__pointer__vtable.html#a1037c7866bb3f070f4689b4a8ad04c09">  104</a></span>&#160;  int (*<a class="code" href="structgrpc__arg__pointer__vtable.html#a1037c7866bb3f070f4689b4a8ad04c09">cmp</a>)(<span class="keywordtype">void</span> *p, <span class="keywordtype">void</span> *q);</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;} <a class="code" href="grpc__types_8h.html#a8499b89a510e8a3d4e76e011776a1548">grpc_arg_pointer_vtable</a>;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div>
+<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="structgrpc__arg.html">  119</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#aa26f2d3c4b1649c9eb061d24a8c10fd4">  120</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593">grpc_arg_type</a> <a class="code" href="structgrpc__arg.html#aa26f2d3c4b1649c9eb061d24a8c10fd4">type</a>;</div>
+<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#aeb230fbd50daacfe654abc3500a44968">  121</a></span>&#160;  <span class="keywordtype">char</span> *<a class="code" href="structgrpc__arg.html#aeb230fbd50daacfe654abc3500a44968">key</a>;</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  <span class="keyword">union </span>{</div>
+<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#a05bc3701718db73608ef3598480e8fa8">  123</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="structgrpc__arg.html#a05bc3701718db73608ef3598480e8fa8">string</a>;</div>
+<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#a6871bfca9c52e7f56abbd71c81d97554">  124</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structgrpc__arg.html#a6871bfca9c52e7f56abbd71c81d97554">integer</a>;</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#aab5d11432a11b03a53e5d959d9a5328d">  126</a></span>&#160;      <span class="keywordtype">void</span> *<a class="code" href="structgrpc__arg.html#aab5d11432a11b03a53e5d959d9a5328d">p</a>;</div>
+<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="structgrpc__arg.html#ac7a5ce7474a9d144aa42ed39fbe63fb7">  127</a></span>&#160;      <span class="keyword">const</span> <a class="code" href="structgrpc__arg__pointer__vtable.html">grpc_arg_pointer_vtable</a> *<a class="code" href="structgrpc__arg.html#ac7a5ce7474a9d144aa42ed39fbe63fb7">vtable</a>;</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    } pointer;</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  } value;</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;} <a class="code" href="structgrpc__arg.html">grpc_arg</a>;</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div>
+<div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="structgrpc__channel__args.html">  143</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="structgrpc__channel__args.html#a41e5d0b22449f062b3a7798dd528afde">  144</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__channel__args.html#a41e5d0b22449f062b3a7798dd528afde">num_args</a>;</div>
+<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="structgrpc__channel__args.html#a05aa7aeb14aa9ae5f4d6a34f5c222b76">  145</a></span>&#160;  <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="l00146"></a><span class="lineno">  146</span>&#160;} <a class="code" href="structgrpc__channel__args.html">grpc_channel_args</a>;</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div>
+<div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gae498934a02de89ce29cec570b02a2037">  153</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_ENABLE_CENSUS &quot;grpc.census&quot;</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gaae124ed1c6d60a08d0f56884e9442044">  155</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_ENABLE_LOAD_REPORTING &quot;grpc.loadreporting&quot;</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga17b79aacf3bbfb0bce6d29bf9867988b">  158</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_MINIMAL_STACK &quot;grpc.minimal_stack&quot;</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga5bb9256d0b457cab219f4d9d765148b6">  161</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_MAX_CONCURRENT_STREAMS &quot;grpc.max_concurrent_streams&quot;</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga813f94f9ac3174571dd712c96cdbbdc1">  164</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH &quot;grpc.max_receive_message_length&quot;</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga50f37feb7c000a23b3b0edf4c31d4367">  167</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_MAX_MESSAGE_LENGTH GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gab4defdabac3610ef8a5946848592458c">  170</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_MAX_SEND_MESSAGE_LENGTH &quot;grpc.max_send_message_length&quot;</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga8a7a3d98f39302c7859aa09e3f35a12a">  173</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_MAX_CONNECTION_IDLE_MS &quot;grpc.max_connection_idle_ms&quot;</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gabd3a16f46ad2cb5f06064bb607df7b5b">  176</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_MAX_CONNECTION_AGE_MS &quot;grpc.max_connection_age_ms&quot;</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gaf4574abe94c339c6f21163bca6e7b6b7">  179</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_MAX_CONNECTION_AGE_GRACE_MS &quot;grpc.max_connection_age_grace_ms&quot;</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gab195665836ae27c45748f5c4e5dc4057">  182</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_ENABLE_PER_MESSAGE_COMPRESSION &quot;grpc.per_message_compression&quot;</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga405daab19c0dceb2a64d0b1a77f8fe97">  185</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_ENABLE_DEADLINE_CHECKS &quot;grpc.enable_deadline_checking&quot;</span></div>
 <div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga216089aecb45149441024ffe5542cbaf">  187</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_HPACK_TABLE_SIZE_DECODER \</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="preprocessor">  &quot;grpc.http2.hpack_table_size.decoder&quot;</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gaecc45a63163796ca1bc5453938bdfb36">  187</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER \</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="preprocessor">  &quot;grpc.http2.initial_sequence_number&quot;</span></div>
 <div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gaab50fc8faf9f04675a9fefa9d631e362">  190</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_HPACK_TABLE_SIZE_ENCODER \</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="preprocessor">  &quot;grpc.http2.hpack_table_size.encoder&quot;</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga2ef6e079e5d61b34ce236f50fd38fc83">  196</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_MAX_FRAME_SIZE &quot;grpc.http2.max_frame_size&quot;</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gac02673f790cd2e8616e03aa010be67d6">  193</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_STREAM_LOOKAHEAD_BYTES &quot;grpc.http2.lookahead_bytes&quot;</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga216089aecb45149441024ffe5542cbaf">  195</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_HPACK_TABLE_SIZE_DECODER \</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="preprocessor">  &quot;grpc.http2.hpack_table_size.decoder&quot;</span></div>
 <div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga0958b21ee82acd9c77de30a978c59fb2">  198</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_BDP_PROBE &quot;grpc.http2.bdp_probe&quot;</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gacc0d0f1d3d582d39fcfb7a835b730a6c">  200</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_MIN_TIME_BETWEEN_PINGS_MS \</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="preprocessor">  &quot;grpc.http2.min_time_between_pings_ms&quot;</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga401cc6c0e567cbbb8b689b091f92dc7e">  206</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA \</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="preprocessor">  &quot;grpc.http2.max_pings_without_data&quot;</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gaf50a9992745183e14e8c660d954c1d82">  212</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_MAX_PING_STRIKES &quot;grpc.http2.max_ping_strikes&quot;</span></div>
-<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gac3470e2718001b173a7b8398ab60fe09">  215</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_MIN_PING_INTERVAL_WITHOUT_DATA_MS \</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="preprocessor">  &quot;grpc.http2.min_ping_interval_without_data_ms&quot;</span></div>
-<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga8ee81850446e587a7410df5ab640c565">  219</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_WRITE_BUFFER_SIZE &quot;grpc.http2.write_buffer_size&quot;</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gaab50fc8faf9f04675a9fefa9d631e362">  198</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_HPACK_TABLE_SIZE_ENCODER \</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="preprocessor">  &quot;grpc.http2.hpack_table_size.encoder&quot;</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga2ef6e079e5d61b34ce236f50fd38fc83">  203</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_MAX_FRAME_SIZE &quot;grpc.http2.max_frame_size&quot;</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga0958b21ee82acd9c77de30a978c59fb2">  205</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_BDP_PROBE &quot;grpc.http2.bdp_probe&quot;</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gacc0d0f1d3d582d39fcfb7a835b730a6c">  207</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_MIN_TIME_BETWEEN_PINGS_MS \</span></div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="preprocessor">  &quot;grpc.http2.min_time_between_pings_ms&quot;</span></div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga7797da9f3f5a1381484b2cabca1920fc">  210</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_SCHEME &quot;grpc.http2_scheme&quot;</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga401cc6c0e567cbbb8b689b091f92dc7e">  214</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA \</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;<span class="preprocessor">  &quot;grpc.http2.max_pings_without_data&quot;</span></div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gaf50a9992745183e14e8c660d954c1d82">  219</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_MAX_PING_STRIKES &quot;grpc.http2.max_ping_strikes&quot;</span></div>
 <div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gacccbdf888685b6d4beda61a3600f4a20">  222</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_ENABLE_TRUE_BINARY &quot;grpc.http2.true_binary&quot;</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gabeeccb441a671122c75384e062b1b91b">  225</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_KEEPALIVE_TIME_MS &quot;grpc.keepalive_time_ms&quot;</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga78975b982fd17ff190fddf2f90050ee3">  229</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_KEEPALIVE_TIMEOUT_MS &quot;grpc.keepalive_timeout_ms&quot;</span></div>
+<div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gac3470e2718001b173a7b8398ab60fe09">  222</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_MIN_PING_INTERVAL_WITHOUT_DATA_MS \</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="preprocessor">  &quot;grpc.http2.min_ping_interval_without_data_ms&quot;</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga8ee81850446e587a7410df5ab640c565">  226</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_WRITE_BUFFER_SIZE &quot;grpc.http2.write_buffer_size&quot;</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gacccbdf888685b6d4beda61a3600f4a20">  229</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_HTTP2_ENABLE_TRUE_BINARY &quot;grpc.http2.true_binary&quot;</span></div>
 <div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00232"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gaf900669f52f137677c4dbb9a7a902c92">  232</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_KEEPALIVE_PERMIT_WITHOUT_CALLS \</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="preprocessor">  &quot;grpc.keepalive_permit_without_calls&quot;</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gadd42f97666fbfc66b7dac253ac3b73ae">  236</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_DEFAULT_AUTHORITY &quot;grpc.default_authority&quot;</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gabeeccb441a671122c75384e062b1b91b">  232</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_KEEPALIVE_TIME_MS &quot;grpc.keepalive_time_ms&quot;</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga78975b982fd17ff190fddf2f90050ee3">  236</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_KEEPALIVE_TIMEOUT_MS &quot;grpc.keepalive_timeout_ms&quot;</span></div>
 <div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga0732df2d9003e9ee1c01e50e41b5a8e2">  239</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_PRIMARY_USER_AGENT_STRING &quot;grpc.primary_user_agent&quot;</span></div>
-<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gaf47b4048c11e4f8f4162f12c135c2da4">  242</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_SECONDARY_USER_AGENT_STRING &quot;grpc.secondary_user_agent&quot;</span></div>
-<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gac978e84658bcda47633c5b81a80d0052">  244</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_MAX_RECONNECT_BACKOFF_MS &quot;grpc.max_reconnect_backoff_ms&quot;</span></div>
-<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gaedb26c5ca7d3d279b81d12d9bf6dabc6">  246</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_INITIAL_RECONNECT_BACKOFF_MS \</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="preprocessor">  &quot;grpc.initial_reconnect_backoff_ms&quot;</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;<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="l00249"></a><span class="lineno">  249</span>&#160;<span class="comment">   name used for SSL host name checking using this channel argument which is of</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="comment">   type \a GRPC_ARG_STRING. This *should* be used for testing only.</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="comment">   If this argument is not specified, the name used for SSL host name checking</span></div>
-<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="comment">   will be the target parameter (assuming that the secure channel is an SSL</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="comment">   channel). If this parameter is specified and the underlying is not an SSL</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;<span class="comment">   channel, it will just be ignored. */</span></div>
-<div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga218bf55b665134a11baf07ada5980825">  255</a></span>&#160;<span class="preprocessor">#define GRPC_SSL_TARGET_NAME_OVERRIDE_ARG &quot;grpc.ssl_target_name_override&quot;</span></div>
-<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="preprocessor"></span><span class="comment">/* Maximum metadata size, in bytes. */</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga2a9e23d3fe81ae539ba655d2e49051c8">  257</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_MAX_METADATA_SIZE &quot;grpc.max_metadata_size&quot;</span></div>
-<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga40e635cf00ea7a10c71ed71c03d97f23">  259</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_ALLOW_REUSEPORT &quot;grpc.so_reuseport&quot;</span></div>
-<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gaa8bb5c65808f9c340ba7e4dd4f9f0f39">  262</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_RESOURCE_QUOTA &quot;grpc.resource_quota&quot;</span></div>
-<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gab11602475264d01e0ea50f0ce376cdcd">  264</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_EXPAND_WILDCARD_ADDRS &quot;grpc.expand_wildcard_addrs&quot;</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gaf900669f52f137677c4dbb9a7a902c92">  239</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_KEEPALIVE_PERMIT_WITHOUT_CALLS \</span></div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">  &quot;grpc.keepalive_permit_without_calls&quot;</span></div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gadd42f97666fbfc66b7dac253ac3b73ae">  243</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_DEFAULT_AUTHORITY &quot;grpc.default_authority&quot;</span></div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga0732df2d9003e9ee1c01e50e41b5a8e2">  246</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_PRIMARY_USER_AGENT_STRING &quot;grpc.primary_user_agent&quot;</span></div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gaf47b4048c11e4f8f4162f12c135c2da4">  249</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_SECONDARY_USER_AGENT_STRING &quot;grpc.secondary_user_agent&quot;</span></div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gad7d9d143858d8f5e138cf704b0082973">  251</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_MIN_RECONNECT_BACKOFF_MS &quot;grpc.min_reconnect_backoff_ms&quot;</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gac978e84658bcda47633c5b81a80d0052">  253</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_MAX_RECONNECT_BACKOFF_MS &quot;grpc.max_reconnect_backoff_ms&quot;</span></div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gaedb26c5ca7d3d279b81d12d9bf6dabc6">  255</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_INITIAL_RECONNECT_BACKOFF_MS \</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="preprocessor">  &quot;grpc.initial_reconnect_backoff_ms&quot;</span></div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga218bf55b665134a11baf07ada5980825">  264</a></span>&#160;<span class="preprocessor">#define GRPC_SSL_TARGET_NAME_OVERRIDE_ARG &quot;grpc.ssl_target_name_override&quot;</span></div>
 <div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gad60df744eb84ef55a371de9b8bd2373d">  266</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_SERVICE_CONFIG &quot;grpc.service_config&quot;</span></div>
-<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga72c2b475e218ecfd36bb7d3551d0295b">  268</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_LB_POLICY_NAME &quot;grpc.lb_policy_name&quot;</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gabdcf8122824e386dcc23b947473e83e0">  270</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_SOCKET_MUTATOR &quot;grpc.socket_mutator&quot;</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga9e1054f78a26481931b10aa0b33f52b7">  272</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_SOCKET_FACTORY &quot;grpc.socket_factory&quot;</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga3da556ec531495ace9f93b97c8c4f24b">  275</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_USE_CRONET_PACKET_COALESCING \</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;<span class="preprocessor">  &quot;grpc.use_cronet_packet_coalescing&quot;</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="preprocessor"></span><span class="comment">/* Channel arg (integer) setting how large a slice to try and read from the wire</span></div>
-<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="comment">each time recvmsg (or equivalent) is called */</span></div>
-<div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga82582ed0fcd7d6b0090f9102d75c765a">  279</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_TCP_READ_CHUNK_SIZE &quot;grpc.experimental.tcp_read_chunk_size&quot;</span></div>
-<div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga1f91c3aec64a436d29051c8d415b1053">  280</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_TCP_DEFAULT_READ_SLICE_SIZE 8192</span></div>
-<div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gae55b7bd57a5344e0083eac4d06c2d51b">  281</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_ARG_TCP_MIN_READ_CHUNK_SIZE \</span></div>
-<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;<span class="preprocessor">  &quot;grpc.experimental.tcp_min_read_chunk_size&quot;</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gadeaad8ae5b50ee8d2fb44d289aeb223d">  283</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_ARG_TCP_MAX_READ_CHUNK_SIZE \</span></div>
-<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;<span class="preprocessor">  &quot;grpc.experimental.tcp_max_read_chunk_size&quot;</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00291"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">  291</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> {</div>
-<div class="line"><a name="l00293"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba32f125b97007cbdb43534e9d6e0989f8">  293</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba32f125b97007cbdb43534e9d6e0989f8">GRPC_CALL_OK</a> = 0,</div>
-<div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba86e7b6bf1fe5dec17fc08ba2f77d1b41">  295</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba86e7b6bf1fe5dec17fc08ba2f77d1b41">GRPC_CALL_ERROR</a>,</div>
-<div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba1a48e861db610ae8f0b0cba7749251d8">  297</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba1a48e861db610ae8f0b0cba7749251d8">GRPC_CALL_ERROR_NOT_ON_SERVER</a>,</div>
-<div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7ba38ea119e00e8b4d10211f4ced9ef6">  299</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7ba38ea119e00e8b4d10211f4ced9ef6">GRPC_CALL_ERROR_NOT_ON_CLIENT</a>,</div>
-<div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba2f6f332e63eb94df8abedfddb96ae63a">  301</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba2f6f332e63eb94df8abedfddb96ae63a">GRPC_CALL_ERROR_ALREADY_ACCEPTED</a>,</div>
-<div class="line"><a name="l00303"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba042165aa26653c844a846d188f722857">  303</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba042165aa26653c844a846d188f722857">GRPC_CALL_ERROR_ALREADY_INVOKED</a>,</div>
-<div class="line"><a name="l00305"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba6113860606450e3a3fa40ddf46749296">  305</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba6113860606450e3a3fa40ddf46749296">GRPC_CALL_ERROR_NOT_INVOKED</a>,</div>
-<div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba21256301a6038a6a03fc8444ddd08c63">  308</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba21256301a6038a6a03fc8444ddd08c63">GRPC_CALL_ERROR_ALREADY_FINISHED</a>,</div>
-<div class="line"><a name="l00310"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7e09791915b841c30e9d79c26a5a6454">  310</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7e09791915b841c30e9d79c26a5a6454">GRPC_CALL_ERROR_TOO_MANY_OPERATIONS</a>,</div>
-<div class="line"><a name="l00312"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bae915786320e24eff4f1e05852d40f861">  312</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bae915786320e24eff4f1e05852d40f861">GRPC_CALL_ERROR_INVALID_FLAGS</a>,</div>
-<div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba13f469c7761a672240ddfe29f85729bd">  314</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba13f469c7761a672240ddfe29f85729bd">GRPC_CALL_ERROR_INVALID_METADATA</a>,</div>
-<div class="line"><a name="l00316"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7dfc7fe11288dd7a30a8f07b890c9c5b">  316</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7dfc7fe11288dd7a30a8f07b890c9c5b">GRPC_CALL_ERROR_INVALID_MESSAGE</a>,</div>
-<div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bade52e850722f80804d90881ac125706f">  319</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bade52e850722f80804d90881ac125706f">GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE</a>,</div>
-<div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba906d5d530b249b5b853595e424ec400b">  321</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba906d5d530b249b5b853595e424ec400b">GRPC_CALL_ERROR_BATCH_TOO_BIG</a>,</div>
-<div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba598dd6646d1a7c88d4bbef1490953ee3">  323</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba598dd6646d1a7c88d4bbef1490953ee3">GRPC_CALL_ERROR_PAYLOAD_TYPE_MISMATCH</a></div>
-<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;} <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a>;</div>
-<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;</div>
-<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;<span class="comment">/* Default send/receive message size limits in bytes. -1 for unlimited. */</span></div>
-<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;<span class="comment">/* TODO(roth) Make this match the default receive limit after next release */</span></div>
-<div class="line"><a name="l00328"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a4e5d829393a2ad7a98e53c4856057220">  328</a></span>&#160;<span class="preprocessor">#define GRPC_DEFAULT_MAX_SEND_MESSAGE_LENGTH -1</span></div>
-<div class="line"><a name="l00329"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a25687d417e9dc0a05af692dff23af179">  329</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_DEFAULT_MAX_RECV_MESSAGE_LENGTH (4 * 1024 * 1024)</span></div>
-<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="comment">/* Write Flags: */</span></div>
-<div class="line"><a name="l00335"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#adf29fd8b7df2ecc47d14a7f5a3a079c0">  335</a></span>&#160;<span class="preprocessor">#define GRPC_WRITE_BUFFER_HINT (0x00000001u)</span></div>
-<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#ae09000181671f031ed0e319ed557da4e">  338</a></span>&#160;<span class="preprocessor">#define GRPC_WRITE_NO_COMPRESS (0x00000002u)</span></div>
-<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a3317259e1098b2b6f49982d6997bbf6a">  340</a></span>&#160;<span class="preprocessor">#define GRPC_WRITE_USED_MASK (GRPC_WRITE_BUFFER_HINT | GRPC_WRITE_NO_COMPRESS)</span></div>
-<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="comment">/* Initial metadata flags */</span></div>
-<div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a3b9e262e1a797030f62bccfe7b42ce01">  344</a></span>&#160;<span class="preprocessor">#define GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST (0x00000010u)</span></div>
-<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a9606180fd0950a1514522fbe535edf49">  346</a></span>&#160;<span class="preprocessor">#define GRPC_INITIAL_METADATA_WAIT_FOR_READY (0x00000020u)</span></div>
-<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a7978c09a9933e7b858c65c1b03eb5b2b">  348</a></span>&#160;<span class="preprocessor">#define GRPC_INITIAL_METADATA_CACHEABLE_REQUEST (0x00000040u)</span></div>
-<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00351"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#afa71c451716eca6c8d38fb71d66c0bbb">  351</a></span>&#160;<span class="preprocessor">#define GRPC_INITIAL_METADATA_WAIT_FOR_READY_EXPLICITLY_SET (0x00000080u)</span></div>
-<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a1175f30479912922d006387536d2c46c">  353</a></span>&#160;<span class="preprocessor">#define GRPC_INITIAL_METADATA_CORKED (0x00000100u)</span></div>
-<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00356"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#aca7fa3c1b87589e5829f508ee3fc1f84">  356</a></span>&#160;<span class="preprocessor">#define GRPC_INITIAL_METADATA_USED_MASK                  \</span></div>
-<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;<span class="preprocessor">  (GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST |            \</span></div>
-<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;<span class="preprocessor">   GRPC_INITIAL_METADATA_WAIT_FOR_READY |                \</span></div>
-<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;<span class="preprocessor">   GRPC_INITIAL_METADATA_CACHEABLE_REQUEST |             \</span></div>
-<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;<span class="preprocessor">   GRPC_INITIAL_METADATA_WAIT_FOR_READY_EXPLICITLY_SET | \</span></div>
-<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;<span class="preprocessor">   GRPC_INITIAL_METADATA_CORKED)</span></div>
-<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="structgrpc__metadata.html">  364</a></span>&#160;<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="l00365"></a><span class="lineno">  365</span>&#160;  <span class="comment">/* the key, value values are expected to line up with grpc_mdelem: if changing</span></div>
-<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;<span class="comment">     them, update metadata.h at the same time. */</span></div>
-<div class="line"><a name="l00367"></a><span class="lineno"><a class="line" href="structgrpc__metadata.html#a97e0b57621fa9ae74f15e833bece37a6">  367</a></span>&#160;  <a class="code" href="structgrpc__slice.html">grpc_slice</a> <a class="code" href="structgrpc__metadata.html#a97e0b57621fa9ae74f15e833bece37a6">key</a>;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="structgrpc__metadata.html#ac49b42fcfe8ff2a31d371b878ce07ca7">  368</a></span>&#160;  <a class="code" href="structgrpc__slice.html">grpc_slice</a> <a class="code" href="structgrpc__metadata.html#ac49b42fcfe8ff2a31d371b878ce07ca7">value</a>;</div>
-<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;</div>
-<div class="line"><a name="l00370"></a><span class="lineno"><a class="line" href="structgrpc__metadata.html#a133ac4f411ab967565bebce75a0e1b91">  370</a></span>&#160;  uint32_t <a class="code" href="structgrpc__metadata.html#a133ac4f411ab967565bebce75a0e1b91">flags</a>;</div>
-<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;</div>
-<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;  <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="structgrpc__metadata.html#a737f2161d2ccc9da44f340d923c97658">  376</a></span>&#160;    <span class="keywordtype">void</span> *<a class="code" href="structgrpc__metadata.html#a737f2161d2ccc9da44f340d923c97658">obfuscated</a>[4];</div>
-<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;  } <a class="code" href="structgrpc__metadata.html#aba09cd6e090d511fe4ade0706f55e006">internal_data</a>;</div>
-<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;} <a class="code" href="grpc__types_8h.html#a1da84eaead787d991c5a0c87aed7c30b">grpc_metadata</a>;</div>
-<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;</div>
-<div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87">  381</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87">grpc_completion_type</a> {</div>
-<div class="line"><a name="l00383"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87a503dd1b2ec79457f0f810716016219d5">  383</a></span>&#160;  <a class="code" href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87a503dd1b2ec79457f0f810716016219d5">GRPC_QUEUE_SHUTDOWN</a>,</div>
-<div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87a4339ea61236e103b6555fdf9b6cffab6">  385</a></span>&#160;  <a class="code" href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87a4339ea61236e103b6555fdf9b6cffab6">GRPC_QUEUE_TIMEOUT</a>,</div>
-<div class="line"><a name="l00387"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87a00b42e3d4b6e6493c6e76f1adf07b297">  387</a></span>&#160;  <a class="code" href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87a00b42e3d4b6e6493c6e76f1adf07b297">GRPC_OP_COMPLETE</a></div>
-<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;} <a class="code" href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87">grpc_completion_type</a>;</div>
+<div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga2a9e23d3fe81ae539ba655d2e49051c8">  267</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_MAX_METADATA_SIZE &quot;grpc.max_metadata_size&quot;</span></div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga40e635cf00ea7a10c71ed71c03d97f23">  269</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_ALLOW_REUSEPORT &quot;grpc.so_reuseport&quot;</span></div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gaa8bb5c65808f9c340ba7e4dd4f9f0f39">  273</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_RESOURCE_QUOTA &quot;grpc.resource_quota&quot;</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gab11602475264d01e0ea50f0ce376cdcd">  275</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_EXPAND_WILDCARD_ADDRS &quot;grpc.expand_wildcard_addrs&quot;</span></div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gad60df744eb84ef55a371de9b8bd2373d">  277</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_SERVICE_CONFIG &quot;grpc.service_config&quot;</span></div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga72c2b475e218ecfd36bb7d3551d0295b">  279</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_LB_POLICY_NAME &quot;grpc.lb_policy_name&quot;</span></div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gabdcf8122824e386dcc23b947473e83e0">  281</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_SOCKET_MUTATOR &quot;grpc.socket_mutator&quot;</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00283"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga9e1054f78a26481931b10aa0b33f52b7">  283</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_SOCKET_FACTORY &quot;grpc.socket_factory&quot;</span></div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga3da556ec531495ace9f93b97c8c4f24b">  286</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_USE_CRONET_PACKET_COALESCING \</span></div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;<span class="preprocessor">  &quot;grpc.use_cronet_packet_coalescing&quot;</span></div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00290"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga82582ed0fcd7d6b0090f9102d75c765a">  290</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_TCP_READ_CHUNK_SIZE &quot;grpc.experimental.tcp_read_chunk_size&quot;</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga1f91c3aec64a436d29051c8d415b1053">  294</a></span>&#160;<span class="preprocessor">#define GRPC_TCP_DEFAULT_READ_SLICE_SIZE 8192</span></div>
+<div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gae55b7bd57a5344e0083eac4d06c2d51b">  295</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_ARG_TCP_MIN_READ_CHUNK_SIZE \</span></div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;<span class="preprocessor">  &quot;grpc.experimental.tcp_min_read_chunk_size&quot;</span></div>
+<div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#gadeaad8ae5b50ee8d2fb44d289aeb223d">  297</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_ARG_TCP_MAX_READ_CHUNK_SIZE \</span></div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="preprocessor">  &quot;grpc.experimental.tcp_max_read_chunk_size&quot;</span></div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="preprocessor"></span><span class="comment">/* Timeout in milliseconds to use for calls to the grpclb load balancer.</span></div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="comment">   If 0 or unset, the balancer calls will have no deadline. */</span></div>
+<div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga1768735fceeb8108a2f1eb12ea0a894e">  301</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_GRPCLB_CALL_TIMEOUT_MS &quot;grpc.grpclb_timeout_ms&quot;</span></div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00303"></a><span class="lineno"><a class="line" href="group__grpc__arg__keys.html#ga618ddbf19fdd38d8f90b8f3d7cb5d481">  303</a></span>&#160;<span class="preprocessor">#define GRPC_ARG_WORKAROUND_CRONET_COMPRESSION \</span></div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">  &quot;grpc.workaround.cronet_compression&quot;</span></div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00311"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">  311</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a> {</div>
+<div class="line"><a name="l00313"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba32f125b97007cbdb43534e9d6e0989f8">  313</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba32f125b97007cbdb43534e9d6e0989f8">GRPC_CALL_OK</a> = 0,</div>
+<div class="line"><a name="l00315"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba86e7b6bf1fe5dec17fc08ba2f77d1b41">  315</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba86e7b6bf1fe5dec17fc08ba2f77d1b41">GRPC_CALL_ERROR</a>,</div>
+<div class="line"><a name="l00317"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba1a48e861db610ae8f0b0cba7749251d8">  317</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba1a48e861db610ae8f0b0cba7749251d8">GRPC_CALL_ERROR_NOT_ON_SERVER</a>,</div>
+<div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7ba38ea119e00e8b4d10211f4ced9ef6">  319</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7ba38ea119e00e8b4d10211f4ced9ef6">GRPC_CALL_ERROR_NOT_ON_CLIENT</a>,</div>
+<div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba2f6f332e63eb94df8abedfddb96ae63a">  321</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba2f6f332e63eb94df8abedfddb96ae63a">GRPC_CALL_ERROR_ALREADY_ACCEPTED</a>,</div>
+<div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba042165aa26653c844a846d188f722857">  323</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba042165aa26653c844a846d188f722857">GRPC_CALL_ERROR_ALREADY_INVOKED</a>,</div>
+<div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba6113860606450e3a3fa40ddf46749296">  325</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba6113860606450e3a3fa40ddf46749296">GRPC_CALL_ERROR_NOT_INVOKED</a>,</div>
+<div class="line"><a name="l00328"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba21256301a6038a6a03fc8444ddd08c63">  328</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba21256301a6038a6a03fc8444ddd08c63">GRPC_CALL_ERROR_ALREADY_FINISHED</a>,</div>
+<div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7e09791915b841c30e9d79c26a5a6454">  330</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7e09791915b841c30e9d79c26a5a6454">GRPC_CALL_ERROR_TOO_MANY_OPERATIONS</a>,</div>
+<div class="line"><a name="l00332"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bae915786320e24eff4f1e05852d40f861">  332</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bae915786320e24eff4f1e05852d40f861">GRPC_CALL_ERROR_INVALID_FLAGS</a>,</div>
+<div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba13f469c7761a672240ddfe29f85729bd">  334</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba13f469c7761a672240ddfe29f85729bd">GRPC_CALL_ERROR_INVALID_METADATA</a>,</div>
+<div class="line"><a name="l00336"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7dfc7fe11288dd7a30a8f07b890c9c5b">  336</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7dfc7fe11288dd7a30a8f07b890c9c5b">GRPC_CALL_ERROR_INVALID_MESSAGE</a>,</div>
+<div class="line"><a name="l00339"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bade52e850722f80804d90881ac125706f">  339</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bade52e850722f80804d90881ac125706f">GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE</a>,</div>
+<div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba906d5d530b249b5b853595e424ec400b">  341</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba906d5d530b249b5b853595e424ec400b">GRPC_CALL_ERROR_BATCH_TOO_BIG</a>,</div>
+<div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba598dd6646d1a7c88d4bbef1490953ee3">  343</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba598dd6646d1a7c88d4bbef1490953ee3">GRPC_CALL_ERROR_PAYLOAD_TYPE_MISMATCH</a></div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;} <a class="code" href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b">grpc_call_error</a>;</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div>
+<div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a4e5d829393a2ad7a98e53c4856057220">  348</a></span>&#160;<span class="preprocessor">#define GRPC_DEFAULT_MAX_SEND_MESSAGE_LENGTH -1</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a25687d417e9dc0a05af692dff23af179">  349</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_DEFAULT_MAX_RECV_MESSAGE_LENGTH (4 * 1024 * 1024)</span></div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#adf29fd8b7df2ecc47d14a7f5a3a079c0">  355</a></span>&#160;<span class="preprocessor">#define GRPC_WRITE_BUFFER_HINT (0x00000001u)</span></div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00358"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#ae09000181671f031ed0e319ed557da4e">  358</a></span>&#160;<span class="preprocessor">#define GRPC_WRITE_NO_COMPRESS (0x00000002u)</span></div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a3317259e1098b2b6f49982d6997bbf6a">  360</a></span>&#160;<span class="preprocessor">#define GRPC_WRITE_USED_MASK (GRPC_WRITE_BUFFER_HINT | GRPC_WRITE_NO_COMPRESS)</span></div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a3b9e262e1a797030f62bccfe7b42ce01">  364</a></span>&#160;<span class="preprocessor">#define GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST (0x00000010u)</span></div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00366"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a9606180fd0950a1514522fbe535edf49">  366</a></span>&#160;<span class="preprocessor">#define GRPC_INITIAL_METADATA_WAIT_FOR_READY (0x00000020u)</span></div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a7978c09a9933e7b858c65c1b03eb5b2b">  368</a></span>&#160;<span class="preprocessor">#define GRPC_INITIAL_METADATA_CACHEABLE_REQUEST (0x00000040u)</span></div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#afa71c451716eca6c8d38fb71d66c0bbb">  371</a></span>&#160;<span class="preprocessor">#define GRPC_INITIAL_METADATA_WAIT_FOR_READY_EXPLICITLY_SET (0x00000080u)</span></div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a1175f30479912922d006387536d2c46c">  373</a></span>&#160;<span class="preprocessor">#define GRPC_INITIAL_METADATA_CORKED (0x00000100u)</span></div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#aca7fa3c1b87589e5829f508ee3fc1f84">  376</a></span>&#160;<span class="preprocessor">#define GRPC_INITIAL_METADATA_USED_MASK                  \</span></div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;<span class="preprocessor">  (GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST |            \</span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;<span class="preprocessor">   GRPC_INITIAL_METADATA_WAIT_FOR_READY |                \</span></div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;<span class="preprocessor">   GRPC_INITIAL_METADATA_CACHEABLE_REQUEST |             \</span></div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;<span class="preprocessor">   GRPC_INITIAL_METADATA_WAIT_FOR_READY_EXPLICITLY_SET | \</span></div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;<span class="preprocessor">   GRPC_INITIAL_METADATA_CORKED)</span></div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00384"></a><span class="lineno"><a class="line" href="structgrpc__metadata.html">  384</a></span>&#160;<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="l00387"></a><span class="lineno"><a class="line" href="structgrpc__metadata.html#a97e0b57621fa9ae74f15e833bece37a6">  387</a></span>&#160;  <a class="code" href="structgrpc__slice.html">grpc_slice</a> <a class="code" href="structgrpc__metadata.html#a97e0b57621fa9ae74f15e833bece37a6">key</a>;</div>
+<div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="structgrpc__metadata.html#ac49b42fcfe8ff2a31d371b878ce07ca7">  388</a></span>&#160;  <a class="code" href="structgrpc__slice.html">grpc_slice</a> <a class="code" href="structgrpc__metadata.html#ac49b42fcfe8ff2a31d371b878ce07ca7">value</a>;</div>
 <div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;</div>
-<div class="line"><a name="l00393"></a><span class="lineno"><a class="line" href="structgrpc__event.html">  393</a></span>&#160;<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="l00395"></a><span class="lineno"><a class="line" href="structgrpc__event.html#a8e7f571b759f55db4f6bebc2a4f56ad7">  395</a></span>&#160;  <a class="code" href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87">grpc_completion_type</a> <a class="code" href="structgrpc__event.html#a8e7f571b759f55db4f6bebc2a4f56ad7">type</a>;</div>
-<div class="line"><a name="l00398"></a><span class="lineno"><a class="line" href="structgrpc__event.html#a99d4215e5df50869af320b1cca5540db">  398</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="structgrpc__event.html#a99d4215e5df50869af320b1cca5540db">success</a>;</div>
-<div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="structgrpc__event.html#a883ab15e862db582116c72cdcdc4c201">  401</a></span>&#160;  <span class="keywordtype">void</span> *<a class="code" href="structgrpc__event.html#a883ab15e862db582116c72cdcdc4c201">tag</a>;</div>
-<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;} <a class="code" href="grpc__types_8h.html#a07990645ca218f6965fd83edf3f421b7">grpc_event</a>;</div>
-<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;</div>
-<div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="structgrpc__metadata__array.html">  404</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00405"></a><span class="lineno"><a class="line" href="structgrpc__metadata__array.html#a314ce51b22a5934cc672f3736d44b9e4">  405</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__metadata__array.html#a314ce51b22a5934cc672f3736d44b9e4">count</a>;</div>
-<div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="structgrpc__metadata__array.html#a5b293b4f8e734b032b80741abf538a97">  406</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__metadata__array.html#a5b293b4f8e734b032b80741abf538a97">capacity</a>;</div>
-<div class="line"><a name="l00407"></a><span class="lineno"><a class="line" href="structgrpc__metadata__array.html#ac930a0cc901913fafcd09ca9cca156fe">  407</a></span>&#160;  <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="l00408"></a><span class="lineno">  408</span>&#160;} <a class="code" href="structgrpc__metadata__array.html">grpc_metadata_array</a>;</div>
+<div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="structgrpc__metadata.html#a133ac4f411ab967565bebce75a0e1b91">  390</a></span>&#160;  uint32_t <a class="code" href="structgrpc__metadata.html#a133ac4f411ab967565bebce75a0e1b91">flags</a>;</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;  <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00396"></a><span class="lineno"><a class="line" href="structgrpc__metadata.html#a737f2161d2ccc9da44f340d923c97658">  396</a></span>&#160;    <span class="keywordtype">void</span> *<a class="code" href="structgrpc__metadata.html#a737f2161d2ccc9da44f340d923c97658">obfuscated</a>[4];</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;  } <a class="code" href="structgrpc__metadata.html#aba09cd6e090d511fe4ade0706f55e006">internal_data</a>;</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;} <a class="code" href="grpc__types_8h.html#a1da84eaead787d991c5a0c87aed7c30b">grpc_metadata</a>;</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;</div>
+<div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87">  401</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87">grpc_completion_type</a> {</div>
+<div class="line"><a name="l00403"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87a503dd1b2ec79457f0f810716016219d5">  403</a></span>&#160;  <a class="code" href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87a503dd1b2ec79457f0f810716016219d5">GRPC_QUEUE_SHUTDOWN</a>,</div>
+<div class="line"><a name="l00405"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87a4339ea61236e103b6555fdf9b6cffab6">  405</a></span>&#160;  <a class="code" href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87a4339ea61236e103b6555fdf9b6cffab6">GRPC_QUEUE_TIMEOUT</a>,</div>
+<div class="line"><a name="l00407"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87a00b42e3d4b6e6493c6e76f1adf07b297">  407</a></span>&#160;  <a class="code" href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87a00b42e3d4b6e6493c6e76f1adf07b297">GRPC_OP_COMPLETE</a></div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;} <a class="code" href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87">grpc_completion_type</a>;</div>
 <div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;</div>
-<div class="line"><a name="l00410"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html">  410</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00411"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html#a86024f71c0534c2e454a73f241691717">  411</a></span>&#160;  <a class="code" href="structgrpc__slice.html">grpc_slice</a> <a class="code" href="structgrpc__call__details.html#a86024f71c0534c2e454a73f241691717">method</a>;</div>
-<div class="line"><a name="l00412"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html#ae241885cfb88a9036b02df6436437caf">  412</a></span>&#160;  <a class="code" href="structgrpc__slice.html">grpc_slice</a> <a class="code" href="structgrpc__call__details.html#ae241885cfb88a9036b02df6436437caf">host</a>;</div>
-<div class="line"><a name="l00413"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html#a6b72caadcf800d975987de18012f0f15">  413</a></span>&#160;  <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="l00414"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html#a8acee25b5bfd2a644e99cfd744fcd077">  414</a></span>&#160;  uint32_t <a class="code" href="structgrpc__call__details.html#a8acee25b5bfd2a644e99cfd744fcd077">flags</a>;</div>
-<div class="line"><a name="l00415"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html#a5c323f3f0c94cbb867f13453dd43dd9d">  415</a></span>&#160;  <span class="keywordtype">void</span> *<a class="code" href="structgrpc__call__details.html#a5c323f3f0c94cbb867f13453dd43dd9d">reserved</a>;</div>
-<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;} <a class="code" href="structgrpc__call__details.html">grpc_call_details</a>;</div>
-<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;</div>
-<div class="line"><a name="l00418"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939a">  418</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
-<div class="line"><a name="l00423"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aaf5bbedf13763c180b2f1ada62769d721">  423</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aaf5bbedf13763c180b2f1ada62769d721">GRPC_OP_SEND_INITIAL_METADATA</a> = 0,</div>
-<div class="line"><a name="l00427"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aaa6447181c20e4c6d64a54fae8082ef70">  427</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aaa6447181c20e4c6d64a54fae8082ef70">GRPC_OP_SEND_MESSAGE</a>,</div>
-<div class="line"><a name="l00433"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aa6c66420562347ff4dcf35e4b32c0d486">  433</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aa6c66420562347ff4dcf35e4b32c0d486">GRPC_OP_SEND_CLOSE_FROM_CLIENT</a>,</div>
-<div class="line"><a name="l00439"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aa3a3659314e7495b1cabed0f3a6705f64">  439</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aa3a3659314e7495b1cabed0f3a6705f64">GRPC_OP_SEND_STATUS_FROM_SERVER</a>,</div>
-<div class="line"><a name="l00444"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aaabe080072d165d1e69459abd7c742078">  444</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aaabe080072d165d1e69459abd7c742078">GRPC_OP_RECV_INITIAL_METADATA</a>,</div>
-<div class="line"><a name="l00448"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aafe3da4c8865af4ef5258b3790d15afc5">  448</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aafe3da4c8865af4ef5258b3790d15afc5">GRPC_OP_RECV_MESSAGE</a>,</div>
-<div class="line"><a name="l00454"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aa4d43b168589407554a58e91fae80ba17">  454</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aa4d43b168589407554a58e91fae80ba17">GRPC_OP_RECV_STATUS_ON_CLIENT</a>,</div>
-<div class="line"><a name="l00460"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aa8fb75ed79601a4845a39a74d7505cef6">  460</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aa8fb75ed79601a4845a39a74d7505cef6">GRPC_OP_RECV_CLOSE_ON_SERVER</a></div>
-<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;} <a class="code" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939a">grpc_op_type</a>;</div>
-<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;</div>
-<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;<span class="keyword">struct </span><a class="code" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a>;</div>
-<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;</div>
-<div class="line"><a name="l00467"></a><span class="lineno"><a class="line" href="structgrpc__op.html">  467</a></span>&#160;<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="l00469"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a702bcecc2462646b6740ed7c05f42115">  469</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939a">grpc_op_type</a> <a class="code" href="structgrpc__op.html#a702bcecc2462646b6740ed7c05f42115">op</a>;</div>
-<div class="line"><a name="l00471"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a5b6e034719e0ac3cd6bcf5efbc7cb019">  471</a></span>&#160;  uint32_t <a class="code" href="structgrpc__op.html#a5b6e034719e0ac3cd6bcf5efbc7cb019">flags</a>;</div>
-<div class="line"><a name="l00473"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a7acd3f623bfe47799259036092b5d29c">  473</a></span>&#160;  <span class="keywordtype">void</span> *<a class="code" href="structgrpc__op.html#a7acd3f623bfe47799259036092b5d29c">reserved</a>;</div>
-<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;  <span class="keyword">union </span>{</div>
-<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;    <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;      <span class="keywordtype">void</span> *<a class="code" href="structgrpc__op.html#a7acd3f623bfe47799259036092b5d29c">reserved</a>[8];</div>
-<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;    } <a class="code" href="structgrpc__op.html#a7acd3f623bfe47799259036092b5d29c">reserved</a>;</div>
-<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;    <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00480"></a><span class="lineno"><a class="line" href="structgrpc__op.html#ac5983d0a5d60c26ca2d1b37d31ba2e2a">  480</a></span>&#160;      <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__op.html#ac5983d0a5d60c26ca2d1b37d31ba2e2a">count</a>;</div>
-<div class="line"><a name="l00481"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a2e0f0c709658960593d5a36915c8d079">  481</a></span>&#160;      <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="l00484"></a><span class="lineno">  484</span>&#160;      <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00485"></a><span class="lineno"><a class="line" href="structgrpc__op.html#aaf3faa71e11b8211bc6f1c25870fb80b">  485</a></span>&#160;        uint8_t <a class="code" href="structgrpc__op.html#aaf3faa71e11b8211bc6f1c25870fb80b">is_set</a>;</div>
-<div class="line"><a name="l00486"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a430343df21e9eabb3ea11faef798eb5a">  486</a></span>&#160;        <a class="code" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7">grpc_compression_level</a> <a class="code" href="structgrpc__op.html#a430343df21e9eabb3ea11faef798eb5a">level</a>;</div>
-<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;      } <a class="code" href="structgrpc__op.html#a0cff15e5af3d9835f0be68887f2bc391">maybe_compression_level</a>;</div>
-<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    } <a class="code" href="structgrpc__op.html#ac2e6c876e65f9adc5f18bc049224386d">send_initial_metadata</a>;</div>
-<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;    <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00490"></a><span class="lineno"><a class="line" href="structgrpc__op.html#ab61740bf5300c35c275e02d9d45a9c7b">  490</a></span>&#160;      <span class="keyword">struct </span><a class="code" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a> *<a class="code" href="structgrpc__op.html#ab61740bf5300c35c275e02d9d45a9c7b">send_message</a>;</div>
-<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    } <a class="code" href="structgrpc__op.html#ab61740bf5300c35c275e02d9d45a9c7b">send_message</a>;</div>
-<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;    <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00493"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a4b9454278c105e08d54142adff37b5ab">  493</a></span>&#160;      <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__op.html#a4b9454278c105e08d54142adff37b5ab">trailing_metadata_count</a>;</div>
-<div class="line"><a name="l00494"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a521b48faec3b3f7646a877055f118d47">  494</a></span>&#160;      <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="l00495"></a><span class="lineno"><a class="line" href="structgrpc__op.html#ae0d5a9db463391c0897914ef2d016b25">  495</a></span>&#160;      <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> <a class="code" href="structgrpc__op.html#ae0d5a9db463391c0897914ef2d016b25">status</a>;</div>
-<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;      <span class="comment">/* optional: set to NULL if no details need sending, non-NULL if they do</span></div>
-<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;<span class="comment">       * pointer will not be retained past the start_batch call</span></div>
-<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;<span class="comment">       */</span></div>
-<div class="line"><a name="l00499"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a8b2173ff9ae109e69441735772dcabfd">  499</a></span>&#160;      <a class="code" href="structgrpc__slice.html">grpc_slice</a> *<a class="code" href="structgrpc__op.html#a8b2173ff9ae109e69441735772dcabfd">status_details</a>;</div>
-<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;    } <a class="code" href="structgrpc__op.html#a94ee6929a571f0d48daecf9972764104">send_status_from_server</a>;</div>
-<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;    <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00507"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a81ebfcab8db61dd485b88cafc51f2749">  507</a></span>&#160;      <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="l00508"></a><span class="lineno">  508</span>&#160;    } <a class="code" href="structgrpc__op.html#a81ebfcab8db61dd485b88cafc51f2749">recv_initial_metadata</a>;</div>
-<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;    <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00513"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a869c863c4d9fca1277fd9c809c0318b2">  513</a></span>&#160;      <span class="keyword">struct </span><a class="code" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a> **<a class="code" href="structgrpc__op.html#a869c863c4d9fca1277fd9c809c0318b2">recv_message</a>;</div>
-<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;    } <a class="code" href="structgrpc__op.html#a869c863c4d9fca1277fd9c809c0318b2">recv_message</a>;</div>
-<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;    <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00522"></a><span class="lineno"><a class="line" href="structgrpc__op.html#abb4d84434a0b74283c8b5d8d6501baf1">  522</a></span>&#160;      <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="l00523"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a70d62415f6768533c2190e53f1c5baf4">  523</a></span>&#160;      <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> *<a class="code" href="structgrpc__op.html#a70d62415f6768533c2190e53f1c5baf4">status</a>;</div>
-<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;      <a class="code" href="structgrpc__slice.html">grpc_slice</a> *<a class="code" href="structgrpc__op.html#a8b2173ff9ae109e69441735772dcabfd">status_details</a>;</div>
-<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;    } <a class="code" href="structgrpc__op.html#a05341389759a9f6a3f24a9fca336a16d">recv_status_on_client</a>;</div>
-<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;    <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00529"></a><span class="lineno"><a class="line" href="structgrpc__op.html#ae5a9717d4a69c46f343381596e223874">  529</a></span>&#160;      <span class="keywordtype">int</span> *<a class="code" href="structgrpc__op.html#ae5a9717d4a69c46f343381596e223874">cancelled</a>;</div>
-<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;    } <a class="code" href="structgrpc__op.html#a94a99fe3a6c33447b417a5dc625d0457">recv_close_on_server</a>;</div>
-<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;  } <a class="code" href="structgrpc__op.html#ae6714d192571c7c0b61a0f951c282cdd">data</a>;</div>
-<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;} <a class="code" href="grpc__types_8h.html#a6556a58ca45ad5132b89c770cf875215">grpc_op</a>;</div>
-<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;</div>
-<div class="line"><a name="l00535"></a><span class="lineno"><a class="line" href="structgrpc__channel__info.html">  535</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;  <span class="comment">/* If non-NULL, will be set to point to a string indicating the LB</span></div>
-<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;<span class="comment">   * policy name.  Caller takes ownership. */</span></div>
-<div class="line"><a name="l00538"></a><span class="lineno"><a class="line" href="structgrpc__channel__info.html#abdd188fe2ff5b9e98a5088b350c3f36d">  538</a></span>&#160;  <span class="keywordtype">char</span> **<a class="code" href="structgrpc__channel__info.html#abdd188fe2ff5b9e98a5088b350c3f36d">lb_policy_name</a>;</div>
-<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;  <span class="comment">/* If non-NULL, will be set to point to a string containing the</span></div>
-<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;<span class="comment">   * service config used by the channel in JSON form. */</span></div>
-<div class="line"><a name="l00541"></a><span class="lineno"><a class="line" href="structgrpc__channel__info.html#a578275f6c9da1610e3bf2f99a89d14ba">  541</a></span>&#160;  <span class="keywordtype">char</span> **<a class="code" href="structgrpc__channel__info.html#a578275f6c9da1610e3bf2f99a89d14ba">service_config_json</a>;</div>
-<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;} <a class="code" href="structgrpc__channel__info.html">grpc_channel_info</a>;</div>
-<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;</div>
-<div class="line"><a name="l00544"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a16d58b8d7c93609d01311b869f4a8d05">  544</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__types_8h.html#a16d58b8d7c93609d01311b869f4a8d05">grpc_resource_quota</a> <a class="code" href="grpc__types_8h.html#a16d58b8d7c93609d01311b869f4a8d05">grpc_resource_quota</a>;</div>
-<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;</div>
-<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;<span class="preprocessor"></span>}</div>
-<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_IMPL_CODEGEN_GRPC_TYPES_H */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba32f125b97007cbdb43534e9d6e0989f8"><div class="ttname"><a href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba32f125b97007cbdb43534e9d6e0989f8">GRPC_CALL_OK</a></div><div class="ttdoc">everything went ok </div><div class="ttdef"><b>Definition:</b> grpc_types.h:293</div></div>
+<div class="line"><a name="l00413"></a><span class="lineno"><a class="line" href="structgrpc__event.html">  413</a></span>&#160;<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="l00415"></a><span class="lineno"><a class="line" href="structgrpc__event.html#a8e7f571b759f55db4f6bebc2a4f56ad7">  415</a></span>&#160;  <a class="code" href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87">grpc_completion_type</a> <a class="code" href="structgrpc__event.html#a8e7f571b759f55db4f6bebc2a4f56ad7">type</a>;</div>
+<div class="line"><a name="l00421"></a><span class="lineno"><a class="line" href="structgrpc__event.html#a99d4215e5df50869af320b1cca5540db">  421</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="structgrpc__event.html#a99d4215e5df50869af320b1cca5540db">success</a>;</div>
+<div class="line"><a name="l00424"></a><span class="lineno"><a class="line" href="structgrpc__event.html#a883ab15e862db582116c72cdcdc4c201">  424</a></span>&#160;  <span class="keywordtype">void</span> *<a class="code" href="structgrpc__event.html#a883ab15e862db582116c72cdcdc4c201">tag</a>;</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;} <a class="code" href="grpc__types_8h.html#a07990645ca218f6965fd83edf3f421b7">grpc_event</a>;</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;</div>
+<div class="line"><a name="l00427"></a><span class="lineno"><a class="line" href="structgrpc__metadata__array.html">  427</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="structgrpc__metadata__array.html#a314ce51b22a5934cc672f3736d44b9e4">  428</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__metadata__array.html#a314ce51b22a5934cc672f3736d44b9e4">count</a>;</div>
+<div class="line"><a name="l00429"></a><span class="lineno"><a class="line" href="structgrpc__metadata__array.html#a5b293b4f8e734b032b80741abf538a97">  429</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__metadata__array.html#a5b293b4f8e734b032b80741abf538a97">capacity</a>;</div>
+<div class="line"><a name="l00430"></a><span class="lineno"><a class="line" href="structgrpc__metadata__array.html#ac930a0cc901913fafcd09ca9cca156fe">  430</a></span>&#160;  <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="l00431"></a><span class="lineno">  431</span>&#160;} <a class="code" href="structgrpc__metadata__array.html">grpc_metadata_array</a>;</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;</div>
+<div class="line"><a name="l00433"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html">  433</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00434"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html#a86024f71c0534c2e454a73f241691717">  434</a></span>&#160;  <a class="code" href="structgrpc__slice.html">grpc_slice</a> <a class="code" href="structgrpc__call__details.html#a86024f71c0534c2e454a73f241691717">method</a>;</div>
+<div class="line"><a name="l00435"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html#ae241885cfb88a9036b02df6436437caf">  435</a></span>&#160;  <a class="code" href="structgrpc__slice.html">grpc_slice</a> <a class="code" href="structgrpc__call__details.html#ae241885cfb88a9036b02df6436437caf">host</a>;</div>
+<div class="line"><a name="l00436"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html#a6b72caadcf800d975987de18012f0f15">  436</a></span>&#160;  <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="l00437"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html#a8acee25b5bfd2a644e99cfd744fcd077">  437</a></span>&#160;  uint32_t <a class="code" href="structgrpc__call__details.html#a8acee25b5bfd2a644e99cfd744fcd077">flags</a>;</div>
+<div class="line"><a name="l00438"></a><span class="lineno"><a class="line" href="structgrpc__call__details.html#a5c323f3f0c94cbb867f13453dd43dd9d">  438</a></span>&#160;  <span class="keywordtype">void</span> *<a class="code" href="structgrpc__call__details.html#a5c323f3f0c94cbb867f13453dd43dd9d">reserved</a>;</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;} <a class="code" href="structgrpc__call__details.html">grpc_call_details</a>;</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;</div>
+<div class="line"><a name="l00441"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939a">  441</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
+<div class="line"><a name="l00446"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aaf5bbedf13763c180b2f1ada62769d721">  446</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aaf5bbedf13763c180b2f1ada62769d721">GRPC_OP_SEND_INITIAL_METADATA</a> = 0,</div>
+<div class="line"><a name="l00450"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aaa6447181c20e4c6d64a54fae8082ef70">  450</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aaa6447181c20e4c6d64a54fae8082ef70">GRPC_OP_SEND_MESSAGE</a>,</div>
+<div class="line"><a name="l00455"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aa6c66420562347ff4dcf35e4b32c0d486">  455</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aa6c66420562347ff4dcf35e4b32c0d486">GRPC_OP_SEND_CLOSE_FROM_CLIENT</a>,</div>
+<div class="line"><a name="l00460"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aa3a3659314e7495b1cabed0f3a6705f64">  460</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aa3a3659314e7495b1cabed0f3a6705f64">GRPC_OP_SEND_STATUS_FROM_SERVER</a>,</div>
+<div class="line"><a name="l00465"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aaabe080072d165d1e69459abd7c742078">  465</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aaabe080072d165d1e69459abd7c742078">GRPC_OP_RECV_INITIAL_METADATA</a>,</div>
+<div class="line"><a name="l00469"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aafe3da4c8865af4ef5258b3790d15afc5">  469</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aafe3da4c8865af4ef5258b3790d15afc5">GRPC_OP_RECV_MESSAGE</a>,</div>
+<div class="line"><a name="l00475"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aa4d43b168589407554a58e91fae80ba17">  475</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aa4d43b168589407554a58e91fae80ba17">GRPC_OP_RECV_STATUS_ON_CLIENT</a>,</div>
+<div class="line"><a name="l00481"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aa8fb75ed79601a4845a39a74d7505cef6">  481</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939aa8fb75ed79601a4845a39a74d7505cef6">GRPC_OP_RECV_CLOSE_ON_SERVER</a></div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;} <a class="code" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939a">grpc_op_type</a>;</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;<span class="keyword">struct </span><a class="code" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a>;</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;</div>
+<div class="line"><a name="l00488"></a><span class="lineno"><a class="line" href="structgrpc__op.html">  488</a></span>&#160;<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="l00490"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a702bcecc2462646b6740ed7c05f42115">  490</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939a">grpc_op_type</a> <a class="code" href="structgrpc__op.html#a702bcecc2462646b6740ed7c05f42115">op</a>;</div>
+<div class="line"><a name="l00492"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a5b6e034719e0ac3cd6bcf5efbc7cb019">  492</a></span>&#160;  uint32_t <a class="code" href="structgrpc__op.html#a5b6e034719e0ac3cd6bcf5efbc7cb019">flags</a>;</div>
+<div class="line"><a name="l00494"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a7acd3f623bfe47799259036092b5d29c">  494</a></span>&#160;  <span class="keywordtype">void</span> *<a class="code" href="structgrpc__op.html#a7acd3f623bfe47799259036092b5d29c">reserved</a>;</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;  <span class="keyword">union </span>{</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;    <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;      <span class="keywordtype">void</span> *<a class="code" href="structgrpc__op.html#a7acd3f623bfe47799259036092b5d29c">reserved</a>[8];</div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;    } <a class="code" href="structgrpc__op.html#a7acd3f623bfe47799259036092b5d29c">reserved</a>;</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;    <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00501"></a><span class="lineno"><a class="line" href="structgrpc__op.html#ac5983d0a5d60c26ca2d1b37d31ba2e2a">  501</a></span>&#160;      <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__op.html#ac5983d0a5d60c26ca2d1b37d31ba2e2a">count</a>;</div>
+<div class="line"><a name="l00502"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a2e0f0c709658960593d5a36915c8d079">  502</a></span>&#160;      <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="l00505"></a><span class="lineno">  505</span>&#160;      <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00506"></a><span class="lineno"><a class="line" href="structgrpc__op.html#aaf3faa71e11b8211bc6f1c25870fb80b">  506</a></span>&#160;        uint8_t <a class="code" href="structgrpc__op.html#aaf3faa71e11b8211bc6f1c25870fb80b">is_set</a>;</div>
+<div class="line"><a name="l00507"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a430343df21e9eabb3ea11faef798eb5a">  507</a></span>&#160;        <a class="code" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7">grpc_compression_level</a> <a class="code" href="structgrpc__op.html#a430343df21e9eabb3ea11faef798eb5a">level</a>;</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;      } <a class="code" href="structgrpc__op.html#a0cff15e5af3d9835f0be68887f2bc391">maybe_compression_level</a>;</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;    } <a class="code" href="structgrpc__op.html#ac2e6c876e65f9adc5f18bc049224386d">send_initial_metadata</a>;</div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;    <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00511"></a><span class="lineno"><a class="line" href="structgrpc__op.html#ab61740bf5300c35c275e02d9d45a9c7b">  511</a></span>&#160;      <span class="keyword">struct </span><a class="code" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a> *<a class="code" href="structgrpc__op.html#ab61740bf5300c35c275e02d9d45a9c7b">send_message</a>;</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;    } <a class="code" href="structgrpc__op.html#ab61740bf5300c35c275e02d9d45a9c7b">send_message</a>;</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;    <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00514"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a4b9454278c105e08d54142adff37b5ab">  514</a></span>&#160;      <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__op.html#a4b9454278c105e08d54142adff37b5ab">trailing_metadata_count</a>;</div>
+<div class="line"><a name="l00515"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a521b48faec3b3f7646a877055f118d47">  515</a></span>&#160;      <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="l00516"></a><span class="lineno"><a class="line" href="structgrpc__op.html#ae0d5a9db463391c0897914ef2d016b25">  516</a></span>&#160;      <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> <a class="code" href="structgrpc__op.html#ae0d5a9db463391c0897914ef2d016b25">status</a>;</div>
+<div class="line"><a name="l00520"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a8b2173ff9ae109e69441735772dcabfd">  520</a></span>&#160;      <a class="code" href="structgrpc__slice.html">grpc_slice</a> *<a class="code" href="structgrpc__op.html#a8b2173ff9ae109e69441735772dcabfd">status_details</a>;</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;    } <a class="code" href="structgrpc__op.html#a94ee6929a571f0d48daecf9972764104">send_status_from_server</a>;</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;    <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00528"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a81ebfcab8db61dd485b88cafc51f2749">  528</a></span>&#160;      <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="l00529"></a><span class="lineno">  529</span>&#160;    } <a class="code" href="structgrpc__op.html#a81ebfcab8db61dd485b88cafc51f2749">recv_initial_metadata</a>;</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;    <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00534"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a869c863c4d9fca1277fd9c809c0318b2">  534</a></span>&#160;      <span class="keyword">struct </span><a class="code" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a> **<a class="code" href="structgrpc__op.html#a869c863c4d9fca1277fd9c809c0318b2">recv_message</a>;</div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;    } <a class="code" href="structgrpc__op.html#a869c863c4d9fca1277fd9c809c0318b2">recv_message</a>;</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;    <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00542"></a><span class="lineno"><a class="line" href="structgrpc__op.html#abb4d84434a0b74283c8b5d8d6501baf1">  542</a></span>&#160;      <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="l00543"></a><span class="lineno"><a class="line" href="structgrpc__op.html#a70d62415f6768533c2190e53f1c5baf4">  543</a></span>&#160;      <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a> *<a class="code" href="structgrpc__op.html#a70d62415f6768533c2190e53f1c5baf4">status</a>;</div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;      <a class="code" href="structgrpc__slice.html">grpc_slice</a> *<a class="code" href="structgrpc__op.html#a8b2173ff9ae109e69441735772dcabfd">status_details</a>;</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;    } <a class="code" href="structgrpc__op.html#a05341389759a9f6a3f24a9fca336a16d">recv_status_on_client</a>;</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;    <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00549"></a><span class="lineno"><a class="line" href="structgrpc__op.html#ae5a9717d4a69c46f343381596e223874">  549</a></span>&#160;      <span class="keywordtype">int</span> *<a class="code" href="structgrpc__op.html#ae5a9717d4a69c46f343381596e223874">cancelled</a>;</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;    } <a class="code" href="structgrpc__op.html#a94a99fe3a6c33447b417a5dc625d0457">recv_close_on_server</a>;</div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;  } <a class="code" href="structgrpc__op.html#ae6714d192571c7c0b61a0f951c282cdd">data</a>;</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;} <a class="code" href="grpc__types_8h.html#a6556a58ca45ad5132b89c770cf875215">grpc_op</a>;</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;</div>
+<div class="line"><a name="l00555"></a><span class="lineno"><a class="line" href="structgrpc__channel__info.html">  555</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00558"></a><span class="lineno"><a class="line" href="structgrpc__channel__info.html#abdd188fe2ff5b9e98a5088b350c3f36d">  558</a></span>&#160;  <span class="keywordtype">char</span> **<a class="code" href="structgrpc__channel__info.html#abdd188fe2ff5b9e98a5088b350c3f36d">lb_policy_name</a>;</div>
+<div class="line"><a name="l00561"></a><span class="lineno"><a class="line" href="structgrpc__channel__info.html#a578275f6c9da1610e3bf2f99a89d14ba">  561</a></span>&#160;  <span class="keywordtype">char</span> **<a class="code" href="structgrpc__channel__info.html#a578275f6c9da1610e3bf2f99a89d14ba">service_config_json</a>;</div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;} <a class="code" href="structgrpc__channel__info.html">grpc_channel_info</a>;</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;</div>
+<div class="line"><a name="l00564"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a16d58b8d7c93609d01311b869f4a8d05">  564</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__types_8h.html#a16d58b8d7c93609d01311b869f4a8d05">grpc_resource_quota</a> <a class="code" href="grpc__types_8h.html#a16d58b8d7c93609d01311b869f4a8d05">grpc_resource_quota</a>;</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;</div>
+<div class="line"><a name="l00575"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343">  575</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
+<div class="line"><a name="l00578"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343afc366f1bf1fc412fafd97557bc0160c8">  578</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343afc366f1bf1fc412fafd97557bc0160c8">GRPC_CQ_DEFAULT_POLLING</a>,</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;</div>
+<div class="line"><a name="l00583"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343aa291aea150282f3a2366437d8fc93b11">  583</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343aa291aea150282f3a2366437d8fc93b11">GRPC_CQ_NON_LISTENING</a>,</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;</div>
+<div class="line"><a name="l00589"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343a30fe3e6720c740094d5295546e9bb849">  589</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343a30fe3e6720c740094d5295546e9bb849">GRPC_CQ_NON_POLLING</a></div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;} <a class="code" href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343">grpc_cq_polling_type</a>;</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;</div>
+<div class="line"><a name="l00593"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a1d6272e15d32381a9ffa027cefd60bf8">  593</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
+<div class="line"><a name="l00595"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a3fccd6237614f711bfc1999438ed2676">  595</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a3fccd6237614f711bfc1999438ed2676">GRPC_CQ_NEXT</a>,</div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;</div>
+<div class="line"><a name="l00598"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a7ddd2051625309ecc657b658c021476a">  598</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a7ddd2051625309ecc657b658c021476a">GRPC_CQ_PLUCK</a></div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;} <a class="code" href="grpc__types_8h.html#a1d6272e15d32381a9ffa027cefd60bf8">grpc_cq_completion_type</a>;</div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;</div>
+<div class="line"><a name="l00601"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a52497b2b6db8035126a8b45467a14d97">  601</a></span>&#160;<span class="preprocessor">#define GRPC_CQ_CURRENT_VERSION 1</span></div>
+<div class="line"><a name="l00602"></a><span class="lineno"><a class="line" href="structgrpc__completion__queue__attributes.html">  602</a></span>&#160;<span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__completion__queue__attributes.html">grpc_completion_queue_attributes</a> {</div>
+<div class="line"><a name="l00605"></a><span class="lineno"><a class="line" href="structgrpc__completion__queue__attributes.html#a77193c57fac60071d907ceda3be64f72">  605</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="structgrpc__completion__queue__attributes.html#a77193c57fac60071d907ceda3be64f72">version</a>; </div>
+<div class="line"><a name="l00607"></a><span class="lineno"><a class="line" href="structgrpc__completion__queue__attributes.html#a088c45a02ce2162ac11979e453939f6e">  607</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a1d6272e15d32381a9ffa027cefd60bf8">grpc_cq_completion_type</a> <a class="code" href="structgrpc__completion__queue__attributes.html#a088c45a02ce2162ac11979e453939f6e">cq_completion_type</a>;</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;</div>
+<div class="line"><a name="l00609"></a><span class="lineno"><a class="line" href="structgrpc__completion__queue__attributes.html#a9cfd2d6b5b395d9d8f8592b994c30575">  609</a></span>&#160;  <a class="code" href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343">grpc_cq_polling_type</a> <a class="code" href="structgrpc__completion__queue__attributes.html#a9cfd2d6b5b395d9d8f8592b994c30575">cq_polling_type</a>;</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;} <a class="code" href="grpc__types_8h.html#a8113e2fd72a5fbb372d691a0c2206422">grpc_completion_queue_attributes</a>;</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;</div>
+<div class="line"><a name="l00613"></a><span class="lineno"><a class="line" href="grpc__types_8h.html#a7598a0f60120f40389e6e264d23b88a6">  613</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="grpc__types_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a> <a class="code" href="grpc__types_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a>;</div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;</div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;<span class="preprocessor"></span>}</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_IMPL_CODEGEN_GRPC_TYPES_H */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba32f125b97007cbdb43534e9d6e0989f8"><div class="ttname"><a href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba32f125b97007cbdb43534e9d6e0989f8">GRPC_CALL_OK</a></div><div class="ttdoc">everything went ok </div><div class="ttdef"><b>Definition:</b> grpc_types.h:313</div></div>
 <div class="ttc" id="structgrpc__op_html_ae6714d192571c7c0b61a0f951c282cdd"><div class="ttname"><a href="structgrpc__op.html#ae6714d192571c7c0b61a0f951c282cdd">grpc_op::data</a></div><div class="ttdeci">union grpc_op::@9 data</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_types.h:401</div></div>
-<div class="ttc" id="grpc__types_8h_html_a122f8f4f0a585396d993d9b55848f222"><div class="ttname"><a href="grpc__types_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_types.h:85</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_types.h:469</div></div>
-<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba1a48e861db610ae8f0b0cba7749251d8"><div class="ttname"><a href="grpc__types_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_types.h:297</div></div>
-<div class="ttc" id="structgrpc__arg_html_ac7a5ce7474a9d144aa42ed39fbe63fb7"><div class="ttname"><a href="structgrpc__arg.html#ac7a5ce7474a9d144aa42ed39fbe63fb7">grpc_arg::vtable</a></div><div class="ttdeci">const grpc_arg_pointer_vtable * vtable</div><div class="ttdef"><b>Definition:</b> grpc_types.h:126</div></div>
-<div class="ttc" id="structgrpc__channel__info_html_abdd188fe2ff5b9e98a5088b350c3f36d"><div class="ttname"><a href="structgrpc__channel__info.html#abdd188fe2ff5b9e98a5088b350c3f36d">grpc_channel_info::lb_policy_name</a></div><div class="ttdeci">char ** lb_policy_name</div><div class="ttdef"><b>Definition:</b> grpc_types.h:538</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="ttdef"><b>Definition:</b> grpc_types.h:507</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_types.h:424</div></div>
+<div class="ttc" id="grpc__types_8h_html_a122f8f4f0a585396d993d9b55848f222"><div class="ttname"><a href="grpc__types_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_types.h:86</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_types.h:490</div></div>
+<div class="ttc" id="grpc__types_8h_html_a6f3d3ec662c2a8ac669c98163d511343a30fe3e6720c740094d5295546e9bb849"><div class="ttname"><a href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343a30fe3e6720c740094d5295546e9bb849">GRPC_CQ_NON_POLLING</a></div><div class="ttdoc">The completion queue will not have an associated pollset. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:589</div></div>
+<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba1a48e861db610ae8f0b0cba7749251d8"><div class="ttname"><a href="grpc__types_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_types.h:317</div></div>
+<div class="ttc" id="structgrpc__arg_html_ac7a5ce7474a9d144aa42ed39fbe63fb7"><div class="ttname"><a href="structgrpc__arg.html#ac7a5ce7474a9d144aa42ed39fbe63fb7">grpc_arg::vtable</a></div><div class="ttdeci">const grpc_arg_pointer_vtable * vtable</div><div class="ttdef"><b>Definition:</b> grpc_types.h:127</div></div>
+<div class="ttc" id="structgrpc__channel__info_html_abdd188fe2ff5b9e98a5088b350c3f36d"><div class="ttname"><a href="structgrpc__channel__info.html#abdd188fe2ff5b9e98a5088b350c3f36d">grpc_channel_info::lb_policy_name</a></div><div class="ttdeci">char ** lb_policy_name</div><div class="ttdoc">If non-NULL, will be set to point to a string indicating the LB policy name. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:558</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="ttdef"><b>Definition:</b> grpc_types.h:528</div></div>
 <div class="ttc" id="grpc__types_8h_html_a6556a58ca45ad5132b89c770cf875215"><div class="ttname"><a href="grpc__types_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="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_types.h:142</div></div>
-<div class="ttc" id="structgrpc__arg__pointer__vtable_html"><div class="ttname"><a href="structgrpc__arg__pointer__vtable.html">grpc_arg_pointer_vtable</a></div><div class="ttdef"><b>Definition:</b> grpc_types.h:100</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_types.h:144</div></div>
-<div class="ttc" id="grpc__types_8h_html_a432bfa6b9f6603643cdf9de8804c254e"><div class="ttname"><a href="grpc__types_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_types.h:77</div></div>
-<div class="ttc" id="grpc__types_8h_html_a41dc9abf9678decbfcef1a037e35939aa6c66420562347ff4dcf35e4b32c0d486"><div class="ttname"><a href="grpc__types_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_types.h:433</div></div>
-<div class="ttc" id="grpc__types_8h_html_a41dc9abf9678decbfcef1a037e35939aa3a3659314e7495b1cabed0f3a6705f64"><div class="ttname"><a href="grpc__types_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_types.h:439</div></div>
-<div class="ttc" id="grpc__types_8h_html_acdc94363b280bde9c82e3d9b5dc3b3e6a1918bbb8502c74288793b58f1786f636"><div class="ttname"><a href="grpc__types_8h.html#acdc94363b280bde9c82e3d9b5dc3b3e6a1918bbb8502c74288793b58f1786f636">GRPC_BB_RAW</a></div><div class="ttdef"><b>Definition:</b> grpc_types.h:51</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_types.h:495</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_types.h:413</div></div>
-<div class="ttc" id="structgrpc__byte__buffer_html_ab551d5a2ca46d9bc3adc8bbc0f816590"><div class="ttname"><a href="structgrpc__byte__buffer.html#ab551d5a2ca46d9bc3adc8bbc0f816590">grpc_byte_buffer::slice_buffer</a></div><div class="ttdeci">grpc_slice_buffer slice_buffer</div><div class="ttdef"><b>Definition:</b> grpc_types.h:64</div></div>
-<div class="ttc" id="structgrpc__metadata_html_a97e0b57621fa9ae74f15e833bece37a6"><div class="ttname"><a href="structgrpc__metadata.html#a97e0b57621fa9ae74f15e833bece37a6">grpc_metadata::key</a></div><div class="ttdeci">grpc_slice key</div><div class="ttdef"><b>Definition:</b> grpc_types.h:367</div></div>
-<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba7e09791915b841c30e9d79c26a5a6454"><div class="ttname"><a href="grpc__types_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_types.h:310</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_types.h:393</div></div>
+<div class="ttc" id="grpc__types_8h_html_a7598a0f60120f40389e6e264d23b88a6"><div class="ttname"><a href="grpc__types_8h.html#a7598a0f60120f40389e6e264d23b88a6">grpc_completion_queue_factory</a></div><div class="ttdeci">struct grpc_completion_queue_factory grpc_completion_queue_factory</div><div class="ttdoc">The completion queue factory structure is opaque to the callers of grpc. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:613</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_types.h:143</div></div>
+<div class="ttc" id="structgrpc__arg__pointer__vtable_html"><div class="ttname"><a href="structgrpc__arg__pointer__vtable.html">grpc_arg_pointer_vtable</a></div><div class="ttdef"><b>Definition:</b> grpc_types.h:101</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_types.h:145</div></div>
+<div class="ttc" id="grpc__types_8h_html_a432bfa6b9f6603643cdf9de8804c254e"><div class="ttname"><a href="grpc__types_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_types.h:78</div></div>
+<div class="ttc" id="grpc__types_8h_html_a41dc9abf9678decbfcef1a037e35939aa6c66420562347ff4dcf35e4b32c0d486"><div class="ttname"><a href="grpc__types_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_types.h:455</div></div>
+<div class="ttc" id="grpc__types_8h_html_a41dc9abf9678decbfcef1a037e35939aa3a3659314e7495b1cabed0f3a6705f64"><div class="ttname"><a href="grpc__types_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_types.h:460</div></div>
+<div class="ttc" id="grpc__types_8h_html_acdc94363b280bde9c82e3d9b5dc3b3e6a1918bbb8502c74288793b58f1786f636"><div class="ttname"><a href="grpc__types_8h.html#acdc94363b280bde9c82e3d9b5dc3b3e6a1918bbb8502c74288793b58f1786f636">GRPC_BB_RAW</a></div><div class="ttdoc">Future types may include GRPC_BB_PROTOBUF, etc. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:52</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_types.h:516</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_types.h:436</div></div>
+<div class="ttc" id="structgrpc__byte__buffer_html_ab551d5a2ca46d9bc3adc8bbc0f816590"><div class="ttname"><a href="structgrpc__byte__buffer.html#ab551d5a2ca46d9bc3adc8bbc0f816590">grpc_byte_buffer::slice_buffer</a></div><div class="ttdeci">grpc_slice_buffer slice_buffer</div><div class="ttdef"><b>Definition:</b> grpc_types.h:65</div></div>
+<div class="ttc" id="structgrpc__metadata_html_a97e0b57621fa9ae74f15e833bece37a6"><div class="ttname"><a href="structgrpc__metadata.html#a97e0b57621fa9ae74f15e833bece37a6">grpc_metadata::key</a></div><div class="ttdeci">grpc_slice key</div><div class="ttdoc">the key, value values are expected to line up with grpc_mdelem: if changing them, update metadata...</div><div class="ttdef"><b>Definition:</b> grpc_types.h:387</div></div>
+<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba7e09791915b841c30e9d79c26a5a6454"><div class="ttname"><a href="grpc__types_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_types.h:330</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_types.h:413</div></div>
 <div class="ttc" id="impl_2codegen_2slice_8h_html"><div class="ttname"><a href="impl_2codegen_2slice_8h.html">slice.h</a></div></div>
-<div class="ttc" id="structgrpc__metadata_html_ac49b42fcfe8ff2a31d371b878ce07ca7"><div class="ttname"><a href="structgrpc__metadata.html#ac49b42fcfe8ff2a31d371b878ce07ca7">grpc_metadata::value</a></div><div class="ttdeci">grpc_slice value</div><div class="ttdef"><b>Definition:</b> grpc_types.h:368</div></div>
-<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785bade52e850722f80804d90881ac125706f"><div class="ttname"><a href="grpc__types_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_types.h:319</div></div>
-<div class="ttc" id="grpc__types_8h_html_ab6454071421a36ebc25952ed448d5b87a4339ea61236e103b6555fdf9b6cffab6"><div class="ttname"><a href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87a4339ea61236e103b6555fdf9b6cffab6">GRPC_QUEUE_TIMEOUT</a></div><div class="ttdoc">No event before timeout. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:385</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_types.h:123</div></div>
-<div class="ttc" id="structgrpc__slice_html"><div class="ttname"><a href="structgrpc__slice.html">grpc_slice</a></div><div class="ttdef"><b>Definition:</b> slice.h:90</div></div>
-<div class="ttc" id="grpc__types_8h_html_a72c4781284bb0c964d281e6e46cf4a90"><div class="ttname"><a href="grpc__types_8h.html#a72c4781284bb0c964d281e6e46cf4a90">grpc_socket_mutator</a></div><div class="ttdeci">struct grpc_socket_mutator grpc_socket_mutator</div><div class="ttdoc">The Socket Mutator interface allows changes on socket options. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:88</div></div>
+<div class="ttc" id="structgrpc__metadata_html_ac49b42fcfe8ff2a31d371b878ce07ca7"><div class="ttname"><a href="structgrpc__metadata.html#ac49b42fcfe8ff2a31d371b878ce07ca7">grpc_metadata::value</a></div><div class="ttdeci">grpc_slice value</div><div class="ttdef"><b>Definition:</b> grpc_types.h:388</div></div>
+<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785bade52e850722f80804d90881ac125706f"><div class="ttname"><a href="grpc__types_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_types.h:339</div></div>
+<div class="ttc" id="grpc__types_8h_html_ab6454071421a36ebc25952ed448d5b87a4339ea61236e103b6555fdf9b6cffab6"><div class="ttname"><a href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87a4339ea61236e103b6555fdf9b6cffab6">GRPC_QUEUE_TIMEOUT</a></div><div class="ttdoc">No event before timeout. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:405</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_types.h:124</div></div>
+<div class="ttc" id="structgrpc__completion__queue__attributes_html_a088c45a02ce2162ac11979e453939f6e"><div class="ttname"><a href="structgrpc__completion__queue__attributes.html#a088c45a02ce2162ac11979e453939f6e">grpc_completion_queue_attributes::cq_completion_type</a></div><div class="ttdeci">grpc_cq_completion_type cq_completion_type</div><div class="ttdoc">Set to GRPC_CQ_CURRENT_VERSION. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:607</div></div>
+<div class="ttc" id="structgrpc__slice_html"><div class="ttname"><a href="structgrpc__slice.html">grpc_slice</a></div><div class="ttdoc">A grpc_slice s, if initialized, represents the byte range s.bytes[0..s.length-1]. ...</div><div class="ttdef"><b>Definition:</b> slice.h:91</div></div>
+<div class="ttc" id="grpc__types_8h_html_a72c4781284bb0c964d281e6e46cf4a90"><div class="ttname"><a href="grpc__types_8h.html#a72c4781284bb0c964d281e6e46cf4a90">grpc_socket_mutator</a></div><div class="ttdeci">struct grpc_socket_mutator grpc_socket_mutator</div><div class="ttdoc">The Socket Mutator interface allows changes on socket options. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:89</div></div>
 <div class="ttc" id="grpc__types_8h_html_a8499b89a510e8a3d4e76e011776a1548"><div class="ttname"><a href="grpc__types_8h.html#a8499b89a510e8a3d4e76e011776a1548">grpc_arg_pointer_vtable</a></div><div class="ttdeci">struct grpc_arg_pointer_vtable grpc_arg_pointer_vtable</div></div>
 <div class="ttc" id="impl_2codegen_2status_8h_html"><div class="ttname"><a href="impl_2codegen_2status_8h.html">status.h</a></div></div>
-<div class="ttc" id="grpc__types_8h_html_a41dc9abf9678decbfcef1a037e35939aaa6447181c20e4c6d64a54fae8082ef70"><div class="ttname"><a href="grpc__types_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_types.h:427</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_types.h:122</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_types.h:398</div></div>
-<div class="ttc" id="structgrpc__byte__buffer_html_a1fc968604a3dcb4a0f34554be528bba2"><div class="ttname"><a href="structgrpc__byte__buffer.html#a1fc968604a3dcb4a0f34554be528bba2">grpc_byte_buffer::reserved</a></div><div class="ttdeci">void * reserved</div><div class="ttdef"><b>Definition:</b> grpc_types.h:56</div></div>
-<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba042165aa26653c844a846d188f722857"><div class="ttname"><a href="grpc__types_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_types.h:303</div></div>
-<div class="ttc" id="grpc__types_8h_html_a2bbbaad8f7a806f6c834b68c5dd916d8"><div class="ttname"><a href="grpc__types_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_types.h:80</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_types.h:480</div></div>
-<div class="ttc" id="structgrpc__byte__buffer_html_aa7357d67e401d5bc9d10d8fed008dec8"><div class="ttname"><a href="structgrpc__byte__buffer.html#aa7357d67e401d5bc9d10d8fed008dec8">grpc_byte_buffer::type</a></div><div class="ttdeci">grpc_byte_buffer_type type</div><div class="ttdef"><b>Definition:</b> grpc_types.h:57</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_types.h:118</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_types.h:410</div></div>
-<div class="ttc" id="structgrpc__op_html_aaf3faa71e11b8211bc6f1c25870fb80b"><div class="ttname"><a href="structgrpc__op.html#aaf3faa71e11b8211bc6f1c25870fb80b">grpc_op::is_set</a></div><div class="ttdeci">uint8_t is_set</div><div class="ttdef"><b>Definition:</b> grpc_types.h:485</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> grpc_types.h:55</div></div>
-<div class="ttc" id="structgrpc__op_html_a430343df21e9eabb3ea11faef798eb5a"><div class="ttname"><a href="structgrpc__op.html#a430343df21e9eabb3ea11faef798eb5a">grpc_op::level</a></div><div class="ttdeci">grpc_compression_level level</div><div class="ttdef"><b>Definition:</b> grpc_types.h:486</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_types.h:404</div></div>
-<div class="ttc" id="compression__types_8h_html_a14a79ed6b5ebd7e1dda7c2684f499cc7"><div class="ttname"><a href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7">grpc_compression_level</a></div><div class="ttdeci">grpc_compression_level</div><div class="ttdoc">Compression levels allow a party with knowledge of its peer&#39;s accepted encodings to request compressi...</div><div class="ttdef"><b>Definition:</b> compression_types.h:84</div></div>
-<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba7dfc7fe11288dd7a30a8f07b890c9c5b"><div class="ttname"><a href="grpc__types_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_types.h:316</div></div>
-<div class="ttc" id="structgrpc__slice__buffer_html"><div class="ttname"><a href="structgrpc__slice__buffer.html">grpc_slice_buffer</a></div><div class="ttdef"><b>Definition:</b> slice.h:108</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_types.h:125</div></div>
-<div class="ttc" id="grpc__types_8h_html_a0b06eae05e70404aedbceaebce6de593"><div class="ttname"><a href="grpc__types_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_types.h:94</div></div>
-<div class="ttc" id="structgrpc__call__details_html_a8acee25b5bfd2a644e99cfd744fcd077"><div class="ttname"><a href="structgrpc__call__details.html#a8acee25b5bfd2a644e99cfd744fcd077">grpc_call_details::flags</a></div><div class="ttdeci">uint32_t flags</div><div class="ttdef"><b>Definition:</b> grpc_types.h:414</div></div>
-<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785b"><div class="ttname"><a href="grpc__types_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_types.h:291</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_types.h:523</div></div>
-<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba86e7b6bf1fe5dec17fc08ba2f77d1b41"><div class="ttname"><a href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba86e7b6bf1fe5dec17fc08ba2f77d1b41">GRPC_CALL_ERROR</a></div><div class="ttdoc">something failed, we don&#39;t know what </div><div class="ttdef"><b>Definition:</b> grpc_types.h:295</div></div>
+<div class="ttc" id="grpc__types_8h_html_a41dc9abf9678decbfcef1a037e35939aaa6447181c20e4c6d64a54fae8082ef70"><div class="ttname"><a href="grpc__types_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_types.h:450</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_types.h:123</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">If the grpc_completion_type is GRPC_OP_COMPLETE, this field indicates whether the operation was succe...</div><div class="ttdef"><b>Definition:</b> grpc_types.h:421</div></div>
+<div class="ttc" id="structgrpc__byte__buffer_html_a1fc968604a3dcb4a0f34554be528bba2"><div class="ttname"><a href="structgrpc__byte__buffer.html#a1fc968604a3dcb4a0f34554be528bba2">grpc_byte_buffer::reserved</a></div><div class="ttdeci">void * reserved</div><div class="ttdef"><b>Definition:</b> grpc_types.h:57</div></div>
+<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba042165aa26653c844a846d188f722857"><div class="ttname"><a href="grpc__types_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_types.h:323</div></div>
+<div class="ttc" id="grpc__types_8h_html_a2bbbaad8f7a806f6c834b68c5dd916d8"><div class="ttname"><a href="grpc__types_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_types.h:81</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_types.h:501</div></div>
+<div class="ttc" id="structgrpc__byte__buffer_html_aa7357d67e401d5bc9d10d8fed008dec8"><div class="ttname"><a href="structgrpc__byte__buffer.html#aa7357d67e401d5bc9d10d8fed008dec8">grpc_byte_buffer::type</a></div><div class="ttdeci">grpc_byte_buffer_type type</div><div class="ttdef"><b>Definition:</b> grpc_types.h:58</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_types.h:119</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_types.h:433</div></div>
+<div class="ttc" id="structgrpc__op_html_aaf3faa71e11b8211bc6f1c25870fb80b"><div class="ttname"><a href="structgrpc__op.html#aaf3faa71e11b8211bc6f1c25870fb80b">grpc_op::is_set</a></div><div class="ttdeci">uint8_t is_set</div><div class="ttdef"><b>Definition:</b> grpc_types.h:506</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> grpc_types.h:56</div></div>
+<div class="ttc" id="grpc__types_8h_html_a1d6272e15d32381a9ffa027cefd60bf8a3fccd6237614f711bfc1999438ed2676"><div class="ttname"><a href="grpc__types_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a3fccd6237614f711bfc1999438ed2676">GRPC_CQ_NEXT</a></div><div class="ttdoc">Events are popped out by calling grpc_completion_queue_next() API ONLY. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:595</div></div>
+<div class="ttc" id="structgrpc__op_html_a430343df21e9eabb3ea11faef798eb5a"><div class="ttname"><a href="structgrpc__op.html#a430343df21e9eabb3ea11faef798eb5a">grpc_op::level</a></div><div class="ttdeci">grpc_compression_level level</div><div class="ttdef"><b>Definition:</b> grpc_types.h:507</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_types.h:427</div></div>
+<div class="ttc" id="compression__types_8h_html_a14a79ed6b5ebd7e1dda7c2684f499cc7"><div class="ttname"><a href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7">grpc_compression_level</a></div><div class="ttdeci">grpc_compression_level</div><div class="ttdoc">Compression levels allow a party with knowledge of its peer&#39;s accepted encodings to request compressi...</div><div class="ttdef"><b>Definition:</b> compression_types.h:83</div></div>
+<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba7dfc7fe11288dd7a30a8f07b890c9c5b"><div class="ttname"><a href="grpc__types_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_types.h:336</div></div>
+<div class="ttc" id="structgrpc__slice__buffer_html"><div class="ttname"><a href="structgrpc__slice__buffer.html">grpc_slice_buffer</a></div><div class="ttdoc">Represents an expandable array of slices, to be interpreted as a single item. </div><div class="ttdef"><b>Definition:</b> slice.h:109</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_types.h:126</div></div>
+<div class="ttc" id="grpc__types_8h_html_a0b06eae05e70404aedbceaebce6de593"><div class="ttname"><a href="grpc__types_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_types.h:95</div></div>
+<div class="ttc" id="structgrpc__completion__queue__attributes_html"><div class="ttname"><a href="structgrpc__completion__queue__attributes.html">grpc_completion_queue_attributes</a></div><div class="ttdef"><b>Definition:</b> grpc_types.h:602</div></div>
+<div class="ttc" id="structgrpc__call__details_html_a8acee25b5bfd2a644e99cfd744fcd077"><div class="ttname"><a href="structgrpc__call__details.html#a8acee25b5bfd2a644e99cfd744fcd077">grpc_call_details::flags</a></div><div class="ttdeci">uint32_t flags</div><div class="ttdef"><b>Definition:</b> grpc_types.h:437</div></div>
+<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785b"><div class="ttname"><a href="grpc__types_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_types.h:311</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_types.h:543</div></div>
+<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba86e7b6bf1fe5dec17fc08ba2f77d1b41"><div class="ttname"><a href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba86e7b6bf1fe5dec17fc08ba2f77d1b41">GRPC_CALL_ERROR</a></div><div class="ttdoc">something failed, we don&#39;t know what </div><div class="ttdef"><b>Definition:</b> grpc_types.h:315</div></div>
 <div class="ttc" id="structgrpc__op_html_a94ee6929a571f0d48daecf9972764104"><div class="ttname"><a href="structgrpc__op.html#a94ee6929a571f0d48daecf9972764104">grpc_op::send_status_from_server</a></div><div class="ttdeci">struct grpc_op::@9::@13 send_status_from_server</div></div>
 <div class="ttc" id="structgrpc__op_html_ac2e6c876e65f9adc5f18bc049224386d"><div class="ttname"><a href="structgrpc__op.html#ac2e6c876e65f9adc5f18bc049224386d">grpc_op::send_initial_metadata</a></div><div class="ttdeci">struct grpc_op::@9::@11 send_initial_metadata</div></div>
-<div class="ttc" id="structgrpc__arg__pointer__vtable_html_a1037c7866bb3f070f4689b4a8ad04c09"><div class="ttname"><a href="structgrpc__arg__pointer__vtable.html#a1037c7866bb3f070f4689b4a8ad04c09">grpc_arg_pointer_vtable::cmp</a></div><div class="ttdeci">int(* cmp)(void *p, void *q)</div><div class="ttdef"><b>Definition:</b> grpc_types.h:103</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_types.h:407</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_types.h:494</div></div>
-<div class="ttc" id="grpc__types_8h_html_ab6454071421a36ebc25952ed448d5b87a503dd1b2ec79457f0f810716016219d5"><div class="ttname"><a href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87a503dd1b2ec79457f0f810716016219d5">GRPC_QUEUE_SHUTDOWN</a></div><div class="ttdoc">Shutting down. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:383</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_types.h:406</div></div>
-<div class="ttc" id="structgrpc__op_html_ab61740bf5300c35c275e02d9d45a9c7b"><div class="ttname"><a href="structgrpc__op.html#ab61740bf5300c35c275e02d9d45a9c7b">grpc_op::send_message</a></div><div class="ttdeci">struct grpc_byte_buffer * send_message</div><div class="ttdef"><b>Definition:</b> grpc_types.h:490</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_types.h:376</div></div>
-<div class="ttc" id="structgrpc__op_html_a869c863c4d9fca1277fd9c809c0318b2"><div class="ttname"><a href="structgrpc__op.html#a869c863c4d9fca1277fd9c809c0318b2">grpc_op::recv_message</a></div><div class="ttdeci">struct grpc_byte_buffer ** recv_message</div><div class="ttdef"><b>Definition:</b> grpc_types.h:513</div></div>
-<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba2f6f332e63eb94df8abedfddb96ae63a"><div class="ttname"><a href="grpc__types_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_types.h:301</div></div>
-<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba6113860606450e3a3fa40ddf46749296"><div class="ttname"><a href="grpc__types_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_types.h:305</div></div>
-<div class="ttc" id="grpc__types_8h_html_ab6454071421a36ebc25952ed448d5b87"><div class="ttname"><a href="grpc__types_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_types.h:381</div></div>
-<div class="ttc" id="structgrpc__call__details_html_a86024f71c0534c2e454a73f241691717"><div class="ttname"><a href="structgrpc__call__details.html#a86024f71c0534c2e454a73f241691717">grpc_call_details::method</a></div><div class="ttdeci">grpc_slice method</div><div class="ttdef"><b>Definition:</b> grpc_types.h:411</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_types.h:364</div></div>
-<div class="ttc" id="compression__types_8h_html_ab9de0f68bfb1ef8ed09bd00643db14c9"><div class="ttname"><a href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">grpc_compression_algorithm</a></div><div class="ttdeci">grpc_compression_algorithm</div><div class="ttdef"><b>Definition:</b> compression_types.h:72</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_types.h:467</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_types.h:415</div></div>
-<div class="ttc" id="grpc__types_8h_html_a41dc9abf9678decbfcef1a037e35939aaabe080072d165d1e69459abd7c742078"><div class="ttname"><a href="grpc__types_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_types.h:444</div></div>
+<div class="ttc" id="structgrpc__arg__pointer__vtable_html_a1037c7866bb3f070f4689b4a8ad04c09"><div class="ttname"><a href="structgrpc__arg__pointer__vtable.html#a1037c7866bb3f070f4689b4a8ad04c09">grpc_arg_pointer_vtable::cmp</a></div><div class="ttdeci">int(* cmp)(void *p, void *q)</div><div class="ttdef"><b>Definition:</b> grpc_types.h:104</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_types.h:430</div></div>
+<div class="ttc" id="grpc__types_8h_html_a1d6272e15d32381a9ffa027cefd60bf8"><div class="ttname"><a href="grpc__types_8h.html#a1d6272e15d32381a9ffa027cefd60bf8">grpc_cq_completion_type</a></div><div class="ttdeci">grpc_cq_completion_type</div><div class="ttdoc">Specifies the type of APIs to use to pop events from the completion queue. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:593</div></div>
+<div class="ttc" id="grpc__types_8h_html_a6f3d3ec662c2a8ac669c98163d511343"><div class="ttname"><a href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343">grpc_cq_polling_type</a></div><div class="ttdeci">grpc_cq_polling_type</div><div class="ttdoc">Completion queues internally MAY maintain a set of file descriptors in a structure called &#39;pollset&#39;...</div><div class="ttdef"><b>Definition:</b> grpc_types.h:575</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_types.h:515</div></div>
+<div class="ttc" id="grpc__types_8h_html_ab6454071421a36ebc25952ed448d5b87a503dd1b2ec79457f0f810716016219d5"><div class="ttname"><a href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87a503dd1b2ec79457f0f810716016219d5">GRPC_QUEUE_SHUTDOWN</a></div><div class="ttdoc">Shutting down. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:403</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_types.h:429</div></div>
+<div class="ttc" id="structgrpc__op_html_ab61740bf5300c35c275e02d9d45a9c7b"><div class="ttname"><a href="structgrpc__op.html#ab61740bf5300c35c275e02d9d45a9c7b">grpc_op::send_message</a></div><div class="ttdeci">struct grpc_byte_buffer * send_message</div><div class="ttdef"><b>Definition:</b> grpc_types.h:511</div></div>
+<div class="ttc" id="grpc__types_8h_html_a1d6272e15d32381a9ffa027cefd60bf8a7ddd2051625309ecc657b658c021476a"><div class="ttname"><a href="grpc__types_8h.html#a1d6272e15d32381a9ffa027cefd60bf8a7ddd2051625309ecc657b658c021476a">GRPC_CQ_PLUCK</a></div><div class="ttdoc">Events are popped out by calling grpc_completion_queue_pluck() API ONLY. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:598</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_types.h:396</div></div>
+<div class="ttc" id="structgrpc__op_html_a869c863c4d9fca1277fd9c809c0318b2"><div class="ttname"><a href="structgrpc__op.html#a869c863c4d9fca1277fd9c809c0318b2">grpc_op::recv_message</a></div><div class="ttdeci">struct grpc_byte_buffer ** recv_message</div><div class="ttdef"><b>Definition:</b> grpc_types.h:534</div></div>
+<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba2f6f332e63eb94df8abedfddb96ae63a"><div class="ttname"><a href="grpc__types_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_types.h:321</div></div>
+<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba6113860606450e3a3fa40ddf46749296"><div class="ttname"><a href="grpc__types_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_types.h:325</div></div>
+<div class="ttc" id="grpc__types_8h_html_ab6454071421a36ebc25952ed448d5b87"><div class="ttname"><a href="grpc__types_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_types.h:401</div></div>
+<div class="ttc" id="structgrpc__call__details_html_a86024f71c0534c2e454a73f241691717"><div class="ttname"><a href="structgrpc__call__details.html#a86024f71c0534c2e454a73f241691717">grpc_call_details::method</a></div><div class="ttdeci">grpc_slice method</div><div class="ttdef"><b>Definition:</b> grpc_types.h:434</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_types.h:384</div></div>
+<div class="ttc" id="compression__types_8h_html_ab9de0f68bfb1ef8ed09bd00643db14c9"><div class="ttname"><a href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">grpc_compression_algorithm</a></div><div class="ttdeci">grpc_compression_algorithm</div><div class="ttdoc">The various compression algorithms supported by gRPC. </div><div class="ttdef"><b>Definition:</b> compression_types.h:71</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_types.h:488</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_types.h:438</div></div>
+<div class="ttc" id="grpc__types_8h_html_a41dc9abf9678decbfcef1a037e35939aaabe080072d165d1e69459abd7c742078"><div class="ttname"><a href="grpc__types_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_types.h:465</div></div>
 <div class="ttc" id="structgrpc__op_html_a05341389759a9f6a3f24a9fca336a16d"><div class="ttname"><a href="structgrpc__op.html#a05341389759a9f6a3f24a9fca336a16d">grpc_op::recv_status_on_client</a></div><div class="ttdeci">struct grpc_op::@9::@16 recv_status_on_client</div></div>
-<div class="ttc" id="grpc__types_8h_html_a41dc9abf9678decbfcef1a037e35939aa8fb75ed79601a4845a39a74d7505cef6"><div class="ttname"><a href="grpc__types_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_types.h:460</div></div>
-<div class="ttc" id="structgrpc__byte__buffer_html_a3663648016e1076b82c5e731dc5b2399"><div class="ttname"><a href="structgrpc__byte__buffer.html#a3663648016e1076b82c5e731dc5b2399">grpc_byte_buffer::compression</a></div><div class="ttdeci">grpc_compression_algorithm compression</div><div class="ttdef"><b>Definition:</b> grpc_types.h:63</div></div>
-<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba21256301a6038a6a03fc8444ddd08c63"><div class="ttname"><a href="grpc__types_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_types.h:308</div></div>
-<div class="ttc" id="grpc__types_8h_html_a09ce3d7fa6473ac1cb39692adf257a13"><div class="ttname"><a href="grpc__types_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_types.h:74</div></div>
+<div class="ttc" id="grpc__types_8h_html_a41dc9abf9678decbfcef1a037e35939aa8fb75ed79601a4845a39a74d7505cef6"><div class="ttname"><a href="grpc__types_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_types.h:481</div></div>
+<div class="ttc" id="structgrpc__byte__buffer_html_a3663648016e1076b82c5e731dc5b2399"><div class="ttname"><a href="structgrpc__byte__buffer.html#a3663648016e1076b82c5e731dc5b2399">grpc_byte_buffer::compression</a></div><div class="ttdeci">grpc_compression_algorithm compression</div><div class="ttdef"><b>Definition:</b> grpc_types.h:64</div></div>
+<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba21256301a6038a6a03fc8444ddd08c63"><div class="ttname"><a href="grpc__types_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_types.h:328</div></div>
+<div class="ttc" id="grpc__types_8h_html_a09ce3d7fa6473ac1cb39692adf257a13"><div class="ttname"><a href="grpc__types_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_types.h:75</div></div>
 <div class="ttc" id="exec__ctx__fwd_8h_html_aabc6a414771ff6697446fc9d5d708057"><div class="ttname"><a href="exec__ctx__fwd_8h.html#aabc6a414771ff6697446fc9d5d708057">grpc_exec_ctx</a></div><div class="ttdeci">struct grpc_exec_ctx grpc_exec_ctx</div><div class="ttdef"><b>Definition:</b> exec_ctx_fwd.h:39</div></div>
-<div class="ttc" id="grpc__types_8h_html_a41dc9abf9678decbfcef1a037e35939aaf5bbedf13763c180b2f1ada62769d721"><div class="ttname"><a href="grpc__types_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_types.h:423</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_types.h:493</div></div>
-<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785bae915786320e24eff4f1e05852d40f861"><div class="ttname"><a href="grpc__types_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_types.h:312</div></div>
+<div class="ttc" id="grpc__types_8h_html_a6f3d3ec662c2a8ac669c98163d511343afc366f1bf1fc412fafd97557bc0160c8"><div class="ttname"><a href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343afc366f1bf1fc412fafd97557bc0160c8">GRPC_CQ_DEFAULT_POLLING</a></div><div class="ttdoc">The completion queue will have an associated pollset and there is no restriction on the type of file ...</div><div class="ttdef"><b>Definition:</b> grpc_types.h:578</div></div>
+<div class="ttc" id="grpc__types_8h_html_a6f3d3ec662c2a8ac669c98163d511343aa291aea150282f3a2366437d8fc93b11"><div class="ttname"><a href="grpc__types_8h.html#a6f3d3ec662c2a8ac669c98163d511343aa291aea150282f3a2366437d8fc93b11">GRPC_CQ_NON_LISTENING</a></div><div class="ttdoc">Similar to GRPC_CQ_DEFAULT_POLLING except that the completion queues will not contain any &#39;listening ...</div><div class="ttdef"><b>Definition:</b> grpc_types.h:583</div></div>
+<div class="ttc" id="grpc__types_8h_html_a41dc9abf9678decbfcef1a037e35939aaf5bbedf13763c180b2f1ada62769d721"><div class="ttname"><a href="grpc__types_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_types.h:446</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_types.h:514</div></div>
+<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785bae915786320e24eff4f1e05852d40f861"><div class="ttname"><a href="grpc__types_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_types.h:332</div></div>
 <div class="ttc" id="structgrpc__op_html_a0cff15e5af3d9835f0be68887f2bc391"><div class="ttname"><a href="structgrpc__op.html#a0cff15e5af3d9835f0be68887f2bc391">grpc_op::maybe_compression_level</a></div><div class="ttdeci">struct grpc_op::@9::@11::@18 maybe_compression_level</div><div class="ttdoc">If is_set, compression_level will be used for the call. </div></div>
-<div class="ttc" id="grpc__types_8h_html_acdc94363b280bde9c82e3d9b5dc3b3e6"><div class="ttname"><a href="grpc__types_8h.html#acdc94363b280bde9c82e3d9b5dc3b3e6">grpc_byte_buffer_type</a></div><div class="ttdeci">grpc_byte_buffer_type</div><div class="ttdef"><b>Definition:</b> grpc_types.h:50</div></div>
-<div class="ttc" id="structgrpc__op_html_a8b2173ff9ae109e69441735772dcabfd"><div class="ttname"><a href="structgrpc__op.html#a8b2173ff9ae109e69441735772dcabfd">grpc_op::status_details</a></div><div class="ttdeci">grpc_slice * status_details</div><div class="ttdef"><b>Definition:</b> grpc_types.h:499</div></div>
-<div class="ttc" id="grpc__types_8h_html_a6bb7fdad6ac88edb9468eb46c801ddb0"><div class="ttname"><a href="grpc__types_8h.html#a6bb7fdad6ac88edb9468eb46c801ddb0">grpc_socket_factory</a></div><div class="ttdeci">struct grpc_socket_factory grpc_socket_factory</div><div class="ttdoc">The Socket Factory interface creates and binds sockets. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:91</div></div>
+<div class="ttc" id="grpc__types_8h_html_acdc94363b280bde9c82e3d9b5dc3b3e6"><div class="ttname"><a href="grpc__types_8h.html#acdc94363b280bde9c82e3d9b5dc3b3e6">grpc_byte_buffer_type</a></div><div class="ttdeci">grpc_byte_buffer_type</div><div class="ttdef"><b>Definition:</b> grpc_types.h:51</div></div>
+<div class="ttc" id="structgrpc__op_html_a8b2173ff9ae109e69441735772dcabfd"><div class="ttname"><a href="structgrpc__op.html#a8b2173ff9ae109e69441735772dcabfd">grpc_op::status_details</a></div><div class="ttdeci">grpc_slice * status_details</div><div class="ttdoc">optional: set to NULL if no details need sending, non-NULL if they do pointer will not be retained pa...</div><div class="ttdef"><b>Definition:</b> grpc_types.h:520</div></div>
+<div class="ttc" id="grpc__types_8h_html_a6bb7fdad6ac88edb9468eb46c801ddb0"><div class="ttname"><a href="grpc__types_8h.html#a6bb7fdad6ac88edb9468eb46c801ddb0">grpc_socket_factory</a></div><div class="ttdeci">struct grpc_socket_factory grpc_socket_factory</div><div class="ttdoc">The Socket Factory interface creates and binds sockets. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:92</div></div>
 <div class="ttc" id="grpc__types_8h_html_acf22f6b5ce464dd73df59c9c49f8871c"><div class="ttname"><a href="grpc__types_8h.html#acf22f6b5ce464dd73df59c9c49f8871c">grpc_byte_buffer</a></div><div class="ttdeci">struct grpc_byte_buffer grpc_byte_buffer</div></div>
-<div class="ttc" id="structgrpc__call__details_html_ae241885cfb88a9036b02df6436437caf"><div class="ttname"><a href="structgrpc__call__details.html#ae241885cfb88a9036b02df6436437caf">grpc_call_details::host</a></div><div class="ttdeci">grpc_slice host</div><div class="ttdef"><b>Definition:</b> grpc_types.h:412</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_types.h:143</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_types.h:405</div></div>
+<div class="ttc" id="structgrpc__call__details_html_ae241885cfb88a9036b02df6436437caf"><div class="ttname"><a href="structgrpc__call__details.html#ae241885cfb88a9036b02df6436437caf">grpc_call_details::host</a></div><div class="ttdeci">grpc_slice host</div><div class="ttdef"><b>Definition:</b> grpc_types.h:435</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_types.h:144</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_types.h:428</div></div>
 <div class="ttc" id="structgrpc__metadata_html_aba09cd6e090d511fe4ade0706f55e006"><div class="ttname"><a href="structgrpc__metadata.html#aba09cd6e090d511fe4ade0706f55e006">grpc_metadata::internal_data</a></div><div class="ttdeci">struct grpc_metadata::@8 internal_data</div><div class="ttdoc">The following fields are reserved for grpc internal use. </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_types.h:120</div></div>
-<div class="ttc" id="grpc__types_8h_html_a0b06eae05e70404aedbceaebce6de593a02a823a7037e2a60b9d9a031fd42591b"><div class="ttname"><a href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593a02a823a7037e2a60b9d9a031fd42591b">GRPC_ARG_POINTER</a></div><div class="ttdef"><b>Definition:</b> grpc_types.h:97</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_types.h:121</div></div>
+<div class="ttc" id="grpc__types_8h_html_a0b06eae05e70404aedbceaebce6de593a02a823a7037e2a60b9d9a031fd42591b"><div class="ttname"><a href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593a02a823a7037e2a60b9d9a031fd42591b">GRPC_ARG_POINTER</a></div><div class="ttdef"><b>Definition:</b> grpc_types.h:98</div></div>
 <div class="ttc" id="grpc__types_8h_html_a07990645ca218f6965fd83edf3f421b7"><div class="ttname"><a href="grpc__types_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="structgrpc__channel__info_html"><div class="ttname"><a href="structgrpc__channel__info.html">grpc_channel_info</a></div><div class="ttdoc">Information requested from the channel. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:535</div></div>
-<div class="ttc" id="structgrpc__metadata_html_a133ac4f411ab967565bebce75a0e1b91"><div class="ttname"><a href="structgrpc__metadata.html#a133ac4f411ab967565bebce75a0e1b91">grpc_metadata::flags</a></div><div class="ttdeci">uint32_t flags</div><div class="ttdef"><b>Definition:</b> grpc_types.h:370</div></div>
-<div class="ttc" id="grpc__types_8h_html_a16d58b8d7c93609d01311b869f4a8d05"><div class="ttname"><a href="grpc__types_8h.html#a16d58b8d7c93609d01311b869f4a8d05">grpc_resource_quota</a></div><div class="ttdeci">struct grpc_resource_quota grpc_resource_quota</div><div class="ttdef"><b>Definition:</b> grpc_types.h:544</div></div>
-<div class="ttc" id="grpc__types_8h_html_a41dc9abf9678decbfcef1a037e35939aa4d43b168589407554a58e91fae80ba17"><div class="ttname"><a href="grpc__types_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_types.h:454</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> gpr_types.h:63</div></div>
+<div class="ttc" id="structgrpc__channel__info_html"><div class="ttname"><a href="structgrpc__channel__info.html">grpc_channel_info</a></div><div class="ttdoc">Information requested from the channel. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:555</div></div>
+<div class="ttc" id="structgrpc__metadata_html_a133ac4f411ab967565bebce75a0e1b91"><div class="ttname"><a href="structgrpc__metadata.html#a133ac4f411ab967565bebce75a0e1b91">grpc_metadata::flags</a></div><div class="ttdeci">uint32_t flags</div><div class="ttdef"><b>Definition:</b> grpc_types.h:390</div></div>
+<div class="ttc" id="grpc__types_8h_html_a16d58b8d7c93609d01311b869f4a8d05"><div class="ttname"><a href="grpc__types_8h.html#a16d58b8d7c93609d01311b869f4a8d05">grpc_resource_quota</a></div><div class="ttdeci">struct grpc_resource_quota grpc_resource_quota</div><div class="ttdef"><b>Definition:</b> grpc_types.h:564</div></div>
+<div class="ttc" id="grpc__types_8h_html_a41dc9abf9678decbfcef1a037e35939aa4d43b168589407554a58e91fae80ba17"><div class="ttname"><a href="grpc__types_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_types.h:475</div></div>
+<div class="ttc" id="structgpr__timespec_html"><div class="ttname"><a href="structgpr__timespec.html">gpr_timespec</a></div><div class="ttdoc">Analogous to struct timespec. </div><div class="ttdef"><b>Definition:</b> gpr_types.h:62</div></div>
 <div class="ttc" id="structgrpc__byte__buffer_html_a3234eae3c2d68f4ccec7f658dba785f2"><div class="ttname"><a href="structgrpc__byte__buffer.html#a3234eae3c2d68f4ccec7f658dba785f2">grpc_byte_buffer::data</a></div><div class="ttdeci">union grpc_byte_buffer::@3 data</div></div>
 <div class="ttc" id="compression__types_8h_html"><div class="ttname"><a href="compression__types_8h.html">compression_types.h</a></div></div>
+<div class="ttc" id="grpc__types_8h_html_a8113e2fd72a5fbb372d691a0c2206422"><div class="ttname"><a href="grpc__types_8h.html#a8113e2fd72a5fbb372d691a0c2206422">grpc_completion_queue_attributes</a></div><div class="ttdeci">struct grpc_completion_queue_attributes grpc_completion_queue_attributes</div></div>
 <div class="ttc" id="structgrpc__byte__buffer_html_ab2846baf41ef4510a04a61db141bc597"><div class="ttname"><a href="structgrpc__byte__buffer.html#ab2846baf41ef4510a04a61db141bc597">grpc_byte_buffer::raw</a></div><div class="ttdeci">struct grpc_byte_buffer::@3::@5 raw</div></div>
-<div class="ttc" id="structgrpc__channel__info_html_a578275f6c9da1610e3bf2f99a89d14ba"><div class="ttname"><a href="structgrpc__channel__info.html#a578275f6c9da1610e3bf2f99a89d14ba">grpc_channel_info::service_config_json</a></div><div class="ttdeci">char ** service_config_json</div><div class="ttdef"><b>Definition:</b> grpc_types.h:541</div></div>
-<div class="ttc" id="structgrpc__arg__pointer__vtable_html_aa56514dd670d6fc91f2b36cdd2a27be6"><div class="ttname"><a href="structgrpc__arg__pointer__vtable.html#aa56514dd670d6fc91f2b36cdd2a27be6">grpc_arg_pointer_vtable::destroy</a></div><div class="ttdeci">void(* destroy)(grpc_exec_ctx *exec_ctx, void *p)</div><div class="ttdef"><b>Definition:</b> grpc_types.h:102</div></div>
-<div class="ttc" id="structgrpc__op_html_a5b6e034719e0ac3cd6bcf5efbc7cb019"><div class="ttname"><a href="structgrpc__op.html#a5b6e034719e0ac3cd6bcf5efbc7cb019">grpc_op::flags</a></div><div class="ttdeci">uint32_t flags</div><div class="ttdoc">Write flags bitset for grpc_begin_messages. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:471</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_types.h:473</div></div>
+<div class="ttc" id="structgrpc__channel__info_html_a578275f6c9da1610e3bf2f99a89d14ba"><div class="ttname"><a href="structgrpc__channel__info.html#a578275f6c9da1610e3bf2f99a89d14ba">grpc_channel_info::service_config_json</a></div><div class="ttdeci">char ** service_config_json</div><div class="ttdoc">If non-NULL, will be set to point to a string containing the service config used by the channel in JS...</div><div class="ttdef"><b>Definition:</b> grpc_types.h:561</div></div>
+<div class="ttc" id="structgrpc__arg__pointer__vtable_html_aa56514dd670d6fc91f2b36cdd2a27be6"><div class="ttname"><a href="structgrpc__arg__pointer__vtable.html#aa56514dd670d6fc91f2b36cdd2a27be6">grpc_arg_pointer_vtable::destroy</a></div><div class="ttdeci">void(* destroy)(grpc_exec_ctx *exec_ctx, void *p)</div><div class="ttdef"><b>Definition:</b> grpc_types.h:103</div></div>
+<div class="ttc" id="structgrpc__op_html_a5b6e034719e0ac3cd6bcf5efbc7cb019"><div class="ttname"><a href="structgrpc__op.html#a5b6e034719e0ac3cd6bcf5efbc7cb019">grpc_op::flags</a></div><div class="ttdeci">uint32_t flags</div><div class="ttdoc">Write flags bitset for grpc_begin_messages. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:492</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_types.h:494</div></div>
 <div class="ttc" id="exec__ctx__fwd_8h_html"><div class="ttname"><a href="exec__ctx__fwd_8h.html">exec_ctx_fwd.h</a></div></div>
-<div class="ttc" id="grpc__types_8h_html_a0b06eae05e70404aedbceaebce6de593a8d2f803b8aaf88f34dac1f887826c689"><div class="ttname"><a href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593a8d2f803b8aaf88f34dac1f887826c689">GRPC_ARG_INTEGER</a></div><div class="ttdef"><b>Definition:</b> grpc_types.h:96</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_types.h:522</div></div>
-<div class="ttc" id="grpc__types_8h_html_a895faab0e6035445750e43482651ba2f"><div class="ttname"><a href="grpc__types_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_types.h:71</div></div>
-<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba598dd6646d1a7c88d4bbef1490953ee3"><div class="ttname"><a href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba598dd6646d1a7c88d4bbef1490953ee3">GRPC_CALL_ERROR_PAYLOAD_TYPE_MISMATCH</a></div><div class="ttdoc">payload type requested is not the type registered </div><div class="ttdef"><b>Definition:</b> grpc_types.h:323</div></div>
-<div class="ttc" id="grpc__types_8h_html_a41dc9abf9678decbfcef1a037e35939aafe3da4c8865af4ef5258b3790d15afc5"><div class="ttname"><a href="grpc__types_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_types.h:448</div></div>
-<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba906d5d530b249b5b853595e424ec400b"><div class="ttname"><a href="grpc__types_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_types.h:321</div></div>
+<div class="ttc" id="grpc__types_8h_html_a0b06eae05e70404aedbceaebce6de593a8d2f803b8aaf88f34dac1f887826c689"><div class="ttname"><a href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593a8d2f803b8aaf88f34dac1f887826c689">GRPC_ARG_INTEGER</a></div><div class="ttdef"><b>Definition:</b> grpc_types.h:97</div></div>
+<div class="ttc" id="impl_2codegen_2port__platform_8h_html"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html">port_platform.h</a></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_types.h:542</div></div>
+<div class="ttc" id="grpc__types_8h_html_a895faab0e6035445750e43482651ba2f"><div class="ttname"><a href="grpc__types_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_types.h:72</div></div>
+<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba598dd6646d1a7c88d4bbef1490953ee3"><div class="ttname"><a href="grpc__types_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba598dd6646d1a7c88d4bbef1490953ee3">GRPC_CALL_ERROR_PAYLOAD_TYPE_MISMATCH</a></div><div class="ttdoc">payload type requested is not the type registered </div><div class="ttdef"><b>Definition:</b> grpc_types.h:343</div></div>
+<div class="ttc" id="grpc__types_8h_html_a41dc9abf9678decbfcef1a037e35939aafe3da4c8865af4ef5258b3790d15afc5"><div class="ttname"><a href="grpc__types_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_types.h:469</div></div>
+<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba906d5d530b249b5b853595e424ec400b"><div class="ttname"><a href="grpc__types_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_types.h:341</div></div>
 <div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eb"><div class="ttname"><a href="impl_2codegen_2status_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__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba7ba38ea119e00e8b4d10211f4ced9ef6"><div class="ttname"><a href="grpc__types_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_types.h:299</div></div>
+<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba7ba38ea119e00e8b4d10211f4ced9ef6"><div class="ttname"><a href="grpc__types_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_types.h:319</div></div>
 <div class="ttc" id="structgrpc__op_html_a94a99fe3a6c33447b417a5dc625d0457"><div class="ttname"><a href="structgrpc__op.html#a94a99fe3a6c33447b417a5dc625d0457">grpc_op::recv_close_on_server</a></div><div class="ttdeci">struct grpc_op::@9::@17 recv_close_on_server</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_types.h:395</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_types.h:119</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_types.h:481</div></div>
-<div class="ttc" id="grpc__types_8h_html_a0b06eae05e70404aedbceaebce6de593a215b6b9143ba133ede0e29f79098239d"><div class="ttname"><a href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593a215b6b9143ba133ede0e29f79098239d">GRPC_ARG_STRING</a></div><div class="ttdef"><b>Definition:</b> grpc_types.h:95</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_types.h:529</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_types.h:415</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_types.h:120</div></div>
+<div class="ttc" id="structgrpc__completion__queue__attributes_html_a9cfd2d6b5b395d9d8f8592b994c30575"><div class="ttname"><a href="structgrpc__completion__queue__attributes.html#a9cfd2d6b5b395d9d8f8592b994c30575">grpc_completion_queue_attributes::cq_polling_type</a></div><div class="ttdeci">grpc_cq_polling_type cq_polling_type</div><div class="ttdef"><b>Definition:</b> grpc_types.h:609</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_types.h:502</div></div>
+<div class="ttc" id="grpc__types_8h_html_a0b06eae05e70404aedbceaebce6de593a215b6b9143ba133ede0e29f79098239d"><div class="ttname"><a href="grpc__types_8h.html#a0b06eae05e70404aedbceaebce6de593a215b6b9143ba133ede0e29f79098239d">GRPC_ARG_STRING</a></div><div class="ttdef"><b>Definition:</b> grpc_types.h:96</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_types.h:549</div></div>
 <div class="ttc" id="grpc__types_8h_html_a1da84eaead787d991c5a0c87aed7c30b"><div class="ttname"><a href="grpc__types_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="gpr__types_8h_html"><div class="ttname"><a href="gpr__types_8h.html">gpr_types.h</a></div></div>
-<div class="ttc" id="grpc__types_8h_html_ab6454071421a36ebc25952ed448d5b87a00b42e3d4b6e6493c6e76f1adf07b297"><div class="ttname"><a href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87a00b42e3d4b6e6493c6e76f1adf07b297">GRPC_OP_COMPLETE</a></div><div class="ttdoc">Operation completion. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:387</div></div>
-<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba13f469c7761a672240ddfe29f85729bd"><div class="ttname"><a href="grpc__types_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_types.h:314</div></div>
-<div class="ttc" id="grpc__types_8h_html_a41dc9abf9678decbfcef1a037e35939a"><div class="ttname"><a href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939a">grpc_op_type</a></div><div class="ttdeci">grpc_op_type</div><div class="ttdef"><b>Definition:</b> grpc_types.h:418</div></div>
+<div class="ttc" id="grpc__types_8h_html_ab6454071421a36ebc25952ed448d5b87a00b42e3d4b6e6493c6e76f1adf07b297"><div class="ttname"><a href="grpc__types_8h.html#ab6454071421a36ebc25952ed448d5b87a00b42e3d4b6e6493c6e76f1adf07b297">GRPC_OP_COMPLETE</a></div><div class="ttdoc">Operation completion. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:407</div></div>
+<div class="ttc" id="structgrpc__completion__queue__attributes_html_a77193c57fac60071d907ceda3be64f72"><div class="ttname"><a href="structgrpc__completion__queue__attributes.html#a77193c57fac60071d907ceda3be64f72">grpc_completion_queue_attributes::version</a></div><div class="ttdeci">int version</div><div class="ttdoc">The version number of this structure. </div><div class="ttdef"><b>Definition:</b> grpc_types.h:605</div></div>
+<div class="ttc" id="grpc__types_8h_html_a0d5a8bdd6d53d209cacea4b6fa5d785ba13f469c7761a672240ddfe29f85729bd"><div class="ttname"><a href="grpc__types_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_types.h:334</div></div>
+<div class="ttc" id="grpc__types_8h_html_a41dc9abf9678decbfcef1a037e35939a"><div class="ttname"><a href="grpc__types_8h.html#a41dc9abf9678decbfcef1a037e35939a">grpc_op_type</a></div><div class="ttdeci">grpc_op_type</div><div class="ttdef"><b>Definition:</b> grpc_types.h:441</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 2 - 2
core/health-checking_8md.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 7 - 3
core/histogram_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_692cef9a660803f4b5efbe2b781d2071.html">support</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_8e03e8f0d52209e008fae5f40ace0591.html">support</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -112,6 +112,7 @@ Functions</h2></td></tr>
 <tr class="memitem:a1fdd2db0df7d78e170d5d2c3878bd7e3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="histogram_8h.html#a1fdd2db0df7d78e170d5d2c3878bd7e3">gpr_histogram_add</a> (<a class="el" href="histogram_8h.html#a7125b0cef0e61a441a17f887dbc073fc">gpr_histogram</a> *h, double x)</td></tr>
 <tr class="separator:a1fdd2db0df7d78e170d5d2c3878bd7e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a199efc11a0cef2daaf27d2869cd07cce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="histogram_8h.html#a199efc11a0cef2daaf27d2869cd07cce">gpr_histogram_merge</a> (<a class="el" href="histogram_8h.html#a7125b0cef0e61a441a17f887dbc073fc">gpr_histogram</a> *dst, const <a class="el" href="histogram_8h.html#a7125b0cef0e61a441a17f887dbc073fc">gpr_histogram</a> *src)</td></tr>
+<tr class="memdesc:a199efc11a0cef2daaf27d2869cd07cce"><td class="mdescLeft">&#160;</td><td class="mdescRight">The following merges the second histogram into the first.  <a href="#a199efc11a0cef2daaf27d2869cd07cce">More...</a><br/></td></tr>
 <tr class="separator:a199efc11a0cef2daaf27d2869cd07cce"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:acb1c9b30e0473ad37a4e0899d9bb058d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="histogram_8h.html#acb1c9b30e0473ad37a4e0899d9bb058d">gpr_histogram_percentile</a> (<a class="el" href="histogram_8h.html#a7125b0cef0e61a441a17f887dbc073fc">gpr_histogram</a> *histogram, double percentile)</td></tr>
 <tr class="separator:acb1c9b30e0473ad37a4e0899d9bb058d"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -316,6 +317,9 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>The following merges the second histogram into the first. </p>
+<p>It only works if they have the same buckets and resolution. Returns 0 on failure, 1 on success </p>
+
 </div>
 </div>
 <a class="anchor" id="a3b28613ce094fefa707dec5b9a599e79"></a>
@@ -489,7 +493,7 @@ Functions</h2></td></tr>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 5 - 8
core/histogram_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_692cef9a660803f4b5efbe2b781d2071.html">support</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_8e03e8f0d52209e008fae5f40ace0591.html">support</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -140,9 +140,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <span class="keywordtype">void</span> <a class="code" href="histogram_8h.html#a8bced3cdf59ba9c9c6da6c13be8afd77">gpr_histogram_destroy</a>(<a class="code" href="histogram_8h.html#a7125b0cef0e61a441a17f887dbc073fc">gpr_histogram</a> *h);</div>
 <div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <span class="keywordtype">void</span> <a class="code" href="histogram_8h.html#a1fdd2db0df7d78e170d5d2c3878bd7e3">gpr_histogram_add</a>(<a class="code" href="histogram_8h.html#a7125b0cef0e61a441a17f887dbc073fc">gpr_histogram</a> *h, <span class="keywordtype">double</span> x);</div>
 <div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">/* The following merges the second histogram into the first. It only works</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">   if they have the same buckets and resolution. Returns 0 on failure, 1</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">   on success */</span></div>
 <div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <span class="keywordtype">int</span> <a class="code" href="histogram_8h.html#a199efc11a0cef2daaf27d2869cd07cce">gpr_histogram_merge</a>(<a class="code" href="histogram_8h.html#a7125b0cef0e61a441a17f887dbc073fc">gpr_histogram</a> *dst, <span class="keyword">const</span> <a class="code" href="histogram_8h.html#a7125b0cef0e61a441a17f887dbc073fc">gpr_histogram</a> *src);</div>
 <div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div>
 <div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <span class="keywordtype">double</span> <a class="code" href="histogram_8h.html#acb1c9b30e0473ad37a4e0899d9bb058d">gpr_histogram_percentile</a>(<a class="code" href="histogram_8h.html#a7125b0cef0e61a441a17f887dbc073fc">gpr_histogram</a> *histogram,</div>
@@ -172,8 +169,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="ttc" id="histogram_8h_html_aff7334c462f915cb7bba90cb735a3bf5"><div class="ttname"><a href="histogram_8h.html#aff7334c462f915cb7bba90cb735a3bf5">gpr_histogram_variance</a></div><div class="ttdeci">GPRAPI double gpr_histogram_variance(gpr_histogram *histogram)</div></div>
 <div class="ttc" id="histogram_8h_html_a91ccdae54fa075df03fc12fca721ec34"><div class="ttname"><a href="histogram_8h.html#a91ccdae54fa075df03fc12fca721ec34">gpr_histogram_minimum</a></div><div class="ttdeci">GPRAPI double gpr_histogram_minimum(gpr_histogram *histogram)</div></div>
 <div class="ttc" id="histogram_8h_html_abc9e00d4f5410abaadc2a98dc95d178d"><div class="ttname"><a href="histogram_8h.html#abc9e00d4f5410abaadc2a98dc95d178d">gpr_histogram_mean</a></div><div class="ttdeci">GPRAPI double gpr_histogram_mean(gpr_histogram *histogram)</div></div>
-<div class="ttc" id="impl_2codegen_2port__platform_8h_html_af89d3610372fc35178e83e06916aa808"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a></div><div class="ttdeci">#define GPRAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:410</div></div>
-<div class="ttc" id="histogram_8h_html_a199efc11a0cef2daaf27d2869cd07cce"><div class="ttname"><a href="histogram_8h.html#a199efc11a0cef2daaf27d2869cd07cce">gpr_histogram_merge</a></div><div class="ttdeci">GPRAPI int gpr_histogram_merge(gpr_histogram *dst, const gpr_histogram *src)</div></div>
+<div class="ttc" id="impl_2codegen_2port__platform_8h_html_af89d3610372fc35178e83e06916aa808"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a></div><div class="ttdeci">#define GPRAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:416</div></div>
+<div class="ttc" id="histogram_8h_html_a199efc11a0cef2daaf27d2869cd07cce"><div class="ttname"><a href="histogram_8h.html#a199efc11a0cef2daaf27d2869cd07cce">gpr_histogram_merge</a></div><div class="ttdeci">GPRAPI int gpr_histogram_merge(gpr_histogram *dst, const gpr_histogram *src)</div><div class="ttdoc">The following merges the second histogram into the first. </div></div>
 <div class="ttc" id="histogram_8h_html_acb1c9b30e0473ad37a4e0899d9bb058d"><div class="ttname"><a href="histogram_8h.html#acb1c9b30e0473ad37a4e0899d9bb058d">gpr_histogram_percentile</a></div><div class="ttdeci">GPRAPI double gpr_histogram_percentile(gpr_histogram *histogram, double percentile)</div></div>
 <div class="ttc" id="histogram_8h_html_af8710eaa83e60a3210834a144af90158"><div class="ttname"><a href="histogram_8h.html#af8710eaa83e60a3210834a144af90158">gpr_histogram_stddev</a></div><div class="ttdeci">GPRAPI double gpr_histogram_stddev(gpr_histogram *histogram)</div></div>
 <div class="ttc" id="histogram_8h_html_a1fdd2db0df7d78e170d5d2c3878bd7e3"><div class="ttname"><a href="histogram_8h.html#a1fdd2db0df7d78e170d5d2c3878bd7e3">gpr_histogram_add</a></div><div class="ttdeci">GPRAPI void gpr_histogram_add(gpr_histogram *h, double x)</div></div>
@@ -190,7 +187,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 13 - 3
core/host__port_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_692cef9a660803f4b5efbe2b781d2071.html">support</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_8e03e8f0d52209e008fae5f40ace0591.html">support</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -99,8 +99,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:a0aceae7a79506c44f063093a0a855049"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="host__port_8h.html#a0aceae7a79506c44f063093a0a855049">gpr_join_host_port</a> (char **out, const char *host, int port)</td></tr>
+<tr class="memdesc:a0aceae7a79506c44f063093a0a855049"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a host and port, creates a newly-allocated string of the form "host:port" or "[ho:st]:port", depending on whether the host contains colons like an IPv6 literal.  <a href="#a0aceae7a79506c44f063093a0a855049">More...</a><br/></td></tr>
 <tr class="separator:a0aceae7a79506c44f063093a0a855049"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a86c89d6e6e9a39b310706b703f6e7cdd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="host__port_8h.html#a86c89d6e6e9a39b310706b703f6e7cdd">gpr_split_host_port</a> (const char *name, char **host, char **port)</td></tr>
+<tr class="memdesc:a86c89d6e6e9a39b310706b703f6e7cdd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a name in the form "host:port" or "[ho:st]:port", split into hostname and port number, into newly allocated strings, which must later be destroyed using <a class="el" href="alloc_8h.html#a7f8641de6e80a37dd003d3100cc94bd7" title="free ">gpr_free()</a>.  <a href="#a86c89d6e6e9a39b310706b703f6e7cdd">More...</a><br/></td></tr>
 <tr class="separator:a86c89d6e6e9a39b310706b703f6e7cdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <h2 class="groupheader">Function Documentation</h2>
@@ -134,6 +136,11 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Given a host and port, creates a newly-allocated string of the form "host:port" or "[ho:st]:port", depending on whether the host contains colons like an IPv6 literal. </p>
+<p>If the host is already bracketed, then additional brackets will not be added.</p>
+<p>Usage is similar to gpr_asprintf: returns the number of bytes written (excluding the final '\0'), and *out points to a string which must later be destroyed using <a class="el" href="alloc_8h.html#a7f8641de6e80a37dd003d3100cc94bd7" title="free ">gpr_free()</a>.</p>
+<p>In the unlikely event of an error, returns -1 and sets *out to NULL. </p>
+
 </div>
 </div>
 <a class="anchor" id="a86c89d6e6e9a39b310706b703f6e7cdd"></a>
@@ -166,12 +173,15 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Given a name in the form "host:port" or "[ho:st]:port", split into hostname and port number, into newly allocated strings, which must later be destroyed using <a class="el" href="alloc_8h.html#a7f8641de6e80a37dd003d3100cc94bd7" title="free ">gpr_free()</a>. </p>
+<p>Return 1 on success, 0 on failure. Guarantees *host and *port == NULL on failure. </p>
+
 </div>
 </div>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 6 - 21
core/host__port_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_692cef9a660803f4b5efbe2b781d2071.html">support</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_8e03e8f0d52209e008fae5f40ace0591.html">support</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -132,23 +132,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
 <div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#endif</span></div>
 <div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">/* Given a host and port, creates a newly-allocated string of the form</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">   &quot;host:port&quot; or &quot;[ho:st]:port&quot;, depending on whether the host contains colons</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">   like an IPv6 literal.  If the host is already bracketed, then additional</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">   brackets will not be added.</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">   Usage is similar to gpr_asprintf: returns the number of bytes written</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">   (excluding the final &#39;\0&#39;), and *out points to a string which must later be</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">   destroyed using gpr_free().</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">   In the unlikely event of an error, returns -1 and sets *out to NULL. */</span></div>
 <div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <span class="keywordtype">int</span> <a class="code" href="host__port_8h.html#a0aceae7a79506c44f063093a0a855049">gpr_join_host_port</a>(<span class="keywordtype">char</span> **out, <span class="keyword">const</span> <span class="keywordtype">char</span> *host, <span class="keywordtype">int</span> port);</div>
 <div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* Given a name in the form &quot;host:port&quot; or &quot;[ho:st]:port&quot;, split into hostname</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">   and port number, into newly allocated strings, which must later be</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">   destroyed using gpr_free().</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">   Return 1 on success, 0 on failure. Guarantees *host and *port == NULL on</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">   failure. */</span></div>
 <div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<a class="code" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a> <span class="keywordtype">int</span> <a class="code" href="host__port_8h.html#a86c89d6e6e9a39b310706b703f6e7cdd">gpr_split_host_port</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">char</span> **host, <span class="keywordtype">char</span> **port);</div>
 <div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div>
 <div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
@@ -156,14 +141,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#endif</span></div>
 <div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor"></span></div>
 <div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_SUPPORT_HOST_PORT_H */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="host__port_8h_html_a86c89d6e6e9a39b310706b703f6e7cdd"><div class="ttname"><a href="host__port_8h.html#a86c89d6e6e9a39b310706b703f6e7cdd">gpr_split_host_port</a></div><div class="ttdeci">GPRAPI int gpr_split_host_port(const char *name, char **host, char **port)</div></div>
-<div class="ttc" id="impl_2codegen_2port__platform_8h_html_af89d3610372fc35178e83e06916aa808"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a></div><div class="ttdeci">#define GPRAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:410</div></div>
-<div class="ttc" id="host__port_8h_html_a0aceae7a79506c44f063093a0a855049"><div class="ttname"><a href="host__port_8h.html#a0aceae7a79506c44f063093a0a855049">gpr_join_host_port</a></div><div class="ttdeci">GPRAPI int gpr_join_host_port(char **out, const char *host, int port)</div></div>
+<div class="ttc" id="host__port_8h_html_a86c89d6e6e9a39b310706b703f6e7cdd"><div class="ttname"><a href="host__port_8h.html#a86c89d6e6e9a39b310706b703f6e7cdd">gpr_split_host_port</a></div><div class="ttdeci">GPRAPI int gpr_split_host_port(const char *name, char **host, char **port)</div><div class="ttdoc">Given a name in the form &quot;host:port&quot; or &quot;[ho:st]:port&quot;, split into hostname and port number...</div></div>
+<div class="ttc" id="impl_2codegen_2port__platform_8h_html_af89d3610372fc35178e83e06916aa808"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">GPRAPI</a></div><div class="ttdeci">#define GPRAPI</div><div class="ttdef"><b>Definition:</b> port_platform.h:416</div></div>
+<div class="ttc" id="host__port_8h_html_a0aceae7a79506c44f063093a0a855049"><div class="ttname"><a href="host__port_8h.html#a0aceae7a79506c44f063093a0a855049">gpr_join_host_port</a></div><div class="ttdeci">GPRAPI int gpr_join_host_port(char **out, const char *host, int port)</div><div class="ttdoc">Given a host and port, creates a newly-allocated string of the form &quot;host:port&quot; or &quot;[ho:st]:port&quot;...</div></div>
 <div class="ttc" id="support_2port__platform_8h_html"><div class="ttname"><a href="support_2port__platform_8h.html">port_platform.h</a></div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 2 - 2
core/http-grpc-status-mapping_8md.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 2 - 2
core/http2-interop-test-descriptions_8md.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 17 - 6
core/impl_2codegen_2atm_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:acd924aafc13347097cc06c74c8b5a68d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="impl_2codegen_2atm__gcc__atomic_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="impl_2codegen_2atm_8h.html#acd924aafc13347097cc06c74c8b5a68d">gpr_atm_no_barrier_clamped_add</a> (<a class="el" href="impl_2codegen_2atm__gcc__atomic_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a> *value, <a class="el" href="impl_2codegen_2atm__gcc__atomic_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a> delta, <a class="el" href="impl_2codegen_2atm__gcc__atomic_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a> min, <a class="el" href="impl_2codegen_2atm__gcc__atomic_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a> max)</td></tr>
-<tr class="memdesc:acd924aafc13347097cc06c74c8b5a68d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds <em>delta</em> to <em>*value</em>, clamping the result to the range specified by <em>min</em> and <em>max</em>.  <a href="#acd924aafc13347097cc06c74c8b5a68d">More...</a><br/></td></tr>
+<tr class="memdesc:acd924aafc13347097cc06c74c8b5a68d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This interface provides atomic operations and barriers.  <a href="#acd924aafc13347097cc06c74c8b5a68d">More...</a><br/></td></tr>
 <tr class="separator:acd924aafc13347097cc06c74c8b5a68d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <h2 class="groupheader">Function Documentation</h2>
@@ -139,15 +139,26 @@ Functions</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
-<p>Adds <em>delta</em> to <em>*value</em>, clamping the result to the range specified by <em>min</em> and <em>max</em>. </p>
-<p>Returns the new value. </p>
+<p>This interface provides atomic operations and barriers. </p>
+<p>It is internal to gpr support code and should not be used outside it.</p>
+<p>If an operation with acquire semantics precedes another memory access by the same thread, the operation will precede that other access as seen by other threads.</p>
+<p>If an operation with release semantics follows another memory access by the same thread, the operation will follow that other access as seen by other threads.</p>
+<p>Routines with "acq" or "full" in the name have acquire semantics. Routines with "rel" or "full" in the name have release semantics. Routines with "no_barrier" in the name have neither acquire not release semantics.</p>
+<p>The routines may be implemented as macros.</p>
+<p>Atomic operations act on an intergral_type gpr_atm that is guaranteed to be the same size as a pointer. typedef intptr_t gpr_atm;</p>
+<p>A memory barrier, providing both acquire and release semantics, but not otherwise acting on memory. void <a class="el" href="impl_2codegen_2atm__windows_8h.html#a8e58c94aff5c7161bc3cbfde878dd03d">gpr_atm_full_barrier(void)</a>;</p>
+<p>Atomically return *p, with acquire semantics. gpr_atm <a class="el" href="impl_2codegen_2atm__gcc__atomic_8h.html#a44607f95f7ee40eba592c7fe10960a06">gpr_atm_acq_load(gpr_atm *p)</a>;</p>
+<p>Atomically set *p = value, with release semantics. void <a class="el" href="impl_2codegen_2atm__gcc__atomic_8h.html#a42e3982d45ae4cec439a12b8fcd618e9">gpr_atm_rel_store(gpr_atm *p, gpr_atm value)</a>;</p>
+<p>Atomically add delta to *p, and return the old value of *p, with the barriers specified. gpr_atm <a class="el" href="impl_2codegen_2atm__gcc__sync_8h.html#ae337dc477a6a45ac3d91e41e8f3f2f8c">gpr_atm_no_barrier_fetch_add(gpr_atm *p, gpr_atm delta)</a>; gpr_atm <a class="el" href="impl_2codegen_2atm__gcc__sync_8h.html#abada8771b338845e4c6ef93c8392582c">gpr_atm_full_fetch_add(gpr_atm *p, gpr_atm delta)</a>;</p>
+<p>Atomically, if *p==o, set *p=n and return non-zero otherwise return 0, with the barriers specified if the operation succeeds. int <a class="el" href="impl_2codegen_2atm__gcc__sync_8h.html#ad39536b08912ac4a0770655ed334d260">gpr_atm_no_barrier_cas(gpr_atm *p, gpr_atm o, gpr_atm n)</a>; int <a class="el" href="impl_2codegen_2atm__gcc__sync_8h.html#a1a90e5777158aaa53624822f1f87dd90">gpr_atm_acq_cas(gpr_atm *p, gpr_atm o, gpr_atm n)</a>; int <a class="el" href="impl_2codegen_2atm__gcc__sync_8h.html#ae7c3b215cda868ee9ee778822000c3f2">gpr_atm_rel_cas(gpr_atm *p, gpr_atm o, gpr_atm n)</a>;</p>
+<p>Atomically, set *p=n and return the old value of *p gpr_atm <a class="el" href="impl_2codegen_2atm__gcc__atomic_8h.html#a724691b6d48f35bbd9f575c82fdfb526">gpr_atm_full_xchg(gpr_atm *p, gpr_atm n)</a>;Adds <em>delta</em> to <em>*value</em>, clamping the result to the range specified by <em>min</em> and <em>max</em>. Returns the new value. </p>
 
 </div>
 </div>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 4 - 50
core/impl_2codegen_2atm_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -126,52 +126,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#ifndef GRPC_IMPL_CODEGEN_ATM_H</span></div>
 <div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_IMPL_CODEGEN_ATM_H</span></div>
 <div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">/* This interface provides atomic operations and barriers.</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">   It is internal to gpr support code and should not be used outside it.</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">   If an operation with acquire semantics precedes another memory access by the</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">   same thread, the operation will precede that other access as seen by other</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">   threads.</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">   If an operation with release semantics follows another memory access by the</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">   same thread, the operation will follow that other access as seen by other</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">   threads.</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">   Routines with &quot;acq&quot; or &quot;full&quot; in the name have acquire semantics.  Routines</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">   with &quot;rel&quot; or &quot;full&quot; in the name have release semantics.  Routines with</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">   &quot;no_barrier&quot; in the name have neither acquire not release semantics.</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">   The routines may be implemented as macros.</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">   // Atomic operations act on an intergral_type gpr_atm that is guaranteed to</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">   // be the same size as a pointer.</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">   typedef intptr_t gpr_atm;</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">   // A memory barrier, providing both acquire and release semantics, but not</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">   // otherwise acting on memory.</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">   void gpr_atm_full_barrier(void);</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">   // Atomically return *p, with acquire semantics.</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">   gpr_atm gpr_atm_acq_load(gpr_atm *p);</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">   // Atomically set *p = value, with release semantics.</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">   void gpr_atm_rel_store(gpr_atm *p, gpr_atm value);</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">   // Atomically add delta to *p, and return the old value of *p, with</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">   // the barriers specified.</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">   gpr_atm gpr_atm_no_barrier_fetch_add(gpr_atm *p, gpr_atm delta);</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">   gpr_atm gpr_atm_full_fetch_add(gpr_atm *p, gpr_atm delta);</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">   // Atomically, if *p==o, set *p=n and return non-zero otherwise return 0,</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">   // with the barriers specified if the operation succeeds.</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">   int gpr_atm_no_barrier_cas(gpr_atm *p, gpr_atm o, gpr_atm n);</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">   int gpr_atm_acq_cas(gpr_atm *p, gpr_atm o, gpr_atm n);</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">   int gpr_atm_rel_cas(gpr_atm *p, gpr_atm o, gpr_atm n);</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">   // Atomically, set *p=n and return the old value of *p</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment">   gpr_atm gpr_atm_full_xchg(gpr_atm *p, gpr_atm n);</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment">*/</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div>
 <div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="impl_2codegen_2port__platform_8h.html">grpc/impl/codegen/port_platform.h</a>&gt;</span></div>
 <div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div>
 <div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#if defined(GPR_GCC_ATOMIC)</span></div>
@@ -188,7 +142,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                                       <a class="code" href="impl_2codegen_2atm__gcc__atomic_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a> min, <a class="code" href="impl_2codegen_2atm__gcc__atomic_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a> max);</div>
 <div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div>
 <div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_IMPL_CODEGEN_ATM_H */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="impl_2codegen_2atm_8h_html_acd924aafc13347097cc06c74c8b5a68d"><div class="ttname"><a href="impl_2codegen_2atm_8h.html#acd924aafc13347097cc06c74c8b5a68d">gpr_atm_no_barrier_clamped_add</a></div><div class="ttdeci">gpr_atm gpr_atm_no_barrier_clamped_add(gpr_atm *value, gpr_atm delta, gpr_atm min, gpr_atm max)</div><div class="ttdoc">Adds delta to *value, clamping the result to the range specified by min and max. </div></div>
+<div class="ttc" id="impl_2codegen_2atm_8h_html_acd924aafc13347097cc06c74c8b5a68d"><div class="ttname"><a href="impl_2codegen_2atm_8h.html#acd924aafc13347097cc06c74c8b5a68d">gpr_atm_no_barrier_clamped_add</a></div><div class="ttdeci">gpr_atm gpr_atm_no_barrier_clamped_add(gpr_atm *value, gpr_atm delta, gpr_atm min, gpr_atm max)</div><div class="ttdoc">This interface provides atomic operations and barriers. </div></div>
 <div class="ttc" id="impl_2codegen_2atm__gcc__atomic_8h_html_a0a6314f31fcae0666a93961bed98af51"><div class="ttname"><a href="impl_2codegen_2atm__gcc__atomic_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a></div><div class="ttdeci">intptr_t gpr_atm</div><div class="ttdef"><b>Definition:</b> atm_gcc_atomic.h:41</div></div>
 <div class="ttc" id="impl_2codegen_2atm__gcc__atomic_8h_html"><div class="ttname"><a href="impl_2codegen_2atm__gcc__atomic_8h.html">atm_gcc_atomic.h</a></div></div>
 <div class="ttc" id="impl_2codegen_2atm__gcc__sync_8h_html"><div class="ttname"><a href="impl_2codegen_2atm__gcc__sync_8h.html">atm_gcc_sync.h</a></div></div>
@@ -197,7 +151,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 3 - 3
core/impl_2codegen_2atm__gcc__atomic_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -371,7 +371,7 @@ Typedefs</h2></td></tr>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 3 - 3
core/impl_2codegen_2atm__gcc__atomic_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -197,7 +197,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 3 - 3
core/impl_2codegen_2atm__gcc__sync_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -379,7 +379,7 @@ Typedefs</h2></td></tr>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 3 - 3
core/impl_2codegen_2atm__gcc__sync_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -201,7 +201,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 6 - 3
core/impl_2codegen_2atm__windows_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -107,6 +107,7 @@ Macros</h2></td></tr>
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
 Typedefs</h2></td></tr>
 <tr class="memitem:a0a6314f31fcae0666a93961bed98af51"><td class="memItemLeft" align="right" valign="top">typedef intptr_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="impl_2codegen_2atm__windows_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a></td></tr>
+<tr class="memdesc:a0a6314f31fcae0666a93961bed98af51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Win32 variant of atm_platform.h.  <a href="#a0a6314f31fcae0666a93961bed98af51">More...</a><br/></td></tr>
 <tr class="separator:a0a6314f31fcae0666a93961bed98af51"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <h2 class="groupheader">Macro Definition Documentation</h2>
@@ -145,12 +146,14 @@ Typedefs</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Win32 variant of atm_platform.h. </p>
+
 </div>
 </div>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 4 - 9
core/impl_2codegen_2atm__windows_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -126,7 +126,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#ifndef GRPC_IMPL_CODEGEN_ATM_WINDOWS_H</span></div>
 <div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_IMPL_CODEGEN_ATM_WINDOWS_H</span></div>
 <div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">/* Win32 variant of atm_platform.h */</span></div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="impl_2codegen_2port__platform_8h.html">grpc/impl/codegen/port_platform.h</a>&gt;</span></div>
 <div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div>
 <div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="impl_2codegen_2atm__windows_8h.html#a0a6314f31fcae0666a93961bed98af51">   40</a></span>&#160;<span class="keyword">typedef</span> intptr_t <a class="code" href="impl_2codegen_2atm__windows_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a>;</div>
@@ -156,8 +155,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;}</div>
 <div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div>
 <div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">static</span> __inline <span class="keywordtype">int</span> <a class="code" href="impl_2codegen_2atm__gcc__sync_8h.html#ad39536b08912ac4a0770655ed334d260">gpr_atm_no_barrier_cas</a>(<a class="code" href="impl_2codegen_2atm__gcc__atomic_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a> *p, <a class="code" href="impl_2codegen_2atm__gcc__atomic_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a> o, <a class="code" href="impl_2codegen_2atm__gcc__atomic_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a> n) {</div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">/* InterlockedCompareExchangePointerNoFence() not available on vista or</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">   windows7 */</span></div>
 <div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">#ifdef GPR_ARCH_64</span></div>
 <div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">return</span> o == (<a class="code" href="impl_2codegen_2atm__windows_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a>)InterlockedCompareExchangeAcquire64(</div>
 <div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;                  (<span class="keyword">volatile</span> LONGLONG *)p, (LONGLONG)n, (LONGLONG)o);</div>
@@ -199,7 +196,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div>
 <div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">static</span> __inline <a class="code" href="impl_2codegen_2atm__gcc__atomic_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a> <a class="code" href="impl_2codegen_2atm__gcc__atomic_8h.html#ae337dc477a6a45ac3d91e41e8f3f2f8c">gpr_atm_no_barrier_fetch_add</a>(<a class="code" href="impl_2codegen_2atm__gcc__atomic_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a> *p,</div>
 <div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;                                                     <a class="code" href="impl_2codegen_2atm__gcc__atomic_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a> delta) {</div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;  <span class="comment">/* Use the CAS operation to get pointer-sized fetch and add */</span></div>
 <div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <a class="code" href="impl_2codegen_2atm__gcc__atomic_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a> old;</div>
 <div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <span class="keywordflow">do</span> {</div>
 <div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    old = *p;</div>
@@ -208,7 +204,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;}</div>
 <div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div>
 <div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">static</span> __inline <a class="code" href="impl_2codegen_2atm__gcc__atomic_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a> <a class="code" href="impl_2codegen_2atm__gcc__atomic_8h.html#abada8771b338845e4c6ef93c8392582c">gpr_atm_full_fetch_add</a>(<a class="code" href="impl_2codegen_2atm__gcc__atomic_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a> *p, <a class="code" href="impl_2codegen_2atm__gcc__atomic_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a> delta) {</div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <span class="comment">/* Use a CAS operation to get pointer-sized fetch and add */</span></div>
 <div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <a class="code" href="impl_2codegen_2atm__gcc__atomic_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a> old;</div>
 <div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor">#ifdef GPR_ARCH_64</span></div>
 <div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">do</span> {</div>
@@ -242,13 +237,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="ttc" id="impl_2codegen_2atm__gcc__atomic_8h_html_ae337dc477a6a45ac3d91e41e8f3f2f8c"><div class="ttname"><a href="impl_2codegen_2atm__gcc__atomic_8h.html#ae337dc477a6a45ac3d91e41e8f3f2f8c">gpr_atm_no_barrier_fetch_add</a></div><div class="ttdeci">#define gpr_atm_no_barrier_fetch_add(p, delta)</div><div class="ttdef"><b>Definition:</b> atm_gcc_atomic.h:67</div></div>
 <div class="ttc" id="impl_2codegen_2atm__gcc__atomic_8h_html_a0a6314f31fcae0666a93961bed98af51"><div class="ttname"><a href="impl_2codegen_2atm__gcc__atomic_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a></div><div class="ttdeci">intptr_t gpr_atm</div><div class="ttdef"><b>Definition:</b> atm_gcc_atomic.h:41</div></div>
 <div class="ttc" id="impl_2codegen_2atm__gcc__sync_8h_html_ad39536b08912ac4a0770655ed334d260"><div class="ttname"><a href="impl_2codegen_2atm__gcc__sync_8h.html#ad39536b08912ac4a0770655ed334d260">gpr_atm_no_barrier_cas</a></div><div class="ttdeci">#define gpr_atm_no_barrier_cas(p, o, n)</div><div class="ttdef"><b>Definition:</b> atm_gcc_sync.h:84</div></div>
-<div class="ttc" id="impl_2codegen_2atm__windows_8h_html_a0a6314f31fcae0666a93961bed98af51"><div class="ttname"><a href="impl_2codegen_2atm__windows_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a></div><div class="ttdeci">intptr_t gpr_atm</div><div class="ttdef"><b>Definition:</b> atm_windows.h:40</div></div>
+<div class="ttc" id="impl_2codegen_2atm__windows_8h_html_a0a6314f31fcae0666a93961bed98af51"><div class="ttname"><a href="impl_2codegen_2atm__windows_8h.html#a0a6314f31fcae0666a93961bed98af51">gpr_atm</a></div><div class="ttdeci">intptr_t gpr_atm</div><div class="ttdoc">Win32 variant of atm_platform.h. </div><div class="ttdef"><b>Definition:</b> atm_windows.h:40</div></div>
 <div class="ttc" id="impl_2codegen_2port__platform_8h_html"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html">port_platform.h</a></div></div>
 <div class="ttc" id="impl_2codegen_2atm__windows_8h_html_a8e58c94aff5c7161bc3cbfde878dd03d"><div class="ttname"><a href="impl_2codegen_2atm__windows_8h.html#a8e58c94aff5c7161bc3cbfde878dd03d">gpr_atm_full_barrier</a></div><div class="ttdeci">#define gpr_atm_full_barrier</div><div class="ttdef"><b>Definition:</b> atm_windows.h:43</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 3 - 3
core/impl_2codegen_2byte__buffer__reader_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -103,7 +103,7 @@ Data Structures</h2></td></tr>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 6 - 8
core/impl_2codegen_2byte__buffer__reader_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -135,9 +135,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="structgrpc__byte__buffer__reader.html">   43</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structgrpc__byte__buffer__reader.html">grpc_byte_buffer_reader</a> {</div>
 <div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="structgrpc__byte__buffer__reader.html#a07ca3cca38d293d97f8acf423ae281e3">   44</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a> *<a class="code" href="structgrpc__byte__buffer__reader.html#a07ca3cca38d293d97f8acf423ae281e3">buffer_in</a>;</div>
 <div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="structgrpc__byte__buffer__reader.html#a30ea22e64f0d746881daa5955e7ab48e">   45</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a> *<a class="code" href="structgrpc__byte__buffer__reader.html#a30ea22e64f0d746881daa5955e7ab48e">buffer_out</a>;</div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <span class="comment">/* Different current objects correspond to different types of byte buffers */</span></div>
 <div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  <span class="keyword">union </span>{</div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="comment">/* Index into a slice buffer&#39;s array of slices */</span></div>
 <div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="structgrpc__byte__buffer__reader.html#a948b75a404899c348fc6a52e1a6e63cb">   49</a></span>&#160;    <span class="keywordtype">unsigned</span> <a class="code" href="structgrpc__byte__buffer__reader.html#a948b75a404899c348fc6a52e1a6e63cb">index</a>;</div>
 <div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  } <a class="code" href="structgrpc__byte__buffer__reader.html#ac777178cbde7955eb927b7aca32296d1">current</a>;</div>
 <div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;};</div>
@@ -147,16 +145,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#endif</span></div>
 <div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor"></span></div>
 <div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_IMPL_CODEGEN_BYTE_BUFFER_READER_H */</span><span class="preprocessor"></span></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> grpc_types.h:55</div></div>
-<div class="ttc" id="structgrpc__byte__buffer__reader_html_a948b75a404899c348fc6a52e1a6e63cb"><div class="ttname"><a href="structgrpc__byte__buffer__reader.html#a948b75a404899c348fc6a52e1a6e63cb">grpc_byte_buffer_reader::index</a></div><div class="ttdeci">unsigned index</div><div class="ttdef"><b>Definition:</b> byte_buffer_reader.h:49</div></div>
-<div class="ttc" id="structgrpc__byte__buffer__reader_html_ac777178cbde7955eb927b7aca32296d1"><div class="ttname"><a href="structgrpc__byte__buffer__reader.html#ac777178cbde7955eb927b7aca32296d1">grpc_byte_buffer_reader::current</a></div><div class="ttdeci">union grpc_byte_buffer_reader::@0 current</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> grpc_types.h:56</div></div>
+<div class="ttc" id="structgrpc__byte__buffer__reader_html_a948b75a404899c348fc6a52e1a6e63cb"><div class="ttname"><a href="structgrpc__byte__buffer__reader.html#a948b75a404899c348fc6a52e1a6e63cb">grpc_byte_buffer_reader::index</a></div><div class="ttdeci">unsigned index</div><div class="ttdoc">Index into a slice buffer&#39;s array of slices. </div><div class="ttdef"><b>Definition:</b> byte_buffer_reader.h:49</div></div>
+<div class="ttc" id="structgrpc__byte__buffer__reader_html_ac777178cbde7955eb927b7aca32296d1"><div class="ttname"><a href="structgrpc__byte__buffer__reader.html#ac777178cbde7955eb927b7aca32296d1">grpc_byte_buffer_reader::current</a></div><div class="ttdeci">union grpc_byte_buffer_reader::@0 current</div><div class="ttdoc">Different current objects correspond to different types of byte buffers. </div></div>
 <div class="ttc" id="structgrpc__byte__buffer__reader_html_a30ea22e64f0d746881daa5955e7ab48e"><div class="ttname"><a href="structgrpc__byte__buffer__reader.html#a30ea22e64f0d746881daa5955e7ab48e">grpc_byte_buffer_reader::buffer_out</a></div><div class="ttdeci">struct grpc_byte_buffer * buffer_out</div><div class="ttdef"><b>Definition:</b> byte_buffer_reader.h:45</div></div>
 <div class="ttc" id="structgrpc__byte__buffer__reader_html"><div class="ttname"><a href="structgrpc__byte__buffer__reader.html">grpc_byte_buffer_reader</a></div><div class="ttdef"><b>Definition:</b> byte_buffer_reader.h:43</div></div>
 <div class="ttc" id="structgrpc__byte__buffer__reader_html_a07ca3cca38d293d97f8acf423ae281e3"><div class="ttname"><a href="structgrpc__byte__buffer__reader.html#a07ca3cca38d293d97f8acf423ae281e3">grpc_byte_buffer_reader::buffer_in</a></div><div class="ttdeci">struct grpc_byte_buffer * buffer_in</div><div class="ttdef"><b>Definition:</b> byte_buffer_reader.h:44</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 4 - 4
core/impl_2codegen_2port__platform_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -245,7 +245,7 @@ Macros</h2></td></tr>
 <div class="line">    STATEMENT;                                      \</div>
 <div class="line">  } <span class="keywordflow">while</span> (0)</div>
 <div class="ttc" id="log_8h_html_a63faedb3eefd93d1c0e79974be80cc36"><div class="ttname"><a href="log_8h.html#a63faedb3eefd93d1c0e79974be80cc36">GPR_ERROR</a></div><div class="ttdeci">#define GPR_ERROR</div><div class="ttdef"><b>Definition:</b> log.h:73</div></div>
-<div class="ttc" id="log_8h_html_a938a283d9a10c3ddfe46dfc22e21077f"><div class="ttname"><a href="log_8h.html#a938a283d9a10c3ddfe46dfc22e21077f">gpr_log</a></div><div class="ttdeci">GPRAPI void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...) GPR_PRINT_FORMAT_CHECK(4</div></div>
+<div class="ttc" id="log_8h_html_a938a283d9a10c3ddfe46dfc22e21077f"><div class="ttname"><a href="log_8h.html#a938a283d9a10c3ddfe46dfc22e21077f">gpr_log</a></div><div class="ttdeci">GPRAPI void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...) GPR_PRINT_FORMAT_CHECK(4</div><div class="ttdoc">Log a message. </div></div>
 </div><!-- fragment -->
 </div>
 </div>
@@ -300,7 +300,7 @@ Macros</h2></td></tr>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 132 - 126
core/impl_2codegen_2port__platform_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -382,139 +382,145 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
 <div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* GPR_NO_AUTODETECT_PLATFORM */</span><span class="preprocessor"></span></div>
 <div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="preprocessor">#ifndef GPR_PLATFORM_STRING</span></div>
-<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#warning &quot;GPR_PLATFORM_STRING not auto-detected&quot;</span></div>
-<div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#a99f34e9b119908109486e91abedc933e">  295</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_PLATFORM_STRING &quot;unknown&quot;</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="preprocessor">#ifdef GPR_GCOV</span></div>
-<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#undef GPR_FORBID_UNREACHABLE_CODE</span></div>
-<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_FORBID_UNREACHABLE_CODE 1</span></div>
-<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="preprocessor">#ifdef _MSC_VER</span></div>
-<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifdef _PYTHON_MSVC</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="preprocessor"></span><span class="comment">// The Python 3.5 Windows runtime is missing InetNtop</span></div>
-<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="preprocessor">#define GPR_WIN_INET_NTOP</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif  // _PYTHON_MSVC</span></div>
-<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#if _MSC_VER &lt; 1700</span></div>
-<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<span class="preprocessor"></span><span class="keyword">typedef</span> __int8 int8_t;</div>
-<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;<span class="keyword">typedef</span> __int16 int16_t;</div>
-<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">typedef</span> __int32 int32_t;</div>
-<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="keyword">typedef</span> __int64 int64_t;</div>
-<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> __int8 uint8_t;</div>
-<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> __int16 uint16_t;</div>
-<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> __int32 uint32_t;</div>
-<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> __int64 uint64_t;</div>
-<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
-<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _MSC_VER &lt; 1700 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
-<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _MSC_VER */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;<span class="comment">/* Cache line alignment */</span></div>
-<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;<span class="preprocessor">#ifndef GPR_CACHELINE_SIZE_LOG</span></div>
-<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#if defined(__i386__) || defined(__x86_64__)</span></div>
-<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_CACHELINE_SIZE_LOG 6</span></div>
-<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifndef GPR_CACHELINE_SIZE_LOG</span></div>
-<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="preprocessor"></span><span class="comment">/* A reasonable default guess. Note that overestimates tend to waste more</span></div>
-<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="comment">   space, while underestimates tend to waste more time. */</span></div>
-<div class="line"><a name="l00332"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#a4e8b19add0d8d0be9464f748be985576">  332</a></span>&#160;<span class="preprocessor">#define GPR_CACHELINE_SIZE_LOG 6</span></div>
-<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* GPR_CACHELINE_SIZE_LOG */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* GPR_CACHELINE_SIZE_LOG */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00336"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#ad9b7cc620233bbab0bc57cfbbe9519ad">  336</a></span>&#160;<span class="preprocessor">#define GPR_CACHELINE_SIZE (1 &lt;&lt; GPR_CACHELINE_SIZE_LOG)</span></div>
-<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;<span class="comment">/* scrub GCC_ATOMIC if it&#39;s not available on this compiler */</span></div>
-<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;<span class="preprocessor">#if defined(GPR_GCC_ATOMIC) &amp;&amp; !defined(__ATOMIC_RELAXED)</span></div>
-<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#undef GPR_GCC_ATOMIC</span></div>
-<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_GCC_SYNC 1</span></div>
-<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="preprocessor">#if defined(__has_include)</span></div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#if __has_include(&lt;atomic&gt;)</span></div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_HAS_CXX11_ATOMIC</span></div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* __has_include(&lt;atomic&gt;) */</span><span class="preprocessor"></span></div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* defined(__has_include) */</span><span class="preprocessor"></span></div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="preprocessor">#ifndef GPR_PLATFORM_STRING</span></div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#warning &quot;GPR_PLATFORM_STRING not auto-detected&quot;</span></div>
+<div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#a99f34e9b119908109486e91abedc933e">  301</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_PLATFORM_STRING &quot;unknown&quot;</span></div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#ifdef GPR_GCOV</span></div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#undef GPR_FORBID_UNREACHABLE_CODE</span></div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_FORBID_UNREACHABLE_CODE 1</span></div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<span class="preprocessor">#ifdef _MSC_VER</span></div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifdef _PYTHON_MSVC</span></div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="preprocessor"></span><span class="comment">// The Python 3.5 Windows runtime is missing InetNtop</span></div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="preprocessor">#define GPR_WIN_INET_NTOP</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif  // _PYTHON_MSVC</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#if _MSC_VER &lt; 1700</span></div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="preprocessor"></span><span class="keyword">typedef</span> __int8 int8_t;</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="keyword">typedef</span> __int16 int16_t;</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;<span class="keyword">typedef</span> __int32 int32_t;</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;<span class="keyword">typedef</span> __int64 int64_t;</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> __int8 uint8_t;</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> __int16 uint16_t;</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> __int32 uint32_t;</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> __int64 uint64_t;</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _MSC_VER &lt; 1700 */</span><span class="preprocessor"></span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _MSC_VER */</span><span class="preprocessor"></span></div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="comment">/* Cache line alignment */</span></div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="preprocessor">#ifndef GPR_CACHELINE_SIZE_LOG</span></div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#if defined(__i386__) || defined(__x86_64__)</span></div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_CACHELINE_SIZE_LOG 6</span></div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifndef GPR_CACHELINE_SIZE_LOG</span></div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;<span class="preprocessor"></span><span class="comment">/* A reasonable default guess. Note that overestimates tend to waste more</span></div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;<span class="comment">   space, while underestimates tend to waste more time. */</span></div>
+<div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#a4e8b19add0d8d0be9464f748be985576">  338</a></span>&#160;<span class="preprocessor">#define GPR_CACHELINE_SIZE_LOG 6</span></div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* GPR_CACHELINE_SIZE_LOG */</span><span class="preprocessor"></span></div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* GPR_CACHELINE_SIZE_LOG */</span><span class="preprocessor"></span></div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#ad9b7cc620233bbab0bc57cfbbe9519ad">  342</a></span>&#160;<span class="preprocessor">#define GPR_CACHELINE_SIZE (1 &lt;&lt; GPR_CACHELINE_SIZE_LOG)</span></div>
 <div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="comment">/* Validate platform combinations */</span></div>
-<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;<span class="preprocessor">#if defined(GPR_GCC_ATOMIC) + defined(GPR_GCC_SYNC) + \</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;<span class="preprocessor">        defined(GPR_WINDOWS_ATOMIC) !=                \</span></div>
-<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="preprocessor">    1</span></div>
-<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#error Must define exactly one of GPR_GCC_ATOMIC, GPR_GCC_SYNC, GPR_WINDOWS_ATOMIC</span></div>
-<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="preprocessor">#if defined(GPR_ARCH_32) + defined(GPR_ARCH_64) != 1</span></div>
-<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#error Must define exactly one of GPR_ARCH_32, GPR_ARCH_64</span></div>
-<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;<span class="preprocessor">#if defined(GPR_CPU_LINUX) + defined(GPR_CPU_POSIX) + defined(GPR_WINDOWS) + \</span></div>
-<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;<span class="preprocessor">        defined(GPR_CPU_IPHONE) + defined(GPR_CPU_CUSTOM) !=                 \</span></div>
-<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;<span class="preprocessor">    1</span></div>
-<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#error Must define exactly one of GPR_CPU_LINUX, GPR_CPU_POSIX, GPR_WINDOWS, GPR_CPU_IPHONE, GPR_CPU_CUSTOM</span></div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="comment">/* scrub GCC_ATOMIC if it&#39;s not available on this compiler */</span></div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;<span class="preprocessor">#if defined(GPR_GCC_ATOMIC) &amp;&amp; !defined(__ATOMIC_RELAXED)</span></div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#undef GPR_GCC_ATOMIC</span></div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_GCC_SYNC 1</span></div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;<span class="comment">/* Validate platform combinations */</span></div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="preprocessor">#if defined(GPR_GCC_ATOMIC) + defined(GPR_GCC_SYNC) + \</span></div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;<span class="preprocessor">        defined(GPR_WINDOWS_ATOMIC) !=                \</span></div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;<span class="preprocessor">    1</span></div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#error Must define exactly one of GPR_GCC_ATOMIC, GPR_GCC_SYNC, GPR_WINDOWS_ATOMIC</span></div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;<span class="preprocessor">#if defined(GPR_ARCH_32) + defined(GPR_ARCH_64) != 1</span></div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#error Must define exactly one of GPR_ARCH_32, GPR_ARCH_64</span></div>
 <div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
 <div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;<span class="preprocessor">#if defined(GPR_MSVC_TLS) + defined(GPR_GCC_TLS) + defined(GPR_PTHREAD_TLS) + \</span></div>
-<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;<span class="preprocessor">        defined(GPR_CUSTOM_TLS) !=                                            \</span></div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;<span class="preprocessor">#if defined(GPR_CPU_LINUX) + defined(GPR_CPU_POSIX) + defined(GPR_WINDOWS) + \</span></div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;<span class="preprocessor">        defined(GPR_CPU_IPHONE) + defined(GPR_CPU_CUSTOM) !=                 \</span></div>
 <div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;<span class="preprocessor">    1</span></div>
-<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#error Must define exactly one of GPR_MSVC_TLS, GPR_GCC_TLS, GPR_PTHREAD_TLS, GPR_CUSTOM_TLS</span></div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#error Must define exactly one of GPR_CPU_LINUX, GPR_CPU_POSIX, GPR_WINDOWS, GPR_CPU_IPHONE, GPR_CPU_CUSTOM</span></div>
 <div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
 <div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;<span class="comment">/* maximum alignment needed for any type on this platform, rounded up to a</span></div>
-<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="comment">   power of two */</span></div>
-<div class="line"><a name="l00369"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#a53c934fa255faf3f8c4f028df105c8e2">  369</a></span>&#160;<span class="preprocessor">#define GPR_MAX_ALIGNMENT 16</span></div>
-<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;<span class="preprocessor">#ifndef GRPC_ARES</span></div>
-<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifdef GPR_WINDOWS</span></div>
-<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_ARES 0</span></div>
-<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00375"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#ab977d82eab38f56b6234fc503f4d51c6">  375</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_ARES 1</span></div>
-<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;<span class="preprocessor">#ifndef GRPC_MUST_USE_RESULT</span></div>
-<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#if defined(__GNUC__) &amp;&amp; !defined(__MINGW32__)</span></div>
-<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_MUST_USE_RESULT __attribute__((warn_unused_result))</span></div>
-<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_ALIGN_STRUCT(n) __attribute__((aligned(n)))</span></div>
-<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00384"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#aef49047a3be38448a61332117b306686">  384</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_MUST_USE_RESULT</span></div>
-<div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#aafd38282877816cf1eea110c65fdf14b">  385</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_ALIGN_STRUCT(n)</span></div>
-<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;<span class="preprocessor">#ifndef GPR_PRINT_FORMAT_CHECK</span></div>
-<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifdef __GNUC__</span></div>
-<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_PRINT_FORMAT_CHECK(FORMAT_STR, ARGS) \</span></div>
-<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;<span class="preprocessor">  __attribute__((format(printf, FORMAT_STR, ARGS)))</span></div>
-<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00394"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#a3364659cddcdfeae3897c3300de03d05">  394</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_PRINT_FORMAT_CHECK(FORMAT_STR, ARGS)</span></div>
-<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* GPR_PRINT_FORMAT_CHECK */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;<span class="preprocessor">#if GPR_FORBID_UNREACHABLE_CODE</span></div>
-<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_UNREACHABLE_CODE(STATEMENT)</span></div>
-<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#ab75d366740f8322e795ab0d44ed9d958">  401</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_UNREACHABLE_CODE(STATEMENT)             \</span></div>
-<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;<span class="preprocessor">  do {                                              \</span></div>
-<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;<span class="preprocessor">    gpr_log(GPR_ERROR, &quot;Should never reach here.&quot;); \</span></div>
-<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;<span class="preprocessor">    abort();                                        \</span></div>
-<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;<span class="preprocessor">    STATEMENT;                                      \</span></div>
-<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;<span class="preprocessor">  } while (0)</span></div>
-<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* GPR_FORBID_UNREACHABLE_CODE */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;<span class="preprocessor">#ifndef GPRAPI</span></div>
-<div class="line"><a name="l00410"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">  410</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPRAPI</span></div>
-<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;<span class="preprocessor">#ifndef GRPCAPI</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">  414</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPCAPI GPRAPI</span></div>
-<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;<span class="preprocessor">#ifndef CENSUSAPI</span></div>
-<div class="line"><a name="l00418"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">  418</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define CENSUSAPI GRPCAPI</span></div>
-<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_IMPL_CODEGEN_PORT_PLATFORM_H */</span><span class="preprocessor"></span></div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;<span class="preprocessor">#if defined(GPR_MSVC_TLS) + defined(GPR_GCC_TLS) + defined(GPR_PTHREAD_TLS) + \</span></div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="preprocessor">        defined(GPR_CUSTOM_TLS) !=                                            \</span></div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;<span class="preprocessor">    1</span></div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#error Must define exactly one of GPR_MSVC_TLS, GPR_GCC_TLS, GPR_PTHREAD_TLS, GPR_CUSTOM_TLS</span></div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="comment">/* maximum alignment needed for any type on this platform, rounded up to a</span></div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;<span class="comment">   power of two */</span></div>
+<div class="line"><a name="l00375"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#a53c934fa255faf3f8c4f028df105c8e2">  375</a></span>&#160;<span class="preprocessor">#define GPR_MAX_ALIGNMENT 16</span></div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;<span class="preprocessor">#ifndef GRPC_ARES</span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifdef GPR_WINDOWS</span></div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_ARES 0</span></div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#ab977d82eab38f56b6234fc503f4d51c6">  381</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_ARES 1</span></div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;<span class="preprocessor">#ifndef GRPC_MUST_USE_RESULT</span></div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#if defined(__GNUC__) &amp;&amp; !defined(__MINGW32__)</span></div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_MUST_USE_RESULT __attribute__((warn_unused_result))</span></div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_ALIGN_STRUCT(n) __attribute__((aligned(n)))</span></div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#aef49047a3be38448a61332117b306686">  390</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_MUST_USE_RESULT</span></div>
+<div class="line"><a name="l00391"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#aafd38282877816cf1eea110c65fdf14b">  391</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_ALIGN_STRUCT(n)</span></div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;<span class="preprocessor">#ifndef GPR_PRINT_FORMAT_CHECK</span></div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifdef __GNUC__</span></div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_PRINT_FORMAT_CHECK(FORMAT_STR, ARGS) \</span></div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;<span class="preprocessor">  __attribute__((format(printf, FORMAT_STR, ARGS)))</span></div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00400"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#a3364659cddcdfeae3897c3300de03d05">  400</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_PRINT_FORMAT_CHECK(FORMAT_STR, ARGS)</span></div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* GPR_PRINT_FORMAT_CHECK */</span><span class="preprocessor"></span></div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;<span class="preprocessor">#if GPR_FORBID_UNREACHABLE_CODE</span></div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_UNREACHABLE_CODE(STATEMENT)</span></div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00407"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#ab75d366740f8322e795ab0d44ed9d958">  407</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_UNREACHABLE_CODE(STATEMENT)             \</span></div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;<span class="preprocessor">  do {                                              \</span></div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;<span class="preprocessor">    gpr_log(GPR_ERROR, &quot;Should never reach here.&quot;); \</span></div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;<span class="preprocessor">    abort();                                        \</span></div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;<span class="preprocessor">    STATEMENT;                                      \</span></div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;<span class="preprocessor">  } while (0)</span></div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* GPR_FORBID_UNREACHABLE_CODE */</span><span class="preprocessor"></span></div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;<span class="preprocessor">#ifndef GPRAPI</span></div>
+<div class="line"><a name="l00416"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#af89d3610372fc35178e83e06916aa808">  416</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPRAPI</span></div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;<span class="preprocessor">#ifndef GRPCAPI</span></div>
+<div class="line"><a name="l00420"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#a2865c3b28ea7db75be4c725adb1edc7d">  420</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPCAPI GPRAPI</span></div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;<span class="preprocessor">#ifndef CENSUSAPI</span></div>
+<div class="line"><a name="l00424"></a><span class="lineno"><a class="line" href="impl_2codegen_2port__platform_8h.html#a3f6006f19ae6445e4a42f9d16b720ad7">  424</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define CENSUSAPI GRPCAPI</span></div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_IMPL_CODEGEN_PORT_PLATFORM_H */</span><span class="preprocessor"></span></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 19 - 5
core/impl_2codegen_2slice_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -94,8 +94,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="title">slice.h File Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="textblock"><code>#include &lt;stddef.h&gt;</code><br/>
-<code>#include &lt;stdint.h&gt;</code><br/>
+<div class="textblock"><code>#include &lt;<a class="el" href="impl_2codegen_2port__platform_8h_source.html">grpc/impl/codegen/port_platform.h</a>&gt;</code><br/>
+<code>#include &lt;stddef.h&gt;</code><br/>
 <code>#include &lt;<a class="el" href="exec__ctx__fwd_8h_source.html">grpc/impl/codegen/exec_ctx_fwd.h</a>&gt;</code><br/>
 <code>#include &lt;<a class="el" href="gpr__slice_8h_source.html">grpc/impl/codegen/gpr_slice.h</a>&gt;</code><br/>
 </div>
@@ -104,12 +104,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
 Data Structures</h2></td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__slice__refcount__vtable.html">grpc_slice_refcount_vtable</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Slice API.  <a href="structgrpc__slice__refcount__vtable.html#details">More...</a><br/></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__slice__refcount.html">grpc_slice_refcount</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reference count container for <a class="el" href="structgrpc__slice.html" title="A grpc_slice s, if initialized, represents the byte range s.bytes[0..s.length-1]. ...">grpc_slice</a>.  <a href="structgrpc__slice__refcount.html#details">More...</a><br/></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__slice.html">grpc_slice</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a class="el" href="structgrpc__slice.html" title="A grpc_slice s, if initialized, represents the byte range s.bytes[0..s.length-1]. ...">grpc_slice</a> s, if initialized, represents the byte range s.bytes[0..s.length-1].  <a href="structgrpc__slice.html#details">More...</a><br/></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc__slice__buffer.html">grpc_slice_buffer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents an expandable array of slices, to be interpreted as a single item.  <a href="structgrpc__slice__buffer.html#details">More...</a><br/></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
@@ -135,8 +139,10 @@ Typedefs</h2></td></tr>
 <tr class="separator:a2a5f8eaa5d8784bfec46ac983644dca2"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a0ba9a84b74d6308678a2f53212b5b3fd"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
 <a class="el" href="structgrpc__slice__refcount__vtable.html">grpc_slice_refcount_vtable</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="impl_2codegen_2slice_8h.html#a0ba9a84b74d6308678a2f53212b5b3fd">grpc_slice_refcount_vtable</a></td></tr>
+<tr class="memdesc:a0ba9a84b74d6308678a2f53212b5b3fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Slice API.  <a href="#a0ba9a84b74d6308678a2f53212b5b3fd">More...</a><br/></td></tr>
 <tr class="separator:a0ba9a84b74d6308678a2f53212b5b3fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:acb7fc89ea8343fde6d0c09f1ea70dbc4"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structgrpc__slice__refcount.html">grpc_slice_refcount</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="impl_2codegen_2slice_8h.html#acb7fc89ea8343fde6d0c09f1ea70dbc4">grpc_slice_refcount</a></td></tr>
+<tr class="memdesc:acb7fc89ea8343fde6d0c09f1ea70dbc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reference count container for <a class="el" href="structgrpc__slice.html" title="A grpc_slice s, if initialized, represents the byte range s.bytes[0..s.length-1]. ...">grpc_slice</a>.  <a href="#acb7fc89ea8343fde6d0c09f1ea70dbc4">More...</a><br/></td></tr>
 <tr class="separator:acb7fc89ea8343fde6d0c09f1ea70dbc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <h2 class="groupheader">Macro Definition Documentation</h2>
@@ -283,6 +289,9 @@ Typedefs</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Reference count container for <a class="el" href="structgrpc__slice.html" title="A grpc_slice s, if initialized, represents the byte range s.bytes[0..s.length-1]. ...">grpc_slice</a>. </p>
+<p>Contains function pointers to increment and decrement reference counts. Implementations should cleanup when the reference count drops to zero. Typically client code should not touch this, and use grpc_slice_malloc, grpc_slice_new, or grpc_slice_new_with_len instead. </p>
+
 </div>
 </div>
 <a class="anchor" id="a0ba9a84b74d6308678a2f53212b5b3fd"></a>
@@ -295,12 +304,17 @@ Typedefs</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>Slice API. </p>
+<p>A slice represents a contiguous reference counted array of bytes. It is cheap to take references to a slice, and it is cheap to create a slice pointing to a subset of another slice.</p>
+<p>The data-structure for slices is exposed here to allow non-gpr code to build slices from whatever data they have available.</p>
+<p>When defining interfaces that handle slices, care should be taken to define reference ownership semantics (who should call unref?) and mutability constraints (is the callee allowed to modify the slice?) </p>
+
 </div>
 </div>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 108 - 147
core/impl_2codegen_2slice_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -126,160 +126,121 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#ifndef GRPC_IMPL_CODEGEN_SLICE_H</span></div>
 <div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_IMPL_CODEGEN_SLICE_H</span></div>
 <div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;stddef.h&gt;</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="exec__ctx__fwd_8h.html">grpc/impl/codegen/exec_ctx_fwd.h</a>&gt;</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="gpr__slice_8h.html">grpc/impl/codegen/gpr_slice.h</a>&gt;</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
-<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="impl_2codegen_2slice_8h.html#a2a5f8eaa5d8784bfec46ac983644dca2">   43</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__slice.html">grpc_slice</a> <a class="code" href="structgrpc__slice.html">grpc_slice</a>;</div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Slice API</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">   A slice represents a contiguous reference counted array of bytes.</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">   It is cheap to take references to a slice, and it is cheap to create a</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">   slice pointing to a subset of another slice.</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">   The data-structure for slices is exposed here to allow non-gpr code to</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">   build slices from whatever data they have available.</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">   When defining interfaces that handle slices, care should be taken to define</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">   reference ownership semantics (who should call unref?) and mutability</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">   constraints (is the callee allowed to modify the slice?) */</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div>
-<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="structgrpc__slice__refcount__vtable.html">   58</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__slice__refcount__vtable.html">grpc_slice_refcount_vtable</a> {</div>
-<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="structgrpc__slice__refcount__vtable.html#aab9280224bc6e9e86fabe51ea90f216b">   59</a></span>&#160;  void (*<a class="code" href="structgrpc__slice__refcount__vtable.html#aab9280224bc6e9e86fabe51ea90f216b">ref</a>)(<span class="keywordtype">void</span> *);</div>
-<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="structgrpc__slice__refcount__vtable.html#a791191ed3fb5c11e2fd234adf28e4707">   60</a></span>&#160;  void (*<a class="code" href="structgrpc__slice__refcount__vtable.html#a791191ed3fb5c11e2fd234adf28e4707">unref</a>)(<a class="code" href="exec__ctx__fwd_8h.html#aabc6a414771ff6697446fc9d5d708057">grpc_exec_ctx</a> *exec_ctx, <span class="keywordtype">void</span> *);</div>
-<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="structgrpc__slice__refcount__vtable.html#a9f914a5a0b094a7343a23894b1a2de40">   61</a></span>&#160;  int (*<a class="code" href="structgrpc__slice__refcount__vtable.html#a9f914a5a0b094a7343a23894b1a2de40">eq</a>)(<a class="code" href="structgrpc__slice.html">grpc_slice</a> a, <a class="code" href="structgrpc__slice.html">grpc_slice</a> b);</div>
-<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structgrpc__slice__refcount__vtable.html#a38e78e171f83371fe401c0c349309798">   62</a></span>&#160;  uint32_t (*<a class="code" href="structgrpc__slice__refcount__vtable.html#a38e78e171f83371fe401c0c349309798">hash</a>)(<a class="code" href="structgrpc__slice.html">grpc_slice</a> slice);</div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;} <a class="code" href="impl_2codegen_2slice_8h.html#a0ba9a84b74d6308678a2f53212b5b3fd">grpc_slice_refcount_vtable</a>;</div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">/* Reference count container for grpc_slice. Contains function pointers to</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">   increment and decrement reference counts. Implementations should cleanup</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">   when the reference count drops to zero.</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">   Typically client code should not touch this, and use grpc_slice_malloc,</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">   grpc_slice_new, or grpc_slice_new_with_len instead. */</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="structgrpc__slice__refcount.html">   70</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__slice__refcount.html">grpc_slice_refcount</a> {</div>
-<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="structgrpc__slice__refcount.html#ab35b82d586e9ca84f9d42af591616f98">   71</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="structgrpc__slice__refcount__vtable.html">grpc_slice_refcount_vtable</a> *<a class="code" href="structgrpc__slice__refcount.html#ab35b82d586e9ca84f9d42af591616f98">vtable</a>;</div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  <span class="comment">/* If a subset of this slice is taken, use this pointer for the refcount.</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">     Typically points back to the refcount itself, however iterning</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">     implementations can use this to avoid a verification step on each hash</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">     or equality check */</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="structgrpc__slice__refcount.html#a113ae62eac88e4180feb9ecc80e0f2f9">   76</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="structgrpc__slice__refcount.html">grpc_slice_refcount</a> *<a class="code" href="structgrpc__slice__refcount.html#a113ae62eac88e4180feb9ecc80e0f2f9">sub_refcount</a>;</div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;} <a class="code" href="impl_2codegen_2slice_8h.html#acb7fc89ea8343fde6d0c09f1ea70dbc4">grpc_slice_refcount</a>;</div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="impl_2codegen_2slice_8h.html#ae65fc74cb3afbcd3299a1c93f90bae20">   79</a></span>&#160;<span class="preprocessor">#define GRPC_SLICE_INLINED_SIZE (sizeof(size_t) + sizeof(uint8_t *) - 1)</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment">/* A grpc_slice s, if initialized, represents the byte range</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">   s.bytes[0..s.length-1].</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">   It can have an associated ref count which has a destruction routine to be run</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">   when the ref count reaches zero (see grpc_slice_new() and grp_slice_unref()).</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">   Multiple grpc_slice values may share a ref count.</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment">   If the slice does not have a refcount, it represents an inlined small piece</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment">   of data that is copied by value. */</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="structgrpc__slice.html">   90</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structgrpc__slice.html">grpc_slice</a> {</div>
-<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="structgrpc__slice.html#a467ef319d024f1897c7ff3bdadb78493">   91</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="structgrpc__slice__refcount.html">grpc_slice_refcount</a> *<a class="code" href="structgrpc__slice.html#a467ef319d024f1897c7ff3bdadb78493">refcount</a>;</div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  <span class="keyword">union </span>{</div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="structgrpc__slice.html#a2906db76ad7ddaba549ccf723f361c6d">   94</a></span>&#160;      uint8_t *<a class="code" href="structgrpc__slice.html#a2906db76ad7ddaba549ccf723f361c6d">bytes</a>;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="structgrpc__slice.html#a009b6a19b442f8f4fa1858a37aac31fd">   95</a></span>&#160;      <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__slice.html#a009b6a19b442f8f4fa1858a37aac31fd">length</a>;</div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    } <a class="code" href="structgrpc__slice.html#aec2c91588f0932cae0454d9f84777324">refcounted</a>;</div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="structgrpc__slice.html#ac7fc18f903b510ccb4eea00df42c0181">   98</a></span>&#160;      uint8_t <a class="code" href="structgrpc__slice.html#ac7fc18f903b510ccb4eea00df42c0181">length</a>;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="structgrpc__slice.html#ab907f771b5785a1ebeb24679d503facf">   99</a></span>&#160;      uint8_t <a class="code" href="structgrpc__slice.html#a2906db76ad7ddaba549ccf723f361c6d">bytes</a>[<a class="code" href="impl_2codegen_2slice_8h.html#ae65fc74cb3afbcd3299a1c93f90bae20">GRPC_SLICE_INLINED_SIZE</a>];</div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    } <a class="code" href="structgrpc__slice.html#a11faeefc4356e324b379ef03f528cf0c">inlined</a>;</div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  } <a class="code" href="structgrpc__slice.html#a32c399d6e3c813a7586c92ef1bd88030">data</a>;</div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;};</div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="impl_2codegen_2slice_8h.html#a81db47a2be0a079aa797cd77f3864809">  104</a></span>&#160;<span class="preprocessor">#define GRPC_SLICE_BUFFER_INLINE_ELEMENTS 8</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="comment">/* Represents an expandable array of slices, to be interpreted as a</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">   single item. */</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="structgrpc__slice__buffer.html">  108</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  <span class="comment">/* This is for internal use only. External users (i.e any code outside grpc</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="comment">   * core) MUST NOT use this field */</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structgrpc__slice__buffer.html#a52a8e83b31006d685d98ce4db16520d8">  111</a></span>&#160;  <a class="code" href="structgrpc__slice.html">grpc_slice</a> *<a class="code" href="structgrpc__slice__buffer.html#a52a8e83b31006d685d98ce4db16520d8">base_slices</a>;</div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  <span class="comment">/* slices in the array (Points to the first valid grpc_slice in the array) */</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="structgrpc__slice__buffer.html#ac37e9d19ec31eab8f429d2b4af908256">  114</a></span>&#160;  <a class="code" href="structgrpc__slice.html">grpc_slice</a> *<a class="code" href="structgrpc__slice__buffer.html#ac37e9d19ec31eab8f429d2b4af908256">slices</a>;</div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  <span class="comment">/* the number of slices in the array */</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="structgrpc__slice__buffer.html#ac6b9b99f100ac02280fe6ba0edc754cc">  116</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__slice__buffer.html#ac6b9b99f100ac02280fe6ba0edc754cc">count</a>;</div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;  <span class="comment">/* the number of slices allocated in the array. External users (i.e any code</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="comment">   * outside grpc core) MUST NOT use this field */</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="structgrpc__slice__buffer.html#a8f35fa07c9a4d9f9a4e088a1155e5833">  119</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__slice__buffer.html#a8f35fa07c9a4d9f9a4e088a1155e5833">capacity</a>;</div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <span class="comment">/* the combined length of all slices in the array */</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="structgrpc__slice__buffer.html#ad796dcdd16fbb680a7a5368228d20127">  121</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__slice__buffer.html#ad796dcdd16fbb680a7a5368228d20127">length</a>;</div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  <span class="comment">/* inlined elements to avoid allocations */</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="structgrpc__slice__buffer.html#a27c76a4e972a41ab5ac6504c4426fab9">  123</a></span>&#160;  <a class="code" href="structgrpc__slice.html">grpc_slice</a> inlined[<a class="code" href="impl_2codegen_2slice_8h.html#a81db47a2be0a079aa797cd77f3864809">GRPC_SLICE_BUFFER_INLINE_ELEMENTS</a>];</div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;} <a class="code" href="structgrpc__slice__buffer.html">grpc_slice_buffer</a>;</div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="impl_2codegen_2slice_8h.html#a8a15783c251cdeb18c3f8b0ad41d0352">  126</a></span>&#160;<span class="preprocessor">#define GRPC_SLICE_START_PTR(slice)                 \</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor">  ((slice).refcount ? (slice).data.refcounted.bytes \</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="preprocessor">                    : (slice).data.inlined.bytes)</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="impl_2codegen_2slice_8h.html#ae965fb2ee1a646253cdbd49d82b0b6c5">  129</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_SLICE_LENGTH(slice)                     \</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="preprocessor">  ((slice).refcount ? (slice).data.refcounted.length \</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor">                    : (slice).data.inlined.length)</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="impl_2codegen_2slice_8h.html#a6791fa7be0a1a9144e005cfea7baea84">  132</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_SLICE_SET_LENGTH(slice, newlen)                              \</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor">  ((slice).refcount ? ((slice).data.refcounted.length = (size_t)(newlen)) \</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor">                    : ((slice).data.inlined.length = (uint8_t)(newlen)))</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="impl_2codegen_2slice_8h.html#a96535019e10a540192c1f276ec049a56">  135</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_SLICE_END_PTR(slice) \</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">  GRPC_SLICE_START_PTR(slice) + GRPC_SLICE_LENGTH(slice)</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="impl_2codegen_2slice_8h.html#a829178b3baec8b96a992a5607ad3ed93">  137</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_SLICE_IS_EMPTY(slice) (GRPC_SLICE_LENGTH(slice) == 0)</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="preprocessor">#ifdef GRPC_ALLOW_GPR_SLICE_FUNCTIONS</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="comment">/* Duplicate GPR_* definitions */</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="preprocessor">#define GPR_SLICE_START_PTR(slice)                  \</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">  ((slice).refcount ? (slice).data.refcounted.bytes \</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="preprocessor">                    : (slice).data.inlined.bytes)</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_SLICE_LENGTH(slice)                      \</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="preprocessor">  ((slice).refcount ? (slice).data.refcounted.length \</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="preprocessor">                    : (slice).data.inlined.length)</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_SLICE_SET_LENGTH(slice, newlen)                               \</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="preprocessor">  ((slice).refcount ? ((slice).data.refcounted.length = (size_t)(newlen)) \</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="preprocessor">                    : ((slice).data.inlined.length = (uint8_t)(newlen)))</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_SLICE_END_PTR(slice) \</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="preprocessor">  GRPC_SLICE_START_PTR(slice) + GRPC_SLICE_LENGTH(slice)</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_SLICE_IS_EMPTY(slice) (GRPC_SLICE_LENGTH(slice) == 0)</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_ALLOW_GPR_SLICE_FUNCTIONS */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_IMPL_CODEGEN_SLICE_H */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="impl_2codegen_2slice_8h_html_a0ba9a84b74d6308678a2f53212b5b3fd"><div class="ttname"><a href="impl_2codegen_2slice_8h.html#a0ba9a84b74d6308678a2f53212b5b3fd">grpc_slice_refcount_vtable</a></div><div class="ttdeci">struct grpc_slice_refcount_vtable grpc_slice_refcount_vtable</div></div>
-<div class="ttc" id="structgrpc__slice__refcount_html"><div class="ttname"><a href="structgrpc__slice__refcount.html">grpc_slice_refcount</a></div><div class="ttdef"><b>Definition:</b> slice.h:70</div></div>
-<div class="ttc" id="structgrpc__slice__refcount_html_a113ae62eac88e4180feb9ecc80e0f2f9"><div class="ttname"><a href="structgrpc__slice__refcount.html#a113ae62eac88e4180feb9ecc80e0f2f9">grpc_slice_refcount::sub_refcount</a></div><div class="ttdeci">struct grpc_slice_refcount * sub_refcount</div><div class="ttdef"><b>Definition:</b> slice.h:76</div></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="impl_2codegen_2port__platform_8h.html">grpc/impl/codegen/port_platform.h</a>&gt;</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &lt;stddef.h&gt;</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="exec__ctx__fwd_8h.html">grpc/impl/codegen/exec_ctx_fwd.h</a>&gt;</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="gpr__slice_8h.html">grpc/impl/codegen/gpr_slice.h</a>&gt;</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="impl_2codegen_2slice_8h.html#a2a5f8eaa5d8784bfec46ac983644dca2">   44</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__slice.html">grpc_slice</a> <a class="code" href="structgrpc__slice.html">grpc_slice</a>;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div>
+<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="structgrpc__slice__refcount__vtable.html">   59</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__slice__refcount__vtable.html">grpc_slice_refcount_vtable</a> {</div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="structgrpc__slice__refcount__vtable.html#aab9280224bc6e9e86fabe51ea90f216b">   60</a></span>&#160;  void (*<a class="code" href="structgrpc__slice__refcount__vtable.html#aab9280224bc6e9e86fabe51ea90f216b">ref</a>)(<span class="keywordtype">void</span> *);</div>
+<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="structgrpc__slice__refcount__vtable.html#a791191ed3fb5c11e2fd234adf28e4707">   61</a></span>&#160;  void (*<a class="code" href="structgrpc__slice__refcount__vtable.html#a791191ed3fb5c11e2fd234adf28e4707">unref</a>)(<a class="code" href="exec__ctx__fwd_8h.html#aabc6a414771ff6697446fc9d5d708057">grpc_exec_ctx</a> *exec_ctx, <span class="keywordtype">void</span> *);</div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structgrpc__slice__refcount__vtable.html#a9f914a5a0b094a7343a23894b1a2de40">   62</a></span>&#160;  int (*<a class="code" href="structgrpc__slice__refcount__vtable.html#a9f914a5a0b094a7343a23894b1a2de40">eq</a>)(<a class="code" href="structgrpc__slice.html">grpc_slice</a> a, <a class="code" href="structgrpc__slice.html">grpc_slice</a> b);</div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="structgrpc__slice__refcount__vtable.html#a38e78e171f83371fe401c0c349309798">   63</a></span>&#160;  uint32_t (*<a class="code" href="structgrpc__slice__refcount__vtable.html#a38e78e171f83371fe401c0c349309798">hash</a>)(<a class="code" href="structgrpc__slice.html">grpc_slice</a> slice);</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;} <a class="code" href="impl_2codegen_2slice_8h.html#a0ba9a84b74d6308678a2f53212b5b3fd">grpc_slice_refcount_vtable</a>;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="structgrpc__slice__refcount.html">   71</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__slice__refcount.html">grpc_slice_refcount</a> {</div>
+<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="structgrpc__slice__refcount.html#ab35b82d586e9ca84f9d42af591616f98">   72</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="structgrpc__slice__refcount__vtable.html">grpc_slice_refcount_vtable</a> *<a class="code" href="structgrpc__slice__refcount.html#ab35b82d586e9ca84f9d42af591616f98">vtable</a>;</div>
+<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="structgrpc__slice__refcount.html#a113ae62eac88e4180feb9ecc80e0f2f9">   77</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="structgrpc__slice__refcount.html">grpc_slice_refcount</a> *<a class="code" href="structgrpc__slice__refcount.html#a113ae62eac88e4180feb9ecc80e0f2f9">sub_refcount</a>;</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;} <a class="code" href="impl_2codegen_2slice_8h.html#acb7fc89ea8343fde6d0c09f1ea70dbc4">grpc_slice_refcount</a>;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div>
+<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="impl_2codegen_2slice_8h.html#ae65fc74cb3afbcd3299a1c93f90bae20">   80</a></span>&#160;<span class="preprocessor">#define GRPC_SLICE_INLINED_SIZE (sizeof(size_t) + sizeof(uint8_t *) - 1)</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="structgrpc__slice.html">   91</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structgrpc__slice.html">grpc_slice</a> {</div>
+<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="structgrpc__slice.html#a467ef319d024f1897c7ff3bdadb78493">   92</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="structgrpc__slice__refcount.html">grpc_slice_refcount</a> *<a class="code" href="structgrpc__slice.html#a467ef319d024f1897c7ff3bdadb78493">refcount</a>;</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  <span class="keyword">union </span>{</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="structgrpc__slice.html#a2906db76ad7ddaba549ccf723f361c6d">   95</a></span>&#160;      uint8_t *<a class="code" href="structgrpc__slice.html#a2906db76ad7ddaba549ccf723f361c6d">bytes</a>;</div>
+<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="structgrpc__slice.html#a009b6a19b442f8f4fa1858a37aac31fd">   96</a></span>&#160;      <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__slice.html#a009b6a19b442f8f4fa1858a37aac31fd">length</a>;</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    } <a class="code" href="structgrpc__slice.html#aec2c91588f0932cae0454d9f84777324">refcounted</a>;</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="structgrpc__slice.html#ac7fc18f903b510ccb4eea00df42c0181">   99</a></span>&#160;      uint8_t <a class="code" href="structgrpc__slice.html#ac7fc18f903b510ccb4eea00df42c0181">length</a>;</div>
+<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="structgrpc__slice.html#ab907f771b5785a1ebeb24679d503facf">  100</a></span>&#160;      uint8_t <a class="code" href="structgrpc__slice.html#a2906db76ad7ddaba549ccf723f361c6d">bytes</a>[<a class="code" href="impl_2codegen_2slice_8h.html#ae65fc74cb3afbcd3299a1c93f90bae20">GRPC_SLICE_INLINED_SIZE</a>];</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    } <a class="code" href="structgrpc__slice.html#a11faeefc4356e324b379ef03f528cf0c">inlined</a>;</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  } <a class="code" href="structgrpc__slice.html#a32c399d6e3c813a7586c92ef1bd88030">data</a>;</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;};</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div>
+<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="impl_2codegen_2slice_8h.html#a81db47a2be0a079aa797cd77f3864809">  105</a></span>&#160;<span class="preprocessor">#define GRPC_SLICE_BUFFER_INLINE_ELEMENTS 8</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structgrpc__slice__buffer.html">  109</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="structgrpc__slice__buffer.html#a52a8e83b31006d685d98ce4db16520d8">  112</a></span>&#160;  <a class="code" href="structgrpc__slice.html">grpc_slice</a> *<a class="code" href="structgrpc__slice__buffer.html#a52a8e83b31006d685d98ce4db16520d8">base_slices</a>;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div>
+<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="structgrpc__slice__buffer.html#ac37e9d19ec31eab8f429d2b4af908256">  115</a></span>&#160;  <a class="code" href="structgrpc__slice.html">grpc_slice</a> *<a class="code" href="structgrpc__slice__buffer.html#ac37e9d19ec31eab8f429d2b4af908256">slices</a>;</div>
+<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="structgrpc__slice__buffer.html#ac6b9b99f100ac02280fe6ba0edc754cc">  117</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__slice__buffer.html#ac6b9b99f100ac02280fe6ba0edc754cc">count</a>;</div>
+<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="structgrpc__slice__buffer.html#a8f35fa07c9a4d9f9a4e088a1155e5833">  120</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__slice__buffer.html#a8f35fa07c9a4d9f9a4e088a1155e5833">capacity</a>;</div>
+<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="structgrpc__slice__buffer.html#ad796dcdd16fbb680a7a5368228d20127">  122</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="structgrpc__slice__buffer.html#ad796dcdd16fbb680a7a5368228d20127">length</a>;</div>
+<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="structgrpc__slice__buffer.html#a27c76a4e972a41ab5ac6504c4426fab9">  124</a></span>&#160;  <a class="code" href="structgrpc__slice.html">grpc_slice</a> inlined[<a class="code" href="impl_2codegen_2slice_8h.html#a81db47a2be0a079aa797cd77f3864809">GRPC_SLICE_BUFFER_INLINE_ELEMENTS</a>];</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;} <a class="code" href="structgrpc__slice__buffer.html">grpc_slice_buffer</a>;</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div>
+<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="impl_2codegen_2slice_8h.html#a8a15783c251cdeb18c3f8b0ad41d0352">  127</a></span>&#160;<span class="preprocessor">#define GRPC_SLICE_START_PTR(slice)                 \</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="preprocessor">  ((slice).refcount ? (slice).data.refcounted.bytes \</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="preprocessor">                    : (slice).data.inlined.bytes)</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="impl_2codegen_2slice_8h.html#ae965fb2ee1a646253cdbd49d82b0b6c5">  130</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_SLICE_LENGTH(slice)                     \</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor">  ((slice).refcount ? (slice).data.refcounted.length \</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="preprocessor">                    : (slice).data.inlined.length)</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="impl_2codegen_2slice_8h.html#a6791fa7be0a1a9144e005cfea7baea84">  133</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_SLICE_SET_LENGTH(slice, newlen)                              \</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor">  ((slice).refcount ? ((slice).data.refcounted.length = (size_t)(newlen)) \</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="preprocessor">                    : ((slice).data.inlined.length = (uint8_t)(newlen)))</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="impl_2codegen_2slice_8h.html#a96535019e10a540192c1f276ec049a56">  136</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_SLICE_END_PTR(slice) \</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="preprocessor">  GRPC_SLICE_START_PTR(slice) + GRPC_SLICE_LENGTH(slice)</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="impl_2codegen_2slice_8h.html#a829178b3baec8b96a992a5607ad3ed93">  138</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_SLICE_IS_EMPTY(slice) (GRPC_SLICE_LENGTH(slice) == 0)</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="preprocessor">#ifdef GRPC_ALLOW_GPR_SLICE_FUNCTIONS</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="comment">/* Duplicate GPR_* definitions */</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#define GPR_SLICE_START_PTR(slice)                  \</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="preprocessor">  ((slice).refcount ? (slice).data.refcounted.bytes \</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">                    : (slice).data.inlined.bytes)</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_SLICE_LENGTH(slice)                      \</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="preprocessor">  ((slice).refcount ? (slice).data.refcounted.length \</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="preprocessor">                    : (slice).data.inlined.length)</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_SLICE_SET_LENGTH(slice, newlen)                               \</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="preprocessor">  ((slice).refcount ? ((slice).data.refcounted.length = (size_t)(newlen)) \</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="preprocessor">                    : ((slice).data.inlined.length = (uint8_t)(newlen)))</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_SLICE_END_PTR(slice) \</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="preprocessor">  GRPC_SLICE_START_PTR(slice) + GRPC_SLICE_LENGTH(slice)</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GPR_SLICE_IS_EMPTY(slice) (GRPC_SLICE_LENGTH(slice) == 0)</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_ALLOW_GPR_SLICE_FUNCTIONS */</span><span class="preprocessor"></span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_IMPL_CODEGEN_SLICE_H */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="impl_2codegen_2slice_8h_html_a0ba9a84b74d6308678a2f53212b5b3fd"><div class="ttname"><a href="impl_2codegen_2slice_8h.html#a0ba9a84b74d6308678a2f53212b5b3fd">grpc_slice_refcount_vtable</a></div><div class="ttdeci">struct grpc_slice_refcount_vtable grpc_slice_refcount_vtable</div><div class="ttdoc">Slice API. </div></div>
+<div class="ttc" id="structgrpc__slice__refcount_html"><div class="ttname"><a href="structgrpc__slice__refcount.html">grpc_slice_refcount</a></div><div class="ttdoc">Reference count container for grpc_slice. </div><div class="ttdef"><b>Definition:</b> slice.h:71</div></div>
+<div class="ttc" id="structgrpc__slice__refcount_html_a113ae62eac88e4180feb9ecc80e0f2f9"><div class="ttname"><a href="structgrpc__slice__refcount.html#a113ae62eac88e4180feb9ecc80e0f2f9">grpc_slice_refcount::sub_refcount</a></div><div class="ttdeci">struct grpc_slice_refcount * sub_refcount</div><div class="ttdoc">If a subset of this slice is taken, use this pointer for the refcount. </div><div class="ttdef"><b>Definition:</b> slice.h:77</div></div>
 <div class="ttc" id="structgrpc__slice_html_a11faeefc4356e324b379ef03f528cf0c"><div class="ttname"><a href="structgrpc__slice.html#a11faeefc4356e324b379ef03f528cf0c">grpc_slice::inlined</a></div><div class="ttdeci">struct grpc_slice::@19::@21 inlined</div></div>
 <div class="ttc" id="structgrpc__slice_html_a32c399d6e3c813a7586c92ef1bd88030"><div class="ttname"><a href="structgrpc__slice.html#a32c399d6e3c813a7586c92ef1bd88030">grpc_slice::data</a></div><div class="ttdeci">union grpc_slice::@19 data</div></div>
-<div class="ttc" id="structgrpc__slice__refcount__vtable_html_a791191ed3fb5c11e2fd234adf28e4707"><div class="ttname"><a href="structgrpc__slice__refcount__vtable.html#a791191ed3fb5c11e2fd234adf28e4707">grpc_slice_refcount_vtable::unref</a></div><div class="ttdeci">void(* unref)(grpc_exec_ctx *exec_ctx, void *)</div><div class="ttdef"><b>Definition:</b> slice.h:60</div></div>
-<div class="ttc" id="structgrpc__slice_html"><div class="ttname"><a href="structgrpc__slice.html">grpc_slice</a></div><div class="ttdef"><b>Definition:</b> slice.h:90</div></div>
-<div class="ttc" id="structgrpc__slice__buffer_html_ac37e9d19ec31eab8f429d2b4af908256"><div class="ttname"><a href="structgrpc__slice__buffer.html#ac37e9d19ec31eab8f429d2b4af908256">grpc_slice_buffer::slices</a></div><div class="ttdeci">grpc_slice * slices</div><div class="ttdef"><b>Definition:</b> slice.h:114</div></div>
-<div class="ttc" id="structgrpc__slice__buffer_html"><div class="ttname"><a href="structgrpc__slice__buffer.html">grpc_slice_buffer</a></div><div class="ttdef"><b>Definition:</b> slice.h:108</div></div>
+<div class="ttc" id="structgrpc__slice__refcount__vtable_html_a791191ed3fb5c11e2fd234adf28e4707"><div class="ttname"><a href="structgrpc__slice__refcount__vtable.html#a791191ed3fb5c11e2fd234adf28e4707">grpc_slice_refcount_vtable::unref</a></div><div class="ttdeci">void(* unref)(grpc_exec_ctx *exec_ctx, void *)</div><div class="ttdef"><b>Definition:</b> slice.h:61</div></div>
+<div class="ttc" id="structgrpc__slice_html"><div class="ttname"><a href="structgrpc__slice.html">grpc_slice</a></div><div class="ttdoc">A grpc_slice s, if initialized, represents the byte range s.bytes[0..s.length-1]. ...</div><div class="ttdef"><b>Definition:</b> slice.h:91</div></div>
+<div class="ttc" id="structgrpc__slice__buffer_html_ac37e9d19ec31eab8f429d2b4af908256"><div class="ttname"><a href="structgrpc__slice__buffer.html#ac37e9d19ec31eab8f429d2b4af908256">grpc_slice_buffer::slices</a></div><div class="ttdeci">grpc_slice * slices</div><div class="ttdoc">slices in the array (Points to the first valid grpc_slice in the array) </div><div class="ttdef"><b>Definition:</b> slice.h:115</div></div>
+<div class="ttc" id="structgrpc__slice__buffer_html"><div class="ttname"><a href="structgrpc__slice__buffer.html">grpc_slice_buffer</a></div><div class="ttdoc">Represents an expandable array of slices, to be interpreted as a single item. </div><div class="ttdef"><b>Definition:</b> slice.h:109</div></div>
 <div class="ttc" id="structgrpc__slice_html_aec2c91588f0932cae0454d9f84777324"><div class="ttname"><a href="structgrpc__slice.html#aec2c91588f0932cae0454d9f84777324">grpc_slice::refcounted</a></div><div class="ttdeci">struct grpc_slice::@19::@20 refcounted</div></div>
-<div class="ttc" id="structgrpc__slice__refcount__vtable_html_aab9280224bc6e9e86fabe51ea90f216b"><div class="ttname"><a href="structgrpc__slice__refcount__vtable.html#aab9280224bc6e9e86fabe51ea90f216b">grpc_slice_refcount_vtable::ref</a></div><div class="ttdeci">void(* ref)(void *)</div><div class="ttdef"><b>Definition:</b> slice.h:59</div></div>
-<div class="ttc" id="structgrpc__slice__refcount__vtable_html"><div class="ttname"><a href="structgrpc__slice__refcount__vtable.html">grpc_slice_refcount_vtable</a></div><div class="ttdef"><b>Definition:</b> slice.h:58</div></div>
-<div class="ttc" id="structgrpc__slice__buffer_html_ad796dcdd16fbb680a7a5368228d20127"><div class="ttname"><a href="structgrpc__slice__buffer.html#ad796dcdd16fbb680a7a5368228d20127">grpc_slice_buffer::length</a></div><div class="ttdeci">size_t length</div><div class="ttdef"><b>Definition:</b> slice.h:121</div></div>
-<div class="ttc" id="structgrpc__slice__refcount__vtable_html_a9f914a5a0b094a7343a23894b1a2de40"><div class="ttname"><a href="structgrpc__slice__refcount__vtable.html#a9f914a5a0b094a7343a23894b1a2de40">grpc_slice_refcount_vtable::eq</a></div><div class="ttdeci">int(* eq)(grpc_slice a, grpc_slice b)</div><div class="ttdef"><b>Definition:</b> slice.h:61</div></div>
-<div class="ttc" id="structgrpc__slice_html_a467ef319d024f1897c7ff3bdadb78493"><div class="ttname"><a href="structgrpc__slice.html#a467ef319d024f1897c7ff3bdadb78493">grpc_slice::refcount</a></div><div class="ttdeci">struct grpc_slice_refcount * refcount</div><div class="ttdef"><b>Definition:</b> slice.h:91</div></div>
-<div class="ttc" id="structgrpc__slice__buffer_html_a52a8e83b31006d685d98ce4db16520d8"><div class="ttname"><a href="structgrpc__slice__buffer.html#a52a8e83b31006d685d98ce4db16520d8">grpc_slice_buffer::base_slices</a></div><div class="ttdeci">grpc_slice * base_slices</div><div class="ttdef"><b>Definition:</b> slice.h:111</div></div>
-<div class="ttc" id="structgrpc__slice__refcount__vtable_html_a38e78e171f83371fe401c0c349309798"><div class="ttname"><a href="structgrpc__slice__refcount__vtable.html#a38e78e171f83371fe401c0c349309798">grpc_slice_refcount_vtable::hash</a></div><div class="ttdeci">uint32_t(* hash)(grpc_slice slice)</div><div class="ttdef"><b>Definition:</b> slice.h:62</div></div>
-<div class="ttc" id="structgrpc__slice__buffer_html_a8f35fa07c9a4d9f9a4e088a1155e5833"><div class="ttname"><a href="structgrpc__slice__buffer.html#a8f35fa07c9a4d9f9a4e088a1155e5833">grpc_slice_buffer::capacity</a></div><div class="ttdeci">size_t capacity</div><div class="ttdef"><b>Definition:</b> slice.h:119</div></div>
+<div class="ttc" id="structgrpc__slice__refcount__vtable_html_aab9280224bc6e9e86fabe51ea90f216b"><div class="ttname"><a href="structgrpc__slice__refcount__vtable.html#aab9280224bc6e9e86fabe51ea90f216b">grpc_slice_refcount_vtable::ref</a></div><div class="ttdeci">void(* ref)(void *)</div><div class="ttdef"><b>Definition:</b> slice.h:60</div></div>
+<div class="ttc" id="structgrpc__slice__refcount__vtable_html"><div class="ttname"><a href="structgrpc__slice__refcount__vtable.html">grpc_slice_refcount_vtable</a></div><div class="ttdoc">Slice API. </div><div class="ttdef"><b>Definition:</b> slice.h:59</div></div>
+<div class="ttc" id="structgrpc__slice__buffer_html_ad796dcdd16fbb680a7a5368228d20127"><div class="ttname"><a href="structgrpc__slice__buffer.html#ad796dcdd16fbb680a7a5368228d20127">grpc_slice_buffer::length</a></div><div class="ttdeci">size_t length</div><div class="ttdoc">the combined length of all slices in the array </div><div class="ttdef"><b>Definition:</b> slice.h:122</div></div>
+<div class="ttc" id="structgrpc__slice__refcount__vtable_html_a9f914a5a0b094a7343a23894b1a2de40"><div class="ttname"><a href="structgrpc__slice__refcount__vtable.html#a9f914a5a0b094a7343a23894b1a2de40">grpc_slice_refcount_vtable::eq</a></div><div class="ttdeci">int(* eq)(grpc_slice a, grpc_slice b)</div><div class="ttdef"><b>Definition:</b> slice.h:62</div></div>
+<div class="ttc" id="structgrpc__slice_html_a467ef319d024f1897c7ff3bdadb78493"><div class="ttname"><a href="structgrpc__slice.html#a467ef319d024f1897c7ff3bdadb78493">grpc_slice::refcount</a></div><div class="ttdeci">struct grpc_slice_refcount * refcount</div><div class="ttdef"><b>Definition:</b> slice.h:92</div></div>
+<div class="ttc" id="structgrpc__slice__buffer_html_a52a8e83b31006d685d98ce4db16520d8"><div class="ttname"><a href="structgrpc__slice__buffer.html#a52a8e83b31006d685d98ce4db16520d8">grpc_slice_buffer::base_slices</a></div><div class="ttdeci">grpc_slice * base_slices</div><div class="ttdoc">This is for internal use only. </div><div class="ttdef"><b>Definition:</b> slice.h:112</div></div>
+<div class="ttc" id="structgrpc__slice__refcount__vtable_html_a38e78e171f83371fe401c0c349309798"><div class="ttname"><a href="structgrpc__slice__refcount__vtable.html#a38e78e171f83371fe401c0c349309798">grpc_slice_refcount_vtable::hash</a></div><div class="ttdeci">uint32_t(* hash)(grpc_slice slice)</div><div class="ttdef"><b>Definition:</b> slice.h:63</div></div>
+<div class="ttc" id="structgrpc__slice__buffer_html_a8f35fa07c9a4d9f9a4e088a1155e5833"><div class="ttname"><a href="structgrpc__slice__buffer.html#a8f35fa07c9a4d9f9a4e088a1155e5833">grpc_slice_buffer::capacity</a></div><div class="ttdeci">size_t capacity</div><div class="ttdoc">the number of slices allocated in the array. </div><div class="ttdef"><b>Definition:</b> slice.h:120</div></div>
 <div class="ttc" id="exec__ctx__fwd_8h_html_aabc6a414771ff6697446fc9d5d708057"><div class="ttname"><a href="exec__ctx__fwd_8h.html#aabc6a414771ff6697446fc9d5d708057">grpc_exec_ctx</a></div><div class="ttdeci">struct grpc_exec_ctx grpc_exec_ctx</div><div class="ttdef"><b>Definition:</b> exec_ctx_fwd.h:39</div></div>
-<div class="ttc" id="impl_2codegen_2slice_8h_html_a81db47a2be0a079aa797cd77f3864809"><div class="ttname"><a href="impl_2codegen_2slice_8h.html#a81db47a2be0a079aa797cd77f3864809">GRPC_SLICE_BUFFER_INLINE_ELEMENTS</a></div><div class="ttdeci">#define GRPC_SLICE_BUFFER_INLINE_ELEMENTS</div><div class="ttdef"><b>Definition:</b> slice.h:104</div></div>
-<div class="ttc" id="structgrpc__slice_html_a2906db76ad7ddaba549ccf723f361c6d"><div class="ttname"><a href="structgrpc__slice.html#a2906db76ad7ddaba549ccf723f361c6d">grpc_slice::bytes</a></div><div class="ttdeci">uint8_t * bytes</div><div class="ttdef"><b>Definition:</b> slice.h:94</div></div>
-<div class="ttc" id="impl_2codegen_2slice_8h_html_ae65fc74cb3afbcd3299a1c93f90bae20"><div class="ttname"><a href="impl_2codegen_2slice_8h.html#ae65fc74cb3afbcd3299a1c93f90bae20">GRPC_SLICE_INLINED_SIZE</a></div><div class="ttdeci">#define GRPC_SLICE_INLINED_SIZE</div><div class="ttdef"><b>Definition:</b> slice.h:79</div></div>
-<div class="ttc" id="structgrpc__slice_html_a009b6a19b442f8f4fa1858a37aac31fd"><div class="ttname"><a href="structgrpc__slice.html#a009b6a19b442f8f4fa1858a37aac31fd">grpc_slice::length</a></div><div class="ttdeci">size_t length</div><div class="ttdef"><b>Definition:</b> slice.h:95</div></div>
-<div class="ttc" id="impl_2codegen_2slice_8h_html_acb7fc89ea8343fde6d0c09f1ea70dbc4"><div class="ttname"><a href="impl_2codegen_2slice_8h.html#acb7fc89ea8343fde6d0c09f1ea70dbc4">grpc_slice_refcount</a></div><div class="ttdeci">struct grpc_slice_refcount grpc_slice_refcount</div></div>
-<div class="ttc" id="structgrpc__slice_html_ac7fc18f903b510ccb4eea00df42c0181"><div class="ttname"><a href="structgrpc__slice.html#ac7fc18f903b510ccb4eea00df42c0181">grpc_slice::length</a></div><div class="ttdeci">uint8_t length</div><div class="ttdef"><b>Definition:</b> slice.h:98</div></div>
-<div class="ttc" id="structgrpc__slice__buffer_html_ac6b9b99f100ac02280fe6ba0edc754cc"><div class="ttname"><a href="structgrpc__slice__buffer.html#ac6b9b99f100ac02280fe6ba0edc754cc">grpc_slice_buffer::count</a></div><div class="ttdeci">size_t count</div><div class="ttdef"><b>Definition:</b> slice.h:116</div></div>
-<div class="ttc" id="structgrpc__slice__refcount_html_ab35b82d586e9ca84f9d42af591616f98"><div class="ttname"><a href="structgrpc__slice__refcount.html#ab35b82d586e9ca84f9d42af591616f98">grpc_slice_refcount::vtable</a></div><div class="ttdeci">const grpc_slice_refcount_vtable * vtable</div><div class="ttdef"><b>Definition:</b> slice.h:71</div></div>
+<div class="ttc" id="impl_2codegen_2slice_8h_html_a81db47a2be0a079aa797cd77f3864809"><div class="ttname"><a href="impl_2codegen_2slice_8h.html#a81db47a2be0a079aa797cd77f3864809">GRPC_SLICE_BUFFER_INLINE_ELEMENTS</a></div><div class="ttdeci">#define GRPC_SLICE_BUFFER_INLINE_ELEMENTS</div><div class="ttdef"><b>Definition:</b> slice.h:105</div></div>
+<div class="ttc" id="structgrpc__slice_html_a2906db76ad7ddaba549ccf723f361c6d"><div class="ttname"><a href="structgrpc__slice.html#a2906db76ad7ddaba549ccf723f361c6d">grpc_slice::bytes</a></div><div class="ttdeci">uint8_t * bytes</div><div class="ttdef"><b>Definition:</b> slice.h:95</div></div>
+<div class="ttc" id="impl_2codegen_2slice_8h_html_ae65fc74cb3afbcd3299a1c93f90bae20"><div class="ttname"><a href="impl_2codegen_2slice_8h.html#ae65fc74cb3afbcd3299a1c93f90bae20">GRPC_SLICE_INLINED_SIZE</a></div><div class="ttdeci">#define GRPC_SLICE_INLINED_SIZE</div><div class="ttdef"><b>Definition:</b> slice.h:80</div></div>
+<div class="ttc" id="structgrpc__slice_html_a009b6a19b442f8f4fa1858a37aac31fd"><div class="ttname"><a href="structgrpc__slice.html#a009b6a19b442f8f4fa1858a37aac31fd">grpc_slice::length</a></div><div class="ttdeci">size_t length</div><div class="ttdef"><b>Definition:</b> slice.h:96</div></div>
+<div class="ttc" id="impl_2codegen_2slice_8h_html_acb7fc89ea8343fde6d0c09f1ea70dbc4"><div class="ttname"><a href="impl_2codegen_2slice_8h.html#acb7fc89ea8343fde6d0c09f1ea70dbc4">grpc_slice_refcount</a></div><div class="ttdeci">struct grpc_slice_refcount grpc_slice_refcount</div><div class="ttdoc">Reference count container for grpc_slice. </div></div>
+<div class="ttc" id="structgrpc__slice_html_ac7fc18f903b510ccb4eea00df42c0181"><div class="ttname"><a href="structgrpc__slice.html#ac7fc18f903b510ccb4eea00df42c0181">grpc_slice::length</a></div><div class="ttdeci">uint8_t length</div><div class="ttdef"><b>Definition:</b> slice.h:99</div></div>
+<div class="ttc" id="structgrpc__slice__buffer_html_ac6b9b99f100ac02280fe6ba0edc754cc"><div class="ttname"><a href="structgrpc__slice__buffer.html#ac6b9b99f100ac02280fe6ba0edc754cc">grpc_slice_buffer::count</a></div><div class="ttdeci">size_t count</div><div class="ttdoc">the number of slices in the array </div><div class="ttdef"><b>Definition:</b> slice.h:117</div></div>
+<div class="ttc" id="structgrpc__slice__refcount_html_ab35b82d586e9ca84f9d42af591616f98"><div class="ttname"><a href="structgrpc__slice__refcount.html#ab35b82d586e9ca84f9d42af591616f98">grpc_slice_refcount::vtable</a></div><div class="ttdeci">const grpc_slice_refcount_vtable * vtable</div><div class="ttdef"><b>Definition:</b> slice.h:72</div></div>
 <div class="ttc" id="exec__ctx__fwd_8h_html"><div class="ttname"><a href="exec__ctx__fwd_8h.html">exec_ctx_fwd.h</a></div></div>
+<div class="ttc" id="impl_2codegen_2port__platform_8h_html"><div class="ttname"><a href="impl_2codegen_2port__platform_8h.html">port_platform.h</a></div></div>
 <div class="ttc" id="gpr__slice_8h_html"><div class="ttname"><a href="gpr__slice_8h.html">gpr_slice.h</a></div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 35 - 3
core/impl_2codegen_2status_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -136,40 +136,72 @@ Enumerations</h2></td></tr>
 </div><div class="memdoc">
 <table class="fieldtable">
 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a35ab2a68917eb836de84cb23253108eba9da5601150b267ab5509d151fa7df201"></a>GRPC_STATUS_OK</em>&#160;</td><td class="fielddoc">
+<p>Not an error; returned on success. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a35ab2a68917eb836de84cb23253108eba30e6e0c37df1389dd4c460a53f831038"></a>GRPC_STATUS_CANCELLED</em>&#160;</td><td class="fielddoc">
+<p>The operation was cancelled (typically by the caller). </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a35ab2a68917eb836de84cb23253108eba5f02c0e431162618ab422d27fd39dd08"></a>GRPC_STATUS_UNKNOWN</em>&#160;</td><td class="fielddoc">
+<p>Unknown error. </p>
+<p>An example of where this error may be returned is if a Status value received from another address space belongs to an error-space that is not known in this address space. Also errors raised by APIs that do not return enough error information may be converted to this error. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a35ab2a68917eb836de84cb23253108eba3dd64296110db7e7fafb1062b5587731"></a>GRPC_STATUS_INVALID_ARGUMENT</em>&#160;</td><td class="fielddoc">
+<p>Client specified an invalid argument. </p>
+<p>Note that this differs from FAILED_PRECONDITION. INVALID_ARGUMENT indicates arguments that are problematic regardless of the state of the system (e.g., a malformed file name). </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a35ab2a68917eb836de84cb23253108eba5451711361db6b8d8e80be30cbb1a208"></a>GRPC_STATUS_DEADLINE_EXCEEDED</em>&#160;</td><td class="fielddoc">
+<p>Deadline expired before operation could complete. </p>
+<p>For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a35ab2a68917eb836de84cb23253108ebafdf14cb6f2da868d76b209ac490c14e2"></a>GRPC_STATUS_NOT_FOUND</em>&#160;</td><td class="fielddoc">
+<p>Some requested entity (e.g., file or directory) was not found. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a35ab2a68917eb836de84cb23253108ebad357565db8655b6635fae96a11c4009b"></a>GRPC_STATUS_ALREADY_EXISTS</em>&#160;</td><td class="fielddoc">
+<p>Some entity that we attempted to create (e.g., file or directory) already exists. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a35ab2a68917eb836de84cb23253108eba4149925007957bf1a04184d88e8293f4"></a>GRPC_STATUS_PERMISSION_DENIED</em>&#160;</td><td class="fielddoc">
+<p>The caller does not have permission to execute the specified operation. </p>
+<p>PERMISSION_DENIED must not be used for rejections caused by exhausting some resource (use RESOURCE_EXHAUSTED instead for those errors). PERMISSION_DENIED must not be used if the caller can not be identified (use UNAUTHENTICATED instead for those errors). </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a35ab2a68917eb836de84cb23253108eba1a6fd47361ad9298879dd8760ca1a0cb"></a>GRPC_STATUS_UNAUTHENTICATED</em>&#160;</td><td class="fielddoc">
+<p>The request does not have valid authentication credentials for the operation. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a35ab2a68917eb836de84cb23253108ebab1a76cb91e6992f6f7a31a7fe862e0e9"></a>GRPC_STATUS_RESOURCE_EXHAUSTED</em>&#160;</td><td class="fielddoc">
+<p>Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a35ab2a68917eb836de84cb23253108eba503abd183544b43a83bc01d999adda5f"></a>GRPC_STATUS_FAILED_PRECONDITION</em>&#160;</td><td class="fielddoc">
+<p>Operation was rejected because the system is not in a state required for the operation's execution. </p>
+<p>For example, directory to be deleted may be non-empty, an rmdir operation is applied to a non-directory, etc.</p>
+<p>A litmus test that may help a service implementor in deciding between FAILED_PRECONDITION, ABORTED, and UNAVAILABLE: (a) Use UNAVAILABLE if the client can retry just the failing call. (b) Use ABORTED if the client should retry at a higher-level (e.g., restarting a read-modify-write sequence). (c) Use FAILED_PRECONDITION if the client should not retry until the system state has been explicitly fixed. E.g., if an "rmdir" fails because the directory is non-empty, FAILED_PRECONDITION should be returned since the client should not retry unless they have first fixed up the directory by deleting files from it. (d) Use FAILED_PRECONDITION if the client performs conditional REST Get/Update/Delete on a resource and the resource on the server does not match the condition. E.g., conflicting read-modify-write on the same resource. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a35ab2a68917eb836de84cb23253108eba3570bc43d5eb08c95a7f4c24c13010d9"></a>GRPC_STATUS_ABORTED</em>&#160;</td><td class="fielddoc">
+<p>The operation was aborted, typically due to a concurrency issue like sequencer check failures, transaction aborts, etc. </p>
+<p>See litmus test above for deciding between FAILED_PRECONDITION, ABORTED, and UNAVAILABLE. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a35ab2a68917eb836de84cb23253108ebacd0d05ab2f0af48b0f535c3dd0816d9b"></a>GRPC_STATUS_OUT_OF_RANGE</em>&#160;</td><td class="fielddoc">
+<p>Operation was attempted past the valid range. </p>
+<p>E.g., seeking or reading past end of file.</p>
+<p>Unlike INVALID_ARGUMENT, this error indicates a problem that may be fixed if the system state changes. For example, a 32-bit file system will generate INVALID_ARGUMENT if asked to read at an offset that is not in the range [0,2^32-1], but it will generate OUT_OF_RANGE if asked to read from an offset past the current file size.</p>
+<p>There is a fair bit of overlap between FAILED_PRECONDITION and OUT_OF_RANGE. We recommend using OUT_OF_RANGE (the more specific error) when it applies so that callers who are iterating through a space can easily look for an OUT_OF_RANGE error to detect when they are done. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a35ab2a68917eb836de84cb23253108eba6912537b4dfd1030f50ff2f5448f1bc2"></a>GRPC_STATUS_UNIMPLEMENTED</em>&#160;</td><td class="fielddoc">
+<p>Operation is not implemented or not supported/enabled in this service. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a35ab2a68917eb836de84cb23253108ebae648dab84c58ef5b1cfeea35867c4520"></a>GRPC_STATUS_INTERNAL</em>&#160;</td><td class="fielddoc">
+<p>Internal errors. </p>
+<p>Means some invariants expected by underlying system has been broken. If you see one of these errors, something is very broken. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a35ab2a68917eb836de84cb23253108ebaad91b67998cb5df7bc6821e362189e79"></a>GRPC_STATUS_UNAVAILABLE</em>&#160;</td><td class="fielddoc">
+<p>The service is currently unavailable. </p>
+<p>This is a most likely a transient condition and may be corrected by retrying with a backoff.</p>
+<p>WARNING: Although data MIGHT not have been transmitted when this status occurs, there is NOT A GUARANTEE that the server has not seen anything. So in general it is unsafe to retry on this status code if the call is non-idempotent.</p>
+<p>See litmus test above for deciding between FAILED_PRECONDITION, ABORTED, and UNAVAILABLE. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a35ab2a68917eb836de84cb23253108eba275db05856f4af884c48e86440414db7"></a>GRPC_STATUS_DATA_LOSS</em>&#160;</td><td class="fielddoc">
+<p>Unrecoverable data loss or corruption. </p>
 </td></tr>
 <tr><td class="fieldname"><em><a class="anchor" id="a35ab2a68917eb836de84cb23253108ebab924d4c4c646bdb3130162b8e359dd96"></a>GRPC_STATUS__DO_NOT_USE</em>&#160;</td><td class="fielddoc">
+<p>Force users to include a default branch: </p>
 </td></tr>
 </table>
 
@@ -178,7 +210,7 @@ Enumerations</h2></td></tr>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 33 - 113
core/impl_2codegen_2status_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -131,151 +131,71 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#endif</span></div>
 <div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span></div>
 <div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">   41</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;  <span class="comment">/* Not an error; returned on success */</span></div>
 <div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba9da5601150b267ab5509d151fa7df201">   43</a></span>&#160;  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba9da5601150b267ab5509d151fa7df201">GRPC_STATUS_OK</a> = 0,</div>
 <div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <span class="comment">/* The operation was cancelled (typically by the caller). */</span></div>
 <div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba30e6e0c37df1389dd4c460a53f831038">   46</a></span>&#160;  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba30e6e0c37df1389dd4c460a53f831038">GRPC_STATUS_CANCELLED</a> = 1,</div>
 <div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  <span class="comment">/* Unknown error.  An example of where this error may be returned is</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">     if a Status value received from another address space belongs to</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">     an error-space that is not known in this address space.  Also</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">     errors raised by APIs that do not return enough error information</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">     may be converted to this error. */</span></div>
 <div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba5f02c0e431162618ab422d27fd39dd08">   53</a></span>&#160;  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba5f02c0e431162618ab422d27fd39dd08">GRPC_STATUS_UNKNOWN</a> = 2,</div>
 <div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;  <span class="comment">/* Client specified an invalid argument.  Note that this differs</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">     from FAILED_PRECONDITION.  INVALID_ARGUMENT indicates arguments</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">     that are problematic regardless of the state of the system</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">     (e.g., a malformed file name). */</span></div>
 <div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba3dd64296110db7e7fafb1062b5587731">   59</a></span>&#160;  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba3dd64296110db7e7fafb1062b5587731">GRPC_STATUS_INVALID_ARGUMENT</a> = 3,</div>
 <div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <span class="comment">/* Deadline expired before operation could complete.  For operations</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">     that change the state of the system, this error may be returned</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">     even if the operation has completed successfully.  For example, a</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">     successful response from a server could have been delayed long</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">     enough for the deadline to expire. */</span></div>
 <div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba5451711361db6b8d8e80be30cbb1a208">   66</a></span>&#160;  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba5451711361db6b8d8e80be30cbb1a208">GRPC_STATUS_DEADLINE_EXCEEDED</a> = 4,</div>
 <div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  <span class="comment">/* Some requested entity (e.g., file or directory) was not found. */</span></div>
 <div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebafdf14cb6f2da868d76b209ac490c14e2">   69</a></span>&#160;  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebafdf14cb6f2da868d76b209ac490c14e2">GRPC_STATUS_NOT_FOUND</a> = 5,</div>
 <div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  <span class="comment">/* Some entity that we attempted to create (e.g., file or directory)</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">     already exists. */</span></div>
 <div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebad357565db8655b6635fae96a11c4009b">   73</a></span>&#160;  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebad357565db8655b6635fae96a11c4009b">GRPC_STATUS_ALREADY_EXISTS</a> = 6,</div>
 <div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  <span class="comment">/* The caller does not have permission to execute the specified</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">     operation.  PERMISSION_DENIED must not be used for rejections</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">     caused by exhausting some resource (use RESOURCE_EXHAUSTED</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">     instead for those errors).  PERMISSION_DENIED must not be</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">     used if the caller can not be identified (use UNAUTHENTICATED</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment">     instead for those errors). */</span></div>
 <div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba4149925007957bf1a04184d88e8293f4">   81</a></span>&#160;  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba4149925007957bf1a04184d88e8293f4">GRPC_STATUS_PERMISSION_DENIED</a> = 7,</div>
 <div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  <span class="comment">/* The request does not have valid authentication credentials for the</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">     operation. */</span></div>
 <div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba1a6fd47361ad9298879dd8760ca1a0cb">   85</a></span>&#160;  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba1a6fd47361ad9298879dd8760ca1a0cb">GRPC_STATUS_UNAUTHENTICATED</a> = 16,</div>
 <div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  <span class="comment">/* Some resource has been exhausted, perhaps a per-user quota, or</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment">     perhaps the entire file system is out of space. */</span></div>
 <div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebab1a76cb91e6992f6f7a31a7fe862e0e9">   89</a></span>&#160;  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebab1a76cb91e6992f6f7a31a7fe862e0e9">GRPC_STATUS_RESOURCE_EXHAUSTED</a> = 8,</div>
 <div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <span class="comment">/* Operation was rejected because the system is not in a state</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment">     required for the operation&#39;s execution.  For example, directory</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment">     to be deleted may be non-empty, an rmdir operation is applied to</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment">     a non-directory, etc.</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment">     A litmus test that may help a service implementor in deciding</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="comment">     between FAILED_PRECONDITION, ABORTED, and UNAVAILABLE:</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment">      (a) Use UNAVAILABLE if the client can retry just the failing call.</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment">      (b) Use ABORTED if the client should retry at a higher-level</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment">          (e.g., restarting a read-modify-write sequence).</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment">      (c) Use FAILED_PRECONDITION if the client should not retry until</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment">          the system state has been explicitly fixed.  E.g., if an &quot;rmdir&quot;</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="comment">          fails because the directory is non-empty, FAILED_PRECONDITION</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment">          should be returned since the client should not retry unless</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment">          they have first fixed up the directory by deleting files from it.</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="comment">      (d) Use FAILED_PRECONDITION if the client performs conditional</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">          REST Get/Update/Delete on a resource and the resource on the</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment">          server does not match the condition. E.g., conflicting</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="comment">          read-modify-write on the same resource. */</span></div>
 <div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba503abd183544b43a83bc01d999adda5f">  110</a></span>&#160;  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba503abd183544b43a83bc01d999adda5f">GRPC_STATUS_FAILED_PRECONDITION</a> = 9,</div>
 <div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <span class="comment">/* The operation was aborted, typically due to a concurrency issue</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment">     like sequencer check failures, transaction aborts, etc.</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment">     See litmus test above for deciding between FAILED_PRECONDITION,</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment">     ABORTED, and UNAVAILABLE. */</span></div>
 <div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba3570bc43d5eb08c95a7f4c24c13010d9">  117</a></span>&#160;  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba3570bc43d5eb08c95a7f4c24c13010d9">GRPC_STATUS_ABORTED</a> = 10,</div>
 <div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <span class="comment">/* Operation was attempted past the valid range.  E.g., seeking or</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="comment">     reading past end of file.</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="comment">     Unlike INVALID_ARGUMENT, this error indicates a problem that may</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment">     be fixed if the system state changes. For example, a 32-bit file</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment">     system will generate INVALID_ARGUMENT if asked to read at an</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="comment">     offset that is not in the range [0,2^32-1], but it will generate</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="comment">     OUT_OF_RANGE if asked to read from an offset past the current</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="comment">     file size.</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="comment">     There is a fair bit of overlap between FAILED_PRECONDITION and</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="comment">     OUT_OF_RANGE.  We recommend using OUT_OF_RANGE (the more specific</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="comment">     error) when it applies so that callers who are iterating through</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="comment">     a space can easily look for an OUT_OF_RANGE error to detect when</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="comment">     they are done. */</span></div>
 <div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebacd0d05ab2f0af48b0f535c3dd0816d9b">  134</a></span>&#160;  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebacd0d05ab2f0af48b0f535c3dd0816d9b">GRPC_STATUS_OUT_OF_RANGE</a> = 11,</div>
 <div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  <span class="comment">/* Operation is not implemented or not supported/enabled in this service. */</span></div>
 <div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba6912537b4dfd1030f50ff2f5448f1bc2">  137</a></span>&#160;  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba6912537b4dfd1030f50ff2f5448f1bc2">GRPC_STATUS_UNIMPLEMENTED</a> = 12,</div>
 <div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;</div>
-<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  <span class="comment">/* Internal errors.  Means some invariants expected by underlying</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="comment">     system has been broken.  If you see one of these errors,</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="comment">     something is very broken. */</span></div>
 <div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebae648dab84c58ef5b1cfeea35867c4520">  142</a></span>&#160;  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebae648dab84c58ef5b1cfeea35867c4520">GRPC_STATUS_INTERNAL</a> = 13,</div>
 <div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div>
-<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;  <span class="comment">/* The service is currently unavailable.  This is a most likely a</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="comment">     transient condition and may be corrected by retrying with</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="comment">     a backoff.</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="comment">     See litmus test above for deciding between FAILED_PRECONDITION,</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="comment">     ABORTED, and UNAVAILABLE. */</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebaad91b67998cb5df7bc6821e362189e79">  150</a></span>&#160;  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebaad91b67998cb5df7bc6821e362189e79">GRPC_STATUS_UNAVAILABLE</a> = 14,</div>
-<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div>
-<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;  <span class="comment">/* Unrecoverable data loss or corruption. */</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba275db05856f4af884c48e86440414db7">  153</a></span>&#160;  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba275db05856f4af884c48e86440414db7">GRPC_STATUS_DATA_LOSS</a> = 15,</div>
-<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  <span class="comment">/* Force users to include a default branch: */</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebab924d4c4c646bdb3130162b8e359dd96">  156</a></span>&#160;  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebab924d4c4c646bdb3130162b8e359dd96">GRPC_STATUS__DO_NOT_USE</a> = -1</div>
-<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;} <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a>;</div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div>
-<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="preprocessor"></span>}</div>
-<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_IMPL_CODEGEN_STATUS_H */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eba3dd64296110db7e7fafb1062b5587731"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba3dd64296110db7e7fafb1062b5587731">GRPC_STATUS_INVALID_ARGUMENT</a></div><div class="ttdef"><b>Definition:</b> status.h:59</div></div>
-<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108ebab924d4c4c646bdb3130162b8e359dd96"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebab924d4c4c646bdb3130162b8e359dd96">GRPC_STATUS__DO_NOT_USE</a></div><div class="ttdef"><b>Definition:</b> status.h:156</div></div>
-<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eba9da5601150b267ab5509d151fa7df201"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba9da5601150b267ab5509d151fa7df201">GRPC_STATUS_OK</a></div><div class="ttdef"><b>Definition:</b> status.h:43</div></div>
-<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eba503abd183544b43a83bc01d999adda5f"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba503abd183544b43a83bc01d999adda5f">GRPC_STATUS_FAILED_PRECONDITION</a></div><div class="ttdef"><b>Definition:</b> status.h:110</div></div>
-<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108ebad357565db8655b6635fae96a11c4009b"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebad357565db8655b6635fae96a11c4009b">GRPC_STATUS_ALREADY_EXISTS</a></div><div class="ttdef"><b>Definition:</b> status.h:73</div></div>
-<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eba1a6fd47361ad9298879dd8760ca1a0cb"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba1a6fd47361ad9298879dd8760ca1a0cb">GRPC_STATUS_UNAUTHENTICATED</a></div><div class="ttdef"><b>Definition:</b> status.h:85</div></div>
-<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108ebae648dab84c58ef5b1cfeea35867c4520"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebae648dab84c58ef5b1cfeea35867c4520">GRPC_STATUS_INTERNAL</a></div><div class="ttdef"><b>Definition:</b> status.h:142</div></div>
-<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eba4149925007957bf1a04184d88e8293f4"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba4149925007957bf1a04184d88e8293f4">GRPC_STATUS_PERMISSION_DENIED</a></div><div class="ttdef"><b>Definition:</b> status.h:81</div></div>
-<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eba5f02c0e431162618ab422d27fd39dd08"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba5f02c0e431162618ab422d27fd39dd08">GRPC_STATUS_UNKNOWN</a></div><div class="ttdef"><b>Definition:</b> status.h:53</div></div>
-<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108ebab1a76cb91e6992f6f7a31a7fe862e0e9"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebab1a76cb91e6992f6f7a31a7fe862e0e9">GRPC_STATUS_RESOURCE_EXHAUSTED</a></div><div class="ttdef"><b>Definition:</b> status.h:89</div></div>
-<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108ebaad91b67998cb5df7bc6821e362189e79"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebaad91b67998cb5df7bc6821e362189e79">GRPC_STATUS_UNAVAILABLE</a></div><div class="ttdef"><b>Definition:</b> status.h:150</div></div>
-<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108ebafdf14cb6f2da868d76b209ac490c14e2"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebafdf14cb6f2da868d76b209ac490c14e2">GRPC_STATUS_NOT_FOUND</a></div><div class="ttdef"><b>Definition:</b> status.h:69</div></div>
-<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eba5451711361db6b8d8e80be30cbb1a208"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba5451711361db6b8d8e80be30cbb1a208">GRPC_STATUS_DEADLINE_EXCEEDED</a></div><div class="ttdef"><b>Definition:</b> status.h:66</div></div>
-<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108ebacd0d05ab2f0af48b0f535c3dd0816d9b"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebacd0d05ab2f0af48b0f535c3dd0816d9b">GRPC_STATUS_OUT_OF_RANGE</a></div><div class="ttdef"><b>Definition:</b> status.h:134</div></div>
-<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eba6912537b4dfd1030f50ff2f5448f1bc2"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba6912537b4dfd1030f50ff2f5448f1bc2">GRPC_STATUS_UNIMPLEMENTED</a></div><div class="ttdef"><b>Definition:</b> status.h:137</div></div>
-<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eba30e6e0c37df1389dd4c460a53f831038"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba30e6e0c37df1389dd4c460a53f831038">GRPC_STATUS_CANCELLED</a></div><div class="ttdef"><b>Definition:</b> status.h:46</div></div>
-<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eba275db05856f4af884c48e86440414db7"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba275db05856f4af884c48e86440414db7">GRPC_STATUS_DATA_LOSS</a></div><div class="ttdef"><b>Definition:</b> status.h:153</div></div>
+<div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebaad91b67998cb5df7bc6821e362189e79">  155</a></span>&#160;  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebaad91b67998cb5df7bc6821e362189e79">GRPC_STATUS_UNAVAILABLE</a> = 14,</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div>
+<div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba275db05856f4af884c48e86440414db7">  158</a></span>&#160;  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba275db05856f4af884c48e86440414db7">GRPC_STATUS_DATA_LOSS</a> = 15,</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div>
+<div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebab924d4c4c646bdb3130162b8e359dd96">  161</a></span>&#160;  <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebab924d4c4c646bdb3130162b8e359dd96">GRPC_STATUS__DO_NOT_USE</a> = -1</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;} <a class="code" href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eb">grpc_status_code</a>;</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="preprocessor"></span>}</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_IMPL_CODEGEN_STATUS_H */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eba3dd64296110db7e7fafb1062b5587731"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba3dd64296110db7e7fafb1062b5587731">GRPC_STATUS_INVALID_ARGUMENT</a></div><div class="ttdoc">Client specified an invalid argument. </div><div class="ttdef"><b>Definition:</b> status.h:59</div></div>
+<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108ebab924d4c4c646bdb3130162b8e359dd96"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebab924d4c4c646bdb3130162b8e359dd96">GRPC_STATUS__DO_NOT_USE</a></div><div class="ttdoc">Force users to include a default branch: </div><div class="ttdef"><b>Definition:</b> status.h:161</div></div>
+<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eba9da5601150b267ab5509d151fa7df201"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba9da5601150b267ab5509d151fa7df201">GRPC_STATUS_OK</a></div><div class="ttdoc">Not an error; returned on success. </div><div class="ttdef"><b>Definition:</b> status.h:43</div></div>
+<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eba503abd183544b43a83bc01d999adda5f"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba503abd183544b43a83bc01d999adda5f">GRPC_STATUS_FAILED_PRECONDITION</a></div><div class="ttdoc">Operation was rejected because the system is not in a state required for the operation&#39;s execution...</div><div class="ttdef"><b>Definition:</b> status.h:110</div></div>
+<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108ebad357565db8655b6635fae96a11c4009b"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebad357565db8655b6635fae96a11c4009b">GRPC_STATUS_ALREADY_EXISTS</a></div><div class="ttdoc">Some entity that we attempted to create (e.g., file or directory) already exists. ...</div><div class="ttdef"><b>Definition:</b> status.h:73</div></div>
+<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eba1a6fd47361ad9298879dd8760ca1a0cb"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba1a6fd47361ad9298879dd8760ca1a0cb">GRPC_STATUS_UNAUTHENTICATED</a></div><div class="ttdoc">The request does not have valid authentication credentials for the operation. </div><div class="ttdef"><b>Definition:</b> status.h:85</div></div>
+<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108ebae648dab84c58ef5b1cfeea35867c4520"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebae648dab84c58ef5b1cfeea35867c4520">GRPC_STATUS_INTERNAL</a></div><div class="ttdoc">Internal errors. </div><div class="ttdef"><b>Definition:</b> status.h:142</div></div>
+<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eba4149925007957bf1a04184d88e8293f4"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba4149925007957bf1a04184d88e8293f4">GRPC_STATUS_PERMISSION_DENIED</a></div><div class="ttdoc">The caller does not have permission to execute the specified operation. </div><div class="ttdef"><b>Definition:</b> status.h:81</div></div>
+<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eba5f02c0e431162618ab422d27fd39dd08"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba5f02c0e431162618ab422d27fd39dd08">GRPC_STATUS_UNKNOWN</a></div><div class="ttdoc">Unknown error. </div><div class="ttdef"><b>Definition:</b> status.h:53</div></div>
+<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108ebab1a76cb91e6992f6f7a31a7fe862e0e9"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebab1a76cb91e6992f6f7a31a7fe862e0e9">GRPC_STATUS_RESOURCE_EXHAUSTED</a></div><div class="ttdoc">Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out ...</div><div class="ttdef"><b>Definition:</b> status.h:89</div></div>
+<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108ebaad91b67998cb5df7bc6821e362189e79"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebaad91b67998cb5df7bc6821e362189e79">GRPC_STATUS_UNAVAILABLE</a></div><div class="ttdoc">The service is currently unavailable. </div><div class="ttdef"><b>Definition:</b> status.h:155</div></div>
+<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108ebafdf14cb6f2da868d76b209ac490c14e2"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebafdf14cb6f2da868d76b209ac490c14e2">GRPC_STATUS_NOT_FOUND</a></div><div class="ttdoc">Some requested entity (e.g., file or directory) was not found. </div><div class="ttdef"><b>Definition:</b> status.h:69</div></div>
+<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eba5451711361db6b8d8e80be30cbb1a208"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba5451711361db6b8d8e80be30cbb1a208">GRPC_STATUS_DEADLINE_EXCEEDED</a></div><div class="ttdoc">Deadline expired before operation could complete. </div><div class="ttdef"><b>Definition:</b> status.h:66</div></div>
+<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108ebacd0d05ab2f0af48b0f535c3dd0816d9b"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108ebacd0d05ab2f0af48b0f535c3dd0816d9b">GRPC_STATUS_OUT_OF_RANGE</a></div><div class="ttdoc">Operation was attempted past the valid range. </div><div class="ttdef"><b>Definition:</b> status.h:134</div></div>
+<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eba6912537b4dfd1030f50ff2f5448f1bc2"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba6912537b4dfd1030f50ff2f5448f1bc2">GRPC_STATUS_UNIMPLEMENTED</a></div><div class="ttdoc">Operation is not implemented or not supported/enabled in this service. </div><div class="ttdef"><b>Definition:</b> status.h:137</div></div>
+<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eba30e6e0c37df1389dd4c460a53f831038"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba30e6e0c37df1389dd4c460a53f831038">GRPC_STATUS_CANCELLED</a></div><div class="ttdoc">The operation was cancelled (typically by the caller). </div><div class="ttdef"><b>Definition:</b> status.h:46</div></div>
+<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eba275db05856f4af884c48e86440414db7"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba275db05856f4af884c48e86440414db7">GRPC_STATUS_DATA_LOSS</a></div><div class="ttdoc">Unrecoverable data loss or corruption. </div><div class="ttdef"><b>Definition:</b> status.h:158</div></div>
 <div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eb"><div class="ttname"><a href="impl_2codegen_2status_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="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eba3570bc43d5eb08c95a7f4c24c13010d9"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba3570bc43d5eb08c95a7f4c24c13010d9">GRPC_STATUS_ABORTED</a></div><div class="ttdef"><b>Definition:</b> status.h:117</div></div>
+<div class="ttc" id="impl_2codegen_2status_8h_html_a35ab2a68917eb836de84cb23253108eba3570bc43d5eb08c95a7f4c24c13010d9"><div class="ttname"><a href="impl_2codegen_2status_8h.html#a35ab2a68917eb836de84cb23253108eba3570bc43d5eb08c95a7f4c24c13010d9">GRPC_STATUS_ABORTED</a></div><div class="ttdoc">The operation was aborted, typically due to a concurrency issue like sequencer check failures...</div><div class="ttdef"><b>Definition:</b> status.h:117</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 3 - 3
core/impl_2codegen_2sync_8h.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -97,7 +97,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:12 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

+ 4 - 22
core/impl_2codegen_2sync_8h_source.html

@@ -23,7 +23,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">GRPC Core
-   &#160;<span id="projectnumber">3.0.0</span>
+   &#160;<span id="projectnumber">4.0.0-dev</span>
    </div>
   </td>
  </tr>
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <div id="nav-path" class="navpath">
   <ul>
-<li class="navelem"><a class="el" href="dir_bda73758a0a4d8c0ff603a7983866e1c.html">include</a></li><li class="navelem"><a class="el" href="dir_8ae8e534eeef321a81935092729b7078.html">grpc</a></li><li class="navelem"><a class="el" href="dir_27c65f9b8b3387c47015966ca861342b.html">impl</a></li><li class="navelem"><a class="el" href="dir_2d2a7752fa77ea824010e525334e7867.html">codegen</a></li>  </ul>
+<li class="navelem"><a class="el" href="dir_629b4cc7516e55c4afb0cb8a61439852.html">include</a></li><li class="navelem"><a class="el" href="dir_d06caa71145e9b2cbe67b49b6fe69d28.html">grpc</a></li><li class="navelem"><a class="el" href="dir_1ccb85353bf7ad9eb207254c908f6dd2.html">impl</a></li><li class="navelem"><a class="el" href="dir_d4a1038da1ca7a38aa498ecf659a57c8.html">codegen</a></li>  </ul>
 </div>
 </div><!-- top -->
 <div class="header">
@@ -125,25 +125,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div>
 <div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#ifndef GRPC_IMPL_CODEGEN_SYNC_H</span></div>
 <div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_IMPL_CODEGEN_SYNC_H</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"></span><span class="comment">/* Synchronization primitives for GPR.</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">   The type  gpr_mu              provides a non-reentrant mutex (lock).</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">   The type  gpr_cv              provides a condition variable.</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">   The type  gpr_once            provides for one-time initialization.</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">   The type gpr_event            provides one-time-setting, reading, and</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">                                 waiting of a void*, with memory barriers.</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">   The type gpr_refcount         provides an object reference counter,</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">                                 with memory barriers suitable to control</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">                                 object lifetimes.</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">   The type gpr_stats_counter    provides an atomic statistics counter. It</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">                                 provides no memory barriers.</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"></span></div>
 <div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
 <div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
 <div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#endif</span></div>
@@ -172,7 +154,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Thu Apr 27 2017 17:26:11 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Wed May 31 2017 15:48:57 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.6
 </small></address>

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott