浏览代码

Re-generate PHP API reference docs via doxygen

Stanley Cheung 5 年之前
父节点
当前提交
48e3cdd486
共有 100 个文件被更改,包括 13501 次插入2426 次删除
  1. 0 93
      php/404.html
  2. 96 0
      php/_abstract_call_8php.html
  3. 97 0
      php/_base_stub_8php.html
  4. 97 0
      php/_bidi_streaming_call_8php.html
  5. 97 0
      php/_call_8php.html
  6. 97 0
      php/_call_credentials_8php.html
  7. 97 0
      php/_call_invoker_8php.html
  8. 97 0
      php/_channel_8php.html
  9. 97 0
      php/_channel_credentials_8php.html
  10. 97 0
      php/_client_streaming_call_8php.html
  11. 217 0
      php/_constants_8php.html
  12. 97 0
      php/_default_call_invoker_8php.html
  13. 97 0
      php/_interceptor_8php.html
  14. 77 0
      php/_p_r_o_t_o_c_o_l-_h_t_t_p2_8md.html
  15. 77 0
      php/_p_r_o_t_o_c_o_l-_w_e_b_8md.html
  16. 77 0
      php/_r_e_a_d_m_e_8md.html
  17. 96 0
      php/_rpc_server_8php.html
  18. 97 0
      php/_server_8php.html
  19. 97 0
      php/_server_credentials_8php.html
  20. 97 0
      php/_server_streaming_call_8php.html
  21. 97 0
      php/_timeval_8php.html
  22. 97 0
      php/_unary_call_8php.html
  23. 99 0
      php/annotated.html
  24. 二进制
      php/bc_s.png
  25. 二进制
      php/bdwn.png
  26. 77 0
      php/binary-logging_8md.html
  27. 77 0
      php/c-style-guide_8md.html
  28. 0 535
      php/class-Grpc.AbstractCall.html
  29. 0 524
      php/class-Grpc.BaseStub.html
  30. 0 353
      php/class-Grpc.BidiStreamingCall.html
  31. 0 288
      php/class-Grpc.ClientStreamingCall.html
  32. 0 288
      php/class-Grpc.ServerStreamingCall.html
  33. 0 253
      php/class-Grpc.UnaryCall.html
  34. 440 0
      php/class_grpc_1_1_abstract_call.html
  35. 570 0
      php/class_grpc_1_1_base_stub.html
  36. 269 0
      php/class_grpc_1_1_bidi_streaming_call.html
  37. 258 0
      php/class_grpc_1_1_call.html
  38. 184 0
      php/class_grpc_1_1_call_credentials.html
  39. 258 0
      php/class_grpc_1_1_channel.html
  40. 363 0
      php/class_grpc_1_1_channel_credentials.html
  41. 224 0
      php/class_grpc_1_1_client_streaming_call.html
  42. 305 0
      php/class_grpc_1_1_default_call_invoker.html
  43. 354 0
      php/class_grpc_1_1_interceptor.html
  44. 240 0
      php/class_grpc_1_1_rpc_server.html
  45. 234 0
      php/class_grpc_1_1_server.html
  46. 153 0
      php/class_grpc_1_1_server_credentials.html
  47. 241 0
      php/class_grpc_1_1_server_streaming_call.html
  48. 443 0
      php/class_grpc_1_1_timeval.html
  49. 221 0
      php/class_grpc_1_1_unary_call.html
  50. 124 0
      php/classes.html
  51. 二进制
      php/closed.png
  52. 77 0
      php/command__line__tool_8md.html
  53. 77 0
      php/compression_8md.html
  54. 77 0
      php/compression__cookbook_8md.html
  55. 77 0
      php/connection-backoff-interop-test-description_8md.html
  56. 77 0
      php/connection-backoff_8md.html
  57. 77 0
      php/connectivity-semantics-and-api_8md.html
  58. 77 0
      php/cpp-style-guide_8md.html
  59. 121 0
      php/dir_4e49b715f9da74892c7bbbdb8130446b.html
  60. 81 0
      php/dir_6229e6c34e9a233ad01e20b4063ed1b6.html
  61. 87 0
      php/dir_68267d1309a1af8e8297ef4c3efbcdba.html
  62. 87 0
      php/dir_73429fa3d659a85a5c1bd72b8c229b9f.html
  63. 89 0
      php/dir_85cc22d3a09b5748bc25e61ded676657.html
  64. 81 0
      php/dir_e68e8157741866f444e17edd764ebbae.html
  65. 二进制
      php/doc.png
  66. 77 0
      php/docker_2_r_e_a_d_m_e_8md.html
  67. 1771 0
      php/doxygen.css
  68. 二进制
      php/doxygen.png
  69. 120 0
      php/dynsections.js
  70. 0 3
      php/elementlist.js
  71. 77 0
      php/environment__variables_8md.html
  72. 77 0
      php/fail__fast_8md.html
  73. 105 0
      php/files.html
  74. 二进制
      php/folderclosed.png
  75. 二进制
      php/folderopen.png
  76. 77 0
      php/fork__support_8md.html
  77. 351 0
      php/functions.html
  78. 331 0
      php/functions_func.html
  79. 91 0
      php/functions_vars.html
  80. 77 0
      php/g__stands__for_8md.html
  81. 137 0
      php/graph_legend.html
  82. 1 0
      php/graph_legend.md5
  83. 二进制
      php/graph_legend.png
  84. 77 0
      php/grpc__release__schedule_8md.html
  85. 77 0
      php/grpc__xds__features_8md.html
  86. 77 0
      php/health-checking_8md.html
  87. 98 0
      php/hierarchy.html
  88. 77 0
      php/http-grpc-status-mapping_8md.html
  89. 77 0
      php/http2-interop-test-descriptions_8md.html
  90. 69 89
      php/index.html
  91. 305 0
      php/interface_grpc_1_1_call_invoker.html
  92. 77 0
      php/internationalization_8md.html
  93. 77 0
      php/interop-test-descriptions_8md.html
  94. 1 0
      php/jquery.js
  95. 77 0
      php/keepalive_8md.html
  96. 77 0
      php/load-balancing_8md.html
  97. 273 0
      php/md_doc__p_r_o_t_o_c_o_l-_h_t_t_p2.html
  98. 192 0
      php/md_doc__p_r_o_t_o_c_o_l-_w_e_b.html
  99. 129 0
      php/md_doc_binary-logging.html
  100. 135 0
      php/md_doc_c-style-guide.html

+ 0 - 93
php/404.html

@@ -1,93 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-	<meta charset="utf-8">
-	<meta name="robots" content="noindex">
-
-	<title>Page not found</title>
-
-	<link rel="stylesheet" href="resources/style.css?e99947befd7bf673c6b43ff75e9e0f170c88a60e">
-
-<script type="text/javascript"> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-60127042-1', 'auto'); ga('send', 'pageview'); </script></head>
-
-<body>
-<div id="left">
-	<div id="menu">
-		<a href="index.html" title="Overview"><span>Overview</span></a>
-
-
-		<div id="groups">
-				<h3>Namespaces</h3>
-			<ul>
-				<li>
-					<a href="namespace-Grpc.html">
-						Grpc					</a>
-
-						</li>
-			</ul>
-		</div>
-
-		<hr>
-
-
-		<div id="elements">
-			<h3>Classes</h3>
-			<ul>
-				<li><a href="class-Grpc.AbstractCall.html">Grpc\AbstractCall</a></li>
-				<li><a href="class-Grpc.BaseStub.html">Grpc\BaseStub</a></li>
-				<li><a href="class-Grpc.BidiStreamingCall.html">Grpc\BidiStreamingCall</a></li>
-				<li><a href="class-Grpc.ClientStreamingCall.html">Grpc\ClientStreamingCall</a></li>
-				<li><a href="class-Grpc.ServerStreamingCall.html">Grpc\ServerStreamingCall</a></li>
-				<li><a href="class-Grpc.UnaryCall.html">Grpc\UnaryCall</a></li>
-			</ul>
-
-
-
-
-
-		</div>
-	</div>
-</div>
-
-<div id="splitter"></div>
-
-<div id="right">
-<div id="rightInner">
-	<form id="search">
-		<input type="hidden" name="cx" value="">
-		<input type="hidden" name="ie" value="UTF-8">
-		<input type="text" name="q" class="text" placeholder="Search">
-	</form>
-
-	<div id="navigation">
-		<ul>
-			<li>
-				<a href="index.html" title="Overview"><span>Overview</span></a>
-			</li>
-			<li>
-<span>Namespace</span>			</li>
-			<li>
-<span>Class</span>			</li>
-		</ul>
-		<ul>
-		</ul>
-		<ul>
-		</ul>
-	</div>
-
-<div id="content">
-	<h1>Page not found</h1>
-	<p>The requested page could not be found.</p>
-	<p>You have probably clicked on a link that is outdated and points to a page that does not exist any more or you have made an typing error in the address.</p>
-	<p>To continue please try to find requested page in the menu, or use search field on the top.</p>
-</div>
-
-	<div id="footer">
-		 API documentation generated by <a href="http://apigen.org">ApiGen</a>
-	</div>
-</div>
-</div>
-<script src="resources/combined.js?cd021bc814832c24a7cec5319ea03335bfba1caf"></script>
-<script src="elementlist.js"></script>
-</body>
-</html>

+ 96 - 0
php/_abstract_call_8php.html

@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php/lib/Grpc/AbstractCall.php File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html">php</a></li><li class="navelem"><a class="el" href="dir_73429fa3d659a85a5c1bd72b8c229b9f.html">lib</a></li><li class="navelem"><a class="el" href="dir_4e49b715f9da74892c7bbbdb8130446b.html">Grpc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<div class="title">AbstractCall.php File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html">Grpc\AbstractCall</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="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespace_grpc"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html">Grpc</a></td></tr>
+<tr class="memdesc:namespace_grpc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class <a class="el" href="class_grpc_1_1_abstract_call.html">AbstractCall</a>. <br /></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 Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 97 - 0
php/_base_stub_8php.html

@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php/lib/Grpc/BaseStub.php File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html">php</a></li><li class="navelem"><a class="el" href="dir_73429fa3d659a85a5c1bd72b8c229b9f.html">lib</a></li><li class="navelem"><a class="el" href="dir_4e49b715f9da74892c7bbbdb8130446b.html">Grpc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<div class="title">BaseStub.php File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_base_stub.html">Grpc\BaseStub</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for generated client stubs.  <a href="class_grpc_1_1_base_stub.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="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespace_grpc"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html">Grpc</a></td></tr>
+<tr class="memdesc:namespace_grpc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class <a class="el" href="class_grpc_1_1_abstract_call.html">AbstractCall</a>. <br /></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 Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 97 - 0
php/_bidi_streaming_call_8php.html

@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php/lib/Grpc/BidiStreamingCall.php File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html">php</a></li><li class="navelem"><a class="el" href="dir_73429fa3d659a85a5c1bd72b8c229b9f.html">lib</a></li><li class="navelem"><a class="el" href="dir_4e49b715f9da74892c7bbbdb8130446b.html">Grpc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<div class="title">BidiStreamingCall.php File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_bidi_streaming_call.html">Grpc\BidiStreamingCall</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents an active call that allows for sending and receiving messages in streams in any order.  <a href="class_grpc_1_1_bidi_streaming_call.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="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespace_grpc"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html">Grpc</a></td></tr>
+<tr class="memdesc:namespace_grpc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class <a class="el" href="class_grpc_1_1_abstract_call.html">AbstractCall</a>. <br /></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 Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 97 - 0
php/_call_8php.html

@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php/lib/Grpc/Call.php File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html">php</a></li><li class="navelem"><a class="el" href="dir_73429fa3d659a85a5c1bd72b8c229b9f.html">lib</a></li><li class="navelem"><a class="el" href="dir_4e49b715f9da74892c7bbbdb8130446b.html">Grpc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<div class="title">Call.php File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_call.html">Grpc\Call</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">class <a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a>  <a href="class_grpc_1_1_call.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="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespace_grpc"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html">Grpc</a></td></tr>
+<tr class="memdesc:namespace_grpc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class <a class="el" href="class_grpc_1_1_abstract_call.html">AbstractCall</a>. <br /></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 Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 97 - 0
php/_call_credentials_8php.html

@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php/lib/Grpc/CallCredentials.php File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html">php</a></li><li class="navelem"><a class="el" href="dir_73429fa3d659a85a5c1bd72b8c229b9f.html">lib</a></li><li class="navelem"><a class="el" href="dir_4e49b715f9da74892c7bbbdb8130446b.html">Grpc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<div class="title">CallCredentials.php File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_call_credentials.html">Grpc\CallCredentials</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">class <a class="el" href="class_grpc_1_1_call_credentials.html" title="class CallCredentials">CallCredentials</a>  <a href="class_grpc_1_1_call_credentials.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="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespace_grpc"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html">Grpc</a></td></tr>
+<tr class="memdesc:namespace_grpc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class <a class="el" href="class_grpc_1_1_abstract_call.html">AbstractCall</a>. <br /></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 Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 97 - 0
php/_call_invoker_8php.html

@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php/lib/Grpc/CallInvoker.php File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html">php</a></li><li class="navelem"><a class="el" href="dir_73429fa3d659a85a5c1bd72b8c229b9f.html">lib</a></li><li class="navelem"><a class="el" href="dir_4e49b715f9da74892c7bbbdb8130446b.html">Grpc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<div class="title">CallInvoker.php File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_grpc_1_1_call_invoker.html">Grpc\CallInvoker</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="interface_grpc_1_1_call_invoker.html" title="CallInvoker is used to pass the self defined channel into the stub, while intercept each RPC with the...">CallInvoker</a> is used to pass the self defined channel into the stub, while intercept each RPC with the channel accessible.  <a href="interface_grpc_1_1_call_invoker.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="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespace_grpc"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html">Grpc</a></td></tr>
+<tr class="memdesc:namespace_grpc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class <a class="el" href="class_grpc_1_1_abstract_call.html">AbstractCall</a>. <br /></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 Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 97 - 0
php/_channel_8php.html

@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php/lib/Grpc/Channel.php File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html">php</a></li><li class="navelem"><a class="el" href="dir_73429fa3d659a85a5c1bd72b8c229b9f.html">lib</a></li><li class="navelem"><a class="el" href="dir_4e49b715f9da74892c7bbbdb8130446b.html">Grpc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<div class="title">Channel.php File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_channel.html">Grpc\Channel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">class <a class="el" href="class_grpc_1_1_channel.html" title="class Channel">Channel</a>  <a href="class_grpc_1_1_channel.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="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespace_grpc"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html">Grpc</a></td></tr>
+<tr class="memdesc:namespace_grpc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class <a class="el" href="class_grpc_1_1_abstract_call.html">AbstractCall</a>. <br /></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 Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 97 - 0
php/_channel_credentials_8php.html

@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php/lib/Grpc/ChannelCredentials.php File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html">php</a></li><li class="navelem"><a class="el" href="dir_73429fa3d659a85a5c1bd72b8c229b9f.html">lib</a></li><li class="navelem"><a class="el" href="dir_4e49b715f9da74892c7bbbdb8130446b.html">Grpc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<div class="title">ChannelCredentials.php File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_channel_credentials.html">Grpc\ChannelCredentials</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">class <a class="el" href="class_grpc_1_1_channel_credentials.html" title="class ChannelCredentials">ChannelCredentials</a>  <a href="class_grpc_1_1_channel_credentials.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="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespace_grpc"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html">Grpc</a></td></tr>
+<tr class="memdesc:namespace_grpc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class <a class="el" href="class_grpc_1_1_abstract_call.html">AbstractCall</a>. <br /></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 Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 97 - 0
php/_client_streaming_call_8php.html

@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php/lib/Grpc/ClientStreamingCall.php File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html">php</a></li><li class="navelem"><a class="el" href="dir_73429fa3d659a85a5c1bd72b8c229b9f.html">lib</a></li><li class="navelem"><a class="el" href="dir_4e49b715f9da74892c7bbbdb8130446b.html">Grpc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<div class="title">ClientStreamingCall.php File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_client_streaming_call.html">Grpc\ClientStreamingCall</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents an active call that sends a stream of messages and then gets a single response.  <a href="class_grpc_1_1_client_streaming_call.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="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespace_grpc"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html">Grpc</a></td></tr>
+<tr class="memdesc:namespace_grpc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class <a class="el" href="class_grpc_1_1_abstract_call.html">AbstractCall</a>. <br /></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 Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 217 - 0
php/_constants_8php.html

@@ -0,0 +1,217 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php/lib/Grpc/Constants.php File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html">php</a></li><li class="navelem"><a class="el" href="dir_73429fa3d659a85a5c1bd72b8c229b9f.html">lib</a></li><li class="navelem"><a class="el" href="dir_4e49b715f9da74892c7bbbdb8130446b.html">Grpc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#namespaces">Namespaces</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">Constants.php File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespace_grpc"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html">Grpc</a></td></tr>
+<tr class="memdesc:namespace_grpc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class <a class="el" href="class_grpc_1_1_abstract_call.html">AbstractCall</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="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:aba15b4f16d9a94dae1458b6f89aa5b1e"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#aba15b4f16d9a94dae1458b6f89aa5b1e">Grpc::CALL_OK</a></td></tr>
+<tr class="memdesc:aba15b4f16d9a94dae1458b6f89aa5b1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">everything went ok  <a href="namespace_grpc.html#aba15b4f16d9a94dae1458b6f89aa5b1e">More...</a><br /></td></tr>
+<tr class="separator:aba15b4f16d9a94dae1458b6f89aa5b1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6f12e0a446b5933efeb43bb0f33f2de4"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#a6f12e0a446b5933efeb43bb0f33f2de4">Grpc::CALL_ERROR</a></td></tr>
+<tr class="memdesc:a6f12e0a446b5933efeb43bb0f33f2de4"><td class="mdescLeft">&#160;</td><td class="mdescRight">something failed, we don't know what  <a href="namespace_grpc.html#a6f12e0a446b5933efeb43bb0f33f2de4">More...</a><br /></td></tr>
+<tr class="separator:a6f12e0a446b5933efeb43bb0f33f2de4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a661632eb3cef42aee28e9988962a9640"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#a661632eb3cef42aee28e9988962a9640">Grpc::CALL_ERROR_NOT_ON_SERVER</a></td></tr>
+<tr class="memdesc:a661632eb3cef42aee28e9988962a9640"><td class="mdescLeft">&#160;</td><td class="mdescRight">this method is not available on the server  <a href="namespace_grpc.html#a661632eb3cef42aee28e9988962a9640">More...</a><br /></td></tr>
+<tr class="separator:a661632eb3cef42aee28e9988962a9640"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4e684bf33a57f88f69e2738fea230ec6"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#a4e684bf33a57f88f69e2738fea230ec6">Grpc::CALL_ERROR_NOT_ON_CLIENT</a></td></tr>
+<tr class="memdesc:a4e684bf33a57f88f69e2738fea230ec6"><td class="mdescLeft">&#160;</td><td class="mdescRight">this method is not available on the client  <a href="namespace_grpc.html#a4e684bf33a57f88f69e2738fea230ec6">More...</a><br /></td></tr>
+<tr class="separator:a4e684bf33a57f88f69e2738fea230ec6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aab459c0f556a408f93eb5613f482eb36"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#aab459c0f556a408f93eb5613f482eb36">Grpc::CALL_ERROR_ALREADY_INVOKED</a></td></tr>
+<tr class="memdesc:aab459c0f556a408f93eb5613f482eb36"><td class="mdescLeft">&#160;</td><td class="mdescRight">this method must be called before invoke  <a href="namespace_grpc.html#aab459c0f556a408f93eb5613f482eb36">More...</a><br /></td></tr>
+<tr class="separator:aab459c0f556a408f93eb5613f482eb36"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac812bfda20a324871e244a321bfb17c6"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#ac812bfda20a324871e244a321bfb17c6">Grpc::CALL_ERROR_NOT_INVOKED</a></td></tr>
+<tr class="memdesc:ac812bfda20a324871e244a321bfb17c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">this method must be called after invoke  <a href="namespace_grpc.html#ac812bfda20a324871e244a321bfb17c6">More...</a><br /></td></tr>
+<tr class="separator:ac812bfda20a324871e244a321bfb17c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a830dbf33235c83a06071a24bc94a8f27"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#a830dbf33235c83a06071a24bc94a8f27">Grpc::CALL_ERROR_ALREADY_FINISHED</a></td></tr>
+<tr class="memdesc:a830dbf33235c83a06071a24bc94a8f27"><td class="mdescLeft">&#160;</td><td class="mdescRight">this call is already finished (writes_done or write_status has already been called)  <a href="namespace_grpc.html#a830dbf33235c83a06071a24bc94a8f27">More...</a><br /></td></tr>
+<tr class="separator:a830dbf33235c83a06071a24bc94a8f27"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2545ae23b42c0626ead78fa57e1acb0e"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#a2545ae23b42c0626ead78fa57e1acb0e">Grpc::CALL_ERROR_TOO_MANY_OPERATIONS</a></td></tr>
+<tr class="memdesc:a2545ae23b42c0626ead78fa57e1acb0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">there is already an outstanding read/write operation on the call  <a href="namespace_grpc.html#a2545ae23b42c0626ead78fa57e1acb0e">More...</a><br /></td></tr>
+<tr class="separator:a2545ae23b42c0626ead78fa57e1acb0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a638ee898d72341600068b52bec0ea0d3"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#a638ee898d72341600068b52bec0ea0d3">Grpc::CALL_ERROR_INVALID_FLAGS</a></td></tr>
+<tr class="memdesc:a638ee898d72341600068b52bec0ea0d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">the flags value was illegal for this call  <a href="namespace_grpc.html#a638ee898d72341600068b52bec0ea0d3">More...</a><br /></td></tr>
+<tr class="separator:a638ee898d72341600068b52bec0ea0d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:affac94238753b51dc4938fcf628e5952"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#affac94238753b51dc4938fcf628e5952">Grpc::WRITE_BUFFER_HINT</a></td></tr>
+<tr class="memdesc:affac94238753b51dc4938fcf628e5952"><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="namespace_grpc.html#affac94238753b51dc4938fcf628e5952">More...</a><br /></td></tr>
+<tr class="separator:affac94238753b51dc4938fcf628e5952"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ace1fd9a8baa327df3865213f6e50f1de"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#ace1fd9a8baa327df3865213f6e50f1de">Grpc::WRITE_NO_COMPRESS</a></td></tr>
+<tr class="memdesc:ace1fd9a8baa327df3865213f6e50f1de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Force compression to be disabled for a particular write (start_write/add_metadata).  <a href="namespace_grpc.html#ace1fd9a8baa327df3865213f6e50f1de">More...</a><br /></td></tr>
+<tr class="separator:ace1fd9a8baa327df3865213f6e50f1de"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad5951d2c50713d513e37344a166b9226"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#ad5951d2c50713d513e37344a166b9226">Grpc::STATUS_OK</a></td></tr>
+<tr class="memdesc:ad5951d2c50713d513e37344a166b9226"><td class="mdescLeft">&#160;</td><td class="mdescRight">Not an error; returned on success.  <a href="namespace_grpc.html#ad5951d2c50713d513e37344a166b9226">More...</a><br /></td></tr>
+<tr class="separator:ad5951d2c50713d513e37344a166b9226"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5c92cea8804f852d1cfc3f7e03a74d0d"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#a5c92cea8804f852d1cfc3f7e03a74d0d">Grpc::STATUS_CANCELLED</a></td></tr>
+<tr class="memdesc:a5c92cea8804f852d1cfc3f7e03a74d0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The operation was cancelled (typically by the caller).  <a href="namespace_grpc.html#a5c92cea8804f852d1cfc3f7e03a74d0d">More...</a><br /></td></tr>
+<tr class="separator:a5c92cea8804f852d1cfc3f7e03a74d0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae27d27849591e84d33ffda9d6fbdcf2f"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#ae27d27849591e84d33ffda9d6fbdcf2f">Grpc::STATUS_UNKNOWN</a></td></tr>
+<tr class="memdesc:ae27d27849591e84d33ffda9d6fbdcf2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unknown error.  <a href="namespace_grpc.html#ae27d27849591e84d33ffda9d6fbdcf2f">More...</a><br /></td></tr>
+<tr class="separator:ae27d27849591e84d33ffda9d6fbdcf2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab1ceaf07c0fca00aa5511408a6001de0"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#ab1ceaf07c0fca00aa5511408a6001de0">Grpc::STATUS_INVALID_ARGUMENT</a></td></tr>
+<tr class="memdesc:ab1ceaf07c0fca00aa5511408a6001de0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Client specified an invalid argument.  <a href="namespace_grpc.html#ab1ceaf07c0fca00aa5511408a6001de0">More...</a><br /></td></tr>
+<tr class="separator:ab1ceaf07c0fca00aa5511408a6001de0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc349de1812d45926b998695cc083bfd"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#afc349de1812d45926b998695cc083bfd">Grpc::STATUS_DEADLINE_EXCEEDED</a></td></tr>
+<tr class="memdesc:afc349de1812d45926b998695cc083bfd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deadline expired before operation could complete.  <a href="namespace_grpc.html#afc349de1812d45926b998695cc083bfd">More...</a><br /></td></tr>
+<tr class="separator:afc349de1812d45926b998695cc083bfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a643755dab2fb532ce971103391cea02e"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#a643755dab2fb532ce971103391cea02e">Grpc::STATUS_NOT_FOUND</a></td></tr>
+<tr class="memdesc:a643755dab2fb532ce971103391cea02e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Some requested entity (e.g., file or directory) was not found.  <a href="namespace_grpc.html#a643755dab2fb532ce971103391cea02e">More...</a><br /></td></tr>
+<tr class="separator:a643755dab2fb532ce971103391cea02e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab409d16af8a6e17cb92ccf3b1ab05236"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#ab409d16af8a6e17cb92ccf3b1ab05236">Grpc::STATUS_ALREADY_EXISTS</a></td></tr>
+<tr class="memdesc:ab409d16af8a6e17cb92ccf3b1ab05236"><td class="mdescLeft">&#160;</td><td class="mdescRight">Some entity that we attempted to create (e.g., file or directory) already exists.  <a href="namespace_grpc.html#ab409d16af8a6e17cb92ccf3b1ab05236">More...</a><br /></td></tr>
+<tr class="separator:ab409d16af8a6e17cb92ccf3b1ab05236"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adad08d063dadc47f96634584529e8126"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#adad08d063dadc47f96634584529e8126">Grpc::STATUS_PERMISSION_DENIED</a></td></tr>
+<tr class="memdesc:adad08d063dadc47f96634584529e8126"><td class="mdescLeft">&#160;</td><td class="mdescRight">The caller does not have permission to execute the specified operation.  <a href="namespace_grpc.html#adad08d063dadc47f96634584529e8126">More...</a><br /></td></tr>
+<tr class="separator:adad08d063dadc47f96634584529e8126"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c04fd8871b2bbb7a1d3f0bad88c9e58"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#a3c04fd8871b2bbb7a1d3f0bad88c9e58">Grpc::STATUS_UNAUTHENTICATED</a></td></tr>
+<tr class="memdesc:a3c04fd8871b2bbb7a1d3f0bad88c9e58"><td class="mdescLeft">&#160;</td><td class="mdescRight">The request does not have valid authentication credentials for the operation.  <a href="namespace_grpc.html#a3c04fd8871b2bbb7a1d3f0bad88c9e58">More...</a><br /></td></tr>
+<tr class="separator:a3c04fd8871b2bbb7a1d3f0bad88c9e58"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0f091c188151dba3b53cd30e04e0bd02"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#a0f091c188151dba3b53cd30e04e0bd02">Grpc::STATUS_RESOURCE_EXHAUSTED</a></td></tr>
+<tr class="memdesc:a0f091c188151dba3b53cd30e04e0bd02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space.  <a href="namespace_grpc.html#a0f091c188151dba3b53cd30e04e0bd02">More...</a><br /></td></tr>
+<tr class="separator:a0f091c188151dba3b53cd30e04e0bd02"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae0485212cca13255e0ace3cb9825d0c2"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#ae0485212cca13255e0ace3cb9825d0c2">Grpc::STATUS_FAILED_PRECONDITION</a></td></tr>
+<tr class="memdesc:ae0485212cca13255e0ace3cb9825d0c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operation was rejected because the system is not in a state required for the operation's execution.  <a href="namespace_grpc.html#ae0485212cca13255e0ace3cb9825d0c2">More...</a><br /></td></tr>
+<tr class="separator:ae0485212cca13255e0ace3cb9825d0c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a279245936a696d54ce6a0124092c69bb"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#a279245936a696d54ce6a0124092c69bb">Grpc::STATUS_ABORTED</a></td></tr>
+<tr class="memdesc:a279245936a696d54ce6a0124092c69bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">The operation was aborted, typically due to a concurrency issue like sequencer check failures, transaction aborts, etc.  <a href="namespace_grpc.html#a279245936a696d54ce6a0124092c69bb">More...</a><br /></td></tr>
+<tr class="separator:a279245936a696d54ce6a0124092c69bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aef5b6dc95d4f65c0a0833e45c98cd965"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#aef5b6dc95d4f65c0a0833e45c98cd965">Grpc::STATUS_OUT_OF_RANGE</a></td></tr>
+<tr class="memdesc:aef5b6dc95d4f65c0a0833e45c98cd965"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operation was attempted past the valid range.  <a href="namespace_grpc.html#aef5b6dc95d4f65c0a0833e45c98cd965">More...</a><br /></td></tr>
+<tr class="separator:aef5b6dc95d4f65c0a0833e45c98cd965"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2402cba05d2a65207abcdadf09a8afcc"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#a2402cba05d2a65207abcdadf09a8afcc">Grpc::STATUS_UNIMPLEMENTED</a></td></tr>
+<tr class="memdesc:a2402cba05d2a65207abcdadf09a8afcc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operation is not implemented or not supported/enabled in this service.  <a href="namespace_grpc.html#a2402cba05d2a65207abcdadf09a8afcc">More...</a><br /></td></tr>
+<tr class="separator:a2402cba05d2a65207abcdadf09a8afcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4ab5f65ba1708f38deff6bb60d173f9"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#ab4ab5f65ba1708f38deff6bb60d173f9">Grpc::STATUS_INTERNAL</a></td></tr>
+<tr class="memdesc:ab4ab5f65ba1708f38deff6bb60d173f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal errors.  <a href="namespace_grpc.html#ab4ab5f65ba1708f38deff6bb60d173f9">More...</a><br /></td></tr>
+<tr class="separator:ab4ab5f65ba1708f38deff6bb60d173f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a22b1dca4ae9eeafd8525d15913a371d6"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#a22b1dca4ae9eeafd8525d15913a371d6">Grpc::STATUS_UNAVAILABLE</a></td></tr>
+<tr class="memdesc:a22b1dca4ae9eeafd8525d15913a371d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">The service is currently unavailable.  <a href="namespace_grpc.html#a22b1dca4ae9eeafd8525d15913a371d6">More...</a><br /></td></tr>
+<tr class="separator:a22b1dca4ae9eeafd8525d15913a371d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69f3f04e700d069402bbdd1dbca62050"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#a69f3f04e700d069402bbdd1dbca62050">Grpc::STATUS_DATA_LOSS</a></td></tr>
+<tr class="memdesc:a69f3f04e700d069402bbdd1dbca62050"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unrecoverable data loss or corruption.  <a href="namespace_grpc.html#a69f3f04e700d069402bbdd1dbca62050">More...</a><br /></td></tr>
+<tr class="separator:a69f3f04e700d069402bbdd1dbca62050"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab5485f733c0061c5af4a2dcd9ef93485"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#ab5485f733c0061c5af4a2dcd9ef93485">Grpc::OP_SEND_INITIAL_METADATA</a></td></tr>
+<tr class="memdesc:ab5485f733c0061c5af4a2dcd9ef93485"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send initial metadata: one and only one instance MUST be sent for each call, unless the call was cancelled - in which case this can be skipped.  <a href="namespace_grpc.html#ab5485f733c0061c5af4a2dcd9ef93485">More...</a><br /></td></tr>
+<tr class="separator:ab5485f733c0061c5af4a2dcd9ef93485"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2237ae647c50cf9721a343c046879599"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#a2237ae647c50cf9721a343c046879599">Grpc::OP_SEND_MESSAGE</a></td></tr>
+<tr class="memdesc:a2237ae647c50cf9721a343c046879599"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a message: 0 or more of these operations can occur for each call.  <a href="namespace_grpc.html#a2237ae647c50cf9721a343c046879599">More...</a><br /></td></tr>
+<tr class="separator:a2237ae647c50cf9721a343c046879599"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf7a043443542535ee4a39f941791a19"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#abf7a043443542535ee4a39f941791a19">Grpc::OP_SEND_CLOSE_FROM_CLIENT</a></td></tr>
+<tr class="memdesc:abf7a043443542535ee4a39f941791a19"><td class="mdescLeft">&#160;</td><td class="mdescRight">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.  <a href="namespace_grpc.html#abf7a043443542535ee4a39f941791a19">More...</a><br /></td></tr>
+<tr class="separator:abf7a043443542535ee4a39f941791a19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a329b7e8f6ab80211c43244937d2f066b"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#a329b7e8f6ab80211c43244937d2f066b">Grpc::OP_SEND_STATUS_FROM_SERVER</a></td></tr>
+<tr class="memdesc:a329b7e8f6ab80211c43244937d2f066b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send status from the server: one and only one instance MUST be sent from the server unless the call was cancelled - in which case this can be skipped.  <a href="namespace_grpc.html#a329b7e8f6ab80211c43244937d2f066b">More...</a><br /></td></tr>
+<tr class="separator:a329b7e8f6ab80211c43244937d2f066b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a44bea93ebe65101cd153eb1723b5c8df"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#a44bea93ebe65101cd153eb1723b5c8df">Grpc::OP_RECV_INITIAL_METADATA</a></td></tr>
+<tr class="memdesc:a44bea93ebe65101cd153eb1723b5c8df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive initial metadata: one and only one MUST be made on the client, must not be made on the server.  <a href="namespace_grpc.html#a44bea93ebe65101cd153eb1723b5c8df">More...</a><br /></td></tr>
+<tr class="separator:a44bea93ebe65101cd153eb1723b5c8df"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd722f249677e393210715a8e78b6d73"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#abd722f249677e393210715a8e78b6d73">Grpc::OP_RECV_MESSAGE</a></td></tr>
+<tr class="memdesc:abd722f249677e393210715a8e78b6d73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive a message: 0 or more of these operations can occur for each call.  <a href="namespace_grpc.html#abd722f249677e393210715a8e78b6d73">More...</a><br /></td></tr>
+<tr class="separator:abd722f249677e393210715a8e78b6d73"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac128d591c1154dff27550083d43e4fbc"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#ac128d591c1154dff27550083d43e4fbc">Grpc::OP_RECV_STATUS_ON_CLIENT</a></td></tr>
+<tr class="memdesc:ac128d591c1154dff27550083d43e4fbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive status on the client: one and only one must be made on the client.  <a href="namespace_grpc.html#ac128d591c1154dff27550083d43e4fbc">More...</a><br /></td></tr>
+<tr class="separator:ac128d591c1154dff27550083d43e4fbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01f17ae219509b9217e41a878e9683d4"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#a01f17ae219509b9217e41a878e9683d4">Grpc::OP_RECV_CLOSE_ON_SERVER</a></td></tr>
+<tr class="memdesc:a01f17ae219509b9217e41a878e9683d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive close on the server: one and only one must be made on the server.  <a href="namespace_grpc.html#a01f17ae219509b9217e41a878e9683d4">More...</a><br /></td></tr>
+<tr class="separator:a01f17ae219509b9217e41a878e9683d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45f9f8ee6023816b530a127bf8b98c1e"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#a45f9f8ee6023816b530a127bf8b98c1e">Grpc::CHANNEL_IDLE</a></td></tr>
+<tr class="memdesc:a45f9f8ee6023816b530a127bf8b98c1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">channel is idle  <a href="namespace_grpc.html#a45f9f8ee6023816b530a127bf8b98c1e">More...</a><br /></td></tr>
+<tr class="separator:a45f9f8ee6023816b530a127bf8b98c1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a57cce2ed93d53b92fa1861e87db8ba2d"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#a57cce2ed93d53b92fa1861e87db8ba2d">Grpc::CHANNEL_CONNECTING</a></td></tr>
+<tr class="memdesc:a57cce2ed93d53b92fa1861e87db8ba2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">channel is connecting  <a href="namespace_grpc.html#a57cce2ed93d53b92fa1861e87db8ba2d">More...</a><br /></td></tr>
+<tr class="separator:a57cce2ed93d53b92fa1861e87db8ba2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ace72544b0a73a31054a8019c797dd832"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#ace72544b0a73a31054a8019c797dd832">Grpc::CHANNEL_READY</a></td></tr>
+<tr class="memdesc:ace72544b0a73a31054a8019c797dd832"><td class="mdescLeft">&#160;</td><td class="mdescRight">channel is ready for work  <a href="namespace_grpc.html#ace72544b0a73a31054a8019c797dd832">More...</a><br /></td></tr>
+<tr class="separator:ace72544b0a73a31054a8019c797dd832"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5d644d0baad6d761ab0b29efdb95b803"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#a5d644d0baad6d761ab0b29efdb95b803">Grpc::CHANNEL_TRANSIENT_FAILURE</a></td></tr>
+<tr class="memdesc:a5d644d0baad6d761ab0b29efdb95b803"><td class="mdescLeft">&#160;</td><td class="mdescRight">channel has seen a failure but expects to recover  <a href="namespace_grpc.html#a5d644d0baad6d761ab0b29efdb95b803">More...</a><br /></td></tr>
+<tr class="separator:a5d644d0baad6d761ab0b29efdb95b803"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad53a159e462c8b55e8c770bae0ae4bd0"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html#ad53a159e462c8b55e8c770bae0ae4bd0">Grpc::CHANNEL_FATAL_FAILURE</a></td></tr>
+<tr class="memdesc:ad53a159e462c8b55e8c770bae0ae4bd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">channel has seen a failure that it cannot recover from  <a href="namespace_grpc.html#ad53a159e462c8b55e8c770bae0ae4bd0">More...</a><br /></td></tr>
+<tr class="separator:ad53a159e462c8b55e8c770bae0ae4bd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 97 - 0
php/_default_call_invoker_8php.html

@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php/lib/Grpc/DefaultCallInvoker.php File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html">php</a></li><li class="navelem"><a class="el" href="dir_73429fa3d659a85a5c1bd72b8c229b9f.html">lib</a></li><li class="navelem"><a class="el" href="dir_4e49b715f9da74892c7bbbdb8130446b.html">Grpc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<div class="title">DefaultCallInvoker.php File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_default_call_invoker.html">Grpc\DefaultCallInvoker</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default call invoker in the gRPC stub.  <a href="class_grpc_1_1_default_call_invoker.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="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespace_grpc"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html">Grpc</a></td></tr>
+<tr class="memdesc:namespace_grpc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class <a class="el" href="class_grpc_1_1_abstract_call.html">AbstractCall</a>. <br /></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 Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 97 - 0
php/_interceptor_8php.html

@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php/lib/Grpc/Interceptor.php File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html">php</a></li><li class="navelem"><a class="el" href="dir_73429fa3d659a85a5c1bd72b8c229b9f.html">lib</a></li><li class="navelem"><a class="el" href="dir_4e49b715f9da74892c7bbbdb8130446b.html">Grpc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<div class="title">Interceptor.php File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_interceptor.html">Grpc\Interceptor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents an interceptor that intercept RPC invocations before call starts.  <a href="class_grpc_1_1_interceptor.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="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespace_grpc"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html">Grpc</a></td></tr>
+<tr class="memdesc:namespace_grpc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class <a class="el" href="class_grpc_1_1_abstract_call.html">AbstractCall</a>. <br /></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 Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 77 - 0
php/_p_r_o_t_o_c_o_l-_h_t_t_p2_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/PROTOCOL-HTTP2.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/PROTOCOL-HTTP2.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 77 - 0
php/_p_r_o_t_o_c_o_l-_w_e_b_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/PROTOCOL-WEB.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/PROTOCOL-WEB.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 77 - 0
php/_r_e_a_d_m_e_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php/README.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">src/php/README.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 96 - 0
php/_rpc_server_8php.html

@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php/lib/Grpc/RpcServer.php File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html">php</a></li><li class="navelem"><a class="el" href="dir_73429fa3d659a85a5c1bd72b8c229b9f.html">lib</a></li><li class="navelem"><a class="el" href="dir_4e49b715f9da74892c7bbbdb8130446b.html">Grpc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<div class="title">RpcServer.php File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_rpc_server.html">Grpc\RpcServer</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="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespace_grpc"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html">Grpc</a></td></tr>
+<tr class="memdesc:namespace_grpc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class <a class="el" href="class_grpc_1_1_abstract_call.html">AbstractCall</a>. <br /></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 Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 97 - 0
php/_server_8php.html

@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php/lib/Grpc/Server.php File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html">php</a></li><li class="navelem"><a class="el" href="dir_73429fa3d659a85a5c1bd72b8c229b9f.html">lib</a></li><li class="navelem"><a class="el" href="dir_4e49b715f9da74892c7bbbdb8130446b.html">Grpc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<div class="title">Server.php File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_server.html">Grpc\Server</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">class <a class="el" href="class_grpc_1_1_server.html" title="class Server">Server</a>  <a href="class_grpc_1_1_server.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="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespace_grpc"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html">Grpc</a></td></tr>
+<tr class="memdesc:namespace_grpc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class <a class="el" href="class_grpc_1_1_abstract_call.html">AbstractCall</a>. <br /></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 Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 97 - 0
php/_server_credentials_8php.html

@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php/lib/Grpc/ServerCredentials.php File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html">php</a></li><li class="navelem"><a class="el" href="dir_73429fa3d659a85a5c1bd72b8c229b9f.html">lib</a></li><li class="navelem"><a class="el" href="dir_4e49b715f9da74892c7bbbdb8130446b.html">Grpc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<div class="title">ServerCredentials.php File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_server_credentials.html">Grpc\ServerCredentials</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">class <a class="el" href="class_grpc_1_1_server_credentials.html" title="class ServerCredentials">ServerCredentials</a>  <a href="class_grpc_1_1_server_credentials.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="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespace_grpc"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html">Grpc</a></td></tr>
+<tr class="memdesc:namespace_grpc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class <a class="el" href="class_grpc_1_1_abstract_call.html">AbstractCall</a>. <br /></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 Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 97 - 0
php/_server_streaming_call_8php.html

@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php/lib/Grpc/ServerStreamingCall.php File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html">php</a></li><li class="navelem"><a class="el" href="dir_73429fa3d659a85a5c1bd72b8c229b9f.html">lib</a></li><li class="navelem"><a class="el" href="dir_4e49b715f9da74892c7bbbdb8130446b.html">Grpc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<div class="title">ServerStreamingCall.php File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_server_streaming_call.html">Grpc\ServerStreamingCall</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents an active call that sends a single message and then gets a stream of responses.  <a href="class_grpc_1_1_server_streaming_call.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="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespace_grpc"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html">Grpc</a></td></tr>
+<tr class="memdesc:namespace_grpc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class <a class="el" href="class_grpc_1_1_abstract_call.html">AbstractCall</a>. <br /></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 Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 97 - 0
php/_timeval_8php.html

@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php/lib/Grpc/Timeval.php File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html">php</a></li><li class="navelem"><a class="el" href="dir_73429fa3d659a85a5c1bd72b8c229b9f.html">lib</a></li><li class="navelem"><a class="el" href="dir_4e49b715f9da74892c7bbbdb8130446b.html">Grpc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<div class="title">Timeval.php File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_timeval.html">Grpc\Timeval</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">class <a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a>  <a href="class_grpc_1_1_timeval.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="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespace_grpc"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html">Grpc</a></td></tr>
+<tr class="memdesc:namespace_grpc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class <a class="el" href="class_grpc_1_1_abstract_call.html">AbstractCall</a>. <br /></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 Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 97 - 0
php/_unary_call_8php.html

@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php/lib/Grpc/UnaryCall.php File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html">php</a></li><li class="navelem"><a class="el" href="dir_73429fa3d659a85a5c1bd72b8c229b9f.html">lib</a></li><li class="navelem"><a class="el" href="dir_4e49b715f9da74892c7bbbdb8130446b.html">Grpc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<div class="title">UnaryCall.php File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_unary_call.html">Grpc\UnaryCall</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents an active call that sends a single message and then gets a single response.  <a href="class_grpc_1_1_unary_call.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="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespace_grpc"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_grpc.html">Grpc</a></td></tr>
+<tr class="memdesc:namespace_grpc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class <a class="el" href="class_grpc_1_1_abstract_call.html">AbstractCall</a>. <br /></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 Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 99 - 0
php/annotated.html

@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Data Structures</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Data Structures</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here are the data structures 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>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_grpc.html" target="_self">Grpc</a></td><td class="desc">Class <a class="el" href="class_grpc_1_1_abstract_call.html">AbstractCall</a> </td></tr>
+<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_abstract_call.html" target="_self">AbstractCall</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_base_stub.html" target="_self">BaseStub</a></td><td class="desc">Base class for generated client stubs </td></tr>
+<tr id="row_0_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_bidi_streaming_call.html" target="_self">BidiStreamingCall</a></td><td class="desc">Represents an active call that allows for sending and receiving messages in streams in any order </td></tr>
+<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_call.html" target="_self">Call</a></td><td class="desc">Class <a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a> </td></tr>
+<tr id="row_0_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_call_credentials.html" target="_self">CallCredentials</a></td><td class="desc">Class <a class="el" href="class_grpc_1_1_call_credentials.html" title="class CallCredentials">CallCredentials</a> </td></tr>
+<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interface_grpc_1_1_call_invoker.html" target="_self">CallInvoker</a></td><td class="desc"><a class="el" href="interface_grpc_1_1_call_invoker.html" title="CallInvoker is used to pass the self defined channel into the stub, while intercept each RPC with the...">CallInvoker</a> is used to pass the self defined channel into the stub, while intercept each RPC with the channel accessible </td></tr>
+<tr id="row_0_6_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_channel.html" target="_self">Channel</a></td><td class="desc">Class <a class="el" href="class_grpc_1_1_channel.html" title="class Channel">Channel</a> </td></tr>
+<tr id="row_0_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_channel_credentials.html" target="_self">ChannelCredentials</a></td><td class="desc">Class <a class="el" href="class_grpc_1_1_channel_credentials.html" title="class ChannelCredentials">ChannelCredentials</a> </td></tr>
+<tr id="row_0_8_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_client_streaming_call.html" target="_self">ClientStreamingCall</a></td><td class="desc">Represents an active call that sends a stream of messages and then gets a single response </td></tr>
+<tr id="row_0_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_default_call_invoker.html" target="_self">DefaultCallInvoker</a></td><td class="desc">Default call invoker in the gRPC stub </td></tr>
+<tr id="row_0_10_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_interceptor.html" target="_self">Interceptor</a></td><td class="desc">Represents an interceptor that intercept RPC invocations before call starts </td></tr>
+<tr id="row_0_11_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_rpc_server.html" target="_self">RpcServer</a></td><td class="desc"></td></tr>
+<tr id="row_0_12_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_server.html" target="_self">Server</a></td><td class="desc">Class <a class="el" href="class_grpc_1_1_server.html" title="class Server">Server</a> </td></tr>
+<tr id="row_0_13_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_server_credentials.html" target="_self">ServerCredentials</a></td><td class="desc">Class <a class="el" href="class_grpc_1_1_server_credentials.html" title="class ServerCredentials">ServerCredentials</a> </td></tr>
+<tr id="row_0_14_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_server_streaming_call.html" target="_self">ServerStreamingCall</a></td><td class="desc">Represents an active call that sends a single message and then gets a stream of responses </td></tr>
+<tr id="row_0_15_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_timeval.html" target="_self">Timeval</a></td><td class="desc">Class <a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a> </td></tr>
+<tr id="row_0_16_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_unary_call.html" target="_self">UnaryCall</a></td><td class="desc">Represents an active call that sends a single message and then gets a single response </td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

二进制
php/bc_s.png


二进制
php/bdwn.png


+ 77 - 0
php/binary-logging_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/binary-logging.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/binary-logging.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 77 - 0
php/c-style-guide_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/c-style-guide.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/c-style-guide.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 0 - 535
php/class-Grpc.AbstractCall.html

@@ -1,535 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-	<meta charset="utf-8">
-
-	<title>Class Grpc\AbstractCall</title>
-
-	<link rel="stylesheet" href="resources/style.css?e99947befd7bf673c6b43ff75e9e0f170c88a60e">
-
-<script type="text/javascript"> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-60127042-1', 'auto'); ga('send', 'pageview'); </script></head>
-
-<body>
-<div id="left">
-	<div id="menu">
-		<a href="index.html" title="Overview"><span>Overview</span></a>
-
-
-		<div id="groups">
-				<h3>Namespaces</h3>
-			<ul>
-				<li class="active">
-					<a href="namespace-Grpc.html">
-						Grpc					</a>
-
-						</li>
-			</ul>
-		</div>
-
-		<hr>
-
-
-		<div id="elements">
-			<h3>Classes</h3>
-			<ul>
-				<li class="active"><a href="class-Grpc.AbstractCall.html">AbstractCall</a></li>
-				<li><a href="class-Grpc.BaseStub.html">BaseStub</a></li>
-				<li><a href="class-Grpc.BidiStreamingCall.html">BidiStreamingCall</a></li>
-				<li><a href="class-Grpc.ClientStreamingCall.html">ClientStreamingCall</a></li>
-				<li><a href="class-Grpc.ServerStreamingCall.html">ServerStreamingCall</a></li>
-				<li><a href="class-Grpc.UnaryCall.html">UnaryCall</a></li>
-			</ul>
-
-
-
-
-
-		</div>
-	</div>
-</div>
-
-<div id="splitter"></div>
-
-<div id="right">
-<div id="rightInner">
-	<form id="search">
-		<input type="hidden" name="cx" value="">
-		<input type="hidden" name="ie" value="UTF-8">
-		<input type="text" name="q" class="text" placeholder="Search">
-	</form>
-
-	<div id="navigation">
-		<ul>
-			<li>
-				<a href="index.html" title="Overview"><span>Overview</span></a>
-			</li>
-			<li>
-				<a href="namespace-Grpc.html" title="Summary of Grpc"><span>Namespace</span></a>
-			</li>
-			<li class="active">
-<span>Class</span>			</li>
-		</ul>
-		<ul>
-		</ul>
-		<ul>
-		</ul>
-	</div>
-
-<div id="content" class="class">
-	<h1>Class AbstractCall</h1>
-
-
-	<div class="description">
-	<p>Class AbstractCall.</p>
-	</div>
-
-
-
-	<div>
-		<h4>Direct known subclasses</h4>
-			<a href="class-Grpc.BidiStreamingCall.html">Grpc\BidiStreamingCall</a>, 
-			<a href="class-Grpc.ClientStreamingCall.html">Grpc\ClientStreamingCall</a>, 
-			<a href="class-Grpc.ServerStreamingCall.html">Grpc\ServerStreamingCall</a>, 
-			<a href="class-Grpc.UnaryCall.html">Grpc\UnaryCall</a>
-	</div>
-
-
-
-
-
-
-	<div class="info">
-		<b>Abstract</b><br>
-		
-		<b>Namespace:</b> <a href="namespace-Grpc.html">Grpc</a><br>
-		<b>Package:</b> Grpc<br>
-
-			<b>Located at</b> <a href="source-class-Grpc.AbstractCall.html#37-175" title="Go to source code">AbstractCall.php</a>
-		<br>
-	</div>
-
-
-
-	<table class="summary methods" id="methods">
-	<caption>Methods summary</caption>
-	<tr data-order="__construct" id="___construct">
-
-		<td class="attributes"><code>
-			 public 
-
-			
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#___construct">#</a>
-		<code><a href="source-class-Grpc.AbstractCall.html#51-88" title="Go to source code">__construct</a>( <span>Grpc\Channel <var>$channel</var></span>, <span>string <var>$method</var></span>, <span>callable <var>$deserialize</var></span>, <span>array <var>$options</var> = []</span> )</code>
-
-		<div class="description short">
-			<p>Create a new Call wrapper object.</p>
-		</div>
-
-		<div class="description detailed hidden">
-			<p>Create a new Call wrapper object.</p>
-
-
-				<h4>Parameters</h4>
-				<div class="list"><dl>
-					<dt><var>$channel</var></dt>
-					<dd>The channel to communicate on</dd>
-					<dt><var>$method</var></dt>
-					<dd><p>The method to call on the
-                             remote server</p></dd>
-					<dt><var>$deserialize</var></dt>
-					<dd><p>A callback function to deserialize
-                             the response</p></dd>
-					<dt><var>$options</var></dt>
-					<dd>Call options (optional)</dd>
-				</dl></div>
-
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="getMetadata" id="_getMetadata">
-
-		<td class="attributes"><code>
-			 public 
-
-			mixed
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#_getMetadata">#</a>
-		<code><a href="source-class-Grpc.AbstractCall.html#90-96" title="Go to source code">getMetadata</a>( )</code>
-
-		<div class="description short">
-			
-		</div>
-
-		<div class="description detailed hidden">
-			
-
-
-
-				<h4>Returns</h4>
-				<div class="list">
-					mixed<br>The metadata sent by the server
-				</div>
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="getTrailingMetadata" id="_getTrailingMetadata">
-
-		<td class="attributes"><code>
-			 public 
-
-			mixed
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#_getTrailingMetadata">#</a>
-		<code><a href="source-class-Grpc.AbstractCall.html#98-104" title="Go to source code">getTrailingMetadata</a>( )</code>
-
-		<div class="description short">
-			
-		</div>
-
-		<div class="description detailed hidden">
-			
-
-
-
-				<h4>Returns</h4>
-				<div class="list">
-					mixed<br>The trailing metadata sent by the server
-				</div>
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="getPeer" id="_getPeer">
-
-		<td class="attributes"><code>
-			 public 
-
-			string
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#_getPeer">#</a>
-		<code><a href="source-class-Grpc.AbstractCall.html#106-112" title="Go to source code">getPeer</a>( )</code>
-
-		<div class="description short">
-			
-		</div>
-
-		<div class="description detailed hidden">
-			
-
-
-
-				<h4>Returns</h4>
-				<div class="list">
-					string<br>The URI of the endpoint
-				</div>
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="cancel" id="_cancel">
-
-		<td class="attributes"><code>
-			 public 
-
-			
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#_cancel">#</a>
-		<code><a href="source-class-Grpc.AbstractCall.html#114-120" title="Go to source code">cancel</a>( )</code>
-
-		<div class="description short">
-			<p>Cancels the call.</p>
-		</div>
-
-		<div class="description detailed hidden">
-			<p>Cancels the call.</p>
-
-
-
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="_serializeMessage" id="__serializeMessage">
-
-		<td class="attributes"><code>
-			 protected 
-
-			string
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#__serializeMessage">#</a>
-		<code><a href="source-class-Grpc.AbstractCall.html#122-138" title="Go to source code">_serializeMessage</a>( <span>mixed <var>$data</var></span> )</code>
-
-		<div class="description short">
-			<p>Serialize a message to the protobuf binary format.</p>
-		</div>
-
-		<div class="description detailed hidden">
-			<p>Serialize a message to the protobuf binary format.</p>
-
-
-				<h4>Parameters</h4>
-				<div class="list"><dl>
-					<dt><var>$data</var></dt>
-					<dd>The Protobuf message</dd>
-				</dl></div>
-
-				<h4>Returns</h4>
-				<div class="list">
-					string<br>The protobuf binary format
-				</div>
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="_deserializeResponse" id="__deserializeResponse">
-
-		<td class="attributes"><code>
-			 protected 
-
-			mixed
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#__deserializeResponse">#</a>
-		<code><a href="source-class-Grpc.AbstractCall.html#140-164" title="Go to source code">_deserializeResponse</a>( <span>string <var>$value</var></span> )</code>
-
-		<div class="description short">
-			<p>Deserialize a response value to an object.</p>
-		</div>
-
-		<div class="description detailed hidden">
-			<p>Deserialize a response value to an object.</p>
-
-
-				<h4>Parameters</h4>
-				<div class="list"><dl>
-					<dt><var>$value</var></dt>
-					<dd>The binary value to deserialize</dd>
-				</dl></div>
-
-				<h4>Returns</h4>
-				<div class="list">
-					mixed<br>The deserialized value
-				</div>
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="setCallCredentials" id="_setCallCredentials">
-
-		<td class="attributes"><code>
-			 public 
-
-			
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#_setCallCredentials">#</a>
-		<code><a href="source-class-Grpc.AbstractCall.html#166-174" title="Go to source code">setCallCredentials</a>( <span>CallCredentials <var>$call_credentials</var></span> )</code>
-
-		<div class="description short">
-			<p>Set the CallCredentials for the underlying Call.</p>
-		</div>
-
-		<div class="description detailed hidden">
-			<p>Set the CallCredentials for the underlying Call.</p>
-
-
-				<h4>Parameters</h4>
-				<div class="list"><dl>
-					<dt><var>$call_credentials</var></dt>
-					<dd>The CallCredentials object</dd>
-				</dl></div>
-
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	</table>
-
-
-
-
-
-
-
-
-
-
-
-
-	<table class="summary properties" id="properties">
-	<caption>Properties summary</caption>
-	<tr data-order="call" id="$call">
-		<td class="attributes"><code>
-			protected  
-			Call
-		</code></td>
-
-		<td class="name">
-				<a href="source-class-Grpc.AbstractCall.html#43-46" title="Go to source code"><var>$call</var></a>
-
-			<div class="description short">
-				
-			</div>
-
-			<div class="description detailed hidden">
-				
-
-			</div>
-		</td>
-		<td class="value">
-			<div>
-				<a href="#$call" class="anchor">#</a>
-				<code></code>
-			</div>
-		</td>
-	</tr>
-	<tr data-order="deserialize" id="$deserialize">
-		<td class="attributes"><code>
-			protected  
-			
-		</code></td>
-
-		<td class="name">
-				<a href="source-class-Grpc.AbstractCall.html#47" title="Go to source code"><var>$deserialize</var></a>
-
-			<div class="description short">
-				
-			</div>
-
-			<div class="description detailed hidden">
-				
-
-			</div>
-		</td>
-		<td class="value">
-			<div>
-				<a href="#$deserialize" class="anchor">#</a>
-				<code></code>
-			</div>
-		</td>
-	</tr>
-	<tr data-order="metadata" id="$metadata">
-		<td class="attributes"><code>
-			protected  
-			
-		</code></td>
-
-		<td class="name">
-				<a href="source-class-Grpc.AbstractCall.html#48" title="Go to source code"><var>$metadata</var></a>
-
-			<div class="description short">
-				
-			</div>
-
-			<div class="description detailed hidden">
-				
-
-			</div>
-		</td>
-		<td class="value">
-			<div>
-				<a href="#$metadata" class="anchor">#</a>
-				<code></code>
-			</div>
-		</td>
-	</tr>
-	<tr data-order="trailing_metadata" id="$trailing_metadata">
-		<td class="attributes"><code>
-			protected  
-			
-		</code></td>
-
-		<td class="name">
-				<a href="source-class-Grpc.AbstractCall.html#49" title="Go to source code"><var>$trailing_metadata</var></a>
-
-			<div class="description short">
-				
-			</div>
-
-			<div class="description detailed hidden">
-				
-
-			</div>
-		</td>
-		<td class="value">
-			<div>
-				<a href="#$trailing_metadata" class="anchor">#</a>
-				<code></code>
-			</div>
-		</td>
-	</tr>
-	</table>
-
-
-
-
-
-
-</div>
-
-	<div id="footer">
-		 API documentation generated by <a href="http://apigen.org">ApiGen</a>
-	</div>
-</div>
-</div>
-<script src="resources/combined.js"></script>
-<script src="elementlist.js"></script>
-</body>
-</html>

+ 0 - 524
php/class-Grpc.BaseStub.html

@@ -1,524 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-	<meta charset="utf-8">
-
-	<title>Class Grpc\BaseStub</title>
-
-	<link rel="stylesheet" href="resources/style.css?e99947befd7bf673c6b43ff75e9e0f170c88a60e">
-
-<script type="text/javascript"> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-60127042-1', 'auto'); ga('send', 'pageview'); </script></head>
-
-<body>
-<div id="left">
-	<div id="menu">
-		<a href="index.html" title="Overview"><span>Overview</span></a>
-
-
-		<div id="groups">
-				<h3>Namespaces</h3>
-			<ul>
-				<li class="active">
-					<a href="namespace-Grpc.html">
-						Grpc					</a>
-
-						</li>
-			</ul>
-		</div>
-
-		<hr>
-
-
-		<div id="elements">
-			<h3>Classes</h3>
-			<ul>
-				<li><a href="class-Grpc.AbstractCall.html">AbstractCall</a></li>
-				<li class="active"><a href="class-Grpc.BaseStub.html">BaseStub</a></li>
-				<li><a href="class-Grpc.BidiStreamingCall.html">BidiStreamingCall</a></li>
-				<li><a href="class-Grpc.ClientStreamingCall.html">ClientStreamingCall</a></li>
-				<li><a href="class-Grpc.ServerStreamingCall.html">ServerStreamingCall</a></li>
-				<li><a href="class-Grpc.UnaryCall.html">UnaryCall</a></li>
-			</ul>
-
-
-
-
-
-		</div>
-	</div>
-</div>
-
-<div id="splitter"></div>
-
-<div id="right">
-<div id="rightInner">
-	<form id="search">
-		<input type="hidden" name="cx" value="">
-		<input type="hidden" name="ie" value="UTF-8">
-		<input type="text" name="q" class="text" placeholder="Search">
-	</form>
-
-	<div id="navigation">
-		<ul>
-			<li>
-				<a href="index.html" title="Overview"><span>Overview</span></a>
-			</li>
-			<li>
-				<a href="namespace-Grpc.html" title="Summary of Grpc"><span>Namespace</span></a>
-			</li>
-			<li class="active">
-<span>Class</span>			</li>
-		</ul>
-		<ul>
-		</ul>
-		<ul>
-		</ul>
-	</div>
-
-<div id="content" class="class">
-	<h1>Class BaseStub</h1>
-
-
-	<div class="description">
-	<p>Base class for generated client stubs. Stub methods are expected to call
-_simpleRequest or _streamRequest and return the result.</p>
-	</div>
-
-
-
-
-
-
-
-
-
-	<div class="info">
-		
-		
-		<b>Namespace:</b> <a href="namespace-Grpc.html">Grpc</a><br>
-		
-
-			<b>Located at</b> <a href="source-class-Grpc.BaseStub.html#37-363" title="Go to source code">BaseStub.php</a>
-		<br>
-	</div>
-
-
-
-	<table class="summary methods" id="methods">
-	<caption>Methods summary</caption>
-	<tr data-order="__construct" id="___construct">
-
-		<td class="attributes"><code>
-			 public 
-
-			
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#___construct">#</a>
-		<code><a href="source-class-Grpc.BaseStub.html#50-98" title="Go to source code">__construct</a>( <span>string <var>$hostname</var></span>, <span>array <var>$opts</var></span>, <span>Grpc\Channel <var>$channel</var> = <span class="php-keyword1">null</span></span> )</code>
-
-		<div class="description short">
-			
-		</div>
-
-		<div class="description detailed hidden">
-			
-
-
-				<h4>Parameters</h4>
-				<div class="list"><dl>
-					<dt><var>$hostname</var></dt>
-					<dd></dd>
-					<dt><var>$opts</var></dt>
-					<dd><ul>
-<li>'update_metadata': (optional) a callback function which takes in a
-metadata array, and returns an updated metadata array
-
-<ul>
-<li>'grpc.primary_user_agent': (optional) a user-agent string</li>
-</ul></li>
-</ul></dd>
-					<dt><var>$channel</var></dt>
-					<dd>An already created Channel object (optional)</dd>
-				</dl></div>
-
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="getTarget" id="_getTarget">
-
-		<td class="attributes"><code>
-			 public 
-
-			string
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#_getTarget">#</a>
-		<code><a href="source-class-Grpc.BaseStub.html#100-106" title="Go to source code">getTarget</a>( )</code>
-
-		<div class="description short">
-			
-		</div>
-
-		<div class="description detailed hidden">
-			
-
-
-
-				<h4>Returns</h4>
-				<div class="list">
-					string<br>The URI of the endpoint
-				</div>
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="getConnectivityState" id="_getConnectivityState">
-
-		<td class="attributes"><code>
-			 public 
-
-			integer
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#_getConnectivityState">#</a>
-		<code><a href="source-class-Grpc.BaseStub.html#108-116" title="Go to source code">getConnectivityState</a>( <span>boolean <var>$try_to_connect</var> = <span class="php-keyword1">false</span></span> )</code>
-
-		<div class="description short">
-			
-		</div>
-
-		<div class="description detailed hidden">
-			
-
-
-				<h4>Parameters</h4>
-				<div class="list"><dl>
-					<dt><var>$try_to_connect</var></dt>
-					<dd>(optional)</dd>
-				</dl></div>
-
-				<h4>Returns</h4>
-				<div class="list">
-					integer<br>The grpc connectivity state
-				</div>
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="waitForReady" id="_waitForReady">
-
-		<td class="attributes"><code>
-			 public 
-
-			boolean
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#_waitForReady">#</a>
-		<code><a href="source-class-Grpc.BaseStub.html#118-146" title="Go to source code">waitForReady</a>( <span>integer <var>$timeout</var></span> )</code>
-
-		<div class="description short">
-			
-		</div>
-
-		<div class="description detailed hidden">
-			
-
-
-				<h4>Parameters</h4>
-				<div class="list"><dl>
-					<dt><var>$timeout</var></dt>
-					<dd>in microseconds</dd>
-				</dl></div>
-
-				<h4>Returns</h4>
-				<div class="list">
-					boolean<br>true if channel is ready
-				</div>
-
-
-				<h4>Throw</h4>
-				<div class="list">
-						Exception if channel is in FATAL_ERROR state<br>
-				</div>
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="close" id="_close">
-
-		<td class="attributes"><code>
-			 public 
-
-			
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#_close">#</a>
-		<code><a href="source-class-Grpc.BaseStub.html#148-154" title="Go to source code">close</a>( )</code>
-
-		<div class="description short">
-			<p>Close the communication channel associated with this stub.</p>
-		</div>
-
-		<div class="description detailed hidden">
-			<p>Close the communication channel associated with this stub.</p>
-
-
-
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="_simpleRequest" id="__simpleRequest">
-
-		<td class="attributes"><code>
-			 protected 
-
-			SimpleSurfaceActiveCall
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#__simpleRequest">#</a>
-		<code><a href="source-class-Grpc.BaseStub.html#225-259" title="Go to source code">_simpleRequest</a>( <span>string <var>$method</var></span>, <span>mixed <var>$argument</var></span>, <span>callable <var>$deserialize</var></span>, <span>array <var>$metadata</var> = []</span>, <span>array <var>$options</var> = []</span> )</code>
-
-		<div class="description short">
-			<p>Call a remote method that takes a single argument and has a
-single output.</p>
-		</div>
-
-		<div class="description detailed hidden">
-			<p>Call a remote method that takes a single argument and has a
-single output.</p>
-
-
-				<h4>Parameters</h4>
-				<div class="list"><dl>
-					<dt><var>$method</var></dt>
-					<dd>The name of the method to call</dd>
-					<dt><var>$argument</var></dt>
-					<dd>The argument to the method</dd>
-					<dt><var>$deserialize</var></dt>
-					<dd>A function that deserializes the response</dd>
-					<dt><var>$metadata</var></dt>
-					<dd><p>A metadata map to send to the server
-                             (optional)</p></dd>
-					<dt><var>$options</var></dt>
-					<dd>An array of options (optional)</dd>
-				</dl></div>
-
-				<h4>Returns</h4>
-				<div class="list">
-					SimpleSurfaceActiveCall<br>The active call object
-				</div>
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="_clientStreamRequest" id="__clientStreamRequest">
-
-		<td class="attributes"><code>
-			 protected 
-
-			ClientStreamingSurfaceActiveCall
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#__clientStreamRequest">#</a>
-		<code><a href="source-class-Grpc.BaseStub.html#261-293" title="Go to source code">_clientStreamRequest</a>( <span>string <var>$method</var></span>, <span>callable <var>$deserialize</var></span>, <span>array <var>$metadata</var> = []</span>, <span>array <var>$options</var> = []</span> )</code>
-
-		<div class="description short">
-			<p>Call a remote method that takes a stream of arguments and has a single
-output.</p>
-		</div>
-
-		<div class="description detailed hidden">
-			<p>Call a remote method that takes a stream of arguments and has a single
-output.</p>
-
-
-				<h4>Parameters</h4>
-				<div class="list"><dl>
-					<dt><var>$method</var></dt>
-					<dd>The name of the method to call</dd>
-					<dt><var>$deserialize</var></dt>
-					<dd>A function that deserializes the response</dd>
-					<dt><var>$metadata</var></dt>
-					<dd><p>A metadata map to send to the server
-                             (optional)</p></dd>
-					<dt><var>$options</var></dt>
-					<dd>An array of options (optional)</dd>
-				</dl></div>
-
-				<h4>Returns</h4>
-				<div class="list">
-					ClientStreamingSurfaceActiveCall<br>The active call object
-				</div>
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="_serverStreamRequest" id="__serverStreamRequest">
-
-		<td class="attributes"><code>
-			 protected 
-
-			ServerStreamingSurfaceActiveCall
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#__serverStreamRequest">#</a>
-		<code><a href="source-class-Grpc.BaseStub.html#295-329" title="Go to source code">_serverStreamRequest</a>( <span>string <var>$method</var></span>, <span>mixed <var>$argument</var></span>, <span>callable <var>$deserialize</var></span>, <span>array <var>$metadata</var> = []</span>, <span>array <var>$options</var> = []</span> )</code>
-
-		<div class="description short">
-			<p>Call a remote method that takes a single argument and returns a stream
-of responses.</p>
-		</div>
-
-		<div class="description detailed hidden">
-			<p>Call a remote method that takes a single argument and returns a stream
-of responses.</p>
-
-
-				<h4>Parameters</h4>
-				<div class="list"><dl>
-					<dt><var>$method</var></dt>
-					<dd>The name of the method to call</dd>
-					<dt><var>$argument</var></dt>
-					<dd>The argument to the method</dd>
-					<dt><var>$deserialize</var></dt>
-					<dd>A function that deserializes the responses</dd>
-					<dt><var>$metadata</var></dt>
-					<dd><p>A metadata map to send to the server
-                             (optional)</p></dd>
-					<dt><var>$options</var></dt>
-					<dd>An array of options (optional)</dd>
-				</dl></div>
-
-				<h4>Returns</h4>
-				<div class="list">
-					ServerStreamingSurfaceActiveCall<br>The active call object
-				</div>
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="_bidiRequest" id="__bidiRequest">
-
-		<td class="attributes"><code>
-			 protected 
-
-			BidiStreamingSurfaceActiveCall
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#__bidiRequest">#</a>
-		<code><a href="source-class-Grpc.BaseStub.html#331-362" title="Go to source code">_bidiRequest</a>( <span>string <var>$method</var></span>, <span>callable <var>$deserialize</var></span>, <span>array <var>$metadata</var> = []</span>, <span>array <var>$options</var> = []</span> )</code>
-
-		<div class="description short">
-			<p>Call a remote method with messages streaming in both directions.</p>
-		</div>
-
-		<div class="description detailed hidden">
-			<p>Call a remote method with messages streaming in both directions.</p>
-
-
-				<h4>Parameters</h4>
-				<div class="list"><dl>
-					<dt><var>$method</var></dt>
-					<dd>The name of the method to call</dd>
-					<dt><var>$deserialize</var></dt>
-					<dd>A function that deserializes the responses</dd>
-					<dt><var>$metadata</var></dt>
-					<dd><p>A metadata map to send to the server
-                             (optional)</p></dd>
-					<dt><var>$options</var></dt>
-					<dd>An array of options (optional)</dd>
-				</dl></div>
-
-				<h4>Returns</h4>
-				<div class="list">
-					BidiStreamingSurfaceActiveCall<br>The active call object
-				</div>
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	</table>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</div>
-
-	<div id="footer">
-		 API documentation generated by <a href="http://apigen.org">ApiGen</a>
-	</div>
-</div>
-</div>
-<script src="resources/combined.js"></script>
-<script src="elementlist.js"></script>
-</body>
-</html>

+ 0 - 353
php/class-Grpc.BidiStreamingCall.html

@@ -1,353 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-	<meta charset="utf-8">
-
-	<title>Class Grpc\BidiStreamingCall</title>
-
-	<link rel="stylesheet" href="resources/style.css?e99947befd7bf673c6b43ff75e9e0f170c88a60e">
-
-<script type="text/javascript"> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-60127042-1', 'auto'); ga('send', 'pageview'); </script></head>
-
-<body>
-<div id="left">
-	<div id="menu">
-		<a href="index.html" title="Overview"><span>Overview</span></a>
-
-
-		<div id="groups">
-				<h3>Namespaces</h3>
-			<ul>
-				<li class="active">
-					<a href="namespace-Grpc.html">
-						Grpc					</a>
-
-						</li>
-			</ul>
-		</div>
-
-		<hr>
-
-
-		<div id="elements">
-			<h3>Classes</h3>
-			<ul>
-				<li><a href="class-Grpc.AbstractCall.html">AbstractCall</a></li>
-				<li><a href="class-Grpc.BaseStub.html">BaseStub</a></li>
-				<li class="active"><a href="class-Grpc.BidiStreamingCall.html">BidiStreamingCall</a></li>
-				<li><a href="class-Grpc.ClientStreamingCall.html">ClientStreamingCall</a></li>
-				<li><a href="class-Grpc.ServerStreamingCall.html">ServerStreamingCall</a></li>
-				<li><a href="class-Grpc.UnaryCall.html">UnaryCall</a></li>
-			</ul>
-
-
-
-
-
-		</div>
-	</div>
-</div>
-
-<div id="splitter"></div>
-
-<div id="right">
-<div id="rightInner">
-	<form id="search">
-		<input type="hidden" name="cx" value="">
-		<input type="hidden" name="ie" value="UTF-8">
-		<input type="text" name="q" class="text" placeholder="Search">
-	</form>
-
-	<div id="navigation">
-		<ul>
-			<li>
-				<a href="index.html" title="Overview"><span>Overview</span></a>
-			</li>
-			<li>
-				<a href="namespace-Grpc.html" title="Summary of Grpc"><span>Namespace</span></a>
-			</li>
-			<li class="active">
-<span>Class</span>			</li>
-		</ul>
-		<ul>
-		</ul>
-		<ul>
-		</ul>
-	</div>
-
-<div id="content" class="class">
-	<h1>Class BidiStreamingCall</h1>
-
-
-	<div class="description">
-	<p>Represents an active call that allows for sending and recieving messages
-in streams in any order.</p>
-	</div>
-
-	<dl class="tree">
-		<dd style="padding-left:0px">
-			<a href="class-Grpc.AbstractCall.html"><span>Grpc\AbstractCall</span></a>
-			
-			
-			
-		</dd>
-		<dd style="padding-left:30px">
-			<img src="resources/inherit.png" alt="Extended by">
-<b><span>Grpc\BidiStreamingCall</span></b>			
-			
-			
-		</dd>
-	</dl>
-
-
-
-
-
-
-
-
-	<div class="info">
-		
-		
-		<b>Namespace:</b> <a href="namespace-Grpc.html">Grpc</a><br>
-		
-
-			<b>Located at</b> <a href="source-class-Grpc.BidiStreamingCall.html#37-120" title="Go to source code">BidiStreamingCall.php</a>
-		<br>
-	</div>
-
-
-
-	<table class="summary methods" id="methods">
-	<caption>Methods summary</caption>
-	<tr data-order="start" id="_start">
-
-		<td class="attributes"><code>
-			 public 
-
-			
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#_start">#</a>
-		<code><a href="source-class-Grpc.BidiStreamingCall.html#43-54" title="Go to source code">start</a>( <span>array <var>$metadata</var> = []</span> )</code>
-
-		<div class="description short">
-			<p>Start the call.</p>
-		</div>
-
-		<div class="description detailed hidden">
-			<p>Start the call.</p>
-
-
-				<h4>Parameters</h4>
-				<div class="list"><dl>
-					<dt><var>$metadata</var></dt>
-					<dd><p>Metadata to send with the call, if applicable
-                       (optional)</p></dd>
-				</dl></div>
-
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="read" id="_read">
-
-		<td class="attributes"><code>
-			 public 
-
-			mixed
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#_read">#</a>
-		<code><a href="source-class-Grpc.BidiStreamingCall.html#56-73" title="Go to source code">read</a>( )</code>
-
-		<div class="description short">
-			<p>Reads the next value from the server.</p>
-		</div>
-
-		<div class="description detailed hidden">
-			<p>Reads the next value from the server.</p>
-
-
-
-				<h4>Returns</h4>
-				<div class="list">
-					mixed<br>The next value from the server, or null if there is none
-				</div>
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="write" id="_write">
-
-		<td class="attributes"><code>
-			 public 
-
-			
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#_write">#</a>
-		<code><a href="source-class-Grpc.BidiStreamingCall.html#75-92" title="Go to source code">write</a>( <span>ByteBuffer <var>$data</var></span>, <span>array <var>$options</var> = []</span> )</code>
-
-		<div class="description short">
-			<p>Write a single message to the server. This cannot be called after
-writesDone is called.</p>
-		</div>
-
-		<div class="description detailed hidden">
-			<p>Write a single message to the server. This cannot be called after
-writesDone is called.</p>
-
-
-				<h4>Parameters</h4>
-				<div class="list"><dl>
-					<dt><var>$data</var></dt>
-					<dd>The data to write</dd>
-					<dt><var>$options</var></dt>
-					<dd><p>An array of options, possible keys:
-                           'flags' => a number (optional)</p></dd>
-				</dl></div>
-
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="writesDone" id="_writesDone">
-
-		<td class="attributes"><code>
-			 public 
-
-			
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#_writesDone">#</a>
-		<code><a href="source-class-Grpc.BidiStreamingCall.html#94-102" title="Go to source code">writesDone</a>( )</code>
-
-		<div class="description short">
-			<p>Indicate that no more writes will be sent.</p>
-		</div>
-
-		<div class="description detailed hidden">
-			<p>Indicate that no more writes will be sent.</p>
-
-
-
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="getStatus" id="_getStatus">
-
-		<td class="attributes"><code>
-			 public 
-
-			stdClass
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#_getStatus">#</a>
-		<code><a href="source-class-Grpc.BidiStreamingCall.html#104-119" title="Go to source code">getStatus</a>( )</code>
-
-		<div class="description short">
-			<p>Wait for the server to send the status, and return it.</p>
-		</div>
-
-		<div class="description detailed hidden">
-			<p>Wait for the server to send the status, and return it.</p>
-
-
-
-				<h4>Returns</h4>
-				<div class="list">
-					stdClass<br><p>The status object, with integer $code, string
-                  $details, and array $metadata members</p>
-				</div>
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	</table>
-
-	<table class="summary inherited">
-	<caption>Methods inherited from <a href="class-Grpc.AbstractCall.html#methods">Grpc\AbstractCall</a></caption>
-	<tr>
-		<td><code>
-			<a href="class-Grpc.AbstractCall.html#___construct">__construct()</a>, 
-			<a href="class-Grpc.AbstractCall.html#__deserializeResponse">_deserializeResponse()</a>, 
-			<a href="class-Grpc.AbstractCall.html#__serializeMessage">_serializeMessage()</a>, 
-			<a href="class-Grpc.AbstractCall.html#_cancel">cancel()</a>, 
-			<a href="class-Grpc.AbstractCall.html#_getMetadata">getMetadata()</a>, 
-			<a href="class-Grpc.AbstractCall.html#_getPeer">getPeer()</a>, 
-			<a href="class-Grpc.AbstractCall.html#_getTrailingMetadata">getTrailingMetadata()</a>, 
-			<a href="class-Grpc.AbstractCall.html#_setCallCredentials">setCallCredentials()</a>
-		</code></td>
-	</tr>
-	</table>
-
-
-
-
-
-
-
-
-
-
-
-
-	<table class="summary inherited">
-	<caption>Properties inherited from <a href="class-Grpc.AbstractCall.html#properties">Grpc\AbstractCall</a></caption>
-	<tr>
-		<td><code>
-			<a href="class-Grpc.AbstractCall.html#$call"><var>$call</var></a>, 
-			<a href="class-Grpc.AbstractCall.html#$deserialize"><var>$deserialize</var></a>, 
-			<a href="class-Grpc.AbstractCall.html#$metadata"><var>$metadata</var></a>, 
-			<a href="class-Grpc.AbstractCall.html#$trailing_metadata"><var>$trailing_metadata</var></a>
-		</code></td>
-	</tr>
-	</table>
-
-
-
-
-
-</div>
-
-	<div id="footer">
-		 API documentation generated by <a href="http://apigen.org">ApiGen</a>
-	</div>
-</div>
-</div>
-<script src="resources/combined.js"></script>
-<script src="elementlist.js"></script>
-</body>
-</html>

+ 0 - 288
php/class-Grpc.ClientStreamingCall.html

@@ -1,288 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-	<meta charset="utf-8">
-
-	<title>Class Grpc\ClientStreamingCall</title>
-
-	<link rel="stylesheet" href="resources/style.css?e99947befd7bf673c6b43ff75e9e0f170c88a60e">
-
-<script type="text/javascript"> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-60127042-1', 'auto'); ga('send', 'pageview'); </script></head>
-
-<body>
-<div id="left">
-	<div id="menu">
-		<a href="index.html" title="Overview"><span>Overview</span></a>
-
-
-		<div id="groups">
-				<h3>Namespaces</h3>
-			<ul>
-				<li class="active">
-					<a href="namespace-Grpc.html">
-						Grpc					</a>
-
-						</li>
-			</ul>
-		</div>
-
-		<hr>
-
-
-		<div id="elements">
-			<h3>Classes</h3>
-			<ul>
-				<li><a href="class-Grpc.AbstractCall.html">AbstractCall</a></li>
-				<li><a href="class-Grpc.BaseStub.html">BaseStub</a></li>
-				<li><a href="class-Grpc.BidiStreamingCall.html">BidiStreamingCall</a></li>
-				<li class="active"><a href="class-Grpc.ClientStreamingCall.html">ClientStreamingCall</a></li>
-				<li><a href="class-Grpc.ServerStreamingCall.html">ServerStreamingCall</a></li>
-				<li><a href="class-Grpc.UnaryCall.html">UnaryCall</a></li>
-			</ul>
-
-
-
-
-
-		</div>
-	</div>
-</div>
-
-<div id="splitter"></div>
-
-<div id="right">
-<div id="rightInner">
-	<form id="search">
-		<input type="hidden" name="cx" value="">
-		<input type="hidden" name="ie" value="UTF-8">
-		<input type="text" name="q" class="text" placeholder="Search">
-	</form>
-
-	<div id="navigation">
-		<ul>
-			<li>
-				<a href="index.html" title="Overview"><span>Overview</span></a>
-			</li>
-			<li>
-				<a href="namespace-Grpc.html" title="Summary of Grpc"><span>Namespace</span></a>
-			</li>
-			<li class="active">
-<span>Class</span>			</li>
-		</ul>
-		<ul>
-		</ul>
-		<ul>
-		</ul>
-	</div>
-
-<div id="content" class="class">
-	<h1>Class ClientStreamingCall</h1>
-
-
-	<div class="description">
-	<p>Represents an active call that sends a stream of messages and then gets
-a single response.</p>
-	</div>
-
-	<dl class="tree">
-		<dd style="padding-left:0px">
-			<a href="class-Grpc.AbstractCall.html"><span>Grpc\AbstractCall</span></a>
-			
-			
-			
-		</dd>
-		<dd style="padding-left:30px">
-			<img src="resources/inherit.png" alt="Extended by">
-<b><span>Grpc\ClientStreamingCall</span></b>			
-			
-			
-		</dd>
-	</dl>
-
-
-
-
-
-
-
-
-	<div class="info">
-		
-		
-		<b>Namespace:</b> <a href="namespace-Grpc.html">Grpc</a><br>
-		
-
-			<b>Located at</b> <a href="source-class-Grpc.ClientStreamingCall.html#37-95" title="Go to source code">ClientStreamingCall.php</a>
-		<br>
-	</div>
-
-
-
-	<table class="summary methods" id="methods">
-	<caption>Methods summary</caption>
-	<tr data-order="start" id="_start">
-
-		<td class="attributes"><code>
-			 public 
-
-			
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#_start">#</a>
-		<code><a href="source-class-Grpc.ClientStreamingCall.html#43-54" title="Go to source code">start</a>( <span>array <var>$metadata</var> = []</span> )</code>
-
-		<div class="description short">
-			<p>Start the call.</p>
-		</div>
-
-		<div class="description detailed hidden">
-			<p>Start the call.</p>
-
-
-				<h4>Parameters</h4>
-				<div class="list"><dl>
-					<dt><var>$metadata</var></dt>
-					<dd><p>Metadata to send with the call, if applicable
-                       (optional)</p></dd>
-				</dl></div>
-
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="write" id="_write">
-
-		<td class="attributes"><code>
-			 public 
-
-			
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#_write">#</a>
-		<code><a href="source-class-Grpc.ClientStreamingCall.html#56-73" title="Go to source code">write</a>( <span>ByteBuffer <var>$data</var></span>, <span>array <var>$options</var> = []</span> )</code>
-
-		<div class="description short">
-			<p>Write a single message to the server. This cannot be called after
-wait is called.</p>
-		</div>
-
-		<div class="description detailed hidden">
-			<p>Write a single message to the server. This cannot be called after
-wait is called.</p>
-
-
-				<h4>Parameters</h4>
-				<div class="list"><dl>
-					<dt><var>$data</var></dt>
-					<dd>The data to write</dd>
-					<dt><var>$options</var></dt>
-					<dd><p>An array of options, possible keys:
-                           'flags' => a number (optional)</p></dd>
-				</dl></div>
-
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="wait" id="_wait">
-
-		<td class="attributes"><code>
-			 public 
-
-			array
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#_wait">#</a>
-		<code><a href="source-class-Grpc.ClientStreamingCall.html#75-94" title="Go to source code">wait</a>( )</code>
-
-		<div class="description short">
-			<p>Wait for the server to respond with data and a status.</p>
-		</div>
-
-		<div class="description detailed hidden">
-			<p>Wait for the server to respond with data and a status.</p>
-
-
-
-				<h4>Returns</h4>
-				<div class="list">
-					array<br>[response data, status]
-				</div>
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	</table>
-
-	<table class="summary inherited">
-	<caption>Methods inherited from <a href="class-Grpc.AbstractCall.html#methods">Grpc\AbstractCall</a></caption>
-	<tr>
-		<td><code>
-			<a href="class-Grpc.AbstractCall.html#___construct">__construct()</a>, 
-			<a href="class-Grpc.AbstractCall.html#__deserializeResponse">_deserializeResponse()</a>, 
-			<a href="class-Grpc.AbstractCall.html#__serializeMessage">_serializeMessage()</a>, 
-			<a href="class-Grpc.AbstractCall.html#_cancel">cancel()</a>, 
-			<a href="class-Grpc.AbstractCall.html#_getMetadata">getMetadata()</a>, 
-			<a href="class-Grpc.AbstractCall.html#_getPeer">getPeer()</a>, 
-			<a href="class-Grpc.AbstractCall.html#_getTrailingMetadata">getTrailingMetadata()</a>, 
-			<a href="class-Grpc.AbstractCall.html#_setCallCredentials">setCallCredentials()</a>
-		</code></td>
-	</tr>
-	</table>
-
-
-
-
-
-
-
-
-
-
-
-
-	<table class="summary inherited">
-	<caption>Properties inherited from <a href="class-Grpc.AbstractCall.html#properties">Grpc\AbstractCall</a></caption>
-	<tr>
-		<td><code>
-			<a href="class-Grpc.AbstractCall.html#$call"><var>$call</var></a>, 
-			<a href="class-Grpc.AbstractCall.html#$deserialize"><var>$deserialize</var></a>, 
-			<a href="class-Grpc.AbstractCall.html#$metadata"><var>$metadata</var></a>, 
-			<a href="class-Grpc.AbstractCall.html#$trailing_metadata"><var>$trailing_metadata</var></a>
-		</code></td>
-	</tr>
-	</table>
-
-
-
-
-
-</div>
-
-	<div id="footer">
-		 API documentation generated by <a href="http://apigen.org">ApiGen</a>
-	</div>
-</div>
-</div>
-<script src="resources/combined.js"></script>
-<script src="elementlist.js"></script>
-</body>
-</html>

+ 0 - 288
php/class-Grpc.ServerStreamingCall.html

@@ -1,288 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-	<meta charset="utf-8">
-
-	<title>Class Grpc\ServerStreamingCall</title>
-
-	<link rel="stylesheet" href="resources/style.css?e99947befd7bf673c6b43ff75e9e0f170c88a60e">
-
-<script type="text/javascript"> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-60127042-1', 'auto'); ga('send', 'pageview'); </script></head>
-
-<body>
-<div id="left">
-	<div id="menu">
-		<a href="index.html" title="Overview"><span>Overview</span></a>
-
-
-		<div id="groups">
-				<h3>Namespaces</h3>
-			<ul>
-				<li class="active">
-					<a href="namespace-Grpc.html">
-						Grpc					</a>
-
-						</li>
-			</ul>
-		</div>
-
-		<hr>
-
-
-		<div id="elements">
-			<h3>Classes</h3>
-			<ul>
-				<li><a href="class-Grpc.AbstractCall.html">AbstractCall</a></li>
-				<li><a href="class-Grpc.BaseStub.html">BaseStub</a></li>
-				<li><a href="class-Grpc.BidiStreamingCall.html">BidiStreamingCall</a></li>
-				<li><a href="class-Grpc.ClientStreamingCall.html">ClientStreamingCall</a></li>
-				<li class="active"><a href="class-Grpc.ServerStreamingCall.html">ServerStreamingCall</a></li>
-				<li><a href="class-Grpc.UnaryCall.html">UnaryCall</a></li>
-			</ul>
-
-
-
-
-
-		</div>
-	</div>
-</div>
-
-<div id="splitter"></div>
-
-<div id="right">
-<div id="rightInner">
-	<form id="search">
-		<input type="hidden" name="cx" value="">
-		<input type="hidden" name="ie" value="UTF-8">
-		<input type="text" name="q" class="text" placeholder="Search">
-	</form>
-
-	<div id="navigation">
-		<ul>
-			<li>
-				<a href="index.html" title="Overview"><span>Overview</span></a>
-			</li>
-			<li>
-				<a href="namespace-Grpc.html" title="Summary of Grpc"><span>Namespace</span></a>
-			</li>
-			<li class="active">
-<span>Class</span>			</li>
-		</ul>
-		<ul>
-		</ul>
-		<ul>
-		</ul>
-	</div>
-
-<div id="content" class="class">
-	<h1>Class ServerStreamingCall</h1>
-
-
-	<div class="description">
-	<p>Represents an active call that sends a single message and then gets a
-stream of responses.</p>
-	</div>
-
-	<dl class="tree">
-		<dd style="padding-left:0px">
-			<a href="class-Grpc.AbstractCall.html"><span>Grpc\AbstractCall</span></a>
-			
-			
-			
-		</dd>
-		<dd style="padding-left:30px">
-			<img src="resources/inherit.png" alt="Extended by">
-<b><span>Grpc\ServerStreamingCall</span></b>			
-			
-			
-		</dd>
-	</dl>
-
-
-
-
-
-
-
-
-	<div class="info">
-		
-		
-		<b>Namespace:</b> <a href="namespace-Grpc.html">Grpc</a><br>
-		
-
-			<b>Located at</b> <a href="source-class-Grpc.ServerStreamingCall.html#37-99" title="Go to source code">ServerStreamingCall.php</a>
-		<br>
-	</div>
-
-
-
-	<table class="summary methods" id="methods">
-	<caption>Methods summary</caption>
-	<tr data-order="start" id="_start">
-
-		<td class="attributes"><code>
-			 public 
-
-			
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#_start">#</a>
-		<code><a href="source-class-Grpc.ServerStreamingCall.html#43-65" title="Go to source code">start</a>( <span>mixed <var>$data</var></span>, <span>array <var>$metadata</var> = []</span>, <span>array <var>$options</var> = []</span> )</code>
-
-		<div class="description short">
-			<p>Start the call.</p>
-		</div>
-
-		<div class="description detailed hidden">
-			<p>Start the call.</p>
-
-
-				<h4>Parameters</h4>
-				<div class="list"><dl>
-					<dt><var>$data</var></dt>
-					<dd>The data to send</dd>
-					<dt><var>$metadata</var></dt>
-					<dd><p>Metadata to send with the call, if applicable
-                       (optional)</p></dd>
-					<dt><var>$options</var></dt>
-					<dd><p>An array of options, possible keys:
-                       'flags' => a number (optional)</p></dd>
-				</dl></div>
-
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="responses" id="_responses">
-
-		<td class="attributes"><code>
-			 public 
-
-			mixed
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#_responses">#</a>
-		<code><a href="source-class-Grpc.ServerStreamingCall.html#67-81" title="Go to source code">responses</a>( )</code>
-
-		<div class="description short">
-			
-		</div>
-
-		<div class="description detailed hidden">
-			
-
-
-
-				<h4>Returns</h4>
-				<div class="list">
-					mixed<br>An iterator of response values
-				</div>
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="getStatus" id="_getStatus">
-
-		<td class="attributes"><code>
-			 public 
-
-			stdClass
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#_getStatus">#</a>
-		<code><a href="source-class-Grpc.ServerStreamingCall.html#83-98" title="Go to source code">getStatus</a>( )</code>
-
-		<div class="description short">
-			<p>Wait for the server to send the status, and return it.</p>
-		</div>
-
-		<div class="description detailed hidden">
-			<p>Wait for the server to send the status, and return it.</p>
-
-
-
-				<h4>Returns</h4>
-				<div class="list">
-					stdClass<br><p>The status object, with integer $code, string
-                  $details, and array $metadata members</p>
-				</div>
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	</table>
-
-	<table class="summary inherited">
-	<caption>Methods inherited from <a href="class-Grpc.AbstractCall.html#methods">Grpc\AbstractCall</a></caption>
-	<tr>
-		<td><code>
-			<a href="class-Grpc.AbstractCall.html#___construct">__construct()</a>, 
-			<a href="class-Grpc.AbstractCall.html#__deserializeResponse">_deserializeResponse()</a>, 
-			<a href="class-Grpc.AbstractCall.html#__serializeMessage">_serializeMessage()</a>, 
-			<a href="class-Grpc.AbstractCall.html#_cancel">cancel()</a>, 
-			<a href="class-Grpc.AbstractCall.html#_getMetadata">getMetadata()</a>, 
-			<a href="class-Grpc.AbstractCall.html#_getPeer">getPeer()</a>, 
-			<a href="class-Grpc.AbstractCall.html#_getTrailingMetadata">getTrailingMetadata()</a>, 
-			<a href="class-Grpc.AbstractCall.html#_setCallCredentials">setCallCredentials()</a>
-		</code></td>
-	</tr>
-	</table>
-
-
-
-
-
-
-
-
-
-
-
-
-	<table class="summary inherited">
-	<caption>Properties inherited from <a href="class-Grpc.AbstractCall.html#properties">Grpc\AbstractCall</a></caption>
-	<tr>
-		<td><code>
-			<a href="class-Grpc.AbstractCall.html#$call"><var>$call</var></a>, 
-			<a href="class-Grpc.AbstractCall.html#$deserialize"><var>$deserialize</var></a>, 
-			<a href="class-Grpc.AbstractCall.html#$metadata"><var>$metadata</var></a>, 
-			<a href="class-Grpc.AbstractCall.html#$trailing_metadata"><var>$trailing_metadata</var></a>
-		</code></td>
-	</tr>
-	</table>
-
-
-
-
-
-</div>
-
-	<div id="footer">
-		 API documentation generated by <a href="http://apigen.org">ApiGen</a>
-	</div>
-</div>
-</div>
-<script src="resources/combined.js"></script>
-<script src="elementlist.js"></script>
-</body>
-</html>

+ 0 - 253
php/class-Grpc.UnaryCall.html

@@ -1,253 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-	<meta charset="utf-8">
-
-	<title>Class Grpc\UnaryCall</title>
-
-	<link rel="stylesheet" href="resources/style.css?e99947befd7bf673c6b43ff75e9e0f170c88a60e">
-
-<script type="text/javascript"> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-60127042-1', 'auto'); ga('send', 'pageview'); </script></head>
-
-<body>
-<div id="left">
-	<div id="menu">
-		<a href="index.html" title="Overview"><span>Overview</span></a>
-
-
-		<div id="groups">
-				<h3>Namespaces</h3>
-			<ul>
-				<li class="active">
-					<a href="namespace-Grpc.html">
-						Grpc					</a>
-
-						</li>
-			</ul>
-		</div>
-
-		<hr>
-
-
-		<div id="elements">
-			<h3>Classes</h3>
-			<ul>
-				<li><a href="class-Grpc.AbstractCall.html">AbstractCall</a></li>
-				<li><a href="class-Grpc.BaseStub.html">BaseStub</a></li>
-				<li><a href="class-Grpc.BidiStreamingCall.html">BidiStreamingCall</a></li>
-				<li><a href="class-Grpc.ClientStreamingCall.html">ClientStreamingCall</a></li>
-				<li><a href="class-Grpc.ServerStreamingCall.html">ServerStreamingCall</a></li>
-				<li class="active"><a href="class-Grpc.UnaryCall.html">UnaryCall</a></li>
-			</ul>
-
-
-
-
-
-		</div>
-	</div>
-</div>
-
-<div id="splitter"></div>
-
-<div id="right">
-<div id="rightInner">
-	<form id="search">
-		<input type="hidden" name="cx" value="">
-		<input type="hidden" name="ie" value="UTF-8">
-		<input type="text" name="q" class="text" placeholder="Search">
-	</form>
-
-	<div id="navigation">
-		<ul>
-			<li>
-				<a href="index.html" title="Overview"><span>Overview</span></a>
-			</li>
-			<li>
-				<a href="namespace-Grpc.html" title="Summary of Grpc"><span>Namespace</span></a>
-			</li>
-			<li class="active">
-<span>Class</span>			</li>
-		</ul>
-		<ul>
-		</ul>
-		<ul>
-		</ul>
-	</div>
-
-<div id="content" class="class">
-	<h1>Class UnaryCall</h1>
-
-
-	<div class="description">
-	<p>Represents an active call that sends a single message and then gets a
-single response.</p>
-	</div>
-
-	<dl class="tree">
-		<dd style="padding-left:0px">
-			<a href="class-Grpc.AbstractCall.html"><span>Grpc\AbstractCall</span></a>
-			
-			
-			
-		</dd>
-		<dd style="padding-left:30px">
-			<img src="resources/inherit.png" alt="Extended by">
-<b><span>Grpc\UnaryCall</span></b>			
-			
-			
-		</dd>
-	</dl>
-
-
-
-
-
-
-
-
-	<div class="info">
-		
-		
-		<b>Namespace:</b> <a href="namespace-Grpc.html">Grpc</a><br>
-		
-
-			<b>Located at</b> <a href="source-class-Grpc.UnaryCall.html#37-84" title="Go to source code">UnaryCall.php</a>
-		<br>
-	</div>
-
-
-
-	<table class="summary methods" id="methods">
-	<caption>Methods summary</caption>
-	<tr data-order="start" id="_start">
-
-		<td class="attributes"><code>
-			 public 
-
-			
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#_start">#</a>
-		<code><a href="source-class-Grpc.UnaryCall.html#43-65" title="Go to source code">start</a>( <span>mixed <var>$data</var></span>, <span>array <var>$metadata</var> = []</span>, <span>array <var>$options</var> = []</span> )</code>
-
-		<div class="description short">
-			<p>Start the call.</p>
-		</div>
-
-		<div class="description detailed hidden">
-			<p>Start the call.</p>
-
-
-				<h4>Parameters</h4>
-				<div class="list"><dl>
-					<dt><var>$data</var></dt>
-					<dd>The data to send</dd>
-					<dt><var>$metadata</var></dt>
-					<dd><p>Metadata to send with the call, if applicable
-                       (optional)</p></dd>
-					<dt><var>$options</var></dt>
-					<dd><p>An array of options, possible keys:
-                       'flags' => a number (optional)</p></dd>
-				</dl></div>
-
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	<tr data-order="wait" id="_wait">
-
-		<td class="attributes"><code>
-			 public 
-
-			array
-			
-			</code>
-		</td>
-
-		<td class="name"><div>
-		<a class="anchor" href="#_wait">#</a>
-		<code><a href="source-class-Grpc.UnaryCall.html#67-83" title="Go to source code">wait</a>( )</code>
-
-		<div class="description short">
-			<p>Wait for the server to respond with data and a status.</p>
-		</div>
-
-		<div class="description detailed hidden">
-			<p>Wait for the server to respond with data and a status.</p>
-
-
-
-				<h4>Returns</h4>
-				<div class="list">
-					array<br>[response data, status]
-				</div>
-
-
-
-
-		</div>
-		</div></td>
-	</tr>
-	</table>
-
-	<table class="summary inherited">
-	<caption>Methods inherited from <a href="class-Grpc.AbstractCall.html#methods">Grpc\AbstractCall</a></caption>
-	<tr>
-		<td><code>
-			<a href="class-Grpc.AbstractCall.html#___construct">__construct()</a>, 
-			<a href="class-Grpc.AbstractCall.html#__deserializeResponse">_deserializeResponse()</a>, 
-			<a href="class-Grpc.AbstractCall.html#__serializeMessage">_serializeMessage()</a>, 
-			<a href="class-Grpc.AbstractCall.html#_cancel">cancel()</a>, 
-			<a href="class-Grpc.AbstractCall.html#_getMetadata">getMetadata()</a>, 
-			<a href="class-Grpc.AbstractCall.html#_getPeer">getPeer()</a>, 
-			<a href="class-Grpc.AbstractCall.html#_getTrailingMetadata">getTrailingMetadata()</a>, 
-			<a href="class-Grpc.AbstractCall.html#_setCallCredentials">setCallCredentials()</a>
-		</code></td>
-	</tr>
-	</table>
-
-
-
-
-
-
-
-
-
-
-
-
-	<table class="summary inherited">
-	<caption>Properties inherited from <a href="class-Grpc.AbstractCall.html#properties">Grpc\AbstractCall</a></caption>
-	<tr>
-		<td><code>
-			<a href="class-Grpc.AbstractCall.html#$call"><var>$call</var></a>, 
-			<a href="class-Grpc.AbstractCall.html#$deserialize"><var>$deserialize</var></a>, 
-			<a href="class-Grpc.AbstractCall.html#$metadata"><var>$metadata</var></a>, 
-			<a href="class-Grpc.AbstractCall.html#$trailing_metadata"><var>$trailing_metadata</var></a>
-		</code></td>
-	</tr>
-	</table>
-
-
-
-
-
-</div>
-
-	<div id="footer">
-		 API documentation generated by <a href="http://apigen.org">ApiGen</a>
-	</div>
-</div>
-</div>
-<script src="resources/combined.js"></script>
-<script src="elementlist.js"></script>
-</body>
-</html>

+ 440 - 0
php/class_grpc_1_1_abstract_call.html

@@ -0,0 +1,440 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Grpc\AbstractCall Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespace_grpc.html">Grpc</a></li><li class="navelem"><a class="el" href="class_grpc_1_1_abstract_call.html">AbstractCall</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a>  </div>
+  <div class="headertitle">
+<div class="title">Grpc\AbstractCall Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a98c8526df813acd6a775cf90a31af18e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a98c8526df813acd6a775cf90a31af18e">__construct</a> (<a class="el" href="class_grpc_1_1_channel.html">Channel</a> $channel, $method, $deserialize, array $options=[])</td></tr>
+<tr class="memdesc:a98c8526df813acd6a775cf90a31af18e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a> wrapper object.  <a href="class_grpc_1_1_abstract_call.html#a98c8526df813acd6a775cf90a31af18e">More...</a><br /></td></tr>
+<tr class="separator:a98c8526df813acd6a775cf90a31af18e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5d4f130fc35450d4a5b0bfd0a918ff4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#ac5d4f130fc35450d4a5b0bfd0a918ff4">getMetadata</a> ()</td></tr>
+<tr class="separator:ac5d4f130fc35450d4a5b0bfd0a918ff4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8de5e451ba9a414d7a58a7d7c5fcc764"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a8de5e451ba9a414d7a58a7d7c5fcc764">getTrailingMetadata</a> ()</td></tr>
+<tr class="separator:a8de5e451ba9a414d7a58a7d7c5fcc764"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a188fc7298f9b52fb0eee7d3901281cdc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a188fc7298f9b52fb0eee7d3901281cdc">getPeer</a> ()</td></tr>
+<tr class="separator:a188fc7298f9b52fb0eee7d3901281cdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a088115c12c3af171fe7e99078595d6c0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a088115c12c3af171fe7e99078595d6c0">cancel</a> ()</td></tr>
+<tr class="memdesc:a088115c12c3af171fe7e99078595d6c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cancels the call.  <a href="class_grpc_1_1_abstract_call.html#a088115c12c3af171fe7e99078595d6c0">More...</a><br /></td></tr>
+<tr class="separator:a088115c12c3af171fe7e99078595d6c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a88c9af5ba3c7ede0dc5342363af5e9a2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a88c9af5ba3c7ede0dc5342363af5e9a2">setCallCredentials</a> ($call_credentials)</td></tr>
+<tr class="memdesc:a88c9af5ba3c7ede0dc5342363af5e9a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the <a class="el" href="class_grpc_1_1_call_credentials.html" title="class CallCredentials">CallCredentials</a> for the underlying <a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a>.  <a href="class_grpc_1_1_abstract_call.html#a88c9af5ba3c7ede0dc5342363af5e9a2">More...</a><br /></td></tr>
+<tr class="separator:a88c9af5ba3c7ede0dc5342363af5e9a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:ac6b4a554e5be5fd57ee05610e25d4d05"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#ac6b4a554e5be5fd57ee05610e25d4d05">_serializeMessage</a> ($data)</td></tr>
+<tr class="memdesc:ac6b4a554e5be5fd57ee05610e25d4d05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serialize a message to the protobuf binary format.  <a href="class_grpc_1_1_abstract_call.html#ac6b4a554e5be5fd57ee05610e25d4d05">More...</a><br /></td></tr>
+<tr class="separator:ac6b4a554e5be5fd57ee05610e25d4d05"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a413e87bcf0475cd8c627fd16919fda98"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a413e87bcf0475cd8c627fd16919fda98">_deserializeResponse</a> ($value)</td></tr>
+<tr class="memdesc:a413e87bcf0475cd8c627fd16919fda98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deserialize a response value to an object.  <a href="class_grpc_1_1_abstract_call.html#a413e87bcf0475cd8c627fd16919fda98">More...</a><br /></td></tr>
+<tr class="separator:a413e87bcf0475cd8c627fd16919fda98"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:a722dd807b08d990d3f9816202627d701"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a722dd807b08d990d3f9816202627d701">$call</a></td></tr>
+<tr class="separator:a722dd807b08d990d3f9816202627d701"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa10e9fd56d64bc2167bb65129e212c9b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#aa10e9fd56d64bc2167bb65129e212c9b">$deserialize</a></td></tr>
+<tr class="separator:aa10e9fd56d64bc2167bb65129e212c9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aabc4e33a97415326e10596675f790328"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#aabc4e33a97415326e10596675f790328">$metadata</a></td></tr>
+<tr class="separator:aabc4e33a97415326e10596675f790328"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a35264eb899b5c6d320433741202924d2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a35264eb899b5c6d320433741202924d2">$trailing_metadata</a></td></tr>
+<tr class="separator:a35264eb899b5c6d320433741202924d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a98c8526df813acd6a775cf90a31af18e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a98c8526df813acd6a775cf90a31af18e">&#9670;&nbsp;</a></span>__construct()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\AbstractCall::__construct </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="class_grpc_1_1_channel.html">Channel</a>&#160;</td>
+          <td class="paramname"><em>$channel</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$method</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$deserialize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$options</em> = <code>[]</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Create a new <a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a> wrapper object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype"><a class="el" href="class_grpc_1_1_channel.html" title="class Channel">Channel</a></td><td class="paramname">$channel</td><td>The channel to communicate on </td></tr>
+    <tr><td class="paramtype">string</td><td class="paramname">$method</td><td>The method to call on the remote server </td></tr>
+    <tr><td class="paramtype">callback</td><td class="paramname">$deserialize</td><td>A callback function to deserialize the response </td></tr>
+    <tr><td class="paramtype">array</td><td class="paramname">$options</td><td><a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a> options (optional) </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a413e87bcf0475cd8c627fd16919fda98"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a413e87bcf0475cd8c627fd16919fda98">&#9670;&nbsp;</a></span>_deserializeResponse()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\AbstractCall::_deserializeResponse </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$value</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Deserialize a response value to an object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">string</td><td class="paramname">$value</td><td>The binary value to deserialize</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>mixed The deserialized value </dd></dl>
+
+</div>
+</div>
+<a id="ac6b4a554e5be5fd57ee05610e25d4d05"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac6b4a554e5be5fd57ee05610e25d4d05">&#9670;&nbsp;</a></span>_serializeMessage()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\AbstractCall::_serializeMessage </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$data</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Serialize a message to the protobuf binary format. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">mixed</td><td class="paramname">$data</td><td>The Protobuf message</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>string The protobuf binary format </dd></dl>
+
+</div>
+</div>
+<a id="a088115c12c3af171fe7e99078595d6c0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a088115c12c3af171fe7e99078595d6c0">&#9670;&nbsp;</a></span>cancel()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\AbstractCall::cancel </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Cancels the call. </p>
+
+</div>
+</div>
+<a id="ac5d4f130fc35450d4a5b0bfd0a918ff4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5d4f130fc35450d4a5b0bfd0a918ff4">&#9670;&nbsp;</a></span>getMetadata()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\AbstractCall::getMetadata </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>mixed The metadata sent by the server </dd></dl>
+
+<p>Reimplemented in <a class="el" href="class_grpc_1_1_server_streaming_call.html#a449205dcd3a5fed75f736ff2d2cc6e89">Grpc\ServerStreamingCall</a>, and <a class="el" href="class_grpc_1_1_unary_call.html#ae65d18a70f9cee4505283b19d235360c">Grpc\UnaryCall</a>.</p>
+
+</div>
+</div>
+<a id="a188fc7298f9b52fb0eee7d3901281cdc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a188fc7298f9b52fb0eee7d3901281cdc">&#9670;&nbsp;</a></span>getPeer()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\AbstractCall::getPeer </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>string The URI of the endpoint </dd></dl>
+
+</div>
+</div>
+<a id="a8de5e451ba9a414d7a58a7d7c5fcc764"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8de5e451ba9a414d7a58a7d7c5fcc764">&#9670;&nbsp;</a></span>getTrailingMetadata()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\AbstractCall::getTrailingMetadata </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>mixed The trailing metadata sent by the server </dd></dl>
+
+</div>
+</div>
+<a id="a88c9af5ba3c7ede0dc5342363af5e9a2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a88c9af5ba3c7ede0dc5342363af5e9a2">&#9670;&nbsp;</a></span>setCallCredentials()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\AbstractCall::setCallCredentials </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$call_credentials</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Set the <a class="el" href="class_grpc_1_1_call_credentials.html" title="class CallCredentials">CallCredentials</a> for the underlying <a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype"><a class="el" href="class_grpc_1_1_call_credentials.html" title="class CallCredentials">CallCredentials</a></td><td class="paramname">$call_credentials</td><td>The <a class="el" href="class_grpc_1_1_call_credentials.html" title="class CallCredentials">CallCredentials</a> object </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="a722dd807b08d990d3f9816202627d701"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a722dd807b08d990d3f9816202627d701">&#9670;&nbsp;</a></span>$call</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\AbstractCall::$call</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa10e9fd56d64bc2167bb65129e212c9b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa10e9fd56d64bc2167bb65129e212c9b">&#9670;&nbsp;</a></span>$deserialize</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\AbstractCall::$deserialize</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aabc4e33a97415326e10596675f790328"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aabc4e33a97415326e10596675f790328">&#9670;&nbsp;</a></span>$metadata</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\AbstractCall::$metadata</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a35264eb899b5c6d320433741202924d2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a35264eb899b5c6d320433741202924d2">&#9670;&nbsp;</a></span>$trailing_metadata</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\AbstractCall::$trailing_metadata</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>src/php/lib/Grpc/<a class="el" href="_abstract_call_8php.html">AbstractCall.php</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 570 - 0
php/class_grpc_1_1_base_stub.html

@@ -0,0 +1,570 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Grpc\BaseStub Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespace_grpc.html">Grpc</a></li><li class="navelem"><a class="el" href="class_grpc_1_1_base_stub.html">BaseStub</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">Grpc\BaseStub Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Base class for generated client stubs.  
+ <a href="class_grpc_1_1_base_stub.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a87b837ef58d4806ac090010b235bf6dd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_base_stub.html#a87b837ef58d4806ac090010b235bf6dd">__construct</a> ($hostname, $opts, $channel=null)</td></tr>
+<tr class="separator:a87b837ef58d4806ac090010b235bf6dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae2b85e451fac182cfc57b63c39d7e59a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_base_stub.html#ae2b85e451fac182cfc57b63c39d7e59a">getTarget</a> ()</td></tr>
+<tr class="separator:ae2b85e451fac182cfc57b63c39d7e59a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a808c89a725b15d850fa2096cd6bd104d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_base_stub.html#a808c89a725b15d850fa2096cd6bd104d">getConnectivityState</a> ($try_to_connect=false)</td></tr>
+<tr class="separator:a808c89a725b15d850fa2096cd6bd104d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78f84743a824f0eb3087dcb0fb8d0d41"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_base_stub.html#a78f84743a824f0eb3087dcb0fb8d0d41">waitForReady</a> ($timeout)</td></tr>
+<tr class="separator:a78f84743a824f0eb3087dcb0fb8d0d41"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13ca38aea857a61f57019228f0b6f2bc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_base_stub.html#a13ca38aea857a61f57019228f0b6f2bc">close</a> ()</td></tr>
+<tr class="memdesc:a13ca38aea857a61f57019228f0b6f2bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the communication channel associated with this stub.  <a href="class_grpc_1_1_base_stub.html#a13ca38aea857a61f57019228f0b6f2bc">More...</a><br /></td></tr>
+<tr class="separator:a13ca38aea857a61f57019228f0b6f2bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a35a01a2eeff8d1f90939c361729f2396"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_base_stub.html#a35a01a2eeff8d1f90939c361729f2396">getDefaultChannel</a> ($hostname, array $opts)</td></tr>
+<tr class="memdesc:a35a01a2eeff8d1f90939c361729f2396"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates and returns the default <a class="el" href="class_grpc_1_1_channel.html" title="class Channel">Channel</a>.  <a href="class_grpc_1_1_base_stub.html#a35a01a2eeff8d1f90939c361729f2396">More...</a><br /></td></tr>
+<tr class="separator:a35a01a2eeff8d1f90939c361729f2396"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a3a70a435fb6cbee2456386507a3a9533"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_base_stub.html#a3a70a435fb6cbee2456386507a3a9533">_simpleRequest</a> ( $method, $argument, $deserialize, array $metadata=[], array $options=[])</td></tr>
+<tr class="memdesc:a3a70a435fb6cbee2456386507a3a9533"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a> a remote method that takes a single argument and has a single output.  <a href="class_grpc_1_1_base_stub.html#a3a70a435fb6cbee2456386507a3a9533">More...</a><br /></td></tr>
+<tr class="separator:a3a70a435fb6cbee2456386507a3a9533"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc4e0f5775d36cbed3ebdebd0491835e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_base_stub.html#acc4e0f5775d36cbed3ebdebd0491835e">_clientStreamRequest</a> ( $method, $deserialize, array $metadata=[], array $options=[])</td></tr>
+<tr class="memdesc:acc4e0f5775d36cbed3ebdebd0491835e"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a> a remote method that takes a stream of arguments and has a single output.  <a href="class_grpc_1_1_base_stub.html#acc4e0f5775d36cbed3ebdebd0491835e">More...</a><br /></td></tr>
+<tr class="separator:acc4e0f5775d36cbed3ebdebd0491835e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5e798fc84d42462dce6a8e38dcc005a3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_base_stub.html#a5e798fc84d42462dce6a8e38dcc005a3">_serverStreamRequest</a> ( $method, $argument, $deserialize, array $metadata=[], array $options=[])</td></tr>
+<tr class="memdesc:a5e798fc84d42462dce6a8e38dcc005a3"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a> a remote method that takes a single argument and returns a stream of responses.  <a href="class_grpc_1_1_base_stub.html#a5e798fc84d42462dce6a8e38dcc005a3">More...</a><br /></td></tr>
+<tr class="separator:a5e798fc84d42462dce6a8e38dcc005a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a06273f329dc2e0086c61f6534288277b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_base_stub.html#a06273f329dc2e0086c61f6534288277b">_bidiRequest</a> ( $method, $deserialize, array $metadata=[], array $options=[])</td></tr>
+<tr class="memdesc:a06273f329dc2e0086c61f6534288277b"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a> a remote method with messages streaming in both directions.  <a href="class_grpc_1_1_base_stub.html#a06273f329dc2e0086c61f6534288277b">More...</a><br /></td></tr>
+<tr class="separator:a06273f329dc2e0086c61f6534288277b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Base class for generated client stubs. </p>
+<p>Stub methods are expected to call _simpleRequest or _streamRequest and return the result. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a87b837ef58d4806ac090010b235bf6dd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a87b837ef58d4806ac090010b235bf6dd">&#9670;&nbsp;</a></span>__construct()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\BaseStub::__construct </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$hostname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$opts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$channel</em> = <code>null</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">string</td><td class="paramname">$hostname</td><td></td></tr>
+    <tr><td class="paramtype">array</td><td class="paramname">$opts</td><td><ul>
+<li>'update_metadata': (optional) a callback function which takes in a metadata array, and returns an updated metadata array</li>
+<li>'grpc.primary_user_agent': (optional) a user-agent string </li>
+</ul>
+</td></tr>
+    <tr><td class="paramtype"><a class="el" href="class_grpc_1_1_channel.html" title="class Channel">Channel</a>&#160;|&#160;InterceptorChannel</td><td class="paramname">$channel</td><td>An already created <a class="el" href="class_grpc_1_1_channel.html" title="class Channel">Channel</a> or InterceptorChannel object (optional) </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a06273f329dc2e0086c61f6534288277b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a06273f329dc2e0086c61f6534288277b">&#9670;&nbsp;</a></span>_bidiRequest()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\BaseStub::_bidiRequest </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$method</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$deserialize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$metadata</em> = <code>[]</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$options</em> = <code>[]</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p><a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a> a remote method with messages streaming in both directions. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">string</td><td class="paramname">$method</td><td>The name of the method to call </td></tr>
+    <tr><td class="paramtype">callable</td><td class="paramname">$deserialize</td><td>A function that deserializes the responses </td></tr>
+    <tr><td class="paramtype">array</td><td class="paramname">$metadata</td><td>A metadata map to send to the server (optional) </td></tr>
+    <tr><td class="paramtype">array</td><td class="paramname">$options</td><td>An array of options (optional)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="class_grpc_1_1_bidi_streaming_call.html" title="Represents an active call that allows for sending and receiving messages in streams in any order.">BidiStreamingCall</a> The active call object </dd></dl>
+
+</div>
+</div>
+<a id="acc4e0f5775d36cbed3ebdebd0491835e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acc4e0f5775d36cbed3ebdebd0491835e">&#9670;&nbsp;</a></span>_clientStreamRequest()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\BaseStub::_clientStreamRequest </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$method</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$deserialize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$metadata</em> = <code>[]</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$options</em> = <code>[]</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p><a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a> a remote method that takes a stream of arguments and has a single output. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">string</td><td class="paramname">$method</td><td>The name of the method to call </td></tr>
+    <tr><td class="paramtype">callable</td><td class="paramname">$deserialize</td><td>A function that deserializes the response </td></tr>
+    <tr><td class="paramtype">array</td><td class="paramname">$metadata</td><td>A metadata map to send to the server (optional) </td></tr>
+    <tr><td class="paramtype">array</td><td class="paramname">$options</td><td>An array of options (optional)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="class_grpc_1_1_client_streaming_call.html" title="Represents an active call that sends a stream of messages and then gets a single response.">ClientStreamingCall</a> The active call object </dd></dl>
+
+</div>
+</div>
+<a id="a5e798fc84d42462dce6a8e38dcc005a3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5e798fc84d42462dce6a8e38dcc005a3">&#9670;&nbsp;</a></span>_serverStreamRequest()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\BaseStub::_serverStreamRequest </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$method</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$argument</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$deserialize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$metadata</em> = <code>[]</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$options</em> = <code>[]</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p><a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a> a remote method that takes a single argument and returns a stream of responses. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">string</td><td class="paramname">$method</td><td>The name of the method to call </td></tr>
+    <tr><td class="paramtype">mixed</td><td class="paramname">$argument</td><td>The argument to the method </td></tr>
+    <tr><td class="paramtype">callable</td><td class="paramname">$deserialize</td><td>A function that deserializes the responses </td></tr>
+    <tr><td class="paramtype">array</td><td class="paramname">$metadata</td><td>A metadata map to send to the server (optional) </td></tr>
+    <tr><td class="paramtype">array</td><td class="paramname">$options</td><td>An array of options (optional)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="class_grpc_1_1_server_streaming_call.html" title="Represents an active call that sends a single message and then gets a stream of responses.">ServerStreamingCall</a> The active call object </dd></dl>
+
+</div>
+</div>
+<a id="a3a70a435fb6cbee2456386507a3a9533"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3a70a435fb6cbee2456386507a3a9533">&#9670;&nbsp;</a></span>_simpleRequest()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\BaseStub::_simpleRequest </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$method</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$argument</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$deserialize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$metadata</em> = <code>[]</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$options</em> = <code>[]</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p><a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a> a remote method that takes a single argument and has a single output. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">string</td><td class="paramname">$method</td><td>The name of the method to call </td></tr>
+    <tr><td class="paramtype">mixed</td><td class="paramname">$argument</td><td>The argument to the method </td></tr>
+    <tr><td class="paramtype">callable</td><td class="paramname">$deserialize</td><td>A function that deserializes the response </td></tr>
+    <tr><td class="paramtype">array</td><td class="paramname">$metadata</td><td>A metadata map to send to the server (optional) </td></tr>
+    <tr><td class="paramtype">array</td><td class="paramname">$options</td><td>An array of options (optional)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="class_grpc_1_1_unary_call.html" title="Represents an active call that sends a single message and then gets a single response.">UnaryCall</a> The active call object </dd></dl>
+
+</div>
+</div>
+<a id="a13ca38aea857a61f57019228f0b6f2bc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a13ca38aea857a61f57019228f0b6f2bc">&#9670;&nbsp;</a></span>close()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\BaseStub::close </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Close the communication channel associated with this stub. </p>
+
+</div>
+</div>
+<a id="a808c89a725b15d850fa2096cd6bd104d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a808c89a725b15d850fa2096cd6bd104d">&#9670;&nbsp;</a></span>getConnectivityState()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\BaseStub::getConnectivityState </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$try_to_connect</em> = <code>false</code></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">bool</td><td class="paramname">$try_to_connect</td><td>(optional)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>int The grpc connectivity state </dd></dl>
+
+</div>
+</div>
+<a id="a35a01a2eeff8d1f90939c361729f2396"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a35a01a2eeff8d1f90939c361729f2396">&#9670;&nbsp;</a></span>getDefaultChannel()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static Grpc\BaseStub::getDefaultChannel </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$hostname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$opts</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Creates and returns the default <a class="el" href="class_grpc_1_1_channel.html" title="class Channel">Channel</a>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">array</td><td class="paramname">$opts</td><td><a class="el" href="class_grpc_1_1_channel.html" title="class Channel">Channel</a> constructor options</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="class_grpc_1_1_channel.html" title="class Channel">Channel</a> The channel </dd></dl>
+
+</div>
+</div>
+<a id="ae2b85e451fac182cfc57b63c39d7e59a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae2b85e451fac182cfc57b63c39d7e59a">&#9670;&nbsp;</a></span>getTarget()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\BaseStub::getTarget </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>string The URI of the endpoint </dd></dl>
+
+</div>
+</div>
+<a id="a78f84743a824f0eb3087dcb0fb8d0d41"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a78f84743a824f0eb3087dcb0fb8d0d41">&#9670;&nbsp;</a></span>waitForReady()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\BaseStub::waitForReady </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$timeout</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">int</td><td class="paramname">$timeout</td><td>in microseconds</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>bool true if channel is ready </dd></dl>
+<dl class="exception"><dt>Exceptions</dt><dd>
+  <table class="exception">
+    <tr><td class="paramname">Exception</td><td>if channel is in FATAL_ERROR state </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>src/php/lib/Grpc/<a class="el" href="_base_stub_8php.html">BaseStub.php</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 269 - 0
php/class_grpc_1_1_bidi_streaming_call.html

@@ -0,0 +1,269 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Grpc\BidiStreamingCall Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespace_grpc.html">Grpc</a></li><li class="navelem"><a class="el" href="class_grpc_1_1_bidi_streaming_call.html">BidiStreamingCall</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">Grpc\BidiStreamingCall Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Represents an active call that allows for sending and receiving messages in streams in any order.  
+ <a href="class_grpc_1_1_bidi_streaming_call.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a0cf626864322067138fcf627a17cc699"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_bidi_streaming_call.html#a0cf626864322067138fcf627a17cc699">start</a> (array $metadata=[])</td></tr>
+<tr class="memdesc:a0cf626864322067138fcf627a17cc699"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start the call.  <a href="class_grpc_1_1_bidi_streaming_call.html#a0cf626864322067138fcf627a17cc699">More...</a><br /></td></tr>
+<tr class="separator:a0cf626864322067138fcf627a17cc699"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeb056a807c6ef6f7a75bac639d325e44"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_bidi_streaming_call.html#aeb056a807c6ef6f7a75bac639d325e44">read</a> ()</td></tr>
+<tr class="memdesc:aeb056a807c6ef6f7a75bac639d325e44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the next value from the server.  <a href="class_grpc_1_1_bidi_streaming_call.html#aeb056a807c6ef6f7a75bac639d325e44">More...</a><br /></td></tr>
+<tr class="separator:aeb056a807c6ef6f7a75bac639d325e44"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad68d6aa748fa9980aa5e985da853bd74"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_bidi_streaming_call.html#ad68d6aa748fa9980aa5e985da853bd74">write</a> ($data, array $options=[])</td></tr>
+<tr class="memdesc:ad68d6aa748fa9980aa5e985da853bd74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a single message to the server.  <a href="class_grpc_1_1_bidi_streaming_call.html#ad68d6aa748fa9980aa5e985da853bd74">More...</a><br /></td></tr>
+<tr class="separator:ad68d6aa748fa9980aa5e985da853bd74"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afac63b79bbf4ed6664599c2433bd159e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_bidi_streaming_call.html#afac63b79bbf4ed6664599c2433bd159e">writesDone</a> ()</td></tr>
+<tr class="memdesc:afac63b79bbf4ed6664599c2433bd159e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicate that no more writes will be sent.  <a href="class_grpc_1_1_bidi_streaming_call.html#afac63b79bbf4ed6664599c2433bd159e">More...</a><br /></td></tr>
+<tr class="separator:afac63b79bbf4ed6664599c2433bd159e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af6f30cbdc8242894670b2e065667fd26"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_bidi_streaming_call.html#af6f30cbdc8242894670b2e065667fd26">getStatus</a> ()</td></tr>
+<tr class="memdesc:af6f30cbdc8242894670b2e065667fd26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for the server to send the status, and return it.  <a href="class_grpc_1_1_bidi_streaming_call.html#af6f30cbdc8242894670b2e065667fd26">More...</a><br /></td></tr>
+<tr class="separator:af6f30cbdc8242894670b2e065667fd26"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_class_grpc_1_1_abstract_call"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_grpc_1_1_abstract_call')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_grpc_1_1_abstract_call.html">Grpc\AbstractCall</a></td></tr>
+<tr class="memitem:a98c8526df813acd6a775cf90a31af18e inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a98c8526df813acd6a775cf90a31af18e">__construct</a> (<a class="el" href="class_grpc_1_1_channel.html">Channel</a> $channel, $method, $deserialize, array $options=[])</td></tr>
+<tr class="memdesc:a98c8526df813acd6a775cf90a31af18e inherit pub_methods_class_grpc_1_1_abstract_call"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a> wrapper object.  <a href="class_grpc_1_1_abstract_call.html#a98c8526df813acd6a775cf90a31af18e">More...</a><br /></td></tr>
+<tr class="separator:a98c8526df813acd6a775cf90a31af18e inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5d4f130fc35450d4a5b0bfd0a918ff4 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#ac5d4f130fc35450d4a5b0bfd0a918ff4">getMetadata</a> ()</td></tr>
+<tr class="separator:ac5d4f130fc35450d4a5b0bfd0a918ff4 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8de5e451ba9a414d7a58a7d7c5fcc764 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a8de5e451ba9a414d7a58a7d7c5fcc764">getTrailingMetadata</a> ()</td></tr>
+<tr class="separator:a8de5e451ba9a414d7a58a7d7c5fcc764 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a188fc7298f9b52fb0eee7d3901281cdc inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a188fc7298f9b52fb0eee7d3901281cdc">getPeer</a> ()</td></tr>
+<tr class="separator:a188fc7298f9b52fb0eee7d3901281cdc inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a088115c12c3af171fe7e99078595d6c0 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a088115c12c3af171fe7e99078595d6c0">cancel</a> ()</td></tr>
+<tr class="memdesc:a088115c12c3af171fe7e99078595d6c0 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cancels the call.  <a href="class_grpc_1_1_abstract_call.html#a088115c12c3af171fe7e99078595d6c0">More...</a><br /></td></tr>
+<tr class="separator:a088115c12c3af171fe7e99078595d6c0 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a88c9af5ba3c7ede0dc5342363af5e9a2 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a88c9af5ba3c7ede0dc5342363af5e9a2">setCallCredentials</a> ($call_credentials)</td></tr>
+<tr class="memdesc:a88c9af5ba3c7ede0dc5342363af5e9a2 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the <a class="el" href="class_grpc_1_1_call_credentials.html" title="class CallCredentials">CallCredentials</a> for the underlying <a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a>.  <a href="class_grpc_1_1_abstract_call.html#a88c9af5ba3c7ede0dc5342363af5e9a2">More...</a><br /></td></tr>
+<tr class="separator:a88c9af5ba3c7ede0dc5342363af5e9a2 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_methods_class_grpc_1_1_abstract_call"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_grpc_1_1_abstract_call')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_grpc_1_1_abstract_call.html">Grpc\AbstractCall</a></td></tr>
+<tr class="memitem:ac6b4a554e5be5fd57ee05610e25d4d05 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#ac6b4a554e5be5fd57ee05610e25d4d05">_serializeMessage</a> ($data)</td></tr>
+<tr class="memdesc:ac6b4a554e5be5fd57ee05610e25d4d05 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serialize a message to the protobuf binary format.  <a href="class_grpc_1_1_abstract_call.html#ac6b4a554e5be5fd57ee05610e25d4d05">More...</a><br /></td></tr>
+<tr class="separator:ac6b4a554e5be5fd57ee05610e25d4d05 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a413e87bcf0475cd8c627fd16919fda98 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a413e87bcf0475cd8c627fd16919fda98">_deserializeResponse</a> ($value)</td></tr>
+<tr class="memdesc:a413e87bcf0475cd8c627fd16919fda98 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deserialize a response value to an object.  <a href="class_grpc_1_1_abstract_call.html#a413e87bcf0475cd8c627fd16919fda98">More...</a><br /></td></tr>
+<tr class="separator:a413e87bcf0475cd8c627fd16919fda98 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_class_grpc_1_1_abstract_call"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_grpc_1_1_abstract_call')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_grpc_1_1_abstract_call.html">Grpc\AbstractCall</a></td></tr>
+<tr class="memitem:a722dd807b08d990d3f9816202627d701 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a722dd807b08d990d3f9816202627d701">$call</a></td></tr>
+<tr class="separator:a722dd807b08d990d3f9816202627d701 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa10e9fd56d64bc2167bb65129e212c9b inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#aa10e9fd56d64bc2167bb65129e212c9b">$deserialize</a></td></tr>
+<tr class="separator:aa10e9fd56d64bc2167bb65129e212c9b inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aabc4e33a97415326e10596675f790328 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#aabc4e33a97415326e10596675f790328">$metadata</a></td></tr>
+<tr class="separator:aabc4e33a97415326e10596675f790328 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a35264eb899b5c6d320433741202924d2 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a35264eb899b5c6d320433741202924d2">$trailing_metadata</a></td></tr>
+<tr class="separator:a35264eb899b5c6d320433741202924d2 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Represents an active call that allows for sending and receiving messages in streams in any order. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="af6f30cbdc8242894670b2e065667fd26"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af6f30cbdc8242894670b2e065667fd26">&#9670;&nbsp;</a></span>getStatus()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\BidiStreamingCall::getStatus </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Wait for the server to send the status, and return it. </p>
+<dl class="section return"><dt>Returns</dt><dd>\stdClass The status object, with integer $code, string $details, and array $metadata members </dd></dl>
+
+</div>
+</div>
+<a id="aeb056a807c6ef6f7a75bac639d325e44"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeb056a807c6ef6f7a75bac639d325e44">&#9670;&nbsp;</a></span>read()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\BidiStreamingCall::read </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Reads the next value from the server. </p>
+<dl class="section return"><dt>Returns</dt><dd>mixed The next value from the server, or null if there is none </dd></dl>
+
+</div>
+</div>
+<a id="a0cf626864322067138fcf627a17cc699"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0cf626864322067138fcf627a17cc699">&#9670;&nbsp;</a></span>start()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\BidiStreamingCall::start </td>
+          <td>(</td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$metadata</em> = <code>[]</code></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Start the call. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">array</td><td class="paramname">$metadata</td><td>Metadata to send with the call, if applicable (optional) </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="ad68d6aa748fa9980aa5e985da853bd74"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad68d6aa748fa9980aa5e985da853bd74">&#9670;&nbsp;</a></span>write()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\BidiStreamingCall::write </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$options</em> = <code>[]</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Write a single message to the server. </p>
+<p>This cannot be called after writesDone is called.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">ByteBuffer</td><td class="paramname">$data</td><td>The data to write </td></tr>
+    <tr><td class="paramtype">array</td><td class="paramname">$options</td><td>An array of options, possible keys: 'flags' =&gt; a number (optional) </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="afac63b79bbf4ed6664599c2433bd159e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afac63b79bbf4ed6664599c2433bd159e">&#9670;&nbsp;</a></span>writesDone()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\BidiStreamingCall::writesDone </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Indicate that no more writes will be sent. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>src/php/lib/Grpc/<a class="el" href="_bidi_streaming_call_8php.html">BidiStreamingCall.php</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 258 - 0
php/class_grpc_1_1_call.html

@@ -0,0 +1,258 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Grpc\Call Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespace_grpc.html">Grpc</a></li><li class="navelem"><a class="el" href="class_grpc_1_1_call.html">Call</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">Grpc\Call Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>class <a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a>  
+ <a href="class_grpc_1_1_call.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a1e427a3545ad6116b06788ac453a8503"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_call.html#a1e427a3545ad6116b06788ac453a8503">__construct</a> ($channel_obj, $method, $deadline_obj, $host_override=&quot;&quot;)</td></tr>
+<tr class="memdesc:a1e427a3545ad6116b06788ac453a8503"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a new instance of the <a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a> class.  <a href="class_grpc_1_1_call.html#a1e427a3545ad6116b06788ac453a8503">More...</a><br /></td></tr>
+<tr class="separator:a1e427a3545ad6116b06788ac453a8503"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0026968f6868365e3ba910f5b30416c5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_call.html#a0026968f6868365e3ba910f5b30416c5">startBatch</a> ($array)</td></tr>
+<tr class="memdesc:a0026968f6868365e3ba910f5b30416c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start a batch of RPC actions.  <a href="class_grpc_1_1_call.html#a0026968f6868365e3ba910f5b30416c5">More...</a><br /></td></tr>
+<tr class="separator:a0026968f6868365e3ba910f5b30416c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab6aa5fa913c3175b4c029e372112a777"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_call.html#ab6aa5fa913c3175b4c029e372112a777">getPeer</a> ()</td></tr>
+<tr class="memdesc:ab6aa5fa913c3175b4c029e372112a777"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the endpoint this call/stream is connected to.  <a href="class_grpc_1_1_call.html#ab6aa5fa913c3175b4c029e372112a777">More...</a><br /></td></tr>
+<tr class="separator:ab6aa5fa913c3175b4c029e372112a777"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc7c962d3288c3483ea4ce6ed1cfe9f7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_call.html#afc7c962d3288c3483ea4ce6ed1cfe9f7">cancel</a> ()</td></tr>
+<tr class="memdesc:afc7c962d3288c3483ea4ce6ed1cfe9f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cancel the call.  <a href="class_grpc_1_1_call.html#afc7c962d3288c3483ea4ce6ed1cfe9f7">More...</a><br /></td></tr>
+<tr class="separator:afc7c962d3288c3483ea4ce6ed1cfe9f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a547de08c2c0712561250ff01c32a9b90"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_call.html#a547de08c2c0712561250ff01c32a9b90">setCredentials</a> ($creds_obj)</td></tr>
+<tr class="memdesc:a547de08c2c0712561250ff01c32a9b90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the <a class="el" href="class_grpc_1_1_call_credentials.html" title="class CallCredentials">CallCredentials</a> for this call.  <a href="class_grpc_1_1_call.html#a547de08c2c0712561250ff01c32a9b90">More...</a><br /></td></tr>
+<tr class="separator:a547de08c2c0712561250ff01c32a9b90"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>class <a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/grpc/grpc/tree/master/src/php/ext/grpc/call.c">https://github.com/grpc/grpc/tree/master/src/php/ext/grpc/call.c</a> </dd></dl>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a1e427a3545ad6116b06788ac453a8503"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1e427a3545ad6116b06788ac453a8503">&#9670;&nbsp;</a></span>__construct()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\Call::__construct </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$channel_obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$method</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$deadline_obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$host_override</em> = <code>&quot;&quot;</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Constructs a new instance of the <a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a> class. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype"><a class="el" href="class_grpc_1_1_channel.html" title="class Channel">Channel</a></td><td class="paramname">$channel_obj</td><td>The channel to associate the call with. Must not be closed. </td></tr>
+    <tr><td class="paramtype">string</td><td class="paramname">$method</td><td>The method to call </td></tr>
+    <tr><td class="paramtype"><a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a></td><td class="paramname">$deadline_obj</td><td>The deadline for completing the call </td></tr>
+    <tr><td class="paramtype">string</td><td class="paramname">$host_override</td><td>= "" The host is set by user (optional) </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="afc7c962d3288c3483ea4ce6ed1cfe9f7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afc7c962d3288c3483ea4ce6ed1cfe9f7">&#9670;&nbsp;</a></span>cancel()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\Call::cancel </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Cancel the call. </p>
+<p>This will cause the call to end with STATUS_CANCELLED if it has not already ended with another status. </p><dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
+
+</div>
+</div>
+<a id="ab6aa5fa913c3175b4c029e372112a777"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab6aa5fa913c3175b4c029e372112a777">&#9670;&nbsp;</a></span>getPeer()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\Call::getPeer </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get the endpoint this call/stream is connected to. </p>
+<dl class="section return"><dt>Returns</dt><dd>string The URI of the endpoint </dd></dl>
+
+</div>
+</div>
+<a id="a547de08c2c0712561250ff01c32a9b90"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a547de08c2c0712561250ff01c32a9b90">&#9670;&nbsp;</a></span>setCredentials()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\Call::setCredentials </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$creds_obj</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Set the <a class="el" href="class_grpc_1_1_call_credentials.html" title="class CallCredentials">CallCredentials</a> for this call. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype"><a class="el" href="class_grpc_1_1_call_credentials.html" title="class CallCredentials">CallCredentials</a></td><td class="paramname">$creds_obj</td><td>The <a class="el" href="class_grpc_1_1_call_credentials.html" title="class CallCredentials">CallCredentials</a> object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>int The error code </dd></dl>
+
+</div>
+</div>
+<a id="a0026968f6868365e3ba910f5b30416c5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0026968f6868365e3ba910f5b30416c5">&#9670;&nbsp;</a></span>startBatch()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\Call::startBatch </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$array</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Start a batch of RPC actions. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">array</td><td class="paramname">$array</td><td>Array of actions to take </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>object Object with results of all actions </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>src/php/lib/Grpc/<a class="el" href="_call_8php.html">Call.php</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 184 - 0
php/class_grpc_1_1_call_credentials.html

@@ -0,0 +1,184 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Grpc\CallCredentials Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespace_grpc.html">Grpc</a></li><li class="navelem"><a class="el" href="class_grpc_1_1_call_credentials.html">CallCredentials</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">Grpc\CallCredentials Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>class <a class="el" href="class_grpc_1_1_call_credentials.html" title="class CallCredentials">CallCredentials</a>  
+ <a href="class_grpc_1_1_call_credentials.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a3fba3eaacbc05e4f8aff03d77e591eaf"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_call_credentials.html#a3fba3eaacbc05e4f8aff03d77e591eaf">createComposite</a> ($cred1_obj, $cred2_obj)</td></tr>
+<tr class="memdesc:a3fba3eaacbc05e4f8aff03d77e591eaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create composite credentials from two existing credentials.  <a href="class_grpc_1_1_call_credentials.html#a3fba3eaacbc05e4f8aff03d77e591eaf">More...</a><br /></td></tr>
+<tr class="separator:a3fba3eaacbc05e4f8aff03d77e591eaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a1bbc0082e41f40873d9c3a97574bed"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_call_credentials.html#a1a1bbc0082e41f40873d9c3a97574bed">createFromPlugin</a> ($fci)</td></tr>
+<tr class="memdesc:a1a1bbc0082e41f40873d9c3a97574bed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a call credentials object from the plugin API.  <a href="class_grpc_1_1_call_credentials.html#a1a1bbc0082e41f40873d9c3a97574bed">More...</a><br /></td></tr>
+<tr class="separator:a1a1bbc0082e41f40873d9c3a97574bed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>class <a class="el" href="class_grpc_1_1_call_credentials.html" title="class CallCredentials">CallCredentials</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/grpc/grpc/tree/master/src/php/ext/grpc/call_credentials.c">https://github.com/grpc/grpc/tree/master/src/php/ext/grpc/call_credentials.c</a> </dd></dl>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a3fba3eaacbc05e4f8aff03d77e591eaf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3fba3eaacbc05e4f8aff03d77e591eaf">&#9670;&nbsp;</a></span>createComposite()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static Grpc\CallCredentials::createComposite </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$cred1_obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$cred2_obj</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Create composite credentials from two existing credentials. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype"><a class="el" href="class_grpc_1_1_call_credentials.html" title="class CallCredentials">CallCredentials</a></td><td class="paramname">$cred1_obj</td><td>The first credential </td></tr>
+    <tr><td class="paramtype"><a class="el" href="class_grpc_1_1_call_credentials.html" title="class CallCredentials">CallCredentials</a></td><td class="paramname">$cred2_obj</td><td>The second credential </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="class_grpc_1_1_call_credentials.html" title="class CallCredentials">CallCredentials</a> The new composite credentials object </dd></dl>
+
+</div>
+</div>
+<a id="a1a1bbc0082e41f40873d9c3a97574bed"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1a1bbc0082e41f40873d9c3a97574bed">&#9670;&nbsp;</a></span>createFromPlugin()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static Grpc\CallCredentials::createFromPlugin </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$fci</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Create a call credentials object from the plugin API. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">function</td><td class="paramname">$fci</td><td>The callback function </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="class_grpc_1_1_call_credentials.html" title="class CallCredentials">CallCredentials</a> The new call credentials object </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>src/php/lib/Grpc/<a class="el" href="_call_credentials_8php.html">CallCredentials.php</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 258 - 0
php/class_grpc_1_1_channel.html

@@ -0,0 +1,258 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Grpc\Channel Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespace_grpc.html">Grpc</a></li><li class="navelem"><a class="el" href="class_grpc_1_1_channel.html">Channel</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">Grpc\Channel Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>class <a class="el" href="class_grpc_1_1_channel.html" title="class Channel">Channel</a>  
+ <a href="class_grpc_1_1_channel.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aa9cf4f79b071b277c297cbd2da31aff2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_channel.html#aa9cf4f79b071b277c297cbd2da31aff2">__construct</a> ($target, $args_array)</td></tr>
+<tr class="memdesc:aa9cf4f79b071b277c297cbd2da31aff2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct an instance of the <a class="el" href="class_grpc_1_1_channel.html" title="class Channel">Channel</a> class.  <a href="class_grpc_1_1_channel.html#aa9cf4f79b071b277c297cbd2da31aff2">More...</a><br /></td></tr>
+<tr class="separator:aa9cf4f79b071b277c297cbd2da31aff2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afce31d39c37f42d29cae7c5fbd5279d9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_channel.html#afce31d39c37f42d29cae7c5fbd5279d9">getTarget</a> ()</td></tr>
+<tr class="memdesc:afce31d39c37f42d29cae7c5fbd5279d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the endpoint this call/stream is connected to.  <a href="class_grpc_1_1_channel.html#afce31d39c37f42d29cae7c5fbd5279d9">More...</a><br /></td></tr>
+<tr class="separator:afce31d39c37f42d29cae7c5fbd5279d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a64f6c766e8d06e6d78c01c37de28f8d7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_channel.html#a64f6c766e8d06e6d78c01c37de28f8d7">getConnectivityState</a> ($try_to_connect)</td></tr>
+<tr class="memdesc:a64f6c766e8d06e6d78c01c37de28f8d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the connectivity state of the channel.  <a href="class_grpc_1_1_channel.html#a64f6c766e8d06e6d78c01c37de28f8d7">More...</a><br /></td></tr>
+<tr class="separator:a64f6c766e8d06e6d78c01c37de28f8d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ef0546000edb6aba1f8e0233a75b10d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_channel.html#a2ef0546000edb6aba1f8e0233a75b10d">watchConnectivityState</a> ($last_state, $deadline_obj)</td></tr>
+<tr class="memdesc:a2ef0546000edb6aba1f8e0233a75b10d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Watch the connectivity state of the channel until it changed.  <a href="class_grpc_1_1_channel.html#a2ef0546000edb6aba1f8e0233a75b10d">More...</a><br /></td></tr>
+<tr class="separator:a2ef0546000edb6aba1f8e0233a75b10d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7475fd9110ae535b303cb37f8b217356"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_channel.html#a7475fd9110ae535b303cb37f8b217356">close</a> ()</td></tr>
+<tr class="memdesc:a7475fd9110ae535b303cb37f8b217356"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the channel.  <a href="class_grpc_1_1_channel.html#a7475fd9110ae535b303cb37f8b217356">More...</a><br /></td></tr>
+<tr class="separator:a7475fd9110ae535b303cb37f8b217356"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>class <a class="el" href="class_grpc_1_1_channel.html" title="class Channel">Channel</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/grpc/grpc/tree/master/src/php/ext/grpc/channel.c">https://github.com/grpc/grpc/tree/master/src/php/ext/grpc/channel.c</a> </dd></dl>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="aa9cf4f79b071b277c297cbd2da31aff2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa9cf4f79b071b277c297cbd2da31aff2">&#9670;&nbsp;</a></span>__construct()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\Channel::__construct </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$target</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$args_array</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Construct an instance of the <a class="el" href="class_grpc_1_1_channel.html" title="class Channel">Channel</a> class. </p>
+<p>By default, the underlying grpc_channel is "persistent". That is, given the same set of parameters passed to the constructor, the same underlying grpc_channel will be returned.</p>
+<p>If the $args array contains a "credentials" key mapping to a <a class="el" href="class_grpc_1_1_channel_credentials.html" title="class ChannelCredentials">ChannelCredentials</a> object, a secure channel will be created with those credentials.</p>
+<p>If the $args array contains a "force_new" key mapping to a boolean value of "true", a new and separate underlying grpc_channel will be created and returned. This will not affect existing channels.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">string</td><td class="paramname">$target</td><td>The hostname to associate with this channel </td></tr>
+    <tr><td class="paramtype">array</td><td class="paramname">$args_array</td><td>The arguments to pass to the <a class="el" href="class_grpc_1_1_channel.html" title="class Channel">Channel</a> </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a7475fd9110ae535b303cb37f8b217356"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7475fd9110ae535b303cb37f8b217356">&#9670;&nbsp;</a></span>close()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\Channel::close </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Close the channel. </p>
+<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
+
+</div>
+</div>
+<a id="a64f6c766e8d06e6d78c01c37de28f8d7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a64f6c766e8d06e6d78c01c37de28f8d7">&#9670;&nbsp;</a></span>getConnectivityState()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\Channel::getConnectivityState </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$try_to_connect</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get the connectivity state of the channel. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">bool</td><td class="paramname">$try_to_connect</td><td>Try to connect on the channel (optional) </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>long The grpc connectivity state </dd></dl>
+
+</div>
+</div>
+<a id="afce31d39c37f42d29cae7c5fbd5279d9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afce31d39c37f42d29cae7c5fbd5279d9">&#9670;&nbsp;</a></span>getTarget()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\Channel::getTarget </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get the endpoint this call/stream is connected to. </p>
+<dl class="section return"><dt>Returns</dt><dd>string The URI of the endpoint </dd></dl>
+
+</div>
+</div>
+<a id="a2ef0546000edb6aba1f8e0233a75b10d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2ef0546000edb6aba1f8e0233a75b10d">&#9670;&nbsp;</a></span>watchConnectivityState()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\Channel::watchConnectivityState </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$last_state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$deadline_obj</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Watch the connectivity state of the channel until it changed. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">long</td><td class="paramname">$last_state</td><td>The previous connectivity state of the channel </td></tr>
+    <tr><td class="paramtype"><a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a></td><td class="paramname">$deadline_obj</td><td>The deadline this function should wait until </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>bool If the connectivity state changes from last_state before deadline </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>src/php/lib/Grpc/<a class="el" href="_channel_8php.html">Channel.php</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 363 - 0
php/class_grpc_1_1_channel_credentials.html

@@ -0,0 +1,363 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Grpc\ChannelCredentials Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespace_grpc.html">Grpc</a></li><li class="navelem"><a class="el" href="class_grpc_1_1_channel_credentials.html">ChannelCredentials</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">Grpc\ChannelCredentials Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>class <a class="el" href="class_grpc_1_1_channel_credentials.html" title="class ChannelCredentials">ChannelCredentials</a>  
+ <a href="class_grpc_1_1_channel_credentials.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:aa36260c02be6eb2f7d141dcbc508ddcf"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_channel_credentials.html#aa36260c02be6eb2f7d141dcbc508ddcf">setDefaultRootsPem</a> ($pem_roots)</td></tr>
+<tr class="memdesc:aa36260c02be6eb2f7d141dcbc508ddcf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set default roots pem.  <a href="class_grpc_1_1_channel_credentials.html#aa36260c02be6eb2f7d141dcbc508ddcf">More...</a><br /></td></tr>
+<tr class="separator:aa36260c02be6eb2f7d141dcbc508ddcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af9f1e5522ce2767c297e46847ef5fff4"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_channel_credentials.html#af9f1e5522ce2767c297e46847ef5fff4">isDefaultRootsPemSet</a> ()</td></tr>
+<tr class="memdesc:af9f1e5522ce2767c297e46847ef5fff4"><td class="mdescLeft">&#160;</td><td class="mdescRight">if default roots pem is set  <a href="class_grpc_1_1_channel_credentials.html#af9f1e5522ce2767c297e46847ef5fff4">More...</a><br /></td></tr>
+<tr class="separator:af9f1e5522ce2767c297e46847ef5fff4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeb985b18bdb11939991e988f717c801a"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_channel_credentials.html#aeb985b18bdb11939991e988f717c801a">invalidateDefaultRootsPem</a> ()</td></tr>
+<tr class="memdesc:aeb985b18bdb11939991e988f717c801a"><td class="mdescLeft">&#160;</td><td class="mdescRight">free default roots pem, if it is set  <a href="class_grpc_1_1_channel_credentials.html#aeb985b18bdb11939991e988f717c801a">More...</a><br /></td></tr>
+<tr class="separator:aeb985b18bdb11939991e988f717c801a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae6cfccd4ab1f09fc3e326e4cc98c0507"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_channel_credentials.html#ae6cfccd4ab1f09fc3e326e4cc98c0507">createDefault</a> ()</td></tr>
+<tr class="memdesc:ae6cfccd4ab1f09fc3e326e4cc98c0507"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a default channel credentials object.  <a href="class_grpc_1_1_channel_credentials.html#ae6cfccd4ab1f09fc3e326e4cc98c0507">More...</a><br /></td></tr>
+<tr class="separator:ae6cfccd4ab1f09fc3e326e4cc98c0507"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f8365f36d4b11101039e86811571203"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_channel_credentials.html#a5f8365f36d4b11101039e86811571203">createSsl</a> ($pem_root_certs=&quot;&quot;, $private_key=&quot;&quot;, $cert_chain=&quot;&quot;)</td></tr>
+<tr class="memdesc:a5f8365f36d4b11101039e86811571203"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create SSL credentials.  <a href="class_grpc_1_1_channel_credentials.html#a5f8365f36d4b11101039e86811571203">More...</a><br /></td></tr>
+<tr class="separator:a5f8365f36d4b11101039e86811571203"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab86aca4055799eaa2eed315fa2446944"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_channel_credentials.html#ab86aca4055799eaa2eed315fa2446944">createComposite</a> ($cred1_obj, $cred2_obj)</td></tr>
+<tr class="memdesc:ab86aca4055799eaa2eed315fa2446944"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create composite credentials from two existing credentials.  <a href="class_grpc_1_1_channel_credentials.html#ab86aca4055799eaa2eed315fa2446944">More...</a><br /></td></tr>
+<tr class="separator:ab86aca4055799eaa2eed315fa2446944"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab8ca6b64ea261b0c9344878b2348f320"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_channel_credentials.html#ab8ca6b64ea261b0c9344878b2348f320">createInsecure</a> ()</td></tr>
+<tr class="memdesc:ab8ca6b64ea261b0c9344878b2348f320"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create insecure channel credentials.  <a href="class_grpc_1_1_channel_credentials.html#ab8ca6b64ea261b0c9344878b2348f320">More...</a><br /></td></tr>
+<tr class="separator:ab8ca6b64ea261b0c9344878b2348f320"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>class <a class="el" href="class_grpc_1_1_channel_credentials.html" title="class ChannelCredentials">ChannelCredentials</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/grpc/grpc/tree/master/src/php/ext/grpc/channel_credentials.c">https://github.com/grpc/grpc/tree/master/src/php/ext/grpc/channel_credentials.c</a> </dd></dl>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="ab86aca4055799eaa2eed315fa2446944"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab86aca4055799eaa2eed315fa2446944">&#9670;&nbsp;</a></span>createComposite()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static Grpc\ChannelCredentials::createComposite </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$cred1_obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$cred2_obj</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Create composite credentials from two existing credentials. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype"><a class="el" href="class_grpc_1_1_channel_credentials.html" title="class ChannelCredentials">ChannelCredentials</a></td><td class="paramname">$cred1_obj</td><td>The first credential </td></tr>
+    <tr><td class="paramtype"><a class="el" href="class_grpc_1_1_call_credentials.html" title="class CallCredentials">CallCredentials</a></td><td class="paramname">$cred2_obj</td><td>The second credential </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="class_grpc_1_1_channel_credentials.html" title="class ChannelCredentials">ChannelCredentials</a> The new composite credentials object </dd></dl>
+
+</div>
+</div>
+<a id="ae6cfccd4ab1f09fc3e326e4cc98c0507"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae6cfccd4ab1f09fc3e326e4cc98c0507">&#9670;&nbsp;</a></span>createDefault()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static Grpc\ChannelCredentials::createDefault </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Create a default channel credentials object. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="class_grpc_1_1_channel_credentials.html" title="class ChannelCredentials">ChannelCredentials</a> The new default channel credentials object </dd></dl>
+
+</div>
+</div>
+<a id="ab8ca6b64ea261b0c9344878b2348f320"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab8ca6b64ea261b0c9344878b2348f320">&#9670;&nbsp;</a></span>createInsecure()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static Grpc\ChannelCredentials::createInsecure </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Create insecure channel credentials. </p>
+<dl class="section return"><dt>Returns</dt><dd>null </dd></dl>
+
+</div>
+</div>
+<a id="a5f8365f36d4b11101039e86811571203"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5f8365f36d4b11101039e86811571203">&#9670;&nbsp;</a></span>createSsl()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static Grpc\ChannelCredentials::createSsl </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$pem_root_certs</em> = <code>&quot;&quot;</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$private_key</em> = <code>&quot;&quot;</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$cert_chain</em> = <code>&quot;&quot;</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Create SSL credentials. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">string</td><td class="paramname">$pem_root_certs</td><td>= "" PEM encoding of the server root certificates (optional) </td></tr>
+    <tr><td class="paramtype">string</td><td class="paramname">$private_key</td><td>= "" PEM encoding of the client's private key (optional) </td></tr>
+    <tr><td class="paramtype">string</td><td class="paramname">$cert_chain</td><td>= "" PEM encoding of the client's certificate chain (optional) </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="class_grpc_1_1_channel_credentials.html" title="class ChannelCredentials">ChannelCredentials</a> The new SSL credentials object </dd></dl>
+
+</div>
+</div>
+<a id="aeb985b18bdb11939991e988f717c801a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeb985b18bdb11939991e988f717c801a">&#9670;&nbsp;</a></span>invalidateDefaultRootsPem()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static Grpc\ChannelCredentials::invalidateDefaultRootsPem </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>free default roots pem, if it is set </p>
+
+</div>
+</div>
+<a id="af9f1e5522ce2767c297e46847ef5fff4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af9f1e5522ce2767c297e46847ef5fff4">&#9670;&nbsp;</a></span>isDefaultRootsPemSet()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static Grpc\ChannelCredentials::isDefaultRootsPemSet </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>if default roots pem is set </p>
+<dl class="section return"><dt>Returns</dt><dd>TRUE/FALSE </dd></dl>
+
+</div>
+</div>
+<a id="aa36260c02be6eb2f7d141dcbc508ddcf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa36260c02be6eb2f7d141dcbc508ddcf">&#9670;&nbsp;</a></span>setDefaultRootsPem()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static Grpc\ChannelCredentials::setDefaultRootsPem </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$pem_roots</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set default roots pem. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">string</td><td class="paramname">$pem_roots</td><td>PEM encoding of the server root certificates </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>src/php/lib/Grpc/<a class="el" href="_channel_credentials_8php.html">ChannelCredentials.php</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 224 - 0
php/class_grpc_1_1_client_streaming_call.html

@@ -0,0 +1,224 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Grpc\ClientStreamingCall Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespace_grpc.html">Grpc</a></li><li class="navelem"><a class="el" href="class_grpc_1_1_client_streaming_call.html">ClientStreamingCall</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">Grpc\ClientStreamingCall Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Represents an active call that sends a stream of messages and then gets a single response.  
+ <a href="class_grpc_1_1_client_streaming_call.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a3e7920444f1893309f88896d6448fb67"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_client_streaming_call.html#a3e7920444f1893309f88896d6448fb67">start</a> (array $metadata=[])</td></tr>
+<tr class="memdesc:a3e7920444f1893309f88896d6448fb67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start the call.  <a href="class_grpc_1_1_client_streaming_call.html#a3e7920444f1893309f88896d6448fb67">More...</a><br /></td></tr>
+<tr class="separator:a3e7920444f1893309f88896d6448fb67"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae052b490ba4651978238a3dd15e9e73d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_client_streaming_call.html#ae052b490ba4651978238a3dd15e9e73d">write</a> ($data, array $options=[])</td></tr>
+<tr class="memdesc:ae052b490ba4651978238a3dd15e9e73d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a single message to the server.  <a href="class_grpc_1_1_client_streaming_call.html#ae052b490ba4651978238a3dd15e9e73d">More...</a><br /></td></tr>
+<tr class="separator:ae052b490ba4651978238a3dd15e9e73d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addc05660c5b52390483babae9630b0fb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_client_streaming_call.html#addc05660c5b52390483babae9630b0fb">wait</a> ()</td></tr>
+<tr class="memdesc:addc05660c5b52390483babae9630b0fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for the server to respond with data and a status.  <a href="class_grpc_1_1_client_streaming_call.html#addc05660c5b52390483babae9630b0fb">More...</a><br /></td></tr>
+<tr class="separator:addc05660c5b52390483babae9630b0fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_class_grpc_1_1_abstract_call"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_grpc_1_1_abstract_call')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_grpc_1_1_abstract_call.html">Grpc\AbstractCall</a></td></tr>
+<tr class="memitem:a98c8526df813acd6a775cf90a31af18e inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a98c8526df813acd6a775cf90a31af18e">__construct</a> (<a class="el" href="class_grpc_1_1_channel.html">Channel</a> $channel, $method, $deserialize, array $options=[])</td></tr>
+<tr class="memdesc:a98c8526df813acd6a775cf90a31af18e inherit pub_methods_class_grpc_1_1_abstract_call"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a> wrapper object.  <a href="class_grpc_1_1_abstract_call.html#a98c8526df813acd6a775cf90a31af18e">More...</a><br /></td></tr>
+<tr class="separator:a98c8526df813acd6a775cf90a31af18e inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5d4f130fc35450d4a5b0bfd0a918ff4 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#ac5d4f130fc35450d4a5b0bfd0a918ff4">getMetadata</a> ()</td></tr>
+<tr class="separator:ac5d4f130fc35450d4a5b0bfd0a918ff4 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8de5e451ba9a414d7a58a7d7c5fcc764 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a8de5e451ba9a414d7a58a7d7c5fcc764">getTrailingMetadata</a> ()</td></tr>
+<tr class="separator:a8de5e451ba9a414d7a58a7d7c5fcc764 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a188fc7298f9b52fb0eee7d3901281cdc inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a188fc7298f9b52fb0eee7d3901281cdc">getPeer</a> ()</td></tr>
+<tr class="separator:a188fc7298f9b52fb0eee7d3901281cdc inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a088115c12c3af171fe7e99078595d6c0 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a088115c12c3af171fe7e99078595d6c0">cancel</a> ()</td></tr>
+<tr class="memdesc:a088115c12c3af171fe7e99078595d6c0 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cancels the call.  <a href="class_grpc_1_1_abstract_call.html#a088115c12c3af171fe7e99078595d6c0">More...</a><br /></td></tr>
+<tr class="separator:a088115c12c3af171fe7e99078595d6c0 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a88c9af5ba3c7ede0dc5342363af5e9a2 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a88c9af5ba3c7ede0dc5342363af5e9a2">setCallCredentials</a> ($call_credentials)</td></tr>
+<tr class="memdesc:a88c9af5ba3c7ede0dc5342363af5e9a2 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the <a class="el" href="class_grpc_1_1_call_credentials.html" title="class CallCredentials">CallCredentials</a> for the underlying <a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a>.  <a href="class_grpc_1_1_abstract_call.html#a88c9af5ba3c7ede0dc5342363af5e9a2">More...</a><br /></td></tr>
+<tr class="separator:a88c9af5ba3c7ede0dc5342363af5e9a2 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_methods_class_grpc_1_1_abstract_call"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_grpc_1_1_abstract_call')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_grpc_1_1_abstract_call.html">Grpc\AbstractCall</a></td></tr>
+<tr class="memitem:ac6b4a554e5be5fd57ee05610e25d4d05 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#ac6b4a554e5be5fd57ee05610e25d4d05">_serializeMessage</a> ($data)</td></tr>
+<tr class="memdesc:ac6b4a554e5be5fd57ee05610e25d4d05 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serialize a message to the protobuf binary format.  <a href="class_grpc_1_1_abstract_call.html#ac6b4a554e5be5fd57ee05610e25d4d05">More...</a><br /></td></tr>
+<tr class="separator:ac6b4a554e5be5fd57ee05610e25d4d05 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a413e87bcf0475cd8c627fd16919fda98 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a413e87bcf0475cd8c627fd16919fda98">_deserializeResponse</a> ($value)</td></tr>
+<tr class="memdesc:a413e87bcf0475cd8c627fd16919fda98 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deserialize a response value to an object.  <a href="class_grpc_1_1_abstract_call.html#a413e87bcf0475cd8c627fd16919fda98">More...</a><br /></td></tr>
+<tr class="separator:a413e87bcf0475cd8c627fd16919fda98 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_class_grpc_1_1_abstract_call"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_grpc_1_1_abstract_call')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_grpc_1_1_abstract_call.html">Grpc\AbstractCall</a></td></tr>
+<tr class="memitem:a722dd807b08d990d3f9816202627d701 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a722dd807b08d990d3f9816202627d701">$call</a></td></tr>
+<tr class="separator:a722dd807b08d990d3f9816202627d701 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa10e9fd56d64bc2167bb65129e212c9b inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#aa10e9fd56d64bc2167bb65129e212c9b">$deserialize</a></td></tr>
+<tr class="separator:aa10e9fd56d64bc2167bb65129e212c9b inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aabc4e33a97415326e10596675f790328 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#aabc4e33a97415326e10596675f790328">$metadata</a></td></tr>
+<tr class="separator:aabc4e33a97415326e10596675f790328 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a35264eb899b5c6d320433741202924d2 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a35264eb899b5c6d320433741202924d2">$trailing_metadata</a></td></tr>
+<tr class="separator:a35264eb899b5c6d320433741202924d2 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Represents an active call that sends a stream of messages and then gets a single response. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a3e7920444f1893309f88896d6448fb67"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3e7920444f1893309f88896d6448fb67">&#9670;&nbsp;</a></span>start()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\ClientStreamingCall::start </td>
+          <td>(</td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$metadata</em> = <code>[]</code></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Start the call. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">array</td><td class="paramname">$metadata</td><td>Metadata to send with the call, if applicable (optional) </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="addc05660c5b52390483babae9630b0fb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#addc05660c5b52390483babae9630b0fb">&#9670;&nbsp;</a></span>wait()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\ClientStreamingCall::wait </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Wait for the server to respond with data and a status. </p>
+<dl class="section return"><dt>Returns</dt><dd>array [response data, status] </dd></dl>
+
+</div>
+</div>
+<a id="ae052b490ba4651978238a3dd15e9e73d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae052b490ba4651978238a3dd15e9e73d">&#9670;&nbsp;</a></span>write()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\ClientStreamingCall::write </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$options</em> = <code>[]</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Write a single message to the server. </p>
+<p>This cannot be called after wait is called.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">ByteBuffer</td><td class="paramname">$data</td><td>The data to write </td></tr>
+    <tr><td class="paramtype">array</td><td class="paramname">$options</td><td>An array of options, possible keys: 'flags' =&gt; a number (optional) </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>src/php/lib/Grpc/<a class="el" href="_client_streaming_call_8php.html">ClientStreamingCall.php</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 305 - 0
php/class_grpc_1_1_default_call_invoker.html

@@ -0,0 +1,305 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Grpc\DefaultCallInvoker Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespace_grpc.html">Grpc</a></li><li class="navelem"><a class="el" href="class_grpc_1_1_default_call_invoker.html">DefaultCallInvoker</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">Grpc\DefaultCallInvoker Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Default call invoker in the gRPC stub.  
+ <a href="class_grpc_1_1_default_call_invoker.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a2a957d3655f28d85eb389b69a19f21c3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_default_call_invoker.html#a2a957d3655f28d85eb389b69a19f21c3">createChannelFactory</a> ($hostname, $opts)</td></tr>
+<tr class="separator:a2a957d3655f28d85eb389b69a19f21c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeb68964a5eb77fdd8132d1bcdcd684ec"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_default_call_invoker.html#aeb68964a5eb77fdd8132d1bcdcd684ec">UnaryCall</a> ($channel, $method, $deserialize, $options)</td></tr>
+<tr class="separator:aeb68964a5eb77fdd8132d1bcdcd684ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acf29c012585ed124e6341cc787080ab4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_default_call_invoker.html#acf29c012585ed124e6341cc787080ab4">ClientStreamingCall</a> ($channel, $method, $deserialize, $options)</td></tr>
+<tr class="separator:acf29c012585ed124e6341cc787080ab4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a52b1905060f79ea1ace3fcefb7a1a571"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_default_call_invoker.html#a52b1905060f79ea1ace3fcefb7a1a571">ServerStreamingCall</a> ($channel, $method, $deserialize, $options)</td></tr>
+<tr class="separator:a52b1905060f79ea1ace3fcefb7a1a571"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a426eca19248c6f6853fd70ecdb5ccdfe"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_default_call_invoker.html#a426eca19248c6f6853fd70ecdb5ccdfe">BidiStreamingCall</a> ($channel, $method, $deserialize, $options)</td></tr>
+<tr class="separator:a426eca19248c6f6853fd70ecdb5ccdfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Default call invoker in the gRPC stub. </p>
+<p>THIS IS AN EXPERIMENTAL API. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a426eca19248c6f6853fd70ecdb5ccdfe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a426eca19248c6f6853fd70ecdb5ccdfe">&#9670;&nbsp;</a></span>BidiStreamingCall()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\DefaultCallInvoker::BidiStreamingCall </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$channel</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$method</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$deserialize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$options</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Implements <a class="el" href="interface_grpc_1_1_call_invoker.html#a1694c3b49f2b5b9426d362fdb674aa6b">Grpc\CallInvoker</a>.</p>
+
+</div>
+</div>
+<a id="acf29c012585ed124e6341cc787080ab4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acf29c012585ed124e6341cc787080ab4">&#9670;&nbsp;</a></span>ClientStreamingCall()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\DefaultCallInvoker::ClientStreamingCall </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$channel</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$method</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$deserialize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$options</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Implements <a class="el" href="interface_grpc_1_1_call_invoker.html#aa661021486adc62df778e8bca4e55eae">Grpc\CallInvoker</a>.</p>
+
+</div>
+</div>
+<a id="a2a957d3655f28d85eb389b69a19f21c3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2a957d3655f28d85eb389b69a19f21c3">&#9670;&nbsp;</a></span>createChannelFactory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\DefaultCallInvoker::createChannelFactory </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$hostname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$opts</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Implements <a class="el" href="interface_grpc_1_1_call_invoker.html#a7f33ab1a5af0bebffc7ec8cb3dfd5ac3">Grpc\CallInvoker</a>.</p>
+
+</div>
+</div>
+<a id="a52b1905060f79ea1ace3fcefb7a1a571"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a52b1905060f79ea1ace3fcefb7a1a571">&#9670;&nbsp;</a></span>ServerStreamingCall()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\DefaultCallInvoker::ServerStreamingCall </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$channel</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$method</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$deserialize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$options</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Implements <a class="el" href="interface_grpc_1_1_call_invoker.html#a5aa48bd2ba970ffb6802d81f4864ae65">Grpc\CallInvoker</a>.</p>
+
+</div>
+</div>
+<a id="aeb68964a5eb77fdd8132d1bcdcd684ec"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeb68964a5eb77fdd8132d1bcdcd684ec">&#9670;&nbsp;</a></span>UnaryCall()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\DefaultCallInvoker::UnaryCall </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$channel</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$method</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$deserialize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$options</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Implements <a class="el" href="interface_grpc_1_1_call_invoker.html#a7fe706e87132401e69146f1ee79c47a4">Grpc\CallInvoker</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>src/php/lib/Grpc/<a class="el" href="_default_call_invoker_8php.html">DefaultCallInvoker.php</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 354 - 0
php/class_grpc_1_1_interceptor.html

@@ -0,0 +1,354 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Grpc\Interceptor Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespace_grpc.html">Grpc</a></li><li class="navelem"><a class="el" href="class_grpc_1_1_interceptor.html">Interceptor</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">Grpc\Interceptor Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Represents an interceptor that intercept RPC invocations before call starts.  
+ <a href="class_grpc_1_1_interceptor.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aec9c69861997289db3efd2abb5d0f58c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_interceptor.html#aec9c69861997289db3efd2abb5d0f58c">interceptUnaryUnary</a> ( $method, $argument, $deserialize, array $metadata=[], array $options=[], $continuation)</td></tr>
+<tr class="separator:aec9c69861997289db3efd2abb5d0f58c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a795ddc43e1701df83b01731d7cbd6b04"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_interceptor.html#a795ddc43e1701df83b01731d7cbd6b04">interceptStreamUnary</a> ( $method, $deserialize, array $metadata=[], array $options=[], $continuation)</td></tr>
+<tr class="separator:a795ddc43e1701df83b01731d7cbd6b04"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a209c18987ef9abed720b658b803bb1cb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_interceptor.html#a209c18987ef9abed720b658b803bb1cb">interceptUnaryStream</a> ( $method, $argument, $deserialize, array $metadata=[], array $options=[], $continuation)</td></tr>
+<tr class="separator:a209c18987ef9abed720b658b803bb1cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4c6b68d9d0a4c7f26b838cee67de9fba"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_interceptor.html#a4c6b68d9d0a4c7f26b838cee67de9fba">interceptStreamStream</a> ( $method, $deserialize, array $metadata=[], array $options=[], $continuation)</td></tr>
+<tr class="separator:a4c6b68d9d0a4c7f26b838cee67de9fba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:afcc5cdc7a13e5f36a8aed380a132f701"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_interceptor.html#afcc5cdc7a13e5f36a8aed380a132f701">intercept</a> ($channel, $interceptors)</td></tr>
+<tr class="memdesc:afcc5cdc7a13e5f36a8aed380a132f701"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intercept the methods with <a class="el" href="class_grpc_1_1_channel.html" title="class Channel">Channel</a>.  <a href="class_grpc_1_1_interceptor.html#afcc5cdc7a13e5f36a8aed380a132f701">More...</a><br /></td></tr>
+<tr class="separator:afcc5cdc7a13e5f36a8aed380a132f701"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Represents an interceptor that intercept RPC invocations before call starts. </p>
+<p>There is one proposal related to the argument $deserialize under the review. The proposal link is <a href="https://github.com/grpc/proposal/pull/86">https://github.com/grpc/proposal/pull/86</a>. This is an EXPERIMENTAL API. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="afcc5cdc7a13e5f36a8aed380a132f701"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afcc5cdc7a13e5f36a8aed380a132f701">&#9670;&nbsp;</a></span>intercept()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static Grpc\Interceptor::intercept </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$channel</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$interceptors</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Intercept the methods with <a class="el" href="class_grpc_1_1_channel.html" title="class Channel">Channel</a>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype"><a class="el" href="class_grpc_1_1_channel.html" title="class Channel">Channel</a>&#160;|&#160;InterceptorChannel</td><td class="paramname">$channel</td><td>An already created <a class="el" href="class_grpc_1_1_channel.html" title="class Channel">Channel</a> or InterceptorChannel object (optional) </td></tr>
+    <tr><td class="paramtype"><a class="el" href="class_grpc_1_1_interceptor.html" title="Represents an interceptor that intercept RPC invocations before call starts.">Interceptor</a>&#160;|&#160;<a class="el" href="class_grpc_1_1_interceptor.html" title="Represents an interceptor that intercept RPC invocations before call starts.">Interceptor</a>[]</td><td class="paramname">$interceptors</td><td>interceptors to be added</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>InterceptorChannel </dd></dl>
+
+</div>
+</div>
+<a id="a4c6b68d9d0a4c7f26b838cee67de9fba"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4c6b68d9d0a4c7f26b838cee67de9fba">&#9670;&nbsp;</a></span>interceptStreamStream()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\Interceptor::interceptStreamStream </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$method</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$deserialize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$metadata</em> = <code>[]</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$options</em> = <code>[]</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$continuation</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a795ddc43e1701df83b01731d7cbd6b04"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a795ddc43e1701df83b01731d7cbd6b04">&#9670;&nbsp;</a></span>interceptStreamUnary()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\Interceptor::interceptStreamUnary </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$method</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$deserialize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$metadata</em> = <code>[]</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$options</em> = <code>[]</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$continuation</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a209c18987ef9abed720b658b803bb1cb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a209c18987ef9abed720b658b803bb1cb">&#9670;&nbsp;</a></span>interceptUnaryStream()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\Interceptor::interceptUnaryStream </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$method</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$argument</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$deserialize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$metadata</em> = <code>[]</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$options</em> = <code>[]</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$continuation</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aec9c69861997289db3efd2abb5d0f58c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aec9c69861997289db3efd2abb5d0f58c">&#9670;&nbsp;</a></span>interceptUnaryUnary()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\Interceptor::interceptUnaryUnary </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$method</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$argument</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$deserialize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$metadata</em> = <code>[]</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$options</em> = <code>[]</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$continuation</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>src/php/lib/Grpc/<a class="el" href="_interceptor_8php.html">Interceptor.php</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 240 - 0
php/class_grpc_1_1_rpc_server.html

@@ -0,0 +1,240 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Grpc\RpcServer Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespace_grpc.html">Grpc</a></li><li class="navelem"><a class="el" href="class_grpc_1_1_rpc_server.html">RpcServer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a>  </div>
+  <div class="headertitle">
+<div class="title">Grpc\RpcServer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:afaf6bebe4ae34481869eedfff7e9c573"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_rpc_server.html#afaf6bebe4ae34481869eedfff7e9c573">handle</a> ($service)</td></tr>
+<tr class="memdesc:afaf6bebe4ae34481869eedfff7e9c573"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a service to this server.  <a href="class_grpc_1_1_rpc_server.html#afaf6bebe4ae34481869eedfff7e9c573">More...</a><br /></td></tr>
+<tr class="separator:afaf6bebe4ae34481869eedfff7e9c573"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6376eda9f614e1c61715ebc0ae3ca746"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_rpc_server.html#a6376eda9f614e1c61715ebc0ae3ca746">run</a> ()</td></tr>
+<tr class="separator:a6376eda9f614e1c61715ebc0ae3ca746"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_class_grpc_1_1_server"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_grpc_1_1_server')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_grpc_1_1_server.html">Grpc\Server</a></td></tr>
+<tr class="memitem:a109c078b8e6718a1ed777f60cb4bc958 inherit pub_methods_class_grpc_1_1_server"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_server.html#a109c078b8e6718a1ed777f60cb4bc958">__construct</a> ($args_array)</td></tr>
+<tr class="memdesc:a109c078b8e6718a1ed777f60cb4bc958 inherit pub_methods_class_grpc_1_1_server"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a new instance of the <a class="el" href="class_grpc_1_1_server.html" title="class Server">Server</a> class.  <a href="class_grpc_1_1_server.html#a109c078b8e6718a1ed777f60cb4bc958">More...</a><br /></td></tr>
+<tr class="separator:a109c078b8e6718a1ed777f60cb4bc958 inherit pub_methods_class_grpc_1_1_server"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a90ada396f37c675d70b43d4f96afe334 inherit pub_methods_class_grpc_1_1_server"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_server.html#a90ada396f37c675d70b43d4f96afe334">requestCall</a> ()</td></tr>
+<tr class="memdesc:a90ada396f37c675d70b43d4f96afe334 inherit pub_methods_class_grpc_1_1_server"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request a call on a server.  <a href="class_grpc_1_1_server.html#a90ada396f37c675d70b43d4f96afe334">More...</a><br /></td></tr>
+<tr class="separator:a90ada396f37c675d70b43d4f96afe334 inherit pub_methods_class_grpc_1_1_server"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b20e4fe60663ff1cdb7e30f1995e31b inherit pub_methods_class_grpc_1_1_server"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_server.html#a5b20e4fe60663ff1cdb7e30f1995e31b">addHttp2Port</a> ($addr)</td></tr>
+<tr class="memdesc:a5b20e4fe60663ff1cdb7e30f1995e31b inherit pub_methods_class_grpc_1_1_server"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a http2 over tcp listener.  <a href="class_grpc_1_1_server.html#a5b20e4fe60663ff1cdb7e30f1995e31b">More...</a><br /></td></tr>
+<tr class="separator:a5b20e4fe60663ff1cdb7e30f1995e31b inherit pub_methods_class_grpc_1_1_server"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b3120398662e298719de06716909dcd inherit pub_methods_class_grpc_1_1_server"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_server.html#a3b3120398662e298719de06716909dcd">addSecureHttp2Port</a> ($addr)</td></tr>
+<tr class="memdesc:a3b3120398662e298719de06716909dcd inherit pub_methods_class_grpc_1_1_server"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a secure http2 over tcp listener.  <a href="class_grpc_1_1_server.html#a3b3120398662e298719de06716909dcd">More...</a><br /></td></tr>
+<tr class="separator:a3b3120398662e298719de06716909dcd inherit pub_methods_class_grpc_1_1_server"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c2935d3be77ea9902eaf2e20e3422b5 inherit pub_methods_class_grpc_1_1_server"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_server.html#a3c2935d3be77ea9902eaf2e20e3422b5">start</a> ()</td></tr>
+<tr class="memdesc:a3c2935d3be77ea9902eaf2e20e3422b5 inherit pub_methods_class_grpc_1_1_server"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start a server - tells all listeners to start listening.  <a href="class_grpc_1_1_server.html#a3c2935d3be77ea9902eaf2e20e3422b5">More...</a><br /></td></tr>
+<tr class="separator:a3c2935d3be77ea9902eaf2e20e3422b5 inherit pub_methods_class_grpc_1_1_server"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a0ac7dbf6a7d3b5512252605c1c9e2332"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_rpc_server.html#a0ac7dbf6a7d3b5512252605c1c9e2332">sendOkResponse</a> ($response)</td></tr>
+<tr class="separator:a0ac7dbf6a7d3b5512252605c1c9e2332"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:a7ea2734edfe8b09681972bf5e5d7a6f0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_rpc_server.html#a7ea2734edfe8b09681972bf5e5d7a6f0">$call</a></td></tr>
+<tr class="separator:a7ea2734edfe8b09681972bf5e5d7a6f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c6119bd94888c4d6202a1205c296794"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_rpc_server.html#a9c6119bd94888c4d6202a1205c296794">$paths_map</a></td></tr>
+<tr class="separator:a9c6119bd94888c4d6202a1205c296794"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="afaf6bebe4ae34481869eedfff7e9c573"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afaf6bebe4ae34481869eedfff7e9c573">&#9670;&nbsp;</a></span>handle()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\RpcServer::handle </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$service</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Add a service to this server. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">Object</td><td class="paramname">$service</td><td>The service to be added </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a6376eda9f614e1c61715ebc0ae3ca746"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6376eda9f614e1c61715ebc0ae3ca746">&#9670;&nbsp;</a></span>run()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\RpcServer::run </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a0ac7dbf6a7d3b5512252605c1c9e2332"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0ac7dbf6a7d3b5512252605c1c9e2332">&#9670;&nbsp;</a></span>sendOkResponse()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\RpcServer::sendOkResponse </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$response</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="a7ea2734edfe8b09681972bf5e5d7a6f0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7ea2734edfe8b09681972bf5e5d7a6f0">&#9670;&nbsp;</a></span>$call</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\RpcServer::$call</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9c6119bd94888c4d6202a1205c296794"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9c6119bd94888c4d6202a1205c296794">&#9670;&nbsp;</a></span>$paths_map</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\RpcServer::$paths_map</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>src/php/lib/Grpc/<a class="el" href="_rpc_server_8php.html">RpcServer.php</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 234 - 0
php/class_grpc_1_1_server.html

@@ -0,0 +1,234 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Grpc\Server Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespace_grpc.html">Grpc</a></li><li class="navelem"><a class="el" href="class_grpc_1_1_server.html">Server</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">Grpc\Server Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>class <a class="el" href="class_grpc_1_1_server.html" title="class Server">Server</a>  
+ <a href="class_grpc_1_1_server.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a109c078b8e6718a1ed777f60cb4bc958"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_server.html#a109c078b8e6718a1ed777f60cb4bc958">__construct</a> ($args_array)</td></tr>
+<tr class="memdesc:a109c078b8e6718a1ed777f60cb4bc958"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a new instance of the <a class="el" href="class_grpc_1_1_server.html" title="class Server">Server</a> class.  <a href="class_grpc_1_1_server.html#a109c078b8e6718a1ed777f60cb4bc958">More...</a><br /></td></tr>
+<tr class="separator:a109c078b8e6718a1ed777f60cb4bc958"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a90ada396f37c675d70b43d4f96afe334"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_server.html#a90ada396f37c675d70b43d4f96afe334">requestCall</a> ()</td></tr>
+<tr class="memdesc:a90ada396f37c675d70b43d4f96afe334"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request a call on a server.  <a href="class_grpc_1_1_server.html#a90ada396f37c675d70b43d4f96afe334">More...</a><br /></td></tr>
+<tr class="separator:a90ada396f37c675d70b43d4f96afe334"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b20e4fe60663ff1cdb7e30f1995e31b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_server.html#a5b20e4fe60663ff1cdb7e30f1995e31b">addHttp2Port</a> ($addr)</td></tr>
+<tr class="memdesc:a5b20e4fe60663ff1cdb7e30f1995e31b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a http2 over tcp listener.  <a href="class_grpc_1_1_server.html#a5b20e4fe60663ff1cdb7e30f1995e31b">More...</a><br /></td></tr>
+<tr class="separator:a5b20e4fe60663ff1cdb7e30f1995e31b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b3120398662e298719de06716909dcd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_server.html#a3b3120398662e298719de06716909dcd">addSecureHttp2Port</a> ($addr)</td></tr>
+<tr class="memdesc:a3b3120398662e298719de06716909dcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a secure http2 over tcp listener.  <a href="class_grpc_1_1_server.html#a3b3120398662e298719de06716909dcd">More...</a><br /></td></tr>
+<tr class="separator:a3b3120398662e298719de06716909dcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c2935d3be77ea9902eaf2e20e3422b5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_server.html#a3c2935d3be77ea9902eaf2e20e3422b5">start</a> ()</td></tr>
+<tr class="memdesc:a3c2935d3be77ea9902eaf2e20e3422b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start a server - tells all listeners to start listening.  <a href="class_grpc_1_1_server.html#a3c2935d3be77ea9902eaf2e20e3422b5">More...</a><br /></td></tr>
+<tr class="separator:a3c2935d3be77ea9902eaf2e20e3422b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>class <a class="el" href="class_grpc_1_1_server.html" title="class Server">Server</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/grpc/grpc/tree/master/src/php/ext/grpc/server.c">https://github.com/grpc/grpc/tree/master/src/php/ext/grpc/server.c</a> </dd></dl>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a109c078b8e6718a1ed777f60cb4bc958"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a109c078b8e6718a1ed777f60cb4bc958">&#9670;&nbsp;</a></span>__construct()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\Server::__construct </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$args_array</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Constructs a new instance of the <a class="el" href="class_grpc_1_1_server.html" title="class Server">Server</a> class. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">array</td><td class="paramname">$args_array</td><td>The arguments to pass to the server (optional) </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a5b20e4fe60663ff1cdb7e30f1995e31b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5b20e4fe60663ff1cdb7e30f1995e31b">&#9670;&nbsp;</a></span>addHttp2Port()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\Server::addHttp2Port </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$addr</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Add a http2 over tcp listener. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">string</td><td class="paramname">$addr</td><td>The address to add </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>int Port on success, 0 on failure </dd></dl>
+
+</div>
+</div>
+<a id="a3b3120398662e298719de06716909dcd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3b3120398662e298719de06716909dcd">&#9670;&nbsp;</a></span>addSecureHttp2Port()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\Server::addSecureHttp2Port </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$addr</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Add a secure http2 over tcp listener. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">string</td><td class="paramname">$addr</td><td>The address to add </td></tr>
+    <tr><td class="paramtype"></td><td class="paramname"><a class="el" href="class_grpc_1_1_server_credentials.html" title="class ServerCredentials">ServerCredentials</a></td><td>The <a class="el" href="class_grpc_1_1_server_credentials.html" title="class ServerCredentials">ServerCredentials</a> object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>int Port on success, 0 on failure </dd></dl>
+
+</div>
+</div>
+<a id="a90ada396f37c675d70b43d4f96afe334"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a90ada396f37c675d70b43d4f96afe334">&#9670;&nbsp;</a></span>requestCall()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\Server::requestCall </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Request a call on a server. </p>
+<p>Creates a single GRPC_SERVER_RPC_NEW event. </p><dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
+
+</div>
+</div>
+<a id="a3c2935d3be77ea9902eaf2e20e3422b5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3c2935d3be77ea9902eaf2e20e3422b5">&#9670;&nbsp;</a></span>start()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\Server::start </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Start a server - tells all listeners to start listening. </p>
+<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>src/php/lib/Grpc/<a class="el" href="_server_8php.html">Server.php</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 153 - 0
php/class_grpc_1_1_server_credentials.html

@@ -0,0 +1,153 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Grpc\ServerCredentials Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespace_grpc.html">Grpc</a></li><li class="navelem"><a class="el" href="class_grpc_1_1_server_credentials.html">ServerCredentials</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">Grpc\ServerCredentials Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>class <a class="el" href="class_grpc_1_1_server_credentials.html" title="class ServerCredentials">ServerCredentials</a>  
+ <a href="class_grpc_1_1_server_credentials.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a989cd8014095723815535effc0d8c052"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_server_credentials.html#a989cd8014095723815535effc0d8c052">createSsl</a> ($pem_root_certs, $pem_private_key, $pem_cert_chain)</td></tr>
+<tr class="memdesc:a989cd8014095723815535effc0d8c052"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create SSL credentials.  <a href="class_grpc_1_1_server_credentials.html#a989cd8014095723815535effc0d8c052">More...</a><br /></td></tr>
+<tr class="separator:a989cd8014095723815535effc0d8c052"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>class <a class="el" href="class_grpc_1_1_server_credentials.html" title="class ServerCredentials">ServerCredentials</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/grpc/grpc/tree/master/src/php/ext/grpc/server_credentials.c">https://github.com/grpc/grpc/tree/master/src/php/ext/grpc/server_credentials.c</a> </dd></dl>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a989cd8014095723815535effc0d8c052"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a989cd8014095723815535effc0d8c052">&#9670;&nbsp;</a></span>createSsl()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static Grpc\ServerCredentials::createSsl </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$pem_root_certs</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$pem_private_key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$pem_cert_chain</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Create SSL credentials. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">string</td><td class="paramname">$pem_root_certs</td><td>PEM encoding of the server root certificates </td></tr>
+    <tr><td class="paramtype">string</td><td class="paramname">$pem_private_key</td><td>PEM encoding of the client's private key </td></tr>
+    <tr><td class="paramtype">string</td><td class="paramname">$pem_cert_chain</td><td>PEM encoding of the client's certificate chain </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Credentials The new SSL credentials object </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>src/php/lib/Grpc/<a class="el" href="_server_credentials_8php.html">ServerCredentials.php</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 241 - 0
php/class_grpc_1_1_server_streaming_call.html

@@ -0,0 +1,241 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Grpc\ServerStreamingCall Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespace_grpc.html">Grpc</a></li><li class="navelem"><a class="el" href="class_grpc_1_1_server_streaming_call.html">ServerStreamingCall</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">Grpc\ServerStreamingCall Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Represents an active call that sends a single message and then gets a stream of responses.  
+ <a href="class_grpc_1_1_server_streaming_call.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a7043af7311899487e5eef51b24913d81"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_server_streaming_call.html#a7043af7311899487e5eef51b24913d81">start</a> ($data, array $metadata=[], array $options=[])</td></tr>
+<tr class="memdesc:a7043af7311899487e5eef51b24913d81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start the call.  <a href="class_grpc_1_1_server_streaming_call.html#a7043af7311899487e5eef51b24913d81">More...</a><br /></td></tr>
+<tr class="separator:a7043af7311899487e5eef51b24913d81"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a85965dccc4da15b5549508881244c4d5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_server_streaming_call.html#a85965dccc4da15b5549508881244c4d5">responses</a> ()</td></tr>
+<tr class="separator:a85965dccc4da15b5549508881244c4d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab8a6f6298c96b20c5e5c825df17017cf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_server_streaming_call.html#ab8a6f6298c96b20c5e5c825df17017cf">getStatus</a> ()</td></tr>
+<tr class="memdesc:ab8a6f6298c96b20c5e5c825df17017cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for the server to send the status, and return it.  <a href="class_grpc_1_1_server_streaming_call.html#ab8a6f6298c96b20c5e5c825df17017cf">More...</a><br /></td></tr>
+<tr class="separator:ab8a6f6298c96b20c5e5c825df17017cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a449205dcd3a5fed75f736ff2d2cc6e89"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_server_streaming_call.html#a449205dcd3a5fed75f736ff2d2cc6e89">getMetadata</a> ()</td></tr>
+<tr class="separator:a449205dcd3a5fed75f736ff2d2cc6e89"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_class_grpc_1_1_abstract_call"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_grpc_1_1_abstract_call')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_grpc_1_1_abstract_call.html">Grpc\AbstractCall</a></td></tr>
+<tr class="memitem:a98c8526df813acd6a775cf90a31af18e inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a98c8526df813acd6a775cf90a31af18e">__construct</a> (<a class="el" href="class_grpc_1_1_channel.html">Channel</a> $channel, $method, $deserialize, array $options=[])</td></tr>
+<tr class="memdesc:a98c8526df813acd6a775cf90a31af18e inherit pub_methods_class_grpc_1_1_abstract_call"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a> wrapper object.  <a href="class_grpc_1_1_abstract_call.html#a98c8526df813acd6a775cf90a31af18e">More...</a><br /></td></tr>
+<tr class="separator:a98c8526df813acd6a775cf90a31af18e inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8de5e451ba9a414d7a58a7d7c5fcc764 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a8de5e451ba9a414d7a58a7d7c5fcc764">getTrailingMetadata</a> ()</td></tr>
+<tr class="separator:a8de5e451ba9a414d7a58a7d7c5fcc764 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a188fc7298f9b52fb0eee7d3901281cdc inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a188fc7298f9b52fb0eee7d3901281cdc">getPeer</a> ()</td></tr>
+<tr class="separator:a188fc7298f9b52fb0eee7d3901281cdc inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a088115c12c3af171fe7e99078595d6c0 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a088115c12c3af171fe7e99078595d6c0">cancel</a> ()</td></tr>
+<tr class="memdesc:a088115c12c3af171fe7e99078595d6c0 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cancels the call.  <a href="class_grpc_1_1_abstract_call.html#a088115c12c3af171fe7e99078595d6c0">More...</a><br /></td></tr>
+<tr class="separator:a088115c12c3af171fe7e99078595d6c0 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a88c9af5ba3c7ede0dc5342363af5e9a2 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a88c9af5ba3c7ede0dc5342363af5e9a2">setCallCredentials</a> ($call_credentials)</td></tr>
+<tr class="memdesc:a88c9af5ba3c7ede0dc5342363af5e9a2 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the <a class="el" href="class_grpc_1_1_call_credentials.html" title="class CallCredentials">CallCredentials</a> for the underlying <a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a>.  <a href="class_grpc_1_1_abstract_call.html#a88c9af5ba3c7ede0dc5342363af5e9a2">More...</a><br /></td></tr>
+<tr class="separator:a88c9af5ba3c7ede0dc5342363af5e9a2 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_methods_class_grpc_1_1_abstract_call"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_grpc_1_1_abstract_call')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_grpc_1_1_abstract_call.html">Grpc\AbstractCall</a></td></tr>
+<tr class="memitem:ac6b4a554e5be5fd57ee05610e25d4d05 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#ac6b4a554e5be5fd57ee05610e25d4d05">_serializeMessage</a> ($data)</td></tr>
+<tr class="memdesc:ac6b4a554e5be5fd57ee05610e25d4d05 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serialize a message to the protobuf binary format.  <a href="class_grpc_1_1_abstract_call.html#ac6b4a554e5be5fd57ee05610e25d4d05">More...</a><br /></td></tr>
+<tr class="separator:ac6b4a554e5be5fd57ee05610e25d4d05 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a413e87bcf0475cd8c627fd16919fda98 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a413e87bcf0475cd8c627fd16919fda98">_deserializeResponse</a> ($value)</td></tr>
+<tr class="memdesc:a413e87bcf0475cd8c627fd16919fda98 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deserialize a response value to an object.  <a href="class_grpc_1_1_abstract_call.html#a413e87bcf0475cd8c627fd16919fda98">More...</a><br /></td></tr>
+<tr class="separator:a413e87bcf0475cd8c627fd16919fda98 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_class_grpc_1_1_abstract_call"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_grpc_1_1_abstract_call')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_grpc_1_1_abstract_call.html">Grpc\AbstractCall</a></td></tr>
+<tr class="memitem:a722dd807b08d990d3f9816202627d701 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a722dd807b08d990d3f9816202627d701">$call</a></td></tr>
+<tr class="separator:a722dd807b08d990d3f9816202627d701 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa10e9fd56d64bc2167bb65129e212c9b inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#aa10e9fd56d64bc2167bb65129e212c9b">$deserialize</a></td></tr>
+<tr class="separator:aa10e9fd56d64bc2167bb65129e212c9b inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aabc4e33a97415326e10596675f790328 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#aabc4e33a97415326e10596675f790328">$metadata</a></td></tr>
+<tr class="separator:aabc4e33a97415326e10596675f790328 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a35264eb899b5c6d320433741202924d2 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a35264eb899b5c6d320433741202924d2">$trailing_metadata</a></td></tr>
+<tr class="separator:a35264eb899b5c6d320433741202924d2 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Represents an active call that sends a single message and then gets a stream of responses. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a449205dcd3a5fed75f736ff2d2cc6e89"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a449205dcd3a5fed75f736ff2d2cc6e89">&#9670;&nbsp;</a></span>getMetadata()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\ServerStreamingCall::getMetadata </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>mixed The metadata sent by the server </dd></dl>
+
+<p>Reimplemented from <a class="el" href="class_grpc_1_1_abstract_call.html#ac5d4f130fc35450d4a5b0bfd0a918ff4">Grpc\AbstractCall</a>.</p>
+
+</div>
+</div>
+<a id="ab8a6f6298c96b20c5e5c825df17017cf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab8a6f6298c96b20c5e5c825df17017cf">&#9670;&nbsp;</a></span>getStatus()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\ServerStreamingCall::getStatus </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Wait for the server to send the status, and return it. </p>
+<dl class="section return"><dt>Returns</dt><dd>\stdClass The status object, with integer $code, string $details, and array $metadata members </dd></dl>
+
+</div>
+</div>
+<a id="a85965dccc4da15b5549508881244c4d5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a85965dccc4da15b5549508881244c4d5">&#9670;&nbsp;</a></span>responses()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\ServerStreamingCall::responses </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>mixed An iterator of response values </dd></dl>
+
+</div>
+</div>
+<a id="a7043af7311899487e5eef51b24913d81"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7043af7311899487e5eef51b24913d81">&#9670;&nbsp;</a></span>start()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\ServerStreamingCall::start </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$metadata</em> = <code>[]</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$options</em> = <code>[]</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Start the call. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">mixed</td><td class="paramname">$data</td><td>The data to send </td></tr>
+    <tr><td class="paramtype">array</td><td class="paramname">$metadata</td><td>Metadata to send with the call, if applicable (optional) </td></tr>
+    <tr><td class="paramtype">array</td><td class="paramname">$options</td><td>An array of options, possible keys: 'flags' =&gt; a number (optional) </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>src/php/lib/Grpc/<a class="el" href="_server_streaming_call_8php.html">ServerStreamingCall.php</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 443 - 0
php/class_grpc_1_1_timeval.html

@@ -0,0 +1,443 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Grpc\Timeval Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespace_grpc.html">Grpc</a></li><li class="navelem"><a class="el" href="class_grpc_1_1_timeval.html">Timeval</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">Grpc\Timeval Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>class <a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a>  
+ <a href="class_grpc_1_1_timeval.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a0923f66b9d8b0250737922c2114cf1df"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_timeval.html#a0923f66b9d8b0250737922c2114cf1df">__construct</a> ($microseconds)</td></tr>
+<tr class="memdesc:a0923f66b9d8b0250737922c2114cf1df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a new instance of the <a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a> class.  <a href="class_grpc_1_1_timeval.html#a0923f66b9d8b0250737922c2114cf1df">More...</a><br /></td></tr>
+<tr class="separator:a0923f66b9d8b0250737922c2114cf1df"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac99ca9206e9fe2f7d8b5777aa91922c7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_timeval.html#ac99ca9206e9fe2f7d8b5777aa91922c7">add</a> ($other_obj)</td></tr>
+<tr class="memdesc:ac99ca9206e9fe2f7d8b5777aa91922c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds another <a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a> to this one and returns the sum.  <a href="class_grpc_1_1_timeval.html#ac99ca9206e9fe2f7d8b5777aa91922c7">More...</a><br /></td></tr>
+<tr class="separator:ac99ca9206e9fe2f7d8b5777aa91922c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9ad3de83213183bc51f9ff9c0036f7c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_timeval.html#ac9ad3de83213183bc51f9ff9c0036f7c">subtract</a> ($other_obj)</td></tr>
+<tr class="memdesc:ac9ad3de83213183bc51f9ff9c0036f7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtracts another <a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a> from this one and returns the difference.  <a href="class_grpc_1_1_timeval.html#ac9ad3de83213183bc51f9ff9c0036f7c">More...</a><br /></td></tr>
+<tr class="separator:ac9ad3de83213183bc51f9ff9c0036f7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad3080f912ffb1cac40a65ddb42940d2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_timeval.html#aad3080f912ffb1cac40a65ddb42940d2">sleepUntil</a> ()</td></tr>
+<tr class="memdesc:aad3080f912ffb1cac40a65ddb42940d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sleep until this time, interpreted as an absolute timeout.  <a href="class_grpc_1_1_timeval.html#aad3080f912ffb1cac40a65ddb42940d2">More...</a><br /></td></tr>
+<tr class="separator:aad3080f912ffb1cac40a65ddb42940d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:ae88d485b702a5711bb779462e0f3890c"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_timeval.html#ae88d485b702a5711bb779462e0f3890c">compare</a> ($a_obj, $b_obj)</td></tr>
+<tr class="memdesc:ae88d485b702a5711bb779462e0f3890c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return negative, 0, or positive according to whether a &lt; b, a == b, or a &gt; b respectively.  <a href="class_grpc_1_1_timeval.html#ae88d485b702a5711bb779462e0f3890c">More...</a><br /></td></tr>
+<tr class="separator:ae88d485b702a5711bb779462e0f3890c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6bc3609d25c19f9297749781efd1071e"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_timeval.html#a6bc3609d25c19f9297749781efd1071e">similar</a> ($a_obj, $b_obj, $thresh_obj)</td></tr>
+<tr class="memdesc:a6bc3609d25c19f9297749781efd1071e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether the two times are within $threshold of each other.  <a href="class_grpc_1_1_timeval.html#a6bc3609d25c19f9297749781efd1071e">More...</a><br /></td></tr>
+<tr class="separator:a6bc3609d25c19f9297749781efd1071e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8df14900363bce541340f81eff797d05"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_timeval.html#a8df14900363bce541340f81eff797d05">now</a> ()</td></tr>
+<tr class="memdesc:a8df14900363bce541340f81eff797d05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current time as a timeval object.  <a href="class_grpc_1_1_timeval.html#a8df14900363bce541340f81eff797d05">More...</a><br /></td></tr>
+<tr class="separator:a8df14900363bce541340f81eff797d05"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac46725245b0b70d10c324e9b97dd9829"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_timeval.html#ac46725245b0b70d10c324e9b97dd9829">zero</a> ()</td></tr>
+<tr class="memdesc:ac46725245b0b70d10c324e9b97dd9829"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the zero time interval as a timeval object.  <a href="class_grpc_1_1_timeval.html#ac46725245b0b70d10c324e9b97dd9829">More...</a><br /></td></tr>
+<tr class="separator:ac46725245b0b70d10c324e9b97dd9829"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1cabcbffb6869a6cf083b102baabf62b"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_timeval.html#a1cabcbffb6869a6cf083b102baabf62b">infFuture</a> ()</td></tr>
+<tr class="memdesc:a1cabcbffb6869a6cf083b102baabf62b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the infinite future time value as a timeval object.  <a href="class_grpc_1_1_timeval.html#a1cabcbffb6869a6cf083b102baabf62b">More...</a><br /></td></tr>
+<tr class="separator:a1cabcbffb6869a6cf083b102baabf62b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14fa120d255f29fbeb37958b53385466"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_timeval.html#a14fa120d255f29fbeb37958b53385466">infPast</a> ()</td></tr>
+<tr class="memdesc:a14fa120d255f29fbeb37958b53385466"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the infinite past time value as a timeval object.  <a href="class_grpc_1_1_timeval.html#a14fa120d255f29fbeb37958b53385466">More...</a><br /></td></tr>
+<tr class="separator:a14fa120d255f29fbeb37958b53385466"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>class <a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/grpc/grpc/tree/master/src/php/ext/grpc/timeval.c">https://github.com/grpc/grpc/tree/master/src/php/ext/grpc/timeval.c</a> </dd></dl>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a0923f66b9d8b0250737922c2114cf1df"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0923f66b9d8b0250737922c2114cf1df">&#9670;&nbsp;</a></span>__construct()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\Timeval::__construct </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$microseconds</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Constructs a new instance of the <a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a> class. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">long</td><td class="paramname">$microseconds</td><td>The number of microseconds in the interval </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="ac99ca9206e9fe2f7d8b5777aa91922c7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac99ca9206e9fe2f7d8b5777aa91922c7">&#9670;&nbsp;</a></span>add()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\Timeval::add </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$other_obj</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Adds another <a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a> to this one and returns the sum. </p>
+<p>Calculations saturate at infinities. </p><dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype"><a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a></td><td class="paramname">$other_obj</td><td>The other <a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a> object to add </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a> A new <a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a> object containing the sum </dd></dl>
+
+</div>
+</div>
+<a id="ae88d485b702a5711bb779462e0f3890c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae88d485b702a5711bb779462e0f3890c">&#9670;&nbsp;</a></span>compare()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static Grpc\Timeval::compare </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$a_obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$b_obj</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Return negative, 0, or positive according to whether a &lt; b, a == b, or a &gt; b respectively. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype"><a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a></td><td class="paramname">$a_obj</td><td>The first time to compare </td></tr>
+    <tr><td class="paramtype"><a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a></td><td class="paramname">$b_obj</td><td>The second time to compare </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>long </dd></dl>
+
+</div>
+</div>
+<a id="a1cabcbffb6869a6cf083b102baabf62b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1cabcbffb6869a6cf083b102baabf62b">&#9670;&nbsp;</a></span>infFuture()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static Grpc\Timeval::infFuture </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the infinite future time value as a timeval object. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a> Infinite future time value </dd></dl>
+
+</div>
+</div>
+<a id="a14fa120d255f29fbeb37958b53385466"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a14fa120d255f29fbeb37958b53385466">&#9670;&nbsp;</a></span>infPast()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static Grpc\Timeval::infPast </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the infinite past time value as a timeval object. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a> Infinite past time value </dd></dl>
+
+</div>
+</div>
+<a id="a8df14900363bce541340f81eff797d05"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8df14900363bce541340f81eff797d05">&#9670;&nbsp;</a></span>now()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static Grpc\Timeval::now </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the current time as a timeval object. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a> The current time </dd></dl>
+
+</div>
+</div>
+<a id="a6bc3609d25c19f9297749781efd1071e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6bc3609d25c19f9297749781efd1071e">&#9670;&nbsp;</a></span>similar()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static Grpc\Timeval::similar </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$a_obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$b_obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$thresh_obj</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Checks whether the two times are within $threshold of each other. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype"><a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a></td><td class="paramname">$a_obj</td><td>The first time to compare </td></tr>
+    <tr><td class="paramtype"><a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a></td><td class="paramname">$b_obj</td><td>The second time to compare </td></tr>
+    <tr><td class="paramtype"><a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a></td><td class="paramname">$thresh_obj</td><td>The threshold to check against </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>bool True if $a and $b are within $threshold, False otherwise </dd></dl>
+
+</div>
+</div>
+<a id="aad3080f912ffb1cac40a65ddb42940d2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aad3080f912ffb1cac40a65ddb42940d2">&#9670;&nbsp;</a></span>sleepUntil()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\Timeval::sleepUntil </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Sleep until this time, interpreted as an absolute timeout. </p>
+<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
+
+</div>
+</div>
+<a id="ac9ad3de83213183bc51f9ff9c0036f7c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac9ad3de83213183bc51f9ff9c0036f7c">&#9670;&nbsp;</a></span>subtract()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\Timeval::subtract </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$other_obj</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Subtracts another <a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a> from this one and returns the difference. </p>
+<p>Calculations saturate at infinities. </p><dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype"><a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a></td><td class="paramname">$other_obj</td><td>The other <a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a> object to subtract </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a> A new <a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a> object containing the diff </dd></dl>
+
+</div>
+</div>
+<a id="ac46725245b0b70d10c324e9b97dd9829"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac46725245b0b70d10c324e9b97dd9829">&#9670;&nbsp;</a></span>zero()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static Grpc\Timeval::zero </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the zero time interval as a timeval object. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a> Zero length time interval </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>src/php/lib/Grpc/<a class="el" href="_timeval_8php.html">Timeval.php</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 221 - 0
php/class_grpc_1_1_unary_call.html

@@ -0,0 +1,221 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Grpc\UnaryCall Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespace_grpc.html">Grpc</a></li><li class="navelem"><a class="el" href="class_grpc_1_1_unary_call.html">UnaryCall</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">Grpc\UnaryCall Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Represents an active call that sends a single message and then gets a single response.  
+ <a href="class_grpc_1_1_unary_call.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a08ec57a768664dc428637bdf55742ca0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_unary_call.html#a08ec57a768664dc428637bdf55742ca0">start</a> ($data, array $metadata=[], array $options=[])</td></tr>
+<tr class="memdesc:a08ec57a768664dc428637bdf55742ca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start the call.  <a href="class_grpc_1_1_unary_call.html#a08ec57a768664dc428637bdf55742ca0">More...</a><br /></td></tr>
+<tr class="separator:a08ec57a768664dc428637bdf55742ca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7947c58bacabc0267c79de33277440c5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_unary_call.html#a7947c58bacabc0267c79de33277440c5">wait</a> ()</td></tr>
+<tr class="memdesc:a7947c58bacabc0267c79de33277440c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for the server to respond with data and a status.  <a href="class_grpc_1_1_unary_call.html#a7947c58bacabc0267c79de33277440c5">More...</a><br /></td></tr>
+<tr class="separator:a7947c58bacabc0267c79de33277440c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae65d18a70f9cee4505283b19d235360c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_unary_call.html#ae65d18a70f9cee4505283b19d235360c">getMetadata</a> ()</td></tr>
+<tr class="separator:ae65d18a70f9cee4505283b19d235360c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_class_grpc_1_1_abstract_call"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_grpc_1_1_abstract_call')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_grpc_1_1_abstract_call.html">Grpc\AbstractCall</a></td></tr>
+<tr class="memitem:a98c8526df813acd6a775cf90a31af18e inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a98c8526df813acd6a775cf90a31af18e">__construct</a> (<a class="el" href="class_grpc_1_1_channel.html">Channel</a> $channel, $method, $deserialize, array $options=[])</td></tr>
+<tr class="memdesc:a98c8526df813acd6a775cf90a31af18e inherit pub_methods_class_grpc_1_1_abstract_call"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a> wrapper object.  <a href="class_grpc_1_1_abstract_call.html#a98c8526df813acd6a775cf90a31af18e">More...</a><br /></td></tr>
+<tr class="separator:a98c8526df813acd6a775cf90a31af18e inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8de5e451ba9a414d7a58a7d7c5fcc764 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a8de5e451ba9a414d7a58a7d7c5fcc764">getTrailingMetadata</a> ()</td></tr>
+<tr class="separator:a8de5e451ba9a414d7a58a7d7c5fcc764 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a188fc7298f9b52fb0eee7d3901281cdc inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a188fc7298f9b52fb0eee7d3901281cdc">getPeer</a> ()</td></tr>
+<tr class="separator:a188fc7298f9b52fb0eee7d3901281cdc inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a088115c12c3af171fe7e99078595d6c0 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a088115c12c3af171fe7e99078595d6c0">cancel</a> ()</td></tr>
+<tr class="memdesc:a088115c12c3af171fe7e99078595d6c0 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cancels the call.  <a href="class_grpc_1_1_abstract_call.html#a088115c12c3af171fe7e99078595d6c0">More...</a><br /></td></tr>
+<tr class="separator:a088115c12c3af171fe7e99078595d6c0 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a88c9af5ba3c7ede0dc5342363af5e9a2 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a88c9af5ba3c7ede0dc5342363af5e9a2">setCallCredentials</a> ($call_credentials)</td></tr>
+<tr class="memdesc:a88c9af5ba3c7ede0dc5342363af5e9a2 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the <a class="el" href="class_grpc_1_1_call_credentials.html" title="class CallCredentials">CallCredentials</a> for the underlying <a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a>.  <a href="class_grpc_1_1_abstract_call.html#a88c9af5ba3c7ede0dc5342363af5e9a2">More...</a><br /></td></tr>
+<tr class="separator:a88c9af5ba3c7ede0dc5342363af5e9a2 inherit pub_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_methods_class_grpc_1_1_abstract_call"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_grpc_1_1_abstract_call')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_grpc_1_1_abstract_call.html">Grpc\AbstractCall</a></td></tr>
+<tr class="memitem:ac6b4a554e5be5fd57ee05610e25d4d05 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#ac6b4a554e5be5fd57ee05610e25d4d05">_serializeMessage</a> ($data)</td></tr>
+<tr class="memdesc:ac6b4a554e5be5fd57ee05610e25d4d05 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serialize a message to the protobuf binary format.  <a href="class_grpc_1_1_abstract_call.html#ac6b4a554e5be5fd57ee05610e25d4d05">More...</a><br /></td></tr>
+<tr class="separator:ac6b4a554e5be5fd57ee05610e25d4d05 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a413e87bcf0475cd8c627fd16919fda98 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a413e87bcf0475cd8c627fd16919fda98">_deserializeResponse</a> ($value)</td></tr>
+<tr class="memdesc:a413e87bcf0475cd8c627fd16919fda98 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deserialize a response value to an object.  <a href="class_grpc_1_1_abstract_call.html#a413e87bcf0475cd8c627fd16919fda98">More...</a><br /></td></tr>
+<tr class="separator:a413e87bcf0475cd8c627fd16919fda98 inherit pro_methods_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_class_grpc_1_1_abstract_call"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_grpc_1_1_abstract_call')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_grpc_1_1_abstract_call.html">Grpc\AbstractCall</a></td></tr>
+<tr class="memitem:a722dd807b08d990d3f9816202627d701 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a722dd807b08d990d3f9816202627d701">$call</a></td></tr>
+<tr class="separator:a722dd807b08d990d3f9816202627d701 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa10e9fd56d64bc2167bb65129e212c9b inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#aa10e9fd56d64bc2167bb65129e212c9b">$deserialize</a></td></tr>
+<tr class="separator:aa10e9fd56d64bc2167bb65129e212c9b inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aabc4e33a97415326e10596675f790328 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#aabc4e33a97415326e10596675f790328">$metadata</a></td></tr>
+<tr class="separator:aabc4e33a97415326e10596675f790328 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a35264eb899b5c6d320433741202924d2 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_grpc_1_1_abstract_call.html#a35264eb899b5c6d320433741202924d2">$trailing_metadata</a></td></tr>
+<tr class="separator:a35264eb899b5c6d320433741202924d2 inherit pro_attribs_class_grpc_1_1_abstract_call"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Represents an active call that sends a single message and then gets a single response. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="ae65d18a70f9cee4505283b19d235360c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae65d18a70f9cee4505283b19d235360c">&#9670;&nbsp;</a></span>getMetadata()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\UnaryCall::getMetadata </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>mixed The metadata sent by the server </dd></dl>
+
+<p>Reimplemented from <a class="el" href="class_grpc_1_1_abstract_call.html#ac5d4f130fc35450d4a5b0bfd0a918ff4">Grpc\AbstractCall</a>.</p>
+
+</div>
+</div>
+<a id="a08ec57a768664dc428637bdf55742ca0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a08ec57a768664dc428637bdf55742ca0">&#9670;&nbsp;</a></span>start()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\UnaryCall::start </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$metadata</em> = <code>[]</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">array&#160;</td>
+          <td class="paramname"><em>$options</em> = <code>[]</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Start the call. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramtype">mixed</td><td class="paramname">$data</td><td>The data to send </td></tr>
+    <tr><td class="paramtype">array</td><td class="paramname">$metadata</td><td>Metadata to send with the call, if applicable (optional) </td></tr>
+    <tr><td class="paramtype">array</td><td class="paramname">$options</td><td>An array of options, possible keys: 'flags' =&gt; a number (optional) </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a7947c58bacabc0267c79de33277440c5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7947c58bacabc0267c79de33277440c5">&#9670;&nbsp;</a></span>wait()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\UnaryCall::wait </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Wait for the server to respond with data and a status. </p>
+<dl class="section return"><dt>Returns</dt><dd>array [response data, status] </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>src/php/lib/Grpc/<a class="el" href="_unary_call_8php.html">UnaryCall.php</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 124 - 0
php/classes.html

@@ -0,0 +1,124 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Data Structure Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Data Structure Index</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="qindex"><a class="qindex" href="#letter_a">a</a>&#160;|&#160;<a class="qindex" href="#letter_b">b</a>&#160;|&#160;<a class="qindex" href="#letter_c">c</a>&#160;|&#160;<a class="qindex" href="#letter_d">d</a>&#160;|&#160;<a class="qindex" href="#letter_i">i</a>&#160;|&#160;<a class="qindex" href="#letter_r">r</a>&#160;|&#160;<a class="qindex" href="#letter_s">s</a>&#160;|&#160;<a class="qindex" href="#letter_t">t</a>&#160;|&#160;<a class="qindex" href="#letter_u">u</a></div>
+<table class="classindex">
+<tr><td rowspan="2" valign="bottom"><a name="letter_a"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;a&#160;&#160;</div></td></tr></table>
+</td>
+<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="class_grpc_1_1_client_streaming_call.html">ClientStreamingCall</a> (<a class="el" href="namespace_grpc.html">Grpc</a>)&#160;&#160;&#160;</td>
+<td rowspan="2" valign="bottom"><a name="letter_r"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;r&#160;&#160;</div></td></tr></table>
+</td>
+<td valign="top"><a class="el" href="class_grpc_1_1_server_streaming_call.html">ServerStreamingCall</a> (<a class="el" href="namespace_grpc.html">Grpc</a>)&#160;&#160;&#160;</td>
+</tr>
+<tr><td rowspan="2" valign="bottom"><a name="letter_d"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;d&#160;&#160;</div></td></tr></table>
+</td>
+<td rowspan="2" valign="bottom"><a name="letter_t"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;t&#160;&#160;</div></td></tr></table>
+</td>
+</tr>
+<tr><td valign="top"><a class="el" href="class_grpc_1_1_abstract_call.html">AbstractCall</a> (<a class="el" href="namespace_grpc.html">Grpc</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="class_grpc_1_1_call.html">Call</a> (<a class="el" href="namespace_grpc.html">Grpc</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="class_grpc_1_1_rpc_server.html">RpcServer</a> (<a class="el" href="namespace_grpc.html">Grpc</a>)&#160;&#160;&#160;</td>
+</tr>
+<tr><td rowspan="2" valign="bottom"><a name="letter_b"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;b&#160;&#160;</div></td></tr></table>
+</td>
+<td valign="top"><a class="el" href="class_grpc_1_1_call_credentials.html">CallCredentials</a> (<a class="el" href="namespace_grpc.html">Grpc</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="class_grpc_1_1_default_call_invoker.html">DefaultCallInvoker</a> (<a class="el" href="namespace_grpc.html">Grpc</a>)&#160;&#160;&#160;</td>
+<td rowspan="2" valign="bottom"><a name="letter_s"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;s&#160;&#160;</div></td></tr></table>
+</td>
+<td valign="top"><a class="el" href="class_grpc_1_1_timeval.html">Timeval</a> (<a class="el" href="namespace_grpc.html">Grpc</a>)&#160;&#160;&#160;</td>
+</tr>
+<tr><td valign="top"><a class="el" href="interface_grpc_1_1_call_invoker.html">CallInvoker</a> (<a class="el" href="namespace_grpc.html">Grpc</a>)&#160;&#160;&#160;</td>
+<td rowspan="2" valign="bottom"><a name="letter_i"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;i&#160;&#160;</div></td></tr></table>
+</td>
+<td rowspan="2" valign="bottom"><a name="letter_u"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;u&#160;&#160;</div></td></tr></table>
+</td>
+</tr>
+<tr><td valign="top"><a class="el" href="class_grpc_1_1_base_stub.html">BaseStub</a> (<a class="el" href="namespace_grpc.html">Grpc</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="class_grpc_1_1_channel.html">Channel</a> (<a class="el" href="namespace_grpc.html">Grpc</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="class_grpc_1_1_server.html">Server</a> (<a class="el" href="namespace_grpc.html">Grpc</a>)&#160;&#160;&#160;</td>
+</tr>
+<tr><td valign="top"><a class="el" href="class_grpc_1_1_bidi_streaming_call.html">BidiStreamingCall</a> (<a class="el" href="namespace_grpc.html">Grpc</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="class_grpc_1_1_channel_credentials.html">ChannelCredentials</a> (<a class="el" href="namespace_grpc.html">Grpc</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="class_grpc_1_1_interceptor.html">Interceptor</a> (<a class="el" href="namespace_grpc.html">Grpc</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="class_grpc_1_1_server_credentials.html">ServerCredentials</a> (<a class="el" href="namespace_grpc.html">Grpc</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="class_grpc_1_1_unary_call.html">UnaryCall</a> (<a class="el" href="namespace_grpc.html">Grpc</a>)&#160;&#160;&#160;</td>
+</tr>
+<tr><td></td><td></td><td></td><td></td><td></td></tr>
+</table>
+<div class="qindex"><a class="qindex" href="#letter_a">a</a>&#160;|&#160;<a class="qindex" href="#letter_b">b</a>&#160;|&#160;<a class="qindex" href="#letter_c">c</a>&#160;|&#160;<a class="qindex" href="#letter_d">d</a>&#160;|&#160;<a class="qindex" href="#letter_i">i</a>&#160;|&#160;<a class="qindex" href="#letter_r">r</a>&#160;|&#160;<a class="qindex" href="#letter_s">s</a>&#160;|&#160;<a class="qindex" href="#letter_t">t</a>&#160;|&#160;<a class="qindex" href="#letter_u">u</a></div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

二进制
php/closed.png


+ 77 - 0
php/command__line__tool_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/command_line_tool.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/command_line_tool.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 77 - 0
php/compression_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/compression.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/compression.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 77 - 0
php/compression__cookbook_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/compression_cookbook.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/compression_cookbook.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 77 - 0
php/connection-backoff-interop-test-description_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/connection-backoff-interop-test-description.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/connection-backoff-interop-test-description.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 77 - 0
php/connection-backoff_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/connection-backoff.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/connection-backoff.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 77 - 0
php/connectivity-semantics-and-api_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/connectivity-semantics-and-api.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/connectivity-semantics-and-api.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 77 - 0
php/cpp-style-guide_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/cpp-style-guide.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/cpp-style-guide.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 121 - 0
php/dir_4e49b715f9da74892c7bbbdb8130446b.html

@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php/lib/Grpc Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html">php</a></li><li class="navelem"><a class="el" href="dir_73429fa3d659a85a5c1bd72b8c229b9f.html">lib</a></li><li class="navelem"><a class="el" href="dir_4e49b715f9da74892c7bbbdb8130446b.html">Grpc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Grpc Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:_abstract_call_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_abstract_call_8php.html">AbstractCall.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:_base_stub_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_base_stub_8php.html">BaseStub.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:_bidi_streaming_call_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_bidi_streaming_call_8php.html">BidiStreamingCall.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:_call_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_call_8php.html">Call.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:_call_credentials_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_call_credentials_8php.html">CallCredentials.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:_call_invoker_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_call_invoker_8php.html">CallInvoker.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:_channel_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_channel_8php.html">Channel.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:_channel_credentials_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_channel_credentials_8php.html">ChannelCredentials.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:_client_streaming_call_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_client_streaming_call_8php.html">ClientStreamingCall.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:_constants_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_constants_8php.html">Constants.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:_default_call_invoker_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_default_call_invoker_8php.html">DefaultCallInvoker.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:_interceptor_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_interceptor_8php.html">Interceptor.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:_rpc_server_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_rpc_server_8php.html">RpcServer.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:_server_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_server_8php.html">Server.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:_server_credentials_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_server_credentials_8php.html">ServerCredentials.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:_server_streaming_call_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_server_streaming_call_8php.html">ServerStreamingCall.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:_timeval_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_timeval_8php.html">Timeval.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:_unary_call_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_unary_call_8php.html">UnaryCall.php</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 Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 81 - 0
php/dir_6229e6c34e9a233ad01e20b4063ed1b6.html

@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php/docker Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html">php</a></li><li class="navelem"><a class="el" href="dir_6229e6c34e9a233ad01e20b4063ed1b6.html">docker</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">docker Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 87 - 0
php/dir_68267d1309a1af8e8297ef4c3efbcdba.html

@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">src Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_85cc22d3a09b5748bc25e61ded676657"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html">php</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 Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 87 - 0
php/dir_73429fa3d659a85a5c1bd72b8c229b9f.html

@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php/lib Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html">php</a></li><li class="navelem"><a class="el" href="dir_73429fa3d659a85a5c1bd72b8c229b9f.html">lib</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">lib Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_4e49b715f9da74892c7bbbdb8130446b"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_4e49b715f9da74892c7bbbdb8130446b.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 Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 89 - 0
php/dir_85cc22d3a09b5748bc25e61ded676657.html

@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html">php</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">php Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_6229e6c34e9a233ad01e20b4063ed1b6"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_6229e6c34e9a233ad01e20b4063ed1b6.html">docker</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_73429fa3d659a85a5c1bd72b8c229b9f"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_73429fa3d659a85a5c1bd72b8c229b9f.html">lib</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 Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 81 - 0
php/dir_e68e8157741866f444e17edd764ebbae.html

@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_e68e8157741866f444e17edd764ebbae.html">doc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

二进制
php/doc.png


+ 77 - 0
php/docker_2_r_e_a_d_m_e_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: src/php/docker/README.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">src/php/docker/README.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 1771 - 0
php/doxygen.css

@@ -0,0 +1,1771 @@
+/* The standard CSS for doxygen 1.8.17 */
+
+body, table, div, p, dl {
+	font: 400 14px/22px Roboto,sans-serif;
+}
+
+p.reference, p.definition {
+	font: 400 14px/22px Roboto,sans-serif;
+}
+
+/* @group Heading Levels */
+
+h1.groupheader {
+	font-size: 150%;
+}
+
+.title {
+	font: 400 14px/28px Roboto,sans-serif;
+	font-size: 150%;
+	font-weight: bold;
+	margin: 10px 2px;
+}
+
+h2.groupheader {
+	border-bottom: 1px solid #879ECB;
+	color: #354C7B;
+	font-size: 150%;
+	font-weight: normal;
+	margin-top: 1.75em;
+	padding-top: 8px;
+	padding-bottom: 4px;
+	width: 100%;
+}
+
+h3.groupheader {
+	font-size: 100%;
+}
+
+h1, h2, h3, h4, h5, h6 {
+	-webkit-transition: text-shadow 0.5s linear;
+	-moz-transition: text-shadow 0.5s linear;
+	-ms-transition: text-shadow 0.5s linear;
+	-o-transition: text-shadow 0.5s linear;
+	transition: text-shadow 0.5s linear;
+	margin-right: 15px;
+}
+
+h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
+	text-shadow: 0 0 15px cyan;
+}
+
+dt {
+	font-weight: bold;
+}
+
+ul.multicol {
+	-moz-column-gap: 1em;
+	-webkit-column-gap: 1em;
+	column-gap: 1em;
+	-moz-column-count: 3;
+	-webkit-column-count: 3;
+	column-count: 3;
+}
+
+p.startli, p.startdd {
+	margin-top: 2px;
+}
+
+th p.starttd, p.intertd, p.endtd {
+        font-size: 100%;
+        font-weight: 700;
+}
+
+p.starttd {
+	margin-top: 0px;
+}
+
+p.endli {
+	margin-bottom: 0px;
+}
+
+p.enddd {
+	margin-bottom: 4px;
+}
+
+p.endtd {
+	margin-bottom: 2px;
+}
+
+p.interli {
+}
+
+p.interdd {
+}
+
+p.intertd {
+}
+
+/* @end */
+
+caption {
+	font-weight: bold;
+}
+
+span.legend {
+        font-size: 70%;
+        text-align: center;
+}
+
+h3.version {
+        font-size: 90%;
+        text-align: center;
+}
+
+div.qindex, div.navtab{
+	background-color: #EBEFF6;
+	border: 1px solid #A3B4D7;
+	text-align: center;
+}
+
+div.qindex, div.navpath {
+	width: 100%;
+	line-height: 140%;
+}
+
+div.navtab {
+	margin-right: 15px;
+}
+
+/* @group Link Styling */
+
+a {
+	color: #3D578C;
+	font-weight: normal;
+	text-decoration: none;
+}
+
+.contents a:visited {
+	color: #4665A2;
+}
+
+a:hover {
+	text-decoration: underline;
+}
+
+a.qindex {
+	font-weight: bold;
+}
+
+a.qindexHL {
+	font-weight: bold;
+	background-color: #9CAFD4;
+	color: #FFFFFF;
+	border: 1px double #869DCA;
+}
+
+.contents a.qindexHL:visited {
+        color: #FFFFFF;
+}
+
+a.el {
+	font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code, a.code:visited, a.line, a.line:visited {
+	color: #4665A2; 
+}
+
+a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
+	color: #4665A2; 
+}
+
+/* @end */
+
+dl.el {
+	margin-left: -1cm;
+}
+
+ul {
+  overflow: hidden; /*Fixed: list item bullets overlap floating elements*/
+}
+
+#side-nav ul {
+  overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */
+}
+
+#main-nav ul {
+  overflow: visible; /* reset ul rule for the navigation bar drop down lists */
+}
+
+.fragment {
+  text-align: left;
+  direction: ltr;
+  overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/
+  overflow-y: hidden;
+}
+
+pre.fragment {
+        border: 1px solid #C4CFE5;
+        background-color: #FBFCFD;
+        padding: 4px 6px;
+        margin: 4px 8px 4px 2px;
+        overflow: auto;
+        word-wrap: break-word;
+        font-size:  9pt;
+        line-height: 125%;
+        font-family: monospace, fixed;
+        font-size: 105%;
+}
+
+div.fragment {
+  padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/
+  margin: 4px 8px 4px 2px;
+	background-color: #FBFCFD;
+	border: 1px solid #C4CFE5;
+}
+
+div.line {
+	font-family: monospace, fixed;
+        font-size: 13px;
+	min-height: 13px;
+	line-height: 1.0;
+	text-wrap: unrestricted;
+	white-space: -moz-pre-wrap; /* Moz */
+	white-space: -pre-wrap;     /* Opera 4-6 */
+	white-space: -o-pre-wrap;   /* Opera 7 */
+	white-space: pre-wrap;      /* CSS3  */
+	word-wrap: break-word;      /* IE 5.5+ */
+	text-indent: -53px;
+	padding-left: 53px;
+	padding-bottom: 0px;
+	margin: 0px;
+	-webkit-transition-property: background-color, box-shadow;
+	-webkit-transition-duration: 0.5s;
+	-moz-transition-property: background-color, box-shadow;
+	-moz-transition-duration: 0.5s;
+	-ms-transition-property: background-color, box-shadow;
+	-ms-transition-duration: 0.5s;
+	-o-transition-property: background-color, box-shadow;
+	-o-transition-duration: 0.5s;
+	transition-property: background-color, box-shadow;
+	transition-duration: 0.5s;
+}
+
+div.line:after {
+    content:"\000A";
+    white-space: pre;
+}
+
+div.line.glow {
+	background-color: cyan;
+	box-shadow: 0 0 10px cyan;
+}
+
+
+span.lineno {
+	padding-right: 4px;
+	text-align: right;
+	border-right: 2px solid #0F0;
+	background-color: #E8E8E8;
+        white-space: pre;
+}
+span.lineno a {
+	background-color: #D8D8D8;
+}
+
+span.lineno a:hover {
+	background-color: #C8C8C8;
+}
+
+.lineno {
+	-webkit-touch-callout: none;
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+}
+
+div.ah, span.ah {
+	background-color: black;
+	font-weight: bold;
+	color: #FFFFFF;
+	margin-bottom: 3px;
+	margin-top: 3px;
+	padding: 0.2em;
+	border: solid thin #333;
+	border-radius: 0.5em;
+	-webkit-border-radius: .5em;
+	-moz-border-radius: .5em;
+	box-shadow: 2px 2px 3px #999;
+	-webkit-box-shadow: 2px 2px 3px #999;
+	-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+	background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+	background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%);
+}
+
+div.classindex ul {
+        list-style: none;
+        padding-left: 0;
+}
+
+div.classindex span.ai {
+        display: inline-block;
+}
+
+div.groupHeader {
+	margin-left: 16px;
+	margin-top: 12px;
+	font-weight: bold;
+}
+
+div.groupText {
+	margin-left: 16px;
+	font-style: italic;
+}
+
+body {
+	background-color: white;
+	color: black;
+        margin: 0;
+}
+
+div.contents {
+	margin-top: 10px;
+	margin-left: 12px;
+	margin-right: 8px;
+}
+
+td.indexkey {
+	background-color: #EBEFF6;
+	font-weight: bold;
+	border: 1px solid #C4CFE5;
+	margin: 2px 0px 2px 0;
+	padding: 2px 10px;
+        white-space: nowrap;
+        vertical-align: top;
+}
+
+td.indexvalue {
+	background-color: #EBEFF6;
+	border: 1px solid #C4CFE5;
+	padding: 2px 10px;
+	margin: 2px 0px;
+}
+
+tr.memlist {
+	background-color: #EEF1F7;
+}
+
+p.formulaDsp {
+	text-align: center;
+}
+
+img.formulaDsp {
+	
+}
+
+img.formulaInl, img.inline {
+	vertical-align: middle;
+}
+
+div.center {
+	text-align: center;
+        margin-top: 0px;
+        margin-bottom: 0px;
+        padding: 0px;
+}
+
+div.center img {
+	border: 0px;
+}
+
+address.footer {
+	text-align: right;
+	padding-right: 12px;
+}
+
+img.footer {
+	border: 0px;
+	vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+	color: #008000
+}
+
+span.keywordtype {
+	color: #604020
+}
+
+span.keywordflow {
+	color: #e08000
+}
+
+span.comment {
+	color: #800000
+}
+
+span.preprocessor {
+	color: #806020
+}
+
+span.stringliteral {
+	color: #002080
+}
+
+span.charliteral {
+	color: #008080
+}
+
+span.vhdldigit { 
+	color: #ff00ff 
+}
+
+span.vhdlchar { 
+	color: #000000 
+}
+
+span.vhdlkeyword { 
+	color: #700070 
+}
+
+span.vhdllogic { 
+	color: #ff0000 
+}
+
+blockquote {
+        background-color: #F7F8FB;
+        border-left: 2px solid #9CAFD4;
+        margin: 0 24px 0 4px;
+        padding: 0 12px 0 16px;
+}
+
+blockquote.DocNodeRTL {
+   border-left: 0;
+   border-right: 2px solid #9CAFD4;
+   margin: 0 4px 0 24px;
+   padding: 0 16px 0 12px;
+}
+
+/* @end */
+
+/*
+.search {
+	color: #003399;
+	font-weight: bold;
+}
+
+form.search {
+	margin-bottom: 0px;
+	margin-top: 0px;
+}
+
+input.search {
+	font-size: 75%;
+	color: #000080;
+	font-weight: normal;
+	background-color: #e8eef2;
+}
+*/
+
+td.tiny {
+	font-size: 75%;
+}
+
+.dirtab {
+	padding: 4px;
+	border-collapse: collapse;
+	border: 1px solid #A3B4D7;
+}
+
+th.dirtab {
+	background: #EBEFF6;
+	font-weight: bold;
+}
+
+hr {
+	height: 0px;
+	border: none;
+	border-top: 1px solid #4A6AAA;
+}
+
+hr.footer {
+	height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+	border-spacing: 0px;
+	padding: 0px;
+}
+
+.memberdecls td, .fieldtable tr {
+	-webkit-transition-property: background-color, box-shadow;
+	-webkit-transition-duration: 0.5s;
+	-moz-transition-property: background-color, box-shadow;
+	-moz-transition-duration: 0.5s;
+	-ms-transition-property: background-color, box-shadow;
+	-ms-transition-duration: 0.5s;
+	-o-transition-property: background-color, box-shadow;
+	-o-transition-duration: 0.5s;
+	transition-property: background-color, box-shadow;
+	transition-duration: 0.5s;
+}
+
+.memberdecls td.glow, .fieldtable tr.glow {
+	background-color: cyan;
+	box-shadow: 0 0 15px cyan;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+	background-color: #F9FAFC;
+	border: none;
+	margin: 4px;
+	padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+	padding: 0px 8px 4px 8px;
+	color: #555;
+}
+
+.memSeparator {
+        border-bottom: 1px solid #DEE4F0;
+        line-height: 1px;
+        margin: 0px;
+        padding: 0px;
+}
+
+.memItemLeft, .memTemplItemLeft {
+        white-space: nowrap;
+}
+
+.memItemRight, .memTemplItemRight {
+	width: 100%;
+}
+
+.memTemplParams {
+	color: #4665A2;
+        white-space: nowrap;
+	font-size: 80%;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtitle {
+	padding: 8px;
+	border-top: 1px solid #A8B8D9;
+	border-left: 1px solid #A8B8D9;
+	border-right: 1px solid #A8B8D9;
+	border-top-right-radius: 4px;
+	border-top-left-radius: 4px;
+	margin-bottom: -1px;
+	background-image: url('nav_f.png');
+	background-repeat: repeat-x;
+	background-color: #E2E8F2;
+	line-height: 1.25;
+	font-weight: 300;
+	float:left;
+}
+
+.permalink
+{
+        font-size: 65%;
+        display: inline-block;
+        vertical-align: middle;
+}
+
+.memtemplate {
+	font-size: 80%;
+	color: #4665A2;
+	font-weight: normal;
+	margin-left: 9px;
+}
+
+.memnav {
+	background-color: #EBEFF6;
+	border: 1px solid #A3B4D7;
+	text-align: center;
+	margin: 2px;
+	margin-right: 15px;
+	padding: 2px;
+}
+
+.mempage {
+	width: 100%;
+}
+
+.memitem {
+	padding: 0;
+	margin-bottom: 10px;
+	margin-right: 5px;
+        -webkit-transition: box-shadow 0.5s linear;
+        -moz-transition: box-shadow 0.5s linear;
+        -ms-transition: box-shadow 0.5s linear;
+        -o-transition: box-shadow 0.5s linear;
+        transition: box-shadow 0.5s linear;
+        display: table !important;
+        width: 100%;
+}
+
+.memitem.glow {
+         box-shadow: 0 0 15px cyan;
+}
+
+.memname {
+        font-weight: 400;
+        margin-left: 6px;
+}
+
+.memname td {
+	vertical-align: bottom;
+}
+
+.memproto, dl.reflist dt {
+        border-top: 1px solid #A8B8D9;
+        border-left: 1px solid #A8B8D9;
+        border-right: 1px solid #A8B8D9;
+        padding: 6px 0px 6px 0px;
+        color: #253555;
+        font-weight: bold;
+        text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+        background-color: #DFE5F1;
+        /* opera specific markup */
+        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        border-top-right-radius: 4px;
+        /* firefox specific markup */
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+        -moz-border-radius-topright: 4px;
+        /* webkit specific markup */
+        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        -webkit-border-top-right-radius: 4px;
+
+}
+
+.overload {
+        font-family: "courier new",courier,monospace;
+	font-size: 65%;
+}
+
+.memdoc, dl.reflist dd {
+        border-bottom: 1px solid #A8B8D9;      
+        border-left: 1px solid #A8B8D9;      
+        border-right: 1px solid #A8B8D9; 
+        padding: 6px 10px 2px 10px;
+        background-color: #FBFCFD;
+        border-top-width: 0;
+        background-image:url('nav_g.png');
+        background-repeat:repeat-x;
+        background-color: #FFFFFF;
+        /* opera specific markup */
+        border-bottom-left-radius: 4px;
+        border-bottom-right-radius: 4px;
+        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        /* firefox specific markup */
+        -moz-border-radius-bottomleft: 4px;
+        -moz-border-radius-bottomright: 4px;
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+        /* webkit specific markup */
+        -webkit-border-bottom-left-radius: 4px;
+        -webkit-border-bottom-right-radius: 4px;
+        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+dl.reflist dt {
+        padding: 5px;
+}
+
+dl.reflist dd {
+        margin: 0px 0px 10px 0px;
+        padding: 5px;
+}
+
+.paramkey {
+	text-align: right;
+}
+
+.paramtype {
+	white-space: nowrap;
+}
+
+.paramname {
+	color: #602020;
+	white-space: nowrap;
+}
+.paramname em {
+	font-style: normal;
+}
+.paramname code {
+        line-height: 14px;
+}
+
+.params, .retval, .exception, .tparams {
+        margin-left: 0px;
+        padding-left: 0px;
+}       
+
+.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname {
+        font-weight: bold;
+        vertical-align: top;
+}
+        
+.params .paramtype, .tparams .paramtype {
+        font-style: italic;
+        vertical-align: top;
+}       
+        
+.params .paramdir, .tparams .paramdir {
+        font-family: "courier new",courier,monospace;
+        vertical-align: top;
+}
+
+table.mlabels {
+	border-spacing: 0px;
+}
+
+td.mlabels-left {
+	width: 100%;
+	padding: 0px;
+}
+
+td.mlabels-right {
+	vertical-align: bottom;
+	padding: 0px;
+	white-space: nowrap;
+}
+
+span.mlabels {
+        margin-left: 8px;
+}
+
+span.mlabel {
+        background-color: #728DC1;
+        border-top:1px solid #5373B4;
+        border-left:1px solid #5373B4;
+        border-right:1px solid #C4CFE5;
+        border-bottom:1px solid #C4CFE5;
+	text-shadow: none;
+	color: white;
+	margin-right: 4px;
+	padding: 2px 3px;
+	border-radius: 3px;
+	font-size: 7pt;
+	white-space: nowrap;
+	vertical-align: middle;
+}
+
+
+
+/* @end */
+
+/* these are for tree view inside a (index) page */
+
+div.directory {
+        margin: 10px 0px;
+        border-top: 1px solid #9CAFD4;
+        border-bottom: 1px solid #9CAFD4;
+        width: 100%;
+}
+
+.directory table {
+        border-collapse:collapse;
+}
+
+.directory td {
+        margin: 0px;
+        padding: 0px;
+	vertical-align: top;
+}
+
+.directory td.entry {
+        white-space: nowrap;
+        padding-right: 6px;
+	padding-top: 3px;
+}
+
+.directory td.entry a {
+        outline:none;
+}
+
+.directory td.entry a img {
+        border: none;
+}
+
+.directory td.desc {
+        width: 100%;
+        padding-left: 6px;
+	padding-right: 6px;
+	padding-top: 3px;
+	border-left: 1px solid rgba(0,0,0,0.05);
+}
+
+.directory tr.even {
+	padding-left: 6px;
+	background-color: #F7F8FB;
+}
+
+.directory img {
+	vertical-align: -30%;
+}
+
+.directory .levels {
+        white-space: nowrap;
+        width: 100%;
+        text-align: right;
+        font-size: 9pt;
+}
+
+.directory .levels span {
+        cursor: pointer;
+        padding-left: 2px;
+        padding-right: 2px;
+	color: #3D578C;
+}
+
+.arrow {
+    color: #9CAFD4;
+    -webkit-user-select: none;
+    -khtml-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+    cursor: pointer;
+    font-size: 80%;
+    display: inline-block;
+    width: 16px;
+    height: 22px;
+}
+
+.icon {
+    font-family: Arial, Helvetica;
+    font-weight: bold;
+    font-size: 12px;
+    height: 14px;
+    width: 16px;
+    display: inline-block;
+    background-color: #728DC1;
+    color: white;
+    text-align: center;
+    border-radius: 4px;
+    margin-left: 2px;
+    margin-right: 2px;
+}
+
+.icona {
+    width: 24px;
+    height: 22px;
+    display: inline-block;
+}
+
+.iconfopen {
+    width: 24px;
+    height: 18px;
+    margin-bottom: 4px;
+    background-image:url('folderopen.png');
+    background-position: 0px -4px;
+    background-repeat: repeat-y;
+    vertical-align:top;
+    display: inline-block;
+}
+
+.iconfclosed {
+    width: 24px;
+    height: 18px;
+    margin-bottom: 4px;
+    background-image:url('folderclosed.png');
+    background-position: 0px -4px;
+    background-repeat: repeat-y;
+    vertical-align:top;
+    display: inline-block;
+}
+
+.icondoc {
+    width: 24px;
+    height: 18px;
+    margin-bottom: 4px;
+    background-image:url('doc.png');
+    background-position: 0px -4px;
+    background-repeat: repeat-y;
+    vertical-align:top;
+    display: inline-block;
+}
+
+table.directory {
+    font: 400 14px Roboto,sans-serif;
+}
+
+/* @end */
+
+div.dynheader {
+        margin-top: 8px;
+	-webkit-touch-callout: none;
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+}
+
+address {
+	font-style: normal;
+	color: #2A3D61;
+}
+
+table.doxtable caption {
+	caption-side: top;
+}
+
+table.doxtable {
+	border-collapse:collapse;
+        margin-top: 4px;
+        margin-bottom: 4px;
+}
+
+table.doxtable td, table.doxtable th {
+	border: 1px solid #2D4068;
+	padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+	background-color: #374F7F;
+	color: #FFFFFF;
+	font-size: 110%;
+	padding-bottom: 4px;
+	padding-top: 5px;
+}
+
+table.fieldtable {
+        /*width: 100%;*/
+        margin-bottom: 10px;
+        border: 1px solid #A8B8D9;
+        border-spacing: 0px;
+        -moz-border-radius: 4px;
+        -webkit-border-radius: 4px;
+        border-radius: 4px;
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+        -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+        box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+}
+
+.fieldtable td, .fieldtable th {
+        padding: 3px 7px 2px;
+}
+
+.fieldtable td.fieldtype, .fieldtable td.fieldname {
+        white-space: nowrap;
+        border-right: 1px solid #A8B8D9;
+        border-bottom: 1px solid #A8B8D9;
+        vertical-align: top;
+}
+
+.fieldtable td.fieldname {
+        padding-top: 3px;
+}
+
+.fieldtable td.fielddoc {
+        border-bottom: 1px solid #A8B8D9;
+        /*width: 100%;*/
+}
+
+.fieldtable td.fielddoc p:first-child {
+        margin-top: 0px;
+}       
+        
+.fieldtable td.fielddoc p:last-child {
+        margin-bottom: 2px;
+}
+
+.fieldtable tr:last-child td {
+        border-bottom: none;
+}
+
+.fieldtable th {
+        background-image:url('nav_f.png');
+        background-repeat:repeat-x;
+        background-color: #E2E8F2;
+        font-size: 90%;
+        color: #253555;
+        padding-bottom: 4px;
+        padding-top: 5px;
+        text-align:left;
+        font-weight: 400;
+        -moz-border-radius-topleft: 4px;
+        -moz-border-radius-topright: 4px;
+        -webkit-border-top-left-radius: 4px;
+        -webkit-border-top-right-radius: 4px;
+        border-top-left-radius: 4px;
+        border-top-right-radius: 4px;
+        border-bottom: 1px solid #A8B8D9;
+}
+
+
+.tabsearch {
+	top: 0px;
+	left: 10px;
+	height: 36px;
+	background-image: url('tab_b.png');
+	z-index: 101;
+	overflow: hidden;
+	font-size: 13px;
+}
+
+.navpath ul
+{
+	font-size: 11px;
+	background-image:url('tab_b.png');
+	background-repeat:repeat-x;
+	background-position: 0 -5px;
+	height:30px;
+	line-height:30px;
+	color:#8AA0CC;
+	border:solid 1px #C2CDE4;
+	overflow:hidden;
+	margin:0px;
+	padding:0px;
+}
+
+.navpath li
+{
+	list-style-type:none;
+	float:left;
+	padding-left:10px;
+	padding-right:15px;
+	background-image:url('bc_s.png');
+	background-repeat:no-repeat;
+	background-position:right;
+	color:#364D7C;
+}
+
+.navpath li.navelem a
+{
+	height:32px;
+	display:block;
+	text-decoration: none;
+	outline: none;
+	color: #283A5D;
+	font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+	text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+	text-decoration: none;        
+}
+
+.navpath li.navelem a:hover
+{
+	color:#6884BD;
+}
+
+.navpath li.footer
+{
+        list-style-type:none;
+        float:right;
+        padding-left:10px;
+        padding-right:15px;
+        background-image:none;
+        background-repeat:no-repeat;
+        background-position:right;
+        color:#364D7C;
+        font-size: 8pt;
+}
+
+
+div.summary
+{
+	float: right;
+	font-size: 8pt;
+	padding-right: 5px;
+	width: 50%;
+	text-align: right;
+}       
+
+div.summary a
+{
+	white-space: nowrap;
+}
+
+table.classindex
+{
+        margin: 10px;
+        white-space: nowrap;
+        margin-left: 3%;
+        margin-right: 3%;
+        width: 94%;
+        border: 0;
+        border-spacing: 0; 
+        padding: 0;
+}
+
+div.ingroups
+{
+	font-size: 8pt;
+	width: 50%;
+	text-align: left;
+}
+
+div.ingroups a
+{
+	white-space: nowrap;
+}
+
+div.header
+{
+        background-image:url('nav_h.png');
+        background-repeat:repeat-x;
+	background-color: #F9FAFC;
+	margin:  0px;
+	border-bottom: 1px solid #C4CFE5;
+}
+
+div.headertitle
+{
+	padding: 5px 5px 5px 10px;
+}
+
+.PageDocRTL-title div.headertitle {
+  text-align: right;
+  direction: rtl;
+}
+
+dl {
+        padding: 0 0 0 0;
+}
+
+/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */
+dl.section {
+	margin-left: 0px;
+	padding-left: 0px;
+}
+
+dl.section.DocNodeRTL {
+  margin-right: 0px;
+  padding-right: 0px;
+}
+
+dl.note {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #D0C000;
+}
+
+dl.note.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #D0C000;
+}
+
+dl.warning, dl.attention {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #FF0000;
+}
+
+dl.warning.DocNodeRTL, dl.attention.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #FF0000;
+}
+
+dl.pre, dl.post, dl.invariant {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #00D000;
+}
+
+dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #00D000;
+}
+
+dl.deprecated {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #505050;
+}
+
+dl.deprecated.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #505050;
+}
+
+dl.todo {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #00C0E0;
+}
+
+dl.todo.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #00C0E0;
+}
+
+dl.test {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #3030E0;
+}
+
+dl.test.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #3030E0;
+}
+
+dl.bug {
+  margin-left: -7px;
+  padding-left: 3px;
+  border-left: 4px solid;
+  border-color: #C08050;
+}
+
+dl.bug.DocNodeRTL {
+  margin-left: 0;
+  padding-left: 0;
+  border-left: 0;
+  margin-right: -7px;
+  padding-right: 3px;
+  border-right: 4px solid;
+  border-color: #C08050;
+}
+
+dl.section dd {
+	margin-bottom: 6px;
+}
+
+
+#projectlogo
+{
+	text-align: center;
+	vertical-align: bottom;
+	border-collapse: separate;
+}
+ 
+#projectlogo img
+{ 
+	border: 0px none;
+}
+ 
+#projectalign
+{
+        vertical-align: middle;
+}
+
+#projectname
+{
+	font: 300% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 2px 0px;
+}
+    
+#projectbrief
+{
+	font: 120% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 0px;
+}
+
+#projectnumber
+{
+	font: 50% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 0px;
+}
+
+#titlearea
+{
+	padding: 0px;
+	margin: 0px;
+	width: 100%;
+	border-bottom: 1px solid #5373B4;
+}
+
+.image
+{
+        text-align: center;
+}
+
+.dotgraph
+{
+        text-align: center;
+}
+
+.mscgraph
+{
+        text-align: center;
+}
+
+.plantumlgraph
+{
+        text-align: center;
+}
+
+.diagraph
+{
+        text-align: center;
+}
+
+.caption
+{
+	font-weight: bold;
+}
+
+div.zoom
+{
+	border: 1px solid #90A5CE;
+}
+
+dl.citelist {
+        margin-bottom:50px;
+}
+
+dl.citelist dt {
+        color:#334975;
+        float:left;
+        font-weight:bold;
+        margin-right:10px;
+        padding:5px;
+}
+
+dl.citelist dd {
+        margin:2px 0;
+        padding:5px 0;
+}
+
+div.toc {
+        padding: 14px 25px;
+        background-color: #F4F6FA;
+        border: 1px solid #D8DFEE;
+        border-radius: 7px 7px 7px 7px;
+        float: right;
+        height: auto;
+        margin: 0 8px 10px 10px;
+        width: 200px;
+}
+
+.PageDocRTL-title div.toc {
+  float: left !important;
+  text-align: right;
+}
+
+div.toc li {
+        background: url("bdwn.png") no-repeat scroll 0 5px transparent;
+        font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
+        margin-top: 5px;
+        padding-left: 10px;
+        padding-top: 2px;
+}
+
+.PageDocRTL-title div.toc li {
+  background-position-x: right !important;
+  padding-left: 0 !important;
+  padding-right: 10px;
+}
+
+div.toc h3 {
+        font: bold 12px/1.2 Arial,FreeSans,sans-serif;
+	color: #4665A2;
+        border-bottom: 0 none;
+        margin: 0;
+}
+
+div.toc ul {
+        list-style: none outside none;
+        border: medium none;
+        padding: 0px;
+}       
+
+div.toc li.level1 {
+        margin-left: 0px;
+}
+
+div.toc li.level2 {
+        margin-left: 15px;
+}
+
+div.toc li.level3 {
+        margin-left: 30px;
+}
+
+div.toc li.level4 {
+        margin-left: 45px;
+}
+
+.PageDocRTL-title div.toc li.level1 {
+  margin-left: 0 !important;
+  margin-right: 0;
+}
+
+.PageDocRTL-title div.toc li.level2 {
+  margin-left: 0 !important;
+  margin-right: 15px;
+}
+
+.PageDocRTL-title div.toc li.level3 {
+  margin-left: 0 !important;
+  margin-right: 30px;
+}
+
+.PageDocRTL-title div.toc li.level4 {
+  margin-left: 0 !important;
+  margin-right: 45px;
+}
+
+.inherit_header {
+        font-weight: bold;
+        color: gray;
+        cursor: pointer;
+	-webkit-touch-callout: none;
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+}
+
+.inherit_header td {
+        padding: 6px 0px 2px 5px;
+}
+
+.inherit {
+        display: none;
+}
+
+tr.heading h2 {
+        margin-top: 12px;
+        margin-bottom: 4px;
+}
+
+/* tooltip related style info */
+
+.ttc {
+        position: absolute;
+        display: none;
+}
+
+#powerTip {
+	cursor: default;
+	white-space: nowrap;
+	background-color: white;
+	border: 1px solid gray;
+	border-radius: 4px 4px 4px 4px;
+	box-shadow: 1px 1px 7px gray;
+	display: none;
+	font-size: smaller;
+	max-width: 80%;
+	opacity: 0.9;
+	padding: 1ex 1em 1em;
+	position: absolute;
+	z-index: 2147483647;
+}
+
+#powerTip div.ttdoc {
+        color: grey;
+	font-style: italic;
+}
+
+#powerTip div.ttname a {
+        font-weight: bold;
+}
+
+#powerTip div.ttname {
+        font-weight: bold;
+}
+
+#powerTip div.ttdeci {
+        color: #006318;
+}
+
+#powerTip div {
+        margin: 0px;
+        padding: 0px;
+        font: 12px/16px Roboto,sans-serif;
+}
+
+#powerTip:before, #powerTip:after {
+	content: "";
+	position: absolute;
+	margin: 0px;
+}
+
+#powerTip.n:after,  #powerTip.n:before,
+#powerTip.s:after,  #powerTip.s:before,
+#powerTip.w:after,  #powerTip.w:before,
+#powerTip.e:after,  #powerTip.e:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.nw:after, #powerTip.nw:before,
+#powerTip.sw:after, #powerTip.sw:before {
+	border: solid transparent;
+	content: " ";
+	height: 0;
+	width: 0;
+	position: absolute;
+}
+
+#powerTip.n:after,  #powerTip.s:after,
+#powerTip.w:after,  #powerTip.e:after,
+#powerTip.nw:after, #powerTip.ne:after,
+#powerTip.sw:after, #powerTip.se:after {
+	border-color: rgba(255, 255, 255, 0);
+}
+
+#powerTip.n:before,  #powerTip.s:before,
+#powerTip.w:before,  #powerTip.e:before,
+#powerTip.nw:before, #powerTip.ne:before,
+#powerTip.sw:before, #powerTip.se:before {
+	border-color: rgba(128, 128, 128, 0);
+}
+
+#powerTip.n:after,  #powerTip.n:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.nw:after, #powerTip.nw:before {
+	top: 100%;
+}
+
+#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
+	border-top-color: #FFFFFF;
+	border-width: 10px;
+	margin: 0px -10px;
+}
+#powerTip.n:before {
+	border-top-color: #808080;
+	border-width: 11px;
+	margin: 0px -11px;
+}
+#powerTip.n:after, #powerTip.n:before {
+	left: 50%;
+}
+
+#powerTip.nw:after, #powerTip.nw:before {
+	right: 14px;
+}
+
+#powerTip.ne:after, #powerTip.ne:before {
+	left: 14px;
+}
+
+#powerTip.s:after,  #powerTip.s:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.sw:after, #powerTip.sw:before {
+	bottom: 100%;
+}
+
+#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
+	border-bottom-color: #FFFFFF;
+	border-width: 10px;
+	margin: 0px -10px;
+}
+
+#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
+	border-bottom-color: #808080;
+	border-width: 11px;
+	margin: 0px -11px;
+}
+
+#powerTip.s:after, #powerTip.s:before {
+	left: 50%;
+}
+
+#powerTip.sw:after, #powerTip.sw:before {
+	right: 14px;
+}
+
+#powerTip.se:after, #powerTip.se:before {
+	left: 14px;
+}
+
+#powerTip.e:after, #powerTip.e:before {
+	left: 100%;
+}
+#powerTip.e:after {
+	border-left-color: #FFFFFF;
+	border-width: 10px;
+	top: 50%;
+	margin-top: -10px;
+}
+#powerTip.e:before {
+	border-left-color: #808080;
+	border-width: 11px;
+	top: 50%;
+	margin-top: -11px;
+}
+
+#powerTip.w:after, #powerTip.w:before {
+	right: 100%;
+}
+#powerTip.w:after {
+	border-right-color: #FFFFFF;
+	border-width: 10px;
+	top: 50%;
+	margin-top: -10px;
+}
+#powerTip.w:before {
+	border-right-color: #808080;
+	border-width: 11px;
+	top: 50%;
+	margin-top: -11px;
+}
+
+@media print
+{
+  #top { display: none; }
+  #side-nav { display: none; }
+  #nav-path { display: none; }
+  body { overflow:visible; }
+  h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
+  .summary { display: none; }
+  .memitem { page-break-inside: avoid; }
+  #doc-content
+  {
+    margin-left:0 !important;
+    height:auto !important;
+    width:auto !important;
+    overflow:inherit;
+    display:inline;
+  }
+}
+
+/* @group Markdown */
+
+/*
+table.markdownTable {
+	border-collapse:collapse;
+        margin-top: 4px;
+        margin-bottom: 4px;
+}
+
+table.markdownTable td, table.markdownTable th {
+	border: 1px solid #2D4068;
+	padding: 3px 7px 2px;
+}
+
+table.markdownTableHead tr {
+}
+
+table.markdownTableBodyLeft td, table.markdownTable th {
+	border: 1px solid #2D4068;
+	padding: 3px 7px 2px;
+}
+
+th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone {
+	background-color: #374F7F;
+	color: #FFFFFF;
+	font-size: 110%;
+	padding-bottom: 4px;
+	padding-top: 5px;
+}
+
+th.markdownTableHeadLeft {
+	text-align: left
+}
+
+th.markdownTableHeadRight {
+	text-align: right
+}
+
+th.markdownTableHeadCenter {
+	text-align: center
+}
+*/
+
+table.markdownTable {
+	border-collapse:collapse;
+        margin-top: 4px;
+        margin-bottom: 4px;
+}
+
+table.markdownTable td, table.markdownTable th {
+	border: 1px solid #2D4068;
+	padding: 3px 7px 2px;
+}
+
+table.markdownTable tr {
+}
+
+th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone {
+	background-color: #374F7F;
+	color: #FFFFFF;
+	font-size: 110%;
+	padding-bottom: 4px;
+	padding-top: 5px;
+}
+
+th.markdownTableHeadLeft, td.markdownTableBodyLeft {
+	text-align: left
+}
+
+th.markdownTableHeadRight, td.markdownTableBodyRight {
+	text-align: right
+}
+
+th.markdownTableHeadCenter, td.markdownTableBodyCenter {
+	text-align: center
+}
+
+.DocNodeRTL {
+  text-align: right;
+  direction: rtl;
+}
+
+.DocNodeLTR {
+  text-align: left;
+  direction: ltr;
+}
+
+table.DocNodeRTL {
+   width: auto;
+   margin-right: 0;
+   margin-left: auto;
+}
+
+table.DocNodeLTR {
+   width: auto;
+   margin-right: auto;
+   margin-left: 0;
+}
+
+tt, code, kbd, samp
+{
+  display: inline-block;
+  direction:ltr; 
+}
+/* @end */
+
+u {
+	text-decoration: underline;
+}
+

二进制
php/doxygen.png


+ 120 - 0
php/dynsections.js

@@ -0,0 +1,120 @@
+/*
+ @licstart  The following is the entire license notice for the
+ JavaScript code in this file.
+
+ Copyright (C) 1997-2017 by Dimitri van Heesch
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ @licend  The above is the entire license notice
+ for the JavaScript code in this file
+ */
+function toggleVisibility(linkObj)
+{
+ var base = $(linkObj).attr('id');
+ var summary = $('#'+base+'-summary');
+ var content = $('#'+base+'-content');
+ var trigger = $('#'+base+'-trigger');
+ var src=$(trigger).attr('src');
+ if (content.is(':visible')===true) {
+   content.hide();
+   summary.show();
+   $(linkObj).addClass('closed').removeClass('opened');
+   $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
+ } else {
+   content.show();
+   summary.hide();
+   $(linkObj).removeClass('closed').addClass('opened');
+   $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
+ }
+ return false;
+}
+
+function updateStripes()
+{
+  $('table.directory tr').
+       removeClass('even').filter(':visible:even').addClass('even');
+}
+
+function toggleLevel(level)
+{
+  $('table.directory tr').each(function() {
+    var l = this.id.split('_').length-1;
+    var i = $('#img'+this.id.substring(3));
+    var a = $('#arr'+this.id.substring(3));
+    if (l<level+1) {
+      i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
+      a.html('&#9660;');
+      $(this).show();
+    } else if (l==level+1) {
+      i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
+      a.html('&#9658;');
+      $(this).show();
+    } else {
+      $(this).hide();
+    }
+  });
+  updateStripes();
+}
+
+function toggleFolder(id)
+{
+  // the clicked row
+  var currentRow = $('#row_'+id);
+
+  // all rows after the clicked row
+  var rows = currentRow.nextAll("tr");
+
+  var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
+
+  // only match elements AFTER this one (can't hide elements before)
+  var childRows = rows.filter(function() { return this.id.match(re); });
+
+  // first row is visible we are HIDING
+  if (childRows.filter(':first').is(':visible')===true) {
+    // replace down arrow by right arrow for current row
+    var currentRowSpans = currentRow.find("span");
+    currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
+    currentRowSpans.filter(".arrow").html('&#9658;');
+    rows.filter("[id^=row_"+id+"]").hide(); // hide all children
+  } else { // we are SHOWING
+    // replace right arrow by down arrow for current row
+    var currentRowSpans = currentRow.find("span");
+    currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
+    currentRowSpans.filter(".arrow").html('&#9660;');
+    // replace down arrows by right arrows for child rows
+    var childRowsSpans = childRows.find("span");
+    childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
+    childRowsSpans.filter(".arrow").html('&#9658;');
+    childRows.show(); //show all children
+  }
+  updateStripes();
+}
+
+
+function toggleInherit(id)
+{
+  var rows = $('tr.inherit.'+id);
+  var img = $('tr.inherit_header.'+id+' img');
+  var src = $(img).attr('src');
+  if (rows.filter(':first').is(':visible')===true) {
+    rows.css('display','none');
+    $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
+  } else {
+    rows.css('display','table-row'); // using show() causes jump in firefox
+    $(img).attr('src',src.substring(0,src.length-10)+'open.png');
+  }
+}
+/* @license-end */

+ 0 - 3
php/elementlist.js

@@ -1,3 +0,0 @@
-
-var ApiGen = ApiGen || {};
-ApiGen.elements = [["c","Grpc\\AbstractCall"],["c","Grpc\\BaseStub"],["c","Grpc\\BidiStreamingCall"],["c","Grpc\\ClientStreamingCall"],["c","Grpc\\ServerStreamingCall"],["c","Grpc\\UnaryCall"]];

+ 77 - 0
php/environment__variables_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/environment_variables.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/environment_variables.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 77 - 0
php/fail__fast_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/fail_fast.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/fail_fast.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 105 - 0
php/files.html

@@ -0,0 +1,105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: File List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">File List</div>  </div>
+</div><!--header-->
+<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"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="dir_e68e8157741866f444e17edd764ebbae.html" target="_self">doc</a></td><td class="desc"></td></tr>
+<tr id="row_1_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span id="img_1_" class="iconfopen" onclick="toggleFolder('1_')">&#160;</span><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html" target="_self">src</a></td><td class="desc"></td></tr>
+<tr id="row_1_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_0_" class="arrow" onclick="toggleFolder('1_0_')">&#9660;</span><span id="img_1_0_" class="iconfopen" onclick="toggleFolder('1_0_')">&#160;</span><a class="el" href="dir_85cc22d3a09b5748bc25e61ded676657.html" target="_self">php</a></td><td class="desc"></td></tr>
+<tr id="row_1_0_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="dir_6229e6c34e9a233ad01e20b4063ed1b6.html" target="_self">docker</a></td><td class="desc"></td></tr>
+<tr id="row_1_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_1_0_1_" class="arrow" onclick="toggleFolder('1_0_1_')">&#9660;</span><span id="img_1_0_1_" class="iconfopen" onclick="toggleFolder('1_0_1_')">&#160;</span><a class="el" href="dir_73429fa3d659a85a5c1bd72b8c229b9f.html" target="_self">lib</a></td><td class="desc"></td></tr>
+<tr id="row_1_0_1_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_1_0_1_0_" class="arrow" onclick="toggleFolder('1_0_1_0_')">&#9660;</span><span id="img_1_0_1_0_" class="iconfopen" onclick="toggleFolder('1_0_1_0_')">&#160;</span><a class="el" href="dir_4e49b715f9da74892c7bbbdb8130446b.html" target="_self">Grpc</a></td><td class="desc"></td></tr>
+<tr id="row_1_0_1_0_0_" class="even"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_abstract_call_8php.html" target="_self">AbstractCall.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_0_1_0_1_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_base_stub_8php.html" target="_self">BaseStub.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_0_1_0_2_" class="even"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_bidi_streaming_call_8php.html" target="_self">BidiStreamingCall.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_0_1_0_3_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_call_8php.html" target="_self">Call.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_0_1_0_4_" class="even"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_call_credentials_8php.html" target="_self">CallCredentials.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_0_1_0_5_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_call_invoker_8php.html" target="_self">CallInvoker.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_0_1_0_6_" class="even"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_channel_8php.html" target="_self">Channel.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_0_1_0_7_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_channel_credentials_8php.html" target="_self">ChannelCredentials.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_0_1_0_8_" class="even"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_client_streaming_call_8php.html" target="_self">ClientStreamingCall.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_0_1_0_9_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_constants_8php.html" target="_self">Constants.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_0_1_0_10_" class="even"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_default_call_invoker_8php.html" target="_self">DefaultCallInvoker.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_0_1_0_11_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_interceptor_8php.html" target="_self">Interceptor.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_0_1_0_12_" class="even"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_rpc_server_8php.html" target="_self">RpcServer.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_0_1_0_13_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_server_8php.html" target="_self">Server.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_0_1_0_14_" class="even"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_server_credentials_8php.html" target="_self">ServerCredentials.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_0_1_0_15_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_server_streaming_call_8php.html" target="_self">ServerStreamingCall.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_0_1_0_16_" class="even"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_timeval_8php.html" target="_self">Timeval.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_0_1_0_17_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_unary_call_8php.html" target="_self">UnaryCall.php</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

二进制
php/folderclosed.png


二进制
php/folderopen.png


+ 77 - 0
php/fork__support_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/fork_support.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/fork_support.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 351 - 0
php/functions.html

@@ -0,0 +1,351 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index__24"></a>- $ -</h3><ul>
+<li>$call
+: <a class="el" href="class_grpc_1_1_abstract_call.html#a722dd807b08d990d3f9816202627d701">Grpc\AbstractCall</a>
+, <a class="el" href="class_grpc_1_1_rpc_server.html#a7ea2734edfe8b09681972bf5e5d7a6f0">Grpc\RpcServer</a>
+</li>
+<li>$deserialize
+: <a class="el" href="class_grpc_1_1_abstract_call.html#aa10e9fd56d64bc2167bb65129e212c9b">Grpc\AbstractCall</a>
+</li>
+<li>$metadata
+: <a class="el" href="class_grpc_1_1_abstract_call.html#aabc4e33a97415326e10596675f790328">Grpc\AbstractCall</a>
+</li>
+<li>$paths_map
+: <a class="el" href="class_grpc_1_1_rpc_server.html#a9c6119bd94888c4d6202a1205c296794">Grpc\RpcServer</a>
+</li>
+<li>$trailing_metadata
+: <a class="el" href="class_grpc_1_1_abstract_call.html#a35264eb899b5c6d320433741202924d2">Grpc\AbstractCall</a>
+</li>
+</ul>
+
+
+<h3><a id="index__5F"></a>- _ -</h3><ul>
+<li>__construct()
+: <a class="el" href="class_grpc_1_1_abstract_call.html#a98c8526df813acd6a775cf90a31af18e">Grpc\AbstractCall</a>
+, <a class="el" href="class_grpc_1_1_base_stub.html#a87b837ef58d4806ac090010b235bf6dd">Grpc\BaseStub</a>
+, <a class="el" href="class_grpc_1_1_call.html#a1e427a3545ad6116b06788ac453a8503">Grpc\Call</a>
+, <a class="el" href="class_grpc_1_1_channel.html#aa9cf4f79b071b277c297cbd2da31aff2">Grpc\Channel</a>
+, <a class="el" href="class_grpc_1_1_server.html#a109c078b8e6718a1ed777f60cb4bc958">Grpc\Server</a>
+, <a class="el" href="class_grpc_1_1_timeval.html#a0923f66b9d8b0250737922c2114cf1df">Grpc\Timeval</a>
+</li>
+<li>_bidiRequest()
+: <a class="el" href="class_grpc_1_1_base_stub.html#a06273f329dc2e0086c61f6534288277b">Grpc\BaseStub</a>
+</li>
+<li>_clientStreamRequest()
+: <a class="el" href="class_grpc_1_1_base_stub.html#acc4e0f5775d36cbed3ebdebd0491835e">Grpc\BaseStub</a>
+</li>
+<li>_deserializeResponse()
+: <a class="el" href="class_grpc_1_1_abstract_call.html#a413e87bcf0475cd8c627fd16919fda98">Grpc\AbstractCall</a>
+</li>
+<li>_serializeMessage()
+: <a class="el" href="class_grpc_1_1_abstract_call.html#ac6b4a554e5be5fd57ee05610e25d4d05">Grpc\AbstractCall</a>
+</li>
+<li>_serverStreamRequest()
+: <a class="el" href="class_grpc_1_1_base_stub.html#a5e798fc84d42462dce6a8e38dcc005a3">Grpc\BaseStub</a>
+</li>
+<li>_simpleRequest()
+: <a class="el" href="class_grpc_1_1_base_stub.html#a3a70a435fb6cbee2456386507a3a9533">Grpc\BaseStub</a>
+</li>
+</ul>
+
+
+<h3><a id="index_a"></a>- a -</h3><ul>
+<li>add()
+: <a class="el" href="class_grpc_1_1_timeval.html#ac99ca9206e9fe2f7d8b5777aa91922c7">Grpc\Timeval</a>
+</li>
+<li>addHttp2Port()
+: <a class="el" href="class_grpc_1_1_server.html#a5b20e4fe60663ff1cdb7e30f1995e31b">Grpc\Server</a>
+</li>
+<li>addSecureHttp2Port()
+: <a class="el" href="class_grpc_1_1_server.html#a3b3120398662e298719de06716909dcd">Grpc\Server</a>
+</li>
+</ul>
+
+
+<h3><a id="index_b"></a>- b -</h3><ul>
+<li>BidiStreamingCall()
+: <a class="el" href="interface_grpc_1_1_call_invoker.html#a1694c3b49f2b5b9426d362fdb674aa6b">Grpc\CallInvoker</a>
+, <a class="el" href="class_grpc_1_1_default_call_invoker.html#a426eca19248c6f6853fd70ecdb5ccdfe">Grpc\DefaultCallInvoker</a>
+</li>
+</ul>
+
+
+<h3><a id="index_c"></a>- c -</h3><ul>
+<li>cancel()
+: <a class="el" href="class_grpc_1_1_abstract_call.html#a088115c12c3af171fe7e99078595d6c0">Grpc\AbstractCall</a>
+, <a class="el" href="class_grpc_1_1_call.html#afc7c962d3288c3483ea4ce6ed1cfe9f7">Grpc\Call</a>
+</li>
+<li>ClientStreamingCall()
+: <a class="el" href="interface_grpc_1_1_call_invoker.html#aa661021486adc62df778e8bca4e55eae">Grpc\CallInvoker</a>
+, <a class="el" href="class_grpc_1_1_default_call_invoker.html#acf29c012585ed124e6341cc787080ab4">Grpc\DefaultCallInvoker</a>
+</li>
+<li>close()
+: <a class="el" href="class_grpc_1_1_base_stub.html#a13ca38aea857a61f57019228f0b6f2bc">Grpc\BaseStub</a>
+, <a class="el" href="class_grpc_1_1_channel.html#a7475fd9110ae535b303cb37f8b217356">Grpc\Channel</a>
+</li>
+<li>compare()
+: <a class="el" href="class_grpc_1_1_timeval.html#ae88d485b702a5711bb779462e0f3890c">Grpc\Timeval</a>
+</li>
+<li>createChannelFactory()
+: <a class="el" href="interface_grpc_1_1_call_invoker.html#a7f33ab1a5af0bebffc7ec8cb3dfd5ac3">Grpc\CallInvoker</a>
+, <a class="el" href="class_grpc_1_1_default_call_invoker.html#a2a957d3655f28d85eb389b69a19f21c3">Grpc\DefaultCallInvoker</a>
+</li>
+<li>createComposite()
+: <a class="el" href="class_grpc_1_1_call_credentials.html#a3fba3eaacbc05e4f8aff03d77e591eaf">Grpc\CallCredentials</a>
+, <a class="el" href="class_grpc_1_1_channel_credentials.html#ab86aca4055799eaa2eed315fa2446944">Grpc\ChannelCredentials</a>
+</li>
+<li>createDefault()
+: <a class="el" href="class_grpc_1_1_channel_credentials.html#ae6cfccd4ab1f09fc3e326e4cc98c0507">Grpc\ChannelCredentials</a>
+</li>
+<li>createFromPlugin()
+: <a class="el" href="class_grpc_1_1_call_credentials.html#a1a1bbc0082e41f40873d9c3a97574bed">Grpc\CallCredentials</a>
+</li>
+<li>createInsecure()
+: <a class="el" href="class_grpc_1_1_channel_credentials.html#ab8ca6b64ea261b0c9344878b2348f320">Grpc\ChannelCredentials</a>
+</li>
+<li>createSsl()
+: <a class="el" href="class_grpc_1_1_channel_credentials.html#a5f8365f36d4b11101039e86811571203">Grpc\ChannelCredentials</a>
+, <a class="el" href="class_grpc_1_1_server_credentials.html#a989cd8014095723815535effc0d8c052">Grpc\ServerCredentials</a>
+</li>
+</ul>
+
+
+<h3><a id="index_g"></a>- g -</h3><ul>
+<li>getConnectivityState()
+: <a class="el" href="class_grpc_1_1_base_stub.html#a808c89a725b15d850fa2096cd6bd104d">Grpc\BaseStub</a>
+, <a class="el" href="class_grpc_1_1_channel.html#a64f6c766e8d06e6d78c01c37de28f8d7">Grpc\Channel</a>
+</li>
+<li>getDefaultChannel()
+: <a class="el" href="class_grpc_1_1_base_stub.html#a35a01a2eeff8d1f90939c361729f2396">Grpc\BaseStub</a>
+</li>
+<li>getMetadata()
+: <a class="el" href="class_grpc_1_1_abstract_call.html#ac5d4f130fc35450d4a5b0bfd0a918ff4">Grpc\AbstractCall</a>
+, <a class="el" href="class_grpc_1_1_server_streaming_call.html#a449205dcd3a5fed75f736ff2d2cc6e89">Grpc\ServerStreamingCall</a>
+, <a class="el" href="class_grpc_1_1_unary_call.html#ae65d18a70f9cee4505283b19d235360c">Grpc\UnaryCall</a>
+</li>
+<li>getPeer()
+: <a class="el" href="class_grpc_1_1_abstract_call.html#a188fc7298f9b52fb0eee7d3901281cdc">Grpc\AbstractCall</a>
+, <a class="el" href="class_grpc_1_1_call.html#ab6aa5fa913c3175b4c029e372112a777">Grpc\Call</a>
+</li>
+<li>getStatus()
+: <a class="el" href="class_grpc_1_1_bidi_streaming_call.html#af6f30cbdc8242894670b2e065667fd26">Grpc\BidiStreamingCall</a>
+, <a class="el" href="class_grpc_1_1_server_streaming_call.html#ab8a6f6298c96b20c5e5c825df17017cf">Grpc\ServerStreamingCall</a>
+</li>
+<li>getTarget()
+: <a class="el" href="class_grpc_1_1_base_stub.html#ae2b85e451fac182cfc57b63c39d7e59a">Grpc\BaseStub</a>
+, <a class="el" href="class_grpc_1_1_channel.html#afce31d39c37f42d29cae7c5fbd5279d9">Grpc\Channel</a>
+</li>
+<li>getTrailingMetadata()
+: <a class="el" href="class_grpc_1_1_abstract_call.html#a8de5e451ba9a414d7a58a7d7c5fcc764">Grpc\AbstractCall</a>
+</li>
+</ul>
+
+
+<h3><a id="index_h"></a>- h -</h3><ul>
+<li>handle()
+: <a class="el" href="class_grpc_1_1_rpc_server.html#afaf6bebe4ae34481869eedfff7e9c573">Grpc\RpcServer</a>
+</li>
+</ul>
+
+
+<h3><a id="index_i"></a>- i -</h3><ul>
+<li>infFuture()
+: <a class="el" href="class_grpc_1_1_timeval.html#a1cabcbffb6869a6cf083b102baabf62b">Grpc\Timeval</a>
+</li>
+<li>infPast()
+: <a class="el" href="class_grpc_1_1_timeval.html#a14fa120d255f29fbeb37958b53385466">Grpc\Timeval</a>
+</li>
+<li>intercept()
+: <a class="el" href="class_grpc_1_1_interceptor.html#afcc5cdc7a13e5f36a8aed380a132f701">Grpc\Interceptor</a>
+</li>
+<li>interceptStreamStream()
+: <a class="el" href="class_grpc_1_1_interceptor.html#a4c6b68d9d0a4c7f26b838cee67de9fba">Grpc\Interceptor</a>
+</li>
+<li>interceptStreamUnary()
+: <a class="el" href="class_grpc_1_1_interceptor.html#a795ddc43e1701df83b01731d7cbd6b04">Grpc\Interceptor</a>
+</li>
+<li>interceptUnaryStream()
+: <a class="el" href="class_grpc_1_1_interceptor.html#a209c18987ef9abed720b658b803bb1cb">Grpc\Interceptor</a>
+</li>
+<li>interceptUnaryUnary()
+: <a class="el" href="class_grpc_1_1_interceptor.html#aec9c69861997289db3efd2abb5d0f58c">Grpc\Interceptor</a>
+</li>
+<li>invalidateDefaultRootsPem()
+: <a class="el" href="class_grpc_1_1_channel_credentials.html#aeb985b18bdb11939991e988f717c801a">Grpc\ChannelCredentials</a>
+</li>
+<li>isDefaultRootsPemSet()
+: <a class="el" href="class_grpc_1_1_channel_credentials.html#af9f1e5522ce2767c297e46847ef5fff4">Grpc\ChannelCredentials</a>
+</li>
+</ul>
+
+
+<h3><a id="index_n"></a>- n -</h3><ul>
+<li>now()
+: <a class="el" href="class_grpc_1_1_timeval.html#a8df14900363bce541340f81eff797d05">Grpc\Timeval</a>
+</li>
+</ul>
+
+
+<h3><a id="index_r"></a>- r -</h3><ul>
+<li>read()
+: <a class="el" href="class_grpc_1_1_bidi_streaming_call.html#aeb056a807c6ef6f7a75bac639d325e44">Grpc\BidiStreamingCall</a>
+</li>
+<li>requestCall()
+: <a class="el" href="class_grpc_1_1_server.html#a90ada396f37c675d70b43d4f96afe334">Grpc\Server</a>
+</li>
+<li>responses()
+: <a class="el" href="class_grpc_1_1_server_streaming_call.html#a85965dccc4da15b5549508881244c4d5">Grpc\ServerStreamingCall</a>
+</li>
+<li>run()
+: <a class="el" href="class_grpc_1_1_rpc_server.html#a6376eda9f614e1c61715ebc0ae3ca746">Grpc\RpcServer</a>
+</li>
+</ul>
+
+
+<h3><a id="index_s"></a>- s -</h3><ul>
+<li>sendOkResponse()
+: <a class="el" href="class_grpc_1_1_rpc_server.html#a0ac7dbf6a7d3b5512252605c1c9e2332">Grpc\RpcServer</a>
+</li>
+<li>ServerStreamingCall()
+: <a class="el" href="interface_grpc_1_1_call_invoker.html#a5aa48bd2ba970ffb6802d81f4864ae65">Grpc\CallInvoker</a>
+, <a class="el" href="class_grpc_1_1_default_call_invoker.html#a52b1905060f79ea1ace3fcefb7a1a571">Grpc\DefaultCallInvoker</a>
+</li>
+<li>setCallCredentials()
+: <a class="el" href="class_grpc_1_1_abstract_call.html#a88c9af5ba3c7ede0dc5342363af5e9a2">Grpc\AbstractCall</a>
+</li>
+<li>setCredentials()
+: <a class="el" href="class_grpc_1_1_call.html#a547de08c2c0712561250ff01c32a9b90">Grpc\Call</a>
+</li>
+<li>setDefaultRootsPem()
+: <a class="el" href="class_grpc_1_1_channel_credentials.html#aa36260c02be6eb2f7d141dcbc508ddcf">Grpc\ChannelCredentials</a>
+</li>
+<li>similar()
+: <a class="el" href="class_grpc_1_1_timeval.html#a6bc3609d25c19f9297749781efd1071e">Grpc\Timeval</a>
+</li>
+<li>sleepUntil()
+: <a class="el" href="class_grpc_1_1_timeval.html#aad3080f912ffb1cac40a65ddb42940d2">Grpc\Timeval</a>
+</li>
+<li>start()
+: <a class="el" href="class_grpc_1_1_bidi_streaming_call.html#a0cf626864322067138fcf627a17cc699">Grpc\BidiStreamingCall</a>
+, <a class="el" href="class_grpc_1_1_client_streaming_call.html#a3e7920444f1893309f88896d6448fb67">Grpc\ClientStreamingCall</a>
+, <a class="el" href="class_grpc_1_1_server.html#a3c2935d3be77ea9902eaf2e20e3422b5">Grpc\Server</a>
+, <a class="el" href="class_grpc_1_1_server_streaming_call.html#a7043af7311899487e5eef51b24913d81">Grpc\ServerStreamingCall</a>
+, <a class="el" href="class_grpc_1_1_unary_call.html#a08ec57a768664dc428637bdf55742ca0">Grpc\UnaryCall</a>
+</li>
+<li>startBatch()
+: <a class="el" href="class_grpc_1_1_call.html#a0026968f6868365e3ba910f5b30416c5">Grpc\Call</a>
+</li>
+<li>subtract()
+: <a class="el" href="class_grpc_1_1_timeval.html#ac9ad3de83213183bc51f9ff9c0036f7c">Grpc\Timeval</a>
+</li>
+</ul>
+
+
+<h3><a id="index_u"></a>- u -</h3><ul>
+<li>UnaryCall()
+: <a class="el" href="interface_grpc_1_1_call_invoker.html#a7fe706e87132401e69146f1ee79c47a4">Grpc\CallInvoker</a>
+, <a class="el" href="class_grpc_1_1_default_call_invoker.html#aeb68964a5eb77fdd8132d1bcdcd684ec">Grpc\DefaultCallInvoker</a>
+</li>
+</ul>
+
+
+<h3><a id="index_w"></a>- w -</h3><ul>
+<li>wait()
+: <a class="el" href="class_grpc_1_1_client_streaming_call.html#addc05660c5b52390483babae9630b0fb">Grpc\ClientStreamingCall</a>
+, <a class="el" href="class_grpc_1_1_unary_call.html#a7947c58bacabc0267c79de33277440c5">Grpc\UnaryCall</a>
+</li>
+<li>waitForReady()
+: <a class="el" href="class_grpc_1_1_base_stub.html#a78f84743a824f0eb3087dcb0fb8d0d41">Grpc\BaseStub</a>
+</li>
+<li>watchConnectivityState()
+: <a class="el" href="class_grpc_1_1_channel.html#a2ef0546000edb6aba1f8e0233a75b10d">Grpc\Channel</a>
+</li>
+<li>write()
+: <a class="el" href="class_grpc_1_1_bidi_streaming_call.html#ad68d6aa748fa9980aa5e985da853bd74">Grpc\BidiStreamingCall</a>
+, <a class="el" href="class_grpc_1_1_client_streaming_call.html#ae052b490ba4651978238a3dd15e9e73d">Grpc\ClientStreamingCall</a>
+</li>
+<li>writesDone()
+: <a class="el" href="class_grpc_1_1_bidi_streaming_call.html#afac63b79bbf4ed6664599c2433bd159e">Grpc\BidiStreamingCall</a>
+</li>
+</ul>
+
+
+<h3><a id="index_z"></a>- z -</h3><ul>
+<li>zero()
+: <a class="el" href="class_grpc_1_1_timeval.html#ac46725245b0b70d10c324e9b97dd9829">Grpc\Timeval</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 331 - 0
php/functions_func.html

@@ -0,0 +1,331 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index__5F"></a>- _ -</h3><ul>
+<li>__construct()
+: <a class="el" href="class_grpc_1_1_abstract_call.html#a98c8526df813acd6a775cf90a31af18e">Grpc\AbstractCall</a>
+, <a class="el" href="class_grpc_1_1_base_stub.html#a87b837ef58d4806ac090010b235bf6dd">Grpc\BaseStub</a>
+, <a class="el" href="class_grpc_1_1_call.html#a1e427a3545ad6116b06788ac453a8503">Grpc\Call</a>
+, <a class="el" href="class_grpc_1_1_channel.html#aa9cf4f79b071b277c297cbd2da31aff2">Grpc\Channel</a>
+, <a class="el" href="class_grpc_1_1_server.html#a109c078b8e6718a1ed777f60cb4bc958">Grpc\Server</a>
+, <a class="el" href="class_grpc_1_1_timeval.html#a0923f66b9d8b0250737922c2114cf1df">Grpc\Timeval</a>
+</li>
+<li>_bidiRequest()
+: <a class="el" href="class_grpc_1_1_base_stub.html#a06273f329dc2e0086c61f6534288277b">Grpc\BaseStub</a>
+</li>
+<li>_clientStreamRequest()
+: <a class="el" href="class_grpc_1_1_base_stub.html#acc4e0f5775d36cbed3ebdebd0491835e">Grpc\BaseStub</a>
+</li>
+<li>_deserializeResponse()
+: <a class="el" href="class_grpc_1_1_abstract_call.html#a413e87bcf0475cd8c627fd16919fda98">Grpc\AbstractCall</a>
+</li>
+<li>_serializeMessage()
+: <a class="el" href="class_grpc_1_1_abstract_call.html#ac6b4a554e5be5fd57ee05610e25d4d05">Grpc\AbstractCall</a>
+</li>
+<li>_serverStreamRequest()
+: <a class="el" href="class_grpc_1_1_base_stub.html#a5e798fc84d42462dce6a8e38dcc005a3">Grpc\BaseStub</a>
+</li>
+<li>_simpleRequest()
+: <a class="el" href="class_grpc_1_1_base_stub.html#a3a70a435fb6cbee2456386507a3a9533">Grpc\BaseStub</a>
+</li>
+</ul>
+
+
+<h3><a id="index_a"></a>- a -</h3><ul>
+<li>add()
+: <a class="el" href="class_grpc_1_1_timeval.html#ac99ca9206e9fe2f7d8b5777aa91922c7">Grpc\Timeval</a>
+</li>
+<li>addHttp2Port()
+: <a class="el" href="class_grpc_1_1_server.html#a5b20e4fe60663ff1cdb7e30f1995e31b">Grpc\Server</a>
+</li>
+<li>addSecureHttp2Port()
+: <a class="el" href="class_grpc_1_1_server.html#a3b3120398662e298719de06716909dcd">Grpc\Server</a>
+</li>
+</ul>
+
+
+<h3><a id="index_b"></a>- b -</h3><ul>
+<li>BidiStreamingCall()
+: <a class="el" href="interface_grpc_1_1_call_invoker.html#a1694c3b49f2b5b9426d362fdb674aa6b">Grpc\CallInvoker</a>
+, <a class="el" href="class_grpc_1_1_default_call_invoker.html#a426eca19248c6f6853fd70ecdb5ccdfe">Grpc\DefaultCallInvoker</a>
+</li>
+</ul>
+
+
+<h3><a id="index_c"></a>- c -</h3><ul>
+<li>cancel()
+: <a class="el" href="class_grpc_1_1_abstract_call.html#a088115c12c3af171fe7e99078595d6c0">Grpc\AbstractCall</a>
+, <a class="el" href="class_grpc_1_1_call.html#afc7c962d3288c3483ea4ce6ed1cfe9f7">Grpc\Call</a>
+</li>
+<li>ClientStreamingCall()
+: <a class="el" href="interface_grpc_1_1_call_invoker.html#aa661021486adc62df778e8bca4e55eae">Grpc\CallInvoker</a>
+, <a class="el" href="class_grpc_1_1_default_call_invoker.html#acf29c012585ed124e6341cc787080ab4">Grpc\DefaultCallInvoker</a>
+</li>
+<li>close()
+: <a class="el" href="class_grpc_1_1_base_stub.html#a13ca38aea857a61f57019228f0b6f2bc">Grpc\BaseStub</a>
+, <a class="el" href="class_grpc_1_1_channel.html#a7475fd9110ae535b303cb37f8b217356">Grpc\Channel</a>
+</li>
+<li>compare()
+: <a class="el" href="class_grpc_1_1_timeval.html#ae88d485b702a5711bb779462e0f3890c">Grpc\Timeval</a>
+</li>
+<li>createChannelFactory()
+: <a class="el" href="interface_grpc_1_1_call_invoker.html#a7f33ab1a5af0bebffc7ec8cb3dfd5ac3">Grpc\CallInvoker</a>
+, <a class="el" href="class_grpc_1_1_default_call_invoker.html#a2a957d3655f28d85eb389b69a19f21c3">Grpc\DefaultCallInvoker</a>
+</li>
+<li>createComposite()
+: <a class="el" href="class_grpc_1_1_call_credentials.html#a3fba3eaacbc05e4f8aff03d77e591eaf">Grpc\CallCredentials</a>
+, <a class="el" href="class_grpc_1_1_channel_credentials.html#ab86aca4055799eaa2eed315fa2446944">Grpc\ChannelCredentials</a>
+</li>
+<li>createDefault()
+: <a class="el" href="class_grpc_1_1_channel_credentials.html#ae6cfccd4ab1f09fc3e326e4cc98c0507">Grpc\ChannelCredentials</a>
+</li>
+<li>createFromPlugin()
+: <a class="el" href="class_grpc_1_1_call_credentials.html#a1a1bbc0082e41f40873d9c3a97574bed">Grpc\CallCredentials</a>
+</li>
+<li>createInsecure()
+: <a class="el" href="class_grpc_1_1_channel_credentials.html#ab8ca6b64ea261b0c9344878b2348f320">Grpc\ChannelCredentials</a>
+</li>
+<li>createSsl()
+: <a class="el" href="class_grpc_1_1_channel_credentials.html#a5f8365f36d4b11101039e86811571203">Grpc\ChannelCredentials</a>
+, <a class="el" href="class_grpc_1_1_server_credentials.html#a989cd8014095723815535effc0d8c052">Grpc\ServerCredentials</a>
+</li>
+</ul>
+
+
+<h3><a id="index_g"></a>- g -</h3><ul>
+<li>getConnectivityState()
+: <a class="el" href="class_grpc_1_1_base_stub.html#a808c89a725b15d850fa2096cd6bd104d">Grpc\BaseStub</a>
+, <a class="el" href="class_grpc_1_1_channel.html#a64f6c766e8d06e6d78c01c37de28f8d7">Grpc\Channel</a>
+</li>
+<li>getDefaultChannel()
+: <a class="el" href="class_grpc_1_1_base_stub.html#a35a01a2eeff8d1f90939c361729f2396">Grpc\BaseStub</a>
+</li>
+<li>getMetadata()
+: <a class="el" href="class_grpc_1_1_abstract_call.html#ac5d4f130fc35450d4a5b0bfd0a918ff4">Grpc\AbstractCall</a>
+, <a class="el" href="class_grpc_1_1_server_streaming_call.html#a449205dcd3a5fed75f736ff2d2cc6e89">Grpc\ServerStreamingCall</a>
+, <a class="el" href="class_grpc_1_1_unary_call.html#ae65d18a70f9cee4505283b19d235360c">Grpc\UnaryCall</a>
+</li>
+<li>getPeer()
+: <a class="el" href="class_grpc_1_1_abstract_call.html#a188fc7298f9b52fb0eee7d3901281cdc">Grpc\AbstractCall</a>
+, <a class="el" href="class_grpc_1_1_call.html#ab6aa5fa913c3175b4c029e372112a777">Grpc\Call</a>
+</li>
+<li>getStatus()
+: <a class="el" href="class_grpc_1_1_bidi_streaming_call.html#af6f30cbdc8242894670b2e065667fd26">Grpc\BidiStreamingCall</a>
+, <a class="el" href="class_grpc_1_1_server_streaming_call.html#ab8a6f6298c96b20c5e5c825df17017cf">Grpc\ServerStreamingCall</a>
+</li>
+<li>getTarget()
+: <a class="el" href="class_grpc_1_1_base_stub.html#ae2b85e451fac182cfc57b63c39d7e59a">Grpc\BaseStub</a>
+, <a class="el" href="class_grpc_1_1_channel.html#afce31d39c37f42d29cae7c5fbd5279d9">Grpc\Channel</a>
+</li>
+<li>getTrailingMetadata()
+: <a class="el" href="class_grpc_1_1_abstract_call.html#a8de5e451ba9a414d7a58a7d7c5fcc764">Grpc\AbstractCall</a>
+</li>
+</ul>
+
+
+<h3><a id="index_h"></a>- h -</h3><ul>
+<li>handle()
+: <a class="el" href="class_grpc_1_1_rpc_server.html#afaf6bebe4ae34481869eedfff7e9c573">Grpc\RpcServer</a>
+</li>
+</ul>
+
+
+<h3><a id="index_i"></a>- i -</h3><ul>
+<li>infFuture()
+: <a class="el" href="class_grpc_1_1_timeval.html#a1cabcbffb6869a6cf083b102baabf62b">Grpc\Timeval</a>
+</li>
+<li>infPast()
+: <a class="el" href="class_grpc_1_1_timeval.html#a14fa120d255f29fbeb37958b53385466">Grpc\Timeval</a>
+</li>
+<li>intercept()
+: <a class="el" href="class_grpc_1_1_interceptor.html#afcc5cdc7a13e5f36a8aed380a132f701">Grpc\Interceptor</a>
+</li>
+<li>interceptStreamStream()
+: <a class="el" href="class_grpc_1_1_interceptor.html#a4c6b68d9d0a4c7f26b838cee67de9fba">Grpc\Interceptor</a>
+</li>
+<li>interceptStreamUnary()
+: <a class="el" href="class_grpc_1_1_interceptor.html#a795ddc43e1701df83b01731d7cbd6b04">Grpc\Interceptor</a>
+</li>
+<li>interceptUnaryStream()
+: <a class="el" href="class_grpc_1_1_interceptor.html#a209c18987ef9abed720b658b803bb1cb">Grpc\Interceptor</a>
+</li>
+<li>interceptUnaryUnary()
+: <a class="el" href="class_grpc_1_1_interceptor.html#aec9c69861997289db3efd2abb5d0f58c">Grpc\Interceptor</a>
+</li>
+<li>invalidateDefaultRootsPem()
+: <a class="el" href="class_grpc_1_1_channel_credentials.html#aeb985b18bdb11939991e988f717c801a">Grpc\ChannelCredentials</a>
+</li>
+<li>isDefaultRootsPemSet()
+: <a class="el" href="class_grpc_1_1_channel_credentials.html#af9f1e5522ce2767c297e46847ef5fff4">Grpc\ChannelCredentials</a>
+</li>
+</ul>
+
+
+<h3><a id="index_n"></a>- n -</h3><ul>
+<li>now()
+: <a class="el" href="class_grpc_1_1_timeval.html#a8df14900363bce541340f81eff797d05">Grpc\Timeval</a>
+</li>
+</ul>
+
+
+<h3><a id="index_r"></a>- r -</h3><ul>
+<li>read()
+: <a class="el" href="class_grpc_1_1_bidi_streaming_call.html#aeb056a807c6ef6f7a75bac639d325e44">Grpc\BidiStreamingCall</a>
+</li>
+<li>requestCall()
+: <a class="el" href="class_grpc_1_1_server.html#a90ada396f37c675d70b43d4f96afe334">Grpc\Server</a>
+</li>
+<li>responses()
+: <a class="el" href="class_grpc_1_1_server_streaming_call.html#a85965dccc4da15b5549508881244c4d5">Grpc\ServerStreamingCall</a>
+</li>
+<li>run()
+: <a class="el" href="class_grpc_1_1_rpc_server.html#a6376eda9f614e1c61715ebc0ae3ca746">Grpc\RpcServer</a>
+</li>
+</ul>
+
+
+<h3><a id="index_s"></a>- s -</h3><ul>
+<li>sendOkResponse()
+: <a class="el" href="class_grpc_1_1_rpc_server.html#a0ac7dbf6a7d3b5512252605c1c9e2332">Grpc\RpcServer</a>
+</li>
+<li>ServerStreamingCall()
+: <a class="el" href="interface_grpc_1_1_call_invoker.html#a5aa48bd2ba970ffb6802d81f4864ae65">Grpc\CallInvoker</a>
+, <a class="el" href="class_grpc_1_1_default_call_invoker.html#a52b1905060f79ea1ace3fcefb7a1a571">Grpc\DefaultCallInvoker</a>
+</li>
+<li>setCallCredentials()
+: <a class="el" href="class_grpc_1_1_abstract_call.html#a88c9af5ba3c7ede0dc5342363af5e9a2">Grpc\AbstractCall</a>
+</li>
+<li>setCredentials()
+: <a class="el" href="class_grpc_1_1_call.html#a547de08c2c0712561250ff01c32a9b90">Grpc\Call</a>
+</li>
+<li>setDefaultRootsPem()
+: <a class="el" href="class_grpc_1_1_channel_credentials.html#aa36260c02be6eb2f7d141dcbc508ddcf">Grpc\ChannelCredentials</a>
+</li>
+<li>similar()
+: <a class="el" href="class_grpc_1_1_timeval.html#a6bc3609d25c19f9297749781efd1071e">Grpc\Timeval</a>
+</li>
+<li>sleepUntil()
+: <a class="el" href="class_grpc_1_1_timeval.html#aad3080f912ffb1cac40a65ddb42940d2">Grpc\Timeval</a>
+</li>
+<li>start()
+: <a class="el" href="class_grpc_1_1_bidi_streaming_call.html#a0cf626864322067138fcf627a17cc699">Grpc\BidiStreamingCall</a>
+, <a class="el" href="class_grpc_1_1_client_streaming_call.html#a3e7920444f1893309f88896d6448fb67">Grpc\ClientStreamingCall</a>
+, <a class="el" href="class_grpc_1_1_server.html#a3c2935d3be77ea9902eaf2e20e3422b5">Grpc\Server</a>
+, <a class="el" href="class_grpc_1_1_server_streaming_call.html#a7043af7311899487e5eef51b24913d81">Grpc\ServerStreamingCall</a>
+, <a class="el" href="class_grpc_1_1_unary_call.html#a08ec57a768664dc428637bdf55742ca0">Grpc\UnaryCall</a>
+</li>
+<li>startBatch()
+: <a class="el" href="class_grpc_1_1_call.html#a0026968f6868365e3ba910f5b30416c5">Grpc\Call</a>
+</li>
+<li>subtract()
+: <a class="el" href="class_grpc_1_1_timeval.html#ac9ad3de83213183bc51f9ff9c0036f7c">Grpc\Timeval</a>
+</li>
+</ul>
+
+
+<h3><a id="index_u"></a>- u -</h3><ul>
+<li>UnaryCall()
+: <a class="el" href="interface_grpc_1_1_call_invoker.html#a7fe706e87132401e69146f1ee79c47a4">Grpc\CallInvoker</a>
+, <a class="el" href="class_grpc_1_1_default_call_invoker.html#aeb68964a5eb77fdd8132d1bcdcd684ec">Grpc\DefaultCallInvoker</a>
+</li>
+</ul>
+
+
+<h3><a id="index_w"></a>- w -</h3><ul>
+<li>wait()
+: <a class="el" href="class_grpc_1_1_client_streaming_call.html#addc05660c5b52390483babae9630b0fb">Grpc\ClientStreamingCall</a>
+, <a class="el" href="class_grpc_1_1_unary_call.html#a7947c58bacabc0267c79de33277440c5">Grpc\UnaryCall</a>
+</li>
+<li>waitForReady()
+: <a class="el" href="class_grpc_1_1_base_stub.html#a78f84743a824f0eb3087dcb0fb8d0d41">Grpc\BaseStub</a>
+</li>
+<li>watchConnectivityState()
+: <a class="el" href="class_grpc_1_1_channel.html#a2ef0546000edb6aba1f8e0233a75b10d">Grpc\Channel</a>
+</li>
+<li>write()
+: <a class="el" href="class_grpc_1_1_bidi_streaming_call.html#ad68d6aa748fa9980aa5e985da853bd74">Grpc\BidiStreamingCall</a>
+, <a class="el" href="class_grpc_1_1_client_streaming_call.html#ae052b490ba4651978238a3dd15e9e73d">Grpc\ClientStreamingCall</a>
+</li>
+<li>writesDone()
+: <a class="el" href="class_grpc_1_1_bidi_streaming_call.html#afac63b79bbf4ed6664599c2433bd159e">Grpc\BidiStreamingCall</a>
+</li>
+</ul>
+
+
+<h3><a id="index_z"></a>- z -</h3><ul>
+<li>zero()
+: <a class="el" href="class_grpc_1_1_timeval.html#ac46725245b0b70d10c324e9b97dd9829">Grpc\Timeval</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 91 - 0
php/functions_vars.html

@@ -0,0 +1,91 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Data Fields - Variables</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;<ul>
+<li>$call
+: <a class="el" href="class_grpc_1_1_abstract_call.html#a722dd807b08d990d3f9816202627d701">Grpc\AbstractCall</a>
+, <a class="el" href="class_grpc_1_1_rpc_server.html#a7ea2734edfe8b09681972bf5e5d7a6f0">Grpc\RpcServer</a>
+</li>
+<li>$deserialize
+: <a class="el" href="class_grpc_1_1_abstract_call.html#aa10e9fd56d64bc2167bb65129e212c9b">Grpc\AbstractCall</a>
+</li>
+<li>$metadata
+: <a class="el" href="class_grpc_1_1_abstract_call.html#aabc4e33a97415326e10596675f790328">Grpc\AbstractCall</a>
+</li>
+<li>$paths_map
+: <a class="el" href="class_grpc_1_1_rpc_server.html#a9c6119bd94888c4d6202a1205c296794">Grpc\RpcServer</a>
+</li>
+<li>$trailing_metadata
+: <a class="el" href="class_grpc_1_1_abstract_call.html#a35264eb899b5c6d320433741202924d2">Grpc\AbstractCall</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 77 - 0
php/g__stands__for_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/g_stands_for.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/g_stands_for.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 137 - 0
php/graph_legend.html

@@ -0,0 +1,137 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Graph Legend</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Graph Legend</div>  </div>
+</div><!--header-->
+<div class="contents">
+<p>This page explains how to interpret the graphs that are generated by doxygen.</p>
+<p>Consider the following example: </p><div class="fragment"><div class="line"><span class="comment">/*! Invisible class because of truncation */</span></div>
+<div class="line"><span class="keyword">class </span>Invisible { };</div>
+<div class="line"><span class="comment"></span> </div>
+<div class="line"><span class="comment">/*! Truncated class, inheritance relation is hidden */</span></div>
+<div class="line"><span class="keyword">class </span>Truncated : <span class="keyword">public</span> Invisible { };</div>
+<div class="line"> </div>
+<div class="line"><span class="comment">/* Class not documented with doxygen comments */</span></div>
+<div class="line"><span class="keyword">class </span>Undocumented { };</div>
+<div class="line"><span class="comment"></span> </div>
+<div class="line"><span class="comment">/*! Class that is inherited using public inheritance */</span></div>
+<div class="line"><span class="keyword">class </span>PublicBase : <span class="keyword">public</span> Truncated { };</div>
+<div class="line"><span class="comment"></span> </div>
+<div class="line"><span class="comment">/*! A template class */</span></div>
+<div class="line"><span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">class </span>Templ { };</div>
+<div class="line"><span class="comment"></span> </div>
+<div class="line"><span class="comment">/*! Class that is inherited using protected inheritance */</span></div>
+<div class="line"><span class="keyword">class </span>ProtectedBase { };</div>
+<div class="line"><span class="comment"></span> </div>
+<div class="line"><span class="comment">/*! Class that is inherited using private inheritance */</span></div>
+<div class="line"><span class="keyword">class </span>PrivateBase { };</div>
+<div class="line"><span class="comment"></span> </div>
+<div class="line"><span class="comment">/*! Class that is used by the Inherited class */</span></div>
+<div class="line"><span class="keyword">class </span>Used { };</div>
+<div class="line"><span class="comment"></span> </div>
+<div class="line"><span class="comment">/*! Super class that inherits a number of other classes */</span></div>
+<div class="line"><span class="keyword">class </span>Inherited : <span class="keyword">public</span> PublicBase,</div>
+<div class="line">                  <span class="keyword">protected</span> ProtectedBase,</div>
+<div class="line">                  <span class="keyword">private</span> PrivateBase,</div>
+<div class="line">                  <span class="keyword">public</span> Undocumented,</div>
+<div class="line">                  <span class="keyword">public</span> Templ&lt;int&gt;</div>
+<div class="line">{</div>
+<div class="line">  <span class="keyword">private</span>:</div>
+<div class="line">    Used *m_usedClass;</div>
+<div class="line">};</div>
+</div><!-- fragment --><p> This will result in the following graph:</p>
+<center><img src="graph_legend.png" alt="" class="inline"/></center><p>The boxes in the above graph have the following meaning: </p>
+<ul>
+<li>
+A filled gray box represents the struct or class for which the graph is generated. </li>
+<li>
+A box with a black border denotes a documented struct or class. </li>
+<li>
+A box with a gray border denotes an undocumented struct or class. </li>
+<li>
+A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries. </li>
+</ul>
+<p>The arrows have the following meaning: </p>
+<ul>
+<li>
+A dark blue arrow is used to visualize a public inheritance relation between two classes. </li>
+<li>
+A dark green arrow is used for protected inheritance. </li>
+<li>
+A dark red arrow is used for private inheritance. </li>
+<li>
+A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible. </li>
+<li>
+A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance. </li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 1 - 0
php/graph_legend.md5

@@ -0,0 +1 @@
+f51bf6e9a10430aafef59831b08dcbfe

二进制
php/graph_legend.png


+ 77 - 0
php/grpc__release__schedule_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/grpc_release_schedule.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/grpc_release_schedule.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 77 - 0
php/grpc__xds__features_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/grpc_xds_features.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/grpc_xds_features.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 77 - 0
php/health-checking_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/health-checking.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/health-checking.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 98 - 0
php/hierarchy.html

@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Class Hierarchy</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Class Hierarchy</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_abstract_call.html" target="_self">Grpc\AbstractCall</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_bidi_streaming_call.html" target="_self">Grpc\BidiStreamingCall</a></td><td class="desc">Represents an active call that allows for sending and receiving messages in streams in any order </td></tr>
+<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_client_streaming_call.html" target="_self">Grpc\ClientStreamingCall</a></td><td class="desc">Represents an active call that sends a stream of messages and then gets a single response </td></tr>
+<tr id="row_0_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_server_streaming_call.html" target="_self">Grpc\ServerStreamingCall</a></td><td class="desc">Represents an active call that sends a single message and then gets a stream of responses </td></tr>
+<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_unary_call.html" target="_self">Grpc\UnaryCall</a></td><td class="desc">Represents an active call that sends a single message and then gets a single response </td></tr>
+<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_base_stub.html" target="_self">Grpc\BaseStub</a></td><td class="desc">Base class for generated client stubs </td></tr>
+<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_call.html" target="_self">Grpc\Call</a></td><td class="desc">Class <a class="el" href="class_grpc_1_1_call.html" title="class Call">Call</a> </td></tr>
+<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_call_credentials.html" target="_self">Grpc\CallCredentials</a></td><td class="desc">Class <a class="el" href="class_grpc_1_1_call_credentials.html" title="class CallCredentials">CallCredentials</a> </td></tr>
+<tr id="row_4_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_4_" class="arrow" onclick="toggleFolder('4_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="interface_grpc_1_1_call_invoker.html" target="_self">Grpc\CallInvoker</a></td><td class="desc"><a class="el" href="interface_grpc_1_1_call_invoker.html" title="CallInvoker is used to pass the self defined channel into the stub, while intercept each RPC with the...">CallInvoker</a> is used to pass the self defined channel into the stub, while intercept each RPC with the channel accessible </td></tr>
+<tr id="row_4_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_default_call_invoker.html" target="_self">Grpc\DefaultCallInvoker</a></td><td class="desc">Default call invoker in the gRPC stub </td></tr>
+<tr id="row_5_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_channel.html" target="_self">Grpc\Channel</a></td><td class="desc">Class <a class="el" href="class_grpc_1_1_channel.html" title="class Channel">Channel</a> </td></tr>
+<tr id="row_6_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_channel_credentials.html" target="_self">Grpc\ChannelCredentials</a></td><td class="desc">Class <a class="el" href="class_grpc_1_1_channel_credentials.html" title="class ChannelCredentials">ChannelCredentials</a> </td></tr>
+<tr id="row_7_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_interceptor.html" target="_self">Grpc\Interceptor</a></td><td class="desc">Represents an interceptor that intercept RPC invocations before call starts </td></tr>
+<tr id="row_8_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_8_" class="arrow" onclick="toggleFolder('8_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_server.html" target="_self">Grpc\Server</a></td><td class="desc">Class <a class="el" href="class_grpc_1_1_server.html" title="class Server">Server</a> </td></tr>
+<tr id="row_8_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_rpc_server.html" target="_self">Grpc\RpcServer</a></td><td class="desc"></td></tr>
+<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_server_credentials.html" target="_self">Grpc\ServerCredentials</a></td><td class="desc">Class <a class="el" href="class_grpc_1_1_server_credentials.html" title="class ServerCredentials">ServerCredentials</a> </td></tr>
+<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_grpc_1_1_timeval.html" target="_self">Grpc\Timeval</a></td><td class="desc">Class <a class="el" href="class_grpc_1_1_timeval.html" title="class Timeval">Timeval</a> </td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 77 - 0
php/http-grpc-status-mapping_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/http-grpc-status-mapping.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/http-grpc-status-mapping.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 77 - 0
php/http2-interop-test-descriptions_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/http2-interop-test-descriptions.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/http2-interop-test-descriptions.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 69 - 89
php/index.html

@@ -1,97 +1,77 @@
-<!DOCTYPE html>
-<html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <head>
-	<meta charset="utf-8">
-
-	<title>Overview</title>
-
-	<link rel="stylesheet" href="resources/style.css?e99947befd7bf673c6b43ff75e9e0f170c88a60e">
-
-<script type="text/javascript"> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-60127042-1', 'auto'); ga('send', 'pageview'); </script></head>
-
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Main Page</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
 <body>
 <body>
-<div id="left">
-	<div id="menu">
-<span>Overview</span>
-
-		<div id="groups">
-				<h3>Namespaces</h3>
-			<ul>
-				<li>
-					<a href="namespace-Grpc.html">
-						Grpc					</a>
-
-						</li>
-			</ul>
-		</div>
-
-		<hr>
-
-
-		<div id="elements">
-			<h3>Classes</h3>
-			<ul>
-				<li><a href="class-Grpc.AbstractCall.html">Grpc\AbstractCall</a></li>
-				<li><a href="class-Grpc.BaseStub.html">Grpc\BaseStub</a></li>
-				<li><a href="class-Grpc.BidiStreamingCall.html">Grpc\BidiStreamingCall</a></li>
-				<li><a href="class-Grpc.ClientStreamingCall.html">Grpc\ClientStreamingCall</a></li>
-				<li><a href="class-Grpc.ServerStreamingCall.html">Grpc\ServerStreamingCall</a></li>
-				<li><a href="class-Grpc.UnaryCall.html">Grpc\UnaryCall</a></li>
-			</ul>
-
-
-
-
-
-		</div>
-	</div>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
 </div>
 </div>
-
-<div id="splitter"></div>
-
-<div id="right">
-<div id="rightInner">
-	<form id="search">
-		<input type="hidden" name="cx" value="">
-		<input type="hidden" name="ie" value="UTF-8">
-		<input type="text" name="q" class="text" placeholder="Search" autofocus>
-	</form>
-
-	<div id="navigation">
-		<ul>
-			<li class="active">
-<span>Overview</span>			</li>
-			<li>
-<span>Namespace</span>			</li>
-			<li>
-<span>Class</span>			</li>
-		</ul>
-		<ul>
-		</ul>
-		<ul>
-		</ul>
-	</div>
-
-<div id="content">
-	<h1>Overview</h1>
-
-
-	<table class="summary" id="namespaces">
-		<caption>Namespaces summary</caption>
-			<tr>
-				<td class="name"><a href="namespace-Grpc.html">Grpc</a></td>
-			</tr>
-	</table>
-
-
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
 </div>
 </div>
 
 
-	<div id="footer">
-		 API documentation generated by <a href="http://apigen.org">ApiGen</a>
-	</div>
-</div>
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
 </div>
 </div>
-<script src="resources/combined.js?cd021bc814832c24a7cec5319ea03335bfba1caf"></script>
-<script src="elementlist.js?cf93b70b1d193f97eb89fd1473f4f7ebb98e18eb"></script>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">GRPC PHP Documentation</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
 </body>
 </body>
 </html>
 </html>

+ 305 - 0
php/interface_grpc_1_1_call_invoker.html

@@ -0,0 +1,305 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Grpc\CallInvoker Interface Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespace_grpc.html">Grpc</a></li><li class="navelem"><a class="el" href="interface_grpc_1_1_call_invoker.html">CallInvoker</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">Grpc\CallInvoker Interface Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a class="el" href="interface_grpc_1_1_call_invoker.html" title="CallInvoker is used to pass the self defined channel into the stub, while intercept each RPC with the...">CallInvoker</a> is used to pass the self defined channel into the stub, while intercept each RPC with the channel accessible.  
+ <a href="interface_grpc_1_1_call_invoker.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a7f33ab1a5af0bebffc7ec8cb3dfd5ac3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_grpc_1_1_call_invoker.html#a7f33ab1a5af0bebffc7ec8cb3dfd5ac3">createChannelFactory</a> ($hostname, $opts)</td></tr>
+<tr class="separator:a7f33ab1a5af0bebffc7ec8cb3dfd5ac3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7fe706e87132401e69146f1ee79c47a4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_grpc_1_1_call_invoker.html#a7fe706e87132401e69146f1ee79c47a4">UnaryCall</a> ($channel, $method, $deserialize, $options)</td></tr>
+<tr class="separator:a7fe706e87132401e69146f1ee79c47a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa661021486adc62df778e8bca4e55eae"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_grpc_1_1_call_invoker.html#aa661021486adc62df778e8bca4e55eae">ClientStreamingCall</a> ($channel, $method, $deserialize, $options)</td></tr>
+<tr class="separator:aa661021486adc62df778e8bca4e55eae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5aa48bd2ba970ffb6802d81f4864ae65"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_grpc_1_1_call_invoker.html#a5aa48bd2ba970ffb6802d81f4864ae65">ServerStreamingCall</a> ($channel, $method, $deserialize, $options)</td></tr>
+<tr class="separator:a5aa48bd2ba970ffb6802d81f4864ae65"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1694c3b49f2b5b9426d362fdb674aa6b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_grpc_1_1_call_invoker.html#a1694c3b49f2b5b9426d362fdb674aa6b">BidiStreamingCall</a> ($channel, $method, $deserialize, $options)</td></tr>
+<tr class="separator:a1694c3b49f2b5b9426d362fdb674aa6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="interface_grpc_1_1_call_invoker.html" title="CallInvoker is used to pass the self defined channel into the stub, while intercept each RPC with the...">CallInvoker</a> is used to pass the self defined channel into the stub, while intercept each RPC with the channel accessible. </p>
+<p>THIS IS AN EXPERIMENTAL API. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a1694c3b49f2b5b9426d362fdb674aa6b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1694c3b49f2b5b9426d362fdb674aa6b">&#9670;&nbsp;</a></span>BidiStreamingCall()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\CallInvoker::BidiStreamingCall </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$channel</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$method</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$deserialize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$options</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Implemented in <a class="el" href="class_grpc_1_1_default_call_invoker.html#a426eca19248c6f6853fd70ecdb5ccdfe">Grpc\DefaultCallInvoker</a>.</p>
+
+</div>
+</div>
+<a id="aa661021486adc62df778e8bca4e55eae"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa661021486adc62df778e8bca4e55eae">&#9670;&nbsp;</a></span>ClientStreamingCall()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\CallInvoker::ClientStreamingCall </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$channel</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$method</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$deserialize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$options</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Implemented in <a class="el" href="class_grpc_1_1_default_call_invoker.html#acf29c012585ed124e6341cc787080ab4">Grpc\DefaultCallInvoker</a>.</p>
+
+</div>
+</div>
+<a id="a7f33ab1a5af0bebffc7ec8cb3dfd5ac3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7f33ab1a5af0bebffc7ec8cb3dfd5ac3">&#9670;&nbsp;</a></span>createChannelFactory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\CallInvoker::createChannelFactory </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$hostname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$opts</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Implemented in <a class="el" href="class_grpc_1_1_default_call_invoker.html#a2a957d3655f28d85eb389b69a19f21c3">Grpc\DefaultCallInvoker</a>.</p>
+
+</div>
+</div>
+<a id="a5aa48bd2ba970ffb6802d81f4864ae65"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5aa48bd2ba970ffb6802d81f4864ae65">&#9670;&nbsp;</a></span>ServerStreamingCall()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\CallInvoker::ServerStreamingCall </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$channel</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$method</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$deserialize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$options</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Implemented in <a class="el" href="class_grpc_1_1_default_call_invoker.html#a52b1905060f79ea1ace3fcefb7a1a571">Grpc\DefaultCallInvoker</a>.</p>
+
+</div>
+</div>
+<a id="a7fe706e87132401e69146f1ee79c47a4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7fe706e87132401e69146f1ee79c47a4">&#9670;&nbsp;</a></span>UnaryCall()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">Grpc\CallInvoker::UnaryCall </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$channel</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$method</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$deserialize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>$options</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Implemented in <a class="el" href="class_grpc_1_1_default_call_invoker.html#aeb68964a5eb77fdd8132d1bcdcd684ec">Grpc\DefaultCallInvoker</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this interface was generated from the following file:<ul>
+<li>src/php/lib/Grpc/<a class="el" href="_call_invoker_8php.html">CallInvoker.php</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 77 - 0
php/internationalization_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/internationalization.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/internationalization.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 77 - 0
php/interop-test-descriptions_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/interop-test-descriptions.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/interop-test-descriptions.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

文件差异内容过多而无法显示
+ 1 - 0
php/jquery.js


+ 77 - 0
php/keepalive_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/keepalive.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/keepalive.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 77 - 0
php/load-balancing_8md.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: doc/load-balancing.md File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">doc/load-balancing.md File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 273 - 0
php/md_doc__p_r_o_t_o_c_o_l-_h_t_t_p2.html

@@ -0,0 +1,273 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: gRPC over HTTP2</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="PageDoc"><div class="header">
+  <div class="headertitle">
+<div class="title">gRPC over HTTP2 </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><h1><a class="anchor" id="autotoc_md1"></a>
+Introduction</h1>
+<p>This document serves as a detailed description for an implementation of gRPC carried over <a href="https://tools.ietf.org/html/rfc7540">HTTP2 framing</a>. It assumes familiarity with the HTTP2 specification.</p>
+<h1><a class="anchor" id="autotoc_md2"></a>
+Protocol</h1>
+<p>Production rules are using <a href="http://tools.ietf.org/html/rfc5234">ABNF syntax</a>.</p>
+<h2><a class="anchor" id="autotoc_md3"></a>
+Outline</h2>
+<p>The following is the general sequence of message atoms in a GRPC request &amp; response message stream</p>
+<ul>
+<li>Request → Request-Headers *Length-Prefixed-Message EOS</li>
+<li>Response → (Response-Headers *Length-Prefixed-Message Trailers) / Trailers-Only</li>
+</ul>
+<h2><a class="anchor" id="autotoc_md4"></a>
+Requests</h2>
+<ul>
+<li>Request → Request-Headers *Length-Prefixed-Message EOS</li>
+</ul>
+<p>Request-Headers are delivered as HTTP2 headers in HEADERS + CONTINUATION frames.</p>
+<ul>
+<li><b>Request-Headers</b> → Call-Definition *Custom-Metadata</li>
+<li><b>Call-Definition</b> → Method Scheme Path TE [Authority] [Timeout] Content-Type [Message-Type] [Message-Encoding] [Message-Accept-Encoding] [User-Agent]</li>
+<li><b>Method</b> → ":method POST"</li>
+<li><b>Scheme</b> → ":scheme " ("http" / "https")</li>
+<li><b>Path</b> → ":path" "/" Service-Name "/" {<em>method name</em>} # But see note below.</li>
+<li><b>Service-Name</b> → {<em>IDL-specific service name</em>}</li>
+<li><b>Authority</b> → ":authority" {<em>virtual host name of authority</em>}</li>
+<li><b>TE</b> → "te" "trailers" # Used to detect incompatible proxies</li>
+<li><b>Timeout</b> → "grpc-timeout" TimeoutValue TimeoutUnit</li>
+<li><b>TimeoutValue</b> → {<em>positive integer as ASCII string of at most 8 digits</em>}</li>
+<li><b>TimeoutUnit</b> → Hour / Minute / Second / Millisecond / Microsecond / Nanosecond<ul>
+<li><b>Hour</b> → "H"</li>
+<li><b>Minute</b> → "M"</li>
+<li><b>Second</b> → "S"</li>
+<li><b>Millisecond</b> → "m"</li>
+<li><b>Microsecond</b> → "u"</li>
+<li><b>Nanosecond</b> → "n"</li>
+</ul>
+</li>
+<li><b>Content-Type</b> → "content-type" "application/grpc" [("+proto" / "+json" / {<em>custom</em>})]</li>
+<li><b>Content-Coding</b> → "identity" / "gzip" / "deflate" / "snappy" / {<em>custom</em>}</li>
+<li><a class="anchor" id="message-encoding"></a>**Message-Encoding** → "grpc-encoding" Content-Coding</li>
+<li><b>Message-Accept-Encoding</b> → "grpc-accept-encoding" Content-Coding *("," Content-Coding)</li>
+<li><b>User-Agent</b> → "user-agent" {<em>structured user-agent string</em>}</li>
+<li><b>Message-Type</b> → "grpc-message-type" {<em>type name for message schema</em>}</li>
+<li><b>Custom-Metadata</b> → Binary-Header / ASCII-Header</li>
+<li><b>Binary-Header</b> → {Header-Name "-bin" } {<em>base64 encoded value</em>}</li>
+<li><b>ASCII-Header</b> → Header-Name ASCII-Value</li>
+<li><b>Header-Name</b> → 1*( x30-39 / x61-7A / "\_" / "-" / ".") ; 0-9 a-z _ - .</li>
+<li><b>ASCII-Value</b> → 1*( x20-x7E ) ; space and printable ASCII</li>
+</ul>
+<p>HTTP2 requires that reserved headers, ones starting with ":" appear before all other headers. Additionally implementations should send <b>Timeout</b> immediately after the reserved headers and they should send the <b>Call-Definition</b> headers before sending <b>Custom-Metadata</b>.</p>
+<p><b>Path</b> is case-sensitive. Some gRPC implementations may allow the <b>Path</b> format shown above to be overridden, but this functionality is strongly discouraged. gRPC does not go out of its way to break users that are using this kind of override, but we do not actively support it, and some functionality (e.g., service config support) will not work when the path is not of the form shown above.</p>
+<p>If <b>Timeout</b> is omitted a server should assume an infinite timeout. Client implementations are free to send a default minimum timeout based on their deployment requirements.</p>
+<p>If <b>Content-Type</b> does not begin with "application/grpc", gRPC servers SHOULD respond with HTTP status of 415 (Unsupported Media Type). This will prevent other HTTP/2 clients from interpreting a gRPC error response, which uses status 200 (OK), as successful.</p>
+<p><b>Custom-Metadata</b> is an arbitrary set of key-value pairs defined by the application layer. Header names starting with "grpc-" but not listed here are reserved for future GRPC use and should not be used by applications as <b>Custom-Metadata</b>.</p>
+<p>Note that HTTP2 does not allow arbitrary octet sequences for header values so binary header values must be encoded using Base64 as per <a href="https://tools.ietf.org/html/rfc4648#section-4">https://tools.ietf.org/html/rfc4648#section-4</a>. Implementations MUST accept padded and un-padded values and should emit un-padded values. Applications define binary headers by having their names end with "-bin". Runtime libraries use this suffix to detect binary headers and properly apply base64 encoding &amp; decoding as headers are sent and received.</p>
+<p><b>Custom-Metadata</b> header order is not guaranteed to be preserved except for values with duplicate header names. Duplicate header names may have their values joined with "," as the delimiter and be considered semantically equivalent. Implementations must split **Binary-Header**s on "," before decoding the Base64-encoded values.</p>
+<p><b>ASCII-Value</b> should not have leading or trailing whitespace. If it contains leading or trailing whitespace, it may be stripped. The <b>ASCII-Value</b> character range defined is more strict than HTTP. Implementations must not error due to receiving an invalid <b>ASCII-Value</b> that's a valid <b>field-value</b> in HTTP, but the precise behavior is not strictly defined: they may throw the value away or accept the value. If accepted, care must be taken to make sure that the application is permitted to echo the value back as metadata. For example, if the metadata is provided to the application as a list in a request, the application should not trigger an error by providing that same list as the metadata in the response.</p>
+<p>Servers may limit the size of <b>Request-Headers</b>, with a default of 8 KiB suggested. Implementations are encouraged to compute total header size like HTTP/2's <code>SETTINGS_MAX_HEADER_LIST_SIZE</code>: the sum of all header fields, for each field the sum of the uncompressed field name and value lengths plus 32, with binary values' lengths being post-Base64.</p>
+<p>The repeated sequence of <b>Length-Prefixed-Message</b> items is delivered in DATA frames</p>
+<ul>
+<li><b>Length-Prefixed-Message</b> → Compressed-Flag Message-Length Message</li>
+<li><a class="anchor" id="compressed-flag"></a>**Compressed-Flag** → 0 / 1 # encoded as 1 byte unsigned integer</li>
+<li><b>Message-Length</b> → {<em>length of Message</em>} # encoded as 4 byte unsigned integer (big endian)</li>
+<li><b>Message</b> → *{binary octet}</li>
+</ul>
+<p>A <b>Compressed-Flag</b> value of 1 indicates that the binary octet sequence of <b>Message</b> is compressed using the mechanism declared by the <b>Message-Encoding</b> header. A value of 0 indicates that no encoding of <b>Message</b> bytes has occurred. Compression contexts are NOT maintained over message boundaries, implementations must create a new context for each message in the stream. If the <b>Message-Encoding</b> header is omitted then the <b>Compressed-Flag</b> must be 0.</p>
+<p>For requests, <b>EOS</b> (end-of-stream) is indicated by the presence of the END_STREAM flag on the last received DATA frame. In scenarios where the <b>Request</b> stream needs to be closed but no data remains to be sent implementations MUST send an empty DATA frame with this flag set.</p>
+<h2><a class="anchor" id="autotoc_md5"></a>
+Responses</h2>
+<ul>
+<li><b>Response</b> → (Response-Headers *Length-Prefixed-Message Trailers) / Trailers-Only</li>
+<li><b>Response-Headers</b> → HTTP-Status [Message-Encoding] [Message-Accept-Encoding] Content-Type *Custom-Metadata</li>
+<li><b>Trailers-Only</b> → HTTP-Status Content-Type Trailers</li>
+<li><b>Trailers</b> → Status [Status-Message] *Custom-Metadata</li>
+<li><b>HTTP-Status</b> → ":status 200"</li>
+<li><b>Status</b> → "grpc-status" 1*DIGIT ; 0-9</li>
+<li><b>Status-Message</b> → "grpc-message" Percent-Encoded</li>
+<li><b>Percent-Encoded</b> → 1*(Percent-Byte-Unencoded / Percent-Byte-Encoded)</li>
+<li><b>Percent-Byte-Unencoded</b> → 1*( x20-x24 / x26-x7E ) ; space and VCHAR, except %</li>
+<li><b>Percent-Byte-Encoded</b> → "%" 2HEXDIGIT ; 0-9 A-F</li>
+</ul>
+<p><b>Response-Headers</b> &amp; <b>Trailers-Only</b> are each delivered in a single HTTP2 HEADERS frame block. Most responses are expected to have both headers and trailers but <b>Trailers-Only</b> is permitted for calls that produce an immediate error. Status must be sent in <b>Trailers</b> even if the status code is OK.</p>
+<p>For responses end-of-stream is indicated by the presence of the END_STREAM flag on the last received HEADERS frame that carries <b>Trailers</b>.</p>
+<p>Implementations should expect broken deployments to send non-200 HTTP status codes in responses as well as a variety of non-GRPC content-types and to omit <b>Status</b> &amp; <b>Status-Message</b>. Implementations must synthesize a <b>Status</b> &amp; <b>Status-Message</b> to propagate to the application layer when this occurs.</p>
+<p>Clients may limit the size of <b>Response-Headers</b>, <b>Trailers</b>, and <b>Trailers-Only</b>, with a default of 8 KiB each suggested.</p>
+<p>The value portion of <b>Status</b> is a decimal-encoded integer as an ASCII string, without any leading zeros.</p>
+<p>The value portion of <b>Status-Message</b> is conceptually a Unicode string description of the error, physically encoded as UTF-8 followed by percent-encoding. Percent-encoding is specified in <a href="https://tools.ietf.org/html/rfc3986#section-2.1">RFC 3986 §2.1</a>, although the form used here has different restricted characters. When decoding invalid values, implementations MUST NOT error or throw away the message. At worst, the implementation can abort decoding the status message altogether such that the user would received the raw percent-encoded form. Alternatively, the implementation can decode valid portions while leaving broken %-encodings as-is or replacing them with a replacement character (e.g., '?' or the Unicode replacement character).</p>
+<h3><a class="anchor" id="autotoc_md6"></a>
+Example</h3>
+<p>Sample unary-call showing HTTP2 framing sequence</p>
+<p><b>Request</b></p>
+<div class="fragment"><div class="line">HEADERS (flags = END_HEADERS)</div>
+<div class="line">:method = POST</div>
+<div class="line">:scheme = http</div>
+<div class="line">:path = /google.pubsub.v2.PublisherService/CreateTopic</div>
+<div class="line">:authority = pubsub.googleapis.com</div>
+<div class="line">grpc-timeout = 1S</div>
+<div class="line">content-type = application/grpc+proto</div>
+<div class="line">grpc-encoding = gzip</div>
+<div class="line">authorization = Bearer y235.wef315yfh138vh31hv93hv8h3v</div>
+<div class="line"> </div>
+<div class="line">DATA (flags = END_STREAM)</div>
+<div class="line">&lt;Length-Prefixed Message&gt;</div>
+</div><!-- fragment --><p><b>Response</b> </p><div class="fragment"><div class="line">HEADERS (flags = END_HEADERS)</div>
+<div class="line">:status = 200</div>
+<div class="line">grpc-encoding = gzip</div>
+<div class="line">content-type = application/grpc+proto</div>
+<div class="line"> </div>
+<div class="line">DATA</div>
+<div class="line">&lt;Length-Prefixed Message&gt;</div>
+<div class="line"> </div>
+<div class="line">HEADERS (flags = END_STREAM, END_HEADERS)</div>
+<div class="line">grpc-status = 0 # OK</div>
+<div class="line">trace-proto-bin = jher831yy13JHy3hc</div>
+</div><!-- fragment --><h3><a class="anchor" id="autotoc_md7"></a>
+User Agents</h3>
+<p>While the protocol does not require a user-agent to function it is recommended that clients provide a structured user-agent string that provides a basic description of the calling library, version &amp; platform to facilitate issue diagnosis in heterogeneous environments. The following structure is recommended to library developers </p><div class="fragment"><div class="line">User-Agent → &quot;grpc-&quot; Language ?(&quot;-&quot; Variant) &quot;/&quot; Version ?( &quot; (&quot;  *(AdditionalProperty &quot;;&quot;) &quot;)&quot; )</div>
+</div><!-- fragment --><p>E.g.</p>
+<div class="fragment"><div class="line">grpc-java/1.2.3</div>
+<div class="line">grpc-ruby/1.2.3</div>
+<div class="line">grpc-ruby-jruby/1.3.4</div>
+<div class="line">grpc-java-android/0.9.1 (gingerbread/1.2.4; nexus5; tmobile)</div>
+</div><!-- fragment --><h3><a class="anchor" id="autotoc_md8"></a>
+Idempotency and Retries</h3>
+<p>Unless explicitly defined to be, gRPC Calls are not assumed to be idempotent. Specifically:</p>
+<ul>
+<li>Calls that cannot be proven to have started will not be retried.</li>
+<li>There is no mechanism for duplicate suppression as it is not necessary.</li>
+<li>Calls that are marked as idempotent may be sent multiple times.</li>
+</ul>
+<h3><a class="anchor" id="autotoc_md9"></a>
+HTTP2 Transport Mapping</h3>
+<h4><a class="anchor" id="autotoc_md10"></a>
+Stream Identification</h4>
+<p>All GRPC calls need to specify an internal ID. We will use HTTP2 stream-ids as call identifiers in this scheme. NOTE: These ids are contextual to an open HTTP2 session and will not be unique within a given process that is handling more than one HTTP2 session nor can they be used as GUIDs.</p>
+<h4><a class="anchor" id="autotoc_md11"></a>
+Data Frames</h4>
+<p>DATA frame boundaries have no relation to <b>Length-Prefixed-Message</b> boundaries and implementations should make no assumptions about their alignment.</p>
+<h4><a class="anchor" id="autotoc_md12"></a>
+Errors</h4>
+<p>When an application or runtime error occurs during an RPC a <b>Status</b> and <b>Status-Message</b> are delivered in <b>Trailers</b>.</p>
+<p>In some cases it is possible that the framing of the message stream has become corrupt and the RPC runtime will choose to use an <b>RST_STREAM</b> frame to indicate this state to its peer. RPC runtime implementations should interpret RST_STREAM as immediate full-closure of the stream and should propagate an error up to the calling application layer.</p>
+<p>The following mapping from RST_STREAM error codes to GRPC error codes is applied.</p>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">HTTP2 Code </th><th class="markdownTableHeadNone">GRPC Code  </th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">NO_ERROR(0) </td><td class="markdownTableBodyNone">INTERNAL - An explicit GRPC status of OK should have been sent but this might be used to aggressively lameduck in some scenarios.  </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">PROTOCOL_ERROR(1) </td><td class="markdownTableBodyNone">INTERNAL  </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">INTERNAL_ERROR(2) </td><td class="markdownTableBodyNone">INTERNAL  </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">FLOW_CONTROL_ERROR(3) </td><td class="markdownTableBodyNone">INTERNAL  </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">SETTINGS_TIMEOUT(4) </td><td class="markdownTableBodyNone">INTERNAL  </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">STREAM_CLOSED </td><td class="markdownTableBodyNone">No mapping as there is no open stream to propagate to. Implementations should log.  </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">FRAME_SIZE_ERROR </td><td class="markdownTableBodyNone">INTERNAL  </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">REFUSED_STREAM </td><td class="markdownTableBodyNone">UNAVAILABLE - Indicates that no processing occurred and the request can be retried, possibly elsewhere.  </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">CANCEL(8) </td><td class="markdownTableBodyNone">Mapped to call cancellation when sent by a client.Mapped to CANCELLED when sent by a server. Note that servers should only use this mechanism when they need to cancel a call but the payload byte sequence is incomplete.  </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">COMPRESSION_ERROR </td><td class="markdownTableBodyNone">INTERNAL  </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">CONNECT_ERROR </td><td class="markdownTableBodyNone">INTERNAL  </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">ENHANCE_YOUR_CALM </td><td class="markdownTableBodyNone">RESOURCE_EXHAUSTED ...with additional error detail provided by runtime to indicate that the exhausted resource is bandwidth.  </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">INADEQUATE_SECURITY </td><td class="markdownTableBodyNone">PERMISSION_DENIED … with additional detail indicating that permission was denied as protocol is not secure enough for call.  </td></tr>
+</table>
+<h4><a class="anchor" id="autotoc_md13"></a>
+Security</h4>
+<p>The HTTP2 specification mandates the use of TLS 1.2 or higher when TLS is used with HTTP2. It also places some additional constraints on the allowed ciphers in deployments to avoid known-problems as well as requiring SNI support. It is also expected that HTTP2 will be used in conjunction with proprietary transport security mechanisms about which the specification can make no meaningful recommendations.</p>
+<h4><a class="anchor" id="autotoc_md14"></a>
+Connection Management</h4>
+<h5>GOAWAY Frame</h5>
+<p>Sent by servers to clients to indicate that they will no longer accept any new streams on the associated connections. This frame includes the id of the last successfully accepted stream by the server. Clients should consider any stream initiated after the last successfully accepted stream as UNAVAILABLE and retry the call elsewhere. Clients are free to continue working with the already accepted streams until they complete or the connection is terminated.</p>
+<p>Servers should send GOAWAY before terminating a connection to reliably inform clients which work has been accepted by the server and is being executed.</p>
+<h5>PING Frame</h5>
+<p>Both clients and servers can send a PING frame that the peer must respond to by precisely echoing what they received. This is used to assert that the connection is still live as well as providing a means to estimate end-to-end latency. If a server initiated PING does not receive a response within the deadline expected by the runtime all outstanding calls on the server will be closed with a CANCELLED status. An expired client initiated PING will cause all calls to be closed with an UNAVAILABLE status. Note that the frequency of PINGs is highly dependent on the network environment, implementations are free to adjust PING frequency based on network and application requirements.</p>
+<h5>Connection failure</h5>
+<p>If a detectable connection failure occurs on the client all calls will be closed with an UNAVAILABLE status. For servers open calls will be closed with a CANCELLED status.</p>
+<h2><a class="anchor" id="autotoc_md15"></a>
+Appendix A - GRPC for Protobuf</h2>
+<p>The service interfaces declared by protobuf are easily mapped onto GRPC by code generation extensions to protoc. The following defines the mapping to be used.</p>
+<ul>
+<li><b>Service-Name</b> → ?( {<em>proto package name</em>} "." ) {<em>service name</em>}</li>
+<li><b>Message-Type</b> → {<em>fully qualified proto message name</em>}</li>
+<li><b>Content-Type</b> → "application/grpc+proto" </li>
+</ul>
+</div></div><!-- contents -->
+</div><!-- PageDoc -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 192 - 0
php/md_doc__p_r_o_t_o_c_o_l-_w_e_b.html

@@ -0,0 +1,192 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: gRPC Web</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="PageDoc"><div class="header">
+  <div class="headertitle">
+<div class="title">gRPC Web </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>gRPC-Web provides a JS client library that supports the same API as gRPC-Node to access a gRPC service. Due to browser limitation, the Web client library implements a different protocol than the <a class="el" href="_p_r_o_t_o_c_o_l-_h_t_t_p2_8md.html">native gRPC protocol</a>. This protocol is designed to make it easy for a proxy to translate between the protocols as this is the most likely deployment model.</p>
+<p>This document lists the differences between the two protocols. To help tracking future revisions, this document describes a delta with the protocol details specified in the <a class="el" href="_p_r_o_t_o_c_o_l-_h_t_t_p2_8md.html">native gRPC protocol</a>.</p>
+<h1><a class="anchor" id="autotoc_md17"></a>
+Design goals</h1>
+<p>For the gRPC-Web protocol, we have decided on the following design goals:</p>
+<ul>
+<li>adopt the same framing as “application/grpc” whenever possible</li>
+<li>decouple from HTTP/2 framing which is not, and will never be, directly exposed by browsers</li>
+<li>support text streams (e.g. base64) in order to provide cross-browser support (e.g. IE-10)</li>
+</ul>
+<p>While the new protocol will be published/reviewed publicly, we also intend to keep the protocol as an internal detail to gRPC-Web. More specifically, we expect the protocol to</p>
+<ul>
+<li>evolve over time, mainly to optimize for browser clients or support web-specific features such as CORS, XSRF</li>
+<li>become optional (in 1-2 years) when browsers are able to speak the native gRPC protocol via the new <a href="https://github.com/whatwg/streams">whatwg streams API</a></li>
+</ul>
+<h1><a class="anchor" id="autotoc_md18"></a>
+Protocol differences vs @ref PROTOCOL-HTTP2.md "gRPC over HTTP2"</h1>
+<p>Content-Type</p>
+<ol type="1">
+<li>application/grpc-web<ul>
+<li>e.g. application/grpc-web+[proto, json, thrift]</li>
+<li>the sender should always specify the message format, e.g. +proto, +json</li>
+<li>the receiver should assume the default is "+proto" when the message format is missing in Content-Type (as "application/grpc-web")</li>
+</ul>
+</li>
+<li>application/grpc-web-text<ul>
+<li>text-encoded streams of “application/grpc-web”</li>
+<li>e.g. application/grpc-web-text+[proto, thrift]</li>
+</ul>
+</li>
+</ol>
+<hr  />
+<p>HTTP wire protocols</p>
+<ol type="1">
+<li>support any HTTP/*, with no dependency on HTTP/2 specific framing</li>
+<li>use lower-case header/trailer names</li>
+<li>use EOF (end of body) to close the stream</li>
+</ol>
+<hr  />
+<p>HTTP/2 related behavior (specified in <a class="el" href="_p_r_o_t_o_c_o_l-_h_t_t_p2_8md.html">gRPC over HTTP2</a>)</p>
+<ol type="1">
+<li>stream-id is not supported or used</li>
+<li>go-away is not supported or used</li>
+</ol>
+<hr  />
+<p>Message framing (vs. <a href="PROTOCOL-HTTP2.md#http2-transport-mapping">http2-transport-mapping</a>)</p>
+<ol type="1">
+<li>Response status encoded as part of the response body<ul>
+<li>Key-value pairs encoded as a HTTP/1 headers block (without the terminating newline), per <a href="https://tools.ietf.org/html/rfc7230#section-3.2">https://tools.ietf.org/html/rfc7230#section-3.2</a> <div class="fragment"><div class="line">key1: foo\r\n</div>
+<div class="line">key2: bar\r\n</div>
+</div><!-- fragment --></li>
+</ul>
+</li>
+<li>8th (MSB) bit of the 1st gRPC frame byte<ul>
+<li>0: data</li>
+<li>1: trailers <div class="fragment"><div class="line">10000000b: an uncompressed trailer (as part of the body)</div>
+<div class="line">10000001b: a compressed trailer</div>
+</div><!-- fragment --></li>
+</ul>
+</li>
+<li>Trailers must be the last message of the response, as enforced by the implementation</li>
+<li>Trailers-only responses: no change to the gRPC protocol spec. Trailers may be sent together with response headers, with no message in the body.</li>
+</ol>
+<hr  />
+<p>User Agent</p>
+<ul>
+<li>Do NOT use User-Agent header (which is to be set by browsers, by default)</li>
+<li>Use X-User-Agent: grpc-web-javascript/0.1 (follow the same format as specified in <a class="el" href="_p_r_o_t_o_c_o_l-_h_t_t_p2_8md.html">gRPC over HTTP2</a>)</li>
+</ul>
+<hr  />
+<p>Text-encoded (response) streams</p>
+<ol type="1">
+<li>The client library should indicate to the server via the "Accept" header that the response stream needs to be text encoded e.g. when XHR is used or due to security policies with XHR<ul>
+<li>Accept: application/grpc-web-text</li>
+</ul>
+</li>
+<li>The default text encoding is base64<ul>
+<li>Note that “Content-Transfer-Encoding: base64” should not be used. Due to in-stream base64 padding when delimiting messages, the entire response body is not necessarily a valid base64-encoded entity</li>
+<li>While the server runtime will always base64-encode and flush gRPC messages atomically the client library should not assume base64 padding always happens at the boundary of message frames. That is, the implementation may send base64-encoded "chunks" with potential padding whenever the runtime needs to flush a byte buffer.</li>
+</ul>
+</li>
+</ol>
+<h1><a class="anchor" id="autotoc_md24"></a>
+Other features</h1>
+<p>Retries, caching</p>
+<ul>
+<li>Will spec out the support after their respective gRPC spec extensions are finalized<ul>
+<li>Safe retries: PUT</li>
+<li>Caching: header encoded request and/or a web specific spec</li>
+</ul>
+</li>
+</ul>
+<hr  />
+<p>Keep-alive</p>
+<ul>
+<li>HTTP/2 PING is not supported or used</li>
+<li>Will not support send-beacon (GET)</li>
+</ul>
+<hr  />
+<p>Bidi-streaming, with flow-control</p>
+<ul>
+<li>Pending on <a href="https://github.com/whatwg/fetch">whatwg fetch/streams</a> to be finalized and implemented in modern browsers</li>
+<li>gRPC-Web client will support the native gRPC protocol with modern browsers</li>
+</ul>
+<hr  />
+<p>Versioning</p>
+<ul>
+<li>Special headers may be introduced to support features that may break compatibility.</li>
+</ul>
+<hr  />
+<p>Browser-specific features</p>
+<ul>
+<li>For features that are unique to browser or HTML clients, check the <a href="https://github.com/grpc/grpc-web/blob/master/BROWSER-FEATURES.md">spec doc</a> published in the grpc/grpc-web repo. </li>
+</ul>
+</div></div><!-- contents -->
+</div><!-- PageDoc -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 129 - 0
php/md_doc_binary-logging.html

@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: Binary Logging</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="PageDoc"><div class="header">
+  <div class="headertitle">
+<div class="title">Binary Logging </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><h1><a class="anchor" id="autotoc_md30"></a>
+Format</h1>
+<p>The log format is described in <a href="/src/proto/grpc/binary_log/v1alpha/log.proto">this proto file</a>. It is intended that multiple parts of the call will be logged in separate files, and then correlated by analysis tools using the rpc_id.</p>
+<h1><a class="anchor" id="autotoc_md31"></a>
+API</h1>
+<p>The binary logger will be a separate library from gRPC, in each language that we support. The user will need to explicitly call into the library to generate logs. The library will provide the ability to log sending or receiving, as relevant, the following on both the client and the server:</p>
+<ul>
+<li>Initial metadata</li>
+<li>Messages</li>
+<li>Status with trailing metadata from the server</li>
+<li>Additional key/value pairs that are associated with a call but not sent over the wire</li>
+</ul>
+<p>The following is an example of what such an API could look like in C++:</p>
+<div class="fragment"><div class="line"> {c++}</div>
+<div class="line">// The context provides the method_name, deadline, peer, and metadata contents.</div>
+<div class="line">// direction = CLIENT_SEND</div>
+<div class="line">LogRequestHeaders(ClientContext context);</div>
+<div class="line">// direction = SERVER_RECV</div>
+<div class="line">LogRequestHeaders(ServerContext context);</div>
+<div class="line"> </div>
+<div class="line">// The context provides the metadata contents</div>
+<div class="line">// direction = CLIENT_RECV</div>
+<div class="line">LogResponseHeaders(ClientContext context);</div>
+<div class="line">// direction = SERVER_SEND</div>
+<div class="line">LogResponseHeaders(ServerContext context);</div>
+<div class="line"> </div>
+<div class="line">// The context provides the metadata contents</div>
+<div class="line">// direction = CLIENT_RECV</div>
+<div class="line">LogStatus(ClientContext context, grpc_status_code code, string details);</div>
+<div class="line">// direction = SERVER_SEND</div>
+<div class="line">LogStatus(ServerContext context, grpc_status_code code, string details);</div>
+<div class="line"> </div>
+<div class="line">// The context provides the user data contents</div>
+<div class="line">// direction = CLIENT_SEND</div>
+<div class="line">LogUserData(ClientContext context);</div>
+<div class="line">// direction = SERVER_SEND</div>
+<div class="line">LogUserData(ServerContext context);</div>
+<div class="line"> </div>
+<div class="line">// direction = CLIENT_SEND</div>
+<div class="line">LogRequestMessage(ClientContext context, uint32_t length, T message);</div>
+<div class="line">// direction = SERVER_RECV</div>
+<div class="line">LogRequestMessage(ServerContext context, uint32_t length, T message);</div>
+<div class="line">// direction = CLIENT_RECV</div>
+<div class="line">LogResponseMessage(ClientContext context, uint32_t length, T message);</div>
+<div class="line">// direction = SERVER_SEND</div>
+<div class="line">LogResponseMessage(ServerContext context, uint32_t length, T message);</div>
+</div><!-- fragment --><p>In all of those cases, the <code>rpc_id</code> is provided by the context, and each combination of method and context argument type implies a single direction, as noted in the comments.</p>
+<p>For the message log functions, the <code>length</code> argument indicates the length of the complete message, and the <code>message</code> argument may be only part of the complete message, stripped of sensitive material and/or shortened for efficiency.</p>
+<h1><a class="anchor" id="autotoc_md32"></a>
+Language differences</h1>
+<p>In other languages, more or less data will need to be passed explicitly as separate arguments. In some languages, for example, the metadata will be separate from the context-like object and will need to be passed as a separate argument. </p>
+</div></div><!-- contents -->
+</div><!-- PageDoc -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

+ 135 - 0
php/md_doc_c-style-guide.html

@@ -0,0 +1,135 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>GRPC PHP: GRPC C STYLE GUIDE</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">GRPC PHP
+   &#160;<span id="projectnumber">1.32.0-dev</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="PageDoc"><div class="header">
+  <div class="headertitle">
+<div class="title">GRPC C STYLE GUIDE </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><h1><a class="anchor" id="autotoc_md33"></a>
+Background</h1>
+<p>Here we document style rules for C usage in the gRPC Core library.</p>
+<h1><a class="anchor" id="autotoc_md34"></a>
+General</h1>
+<ul>
+<li>Layout rules are defined by clang-format, and all code should be passed through clang-format. A (docker-based) script to do so is included in <a href="../tools/distrib/clang_format_code.sh">tools/distrib/clang_format_code.sh</a>.</li>
+</ul>
+<h1><a class="anchor" id="autotoc_md35"></a>
+Header Files</h1>
+<ul>
+<li>Public header files (those in the include/grpc tree) should compile as pedantic C89.</li>
+<li>Public header files should be includable from C++ programs. That is, they should include the following: <div class="fragment"><div class="line"><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><span class="preprocessor"># endif</span></div>
+<div class="line"> </div>
+<div class="line"><span class="comment">/* ... body of file ... */</span></div>
+<div class="line"> </div>
+<div class="line"><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line">}</div>
+<div class="line"><span class="preprocessor"># endif</span></div>
+</div><!-- fragment --></li>
+<li>Header files should be self-contained and end in .h.</li>
+<li><p class="startli">All header files should have a <code>#define</code> guard to prevent multiple inclusion. To guarantee uniqueness they should be based on the file's path.</p>
+<p class="startli">For public headers: <code>include/grpc/grpc.h</code> → <code>GRPC_GRPC_H</code></p>
+<p class="startli">For private headers: <code>src/core/lib/channel/channel_stack.h</code> → <code>GRPC_CORE_LIB_CHANNEL_CHANNEL_STACK_H</code></p>
+</li>
+</ul>
+<h1><a class="anchor" id="autotoc_md36"></a>
+Variable Initialization</h1>
+<p>When declaring a (non-static) pointer variable, always initialize it to <code>NULL</code>. Even in the case of static pointer variables, it's recommended to explicitly initialize them to <code>NULL</code>.</p>
+<h1><a class="anchor" id="autotoc_md37"></a>
+C99 Features</h1>
+<ul>
+<li>Variable sized arrays are not allowed.</li>
+<li>Do not use the 'inline' keyword.</li>
+<li>Flexible array members are allowed (<a href="https://en.wikipedia.org/wiki/Flexible_array_member">https://en.wikipedia.org/wiki/Flexible_array_member</a>).</li>
+</ul>
+<h1><a class="anchor" id="autotoc_md38"></a>
+Comments</h1>
+<p>Within public header files, only <code>/* */</code> comments are allowed.</p>
+<p>Within implementation files and private headers, either single line <code>//</code> or multi line <code>/* */</code> comments are allowed. Only one comment style per file is allowed however (i.e. if single line comments are used anywhere within a file, ALL comments within that file must be single line comments).</p>
+<h1><a class="anchor" id="autotoc_md39"></a>
+Symbol Names</h1>
+<ul>
+<li>Non-static functions must be prefixed by <code>grpc_</code></li>
+<li>Static functions must <em>not</em> be prefixed by <code>grpc_</code></li>
+<li>Typenames of <code>struct</code>s , <code>union</code>s, and <code>enum</code>s must be prefixed by <code>grpc_</code> if they are declared in a header file. They must not be prefixed by <code>grpc_</code> if they are declared in a source file.</li>
+<li>Enumeration values and <code>#define</code> names must be uppercase. All other values must be lowercase.</li>
+<li>Enumeration values or <code>#define</code> names defined in a header file must be prefixed with <code>GRPC_</code> (except for <code>#define</code> macros that are being used to substitute functions; those should follow the general rules for functions). Enumeration values or <code>#define</code>s defined in source files must not be prefixed with <code>GRPC_</code>.</li>
+<li>Multiple word identifiers use underscore as a delimiter, <em>never</em> camel case. E.g. <code>variable_name</code>.</li>
+</ul>
+<h1><a class="anchor" id="autotoc_md40"></a>
+Functions</h1>
+<ul>
+<li>The use of <a href="http://man7.org/linux/man-pages/man3/atexit.3.html"><code>atexit()</code></a> is in forbidden in libgrpc. </li>
+</ul>
+</div></div><!-- contents -->
+</div><!-- PageDoc -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Fri Aug 14 2020 18:35:56 for GRPC PHP by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.17
+</small></address>
+</body>
+</html>

部分文件因为文件数量过多而无法显示