namespacegrpc_1_1experimental.html 78 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.17"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>GRPC C++: grpc::experimental Namespace Reference</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  13. <script type="text/javascript" src="search/searchdata.js"></script>
  14. <script type="text/javascript" src="search/search.js"></script>
  15. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  16. </head>
  17. <body>
  18. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  19. <div id="titlearea">
  20. <table cellspacing="0" cellpadding="0">
  21. <tbody>
  22. <tr style="height: 56px;">
  23. <td id="projectalign" style="padding-left: 0.5em;">
  24. <div id="projectname">GRPC C++
  25. &#160;<span id="projectnumber">1.36.1</span>
  26. </div>
  27. </td>
  28. </tr>
  29. </tbody>
  30. </table>
  31. </div>
  32. <!-- end header part -->
  33. <!-- Generated by Doxygen 1.8.17 -->
  34. <script type="text/javascript">
  35. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  36. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  37. /* @license-end */
  38. </script>
  39. <script type="text/javascript" src="menudata.js"></script>
  40. <script type="text/javascript" src="menu.js"></script>
  41. <script type="text/javascript">
  42. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  43. $(function() {
  44. initMenu('',true,false,'search.php','Search');
  45. $(document).ready(function() { init_search(); });
  46. });
  47. /* @license-end */</script>
  48. <div id="main-nav"></div>
  49. <!-- window showing the filter options -->
  50. <div id="MSearchSelectWindow"
  51. onmouseover="return searchBox.OnSearchSelectShow()"
  52. onmouseout="return searchBox.OnSearchSelectHide()"
  53. onkeydown="return searchBox.OnSearchSelectKey(event)">
  54. </div>
  55. <!-- iframe showing the search results (closed by default) -->
  56. <div id="MSearchResultsWindow">
  57. <iframe src="javascript:void(0)" frameborder="0"
  58. name="MSearchResults" id="MSearchResults">
  59. </iframe>
  60. </div>
  61. <div id="nav-path" class="navpath">
  62. <ul>
  63. <li class="navelem"><a class="el" href="namespacegrpc.html">grpc</a></li><li class="navelem"><a class="el" href="namespacegrpc_1_1experimental.html">experimental</a></li> </ul>
  64. </div>
  65. </div><!-- top -->
  66. <div class="header">
  67. <div class="summary">
  68. <a href="#nested-classes">Data Structures</a> &#124;
  69. <a href="#typedef-members">Typedefs</a> &#124;
  70. <a href="#enum-members">Enumerations</a> &#124;
  71. <a href="#func-members">Functions</a> </div>
  72. <div class="headertitle">
  73. <div class="title">grpc::experimental Namespace Reference</div> </div>
  74. </div><!--header-->
  75. <div class="contents">
  76. <p><a class="el" href="classgrpc_1_1experimental_1_1_client_rpc_info.html">ClientRpcInfo</a> represents the state of a particular RPC as it appears to an interceptor.
  77. <a href="namespacegrpc_1_1experimental.html#details">More...</a></p>
  78. <table class="memberdecls">
  79. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
  80. Data Structures</h2></td></tr>
  81. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc_1_1experimental_1_1_alts_credentials_options.html">AltsCredentialsOptions</a></td></tr>
  82. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Options used to build AltsCredentials. <a href="structgrpc_1_1experimental_1_1_alts_credentials_options.html#details">More...</a><br /></td></tr>
  83. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  84. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc_1_1experimental_1_1_alts_server_credentials_options.html">AltsServerCredentialsOptions</a></td></tr>
  85. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Options to create <a class="el" href="classgrpc_1_1_server_credentials.html" title="Wrapper around grpc_server_credentials, a way to authenticate a server.">ServerCredentials</a> with ALTS. <a href="structgrpc_1_1experimental_1_1_alts_server_credentials_options.html#details">More...</a><br /></td></tr>
  86. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  87. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1experimental_1_1_callback_generic_service.html">CallbackGenericService</a></td></tr>
  88. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><em><a class="el" href="classgrpc_1_1experimental_1_1_callback_generic_service.html" title="CallbackGenericService is the base class for generic services implemented using the callback API and ...">CallbackGenericService</a></em> is the base class for generic services implemented using the callback API and registered through the <a class="el" href="classgrpc_1_1_server_builder.html" title="A builder class for the creation and startup of grpc::Server instances.">ServerBuilder</a> using RegisterCallbackGenericService. <a href="classgrpc_1_1experimental_1_1_callback_generic_service.html#details">More...</a><br /></td></tr>
  89. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  90. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1experimental_1_1_certificate_provider_interface.html">CertificateProviderInterface</a></td></tr>
  91. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  92. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1experimental_1_1_client_interceptor_factory_interface.html">ClientInterceptorFactoryInterface</a></td></tr>
  93. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  94. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1experimental_1_1_client_rpc_info.html">ClientRpcInfo</a></td></tr>
  95. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  96. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1experimental_1_1_delegating_channel.html">DelegatingChannel</a></td></tr>
  97. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  98. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1experimental_1_1_external_connection_acceptor.html">ExternalConnectionAcceptor</a></td></tr>
  99. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  100. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1experimental_1_1_file_watcher_certificate_provider.html">FileWatcherCertificateProvider</a></td></tr>
  101. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  102. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1experimental_1_1_generic_callback_server_context.html">GenericCallbackServerContext</a></td></tr>
  103. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  104. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc_1_1experimental_1_1_identity_key_cert_pair.html">IdentityKeyCertPair</a></td></tr>
  105. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  106. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1experimental_1_1_interceptor.html">Interceptor</a></td></tr>
  107. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for an interceptor. <a href="classgrpc_1_1experimental_1_1_interceptor.html#details">More...</a><br /></td></tr>
  108. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  109. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1experimental_1_1_interceptor_batch_methods.html">InterceptorBatchMethods</a></td></tr>
  110. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class that is passed as an argument to the <em>Intercept</em> method of the application's <em><a class="el" href="classgrpc_1_1experimental_1_1_interceptor.html" title="Interface for an interceptor.">Interceptor</a></em> interface implementation. <a href="classgrpc_1_1experimental_1_1_interceptor_batch_methods.html#details">More...</a><br /></td></tr>
  111. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  112. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1experimental_1_1_message_allocator.html">MessageAllocator</a></td></tr>
  113. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  114. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1experimental_1_1_message_holder.html">MessageHolder</a></td></tr>
  115. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  116. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1experimental_1_1_rpc_allocator_state.html">RpcAllocatorState</a></td></tr>
  117. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  118. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1experimental_1_1_server_interceptor_factory_interface.html">ServerInterceptorFactoryInterface</a></td></tr>
  119. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  120. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1experimental_1_1_server_rpc_info.html">ServerRpcInfo</a></td></tr>
  121. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classgrpc_1_1experimental_1_1_server_rpc_info.html" title="ServerRpcInfo represents the state of a particular RPC as it appears to an interceptor.">ServerRpcInfo</a> represents the state of a particular RPC as it appears to an interceptor. <a href="classgrpc_1_1experimental_1_1_server_rpc_info.html#details">More...</a><br /></td></tr>
  122. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  123. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1experimental_1_1_static_data_certificate_provider.html">StaticDataCertificateProvider</a></td></tr>
  124. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  125. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc_1_1experimental_1_1_sts_credentials_options.html">StsCredentialsOptions</a></td></tr>
  126. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Options for creating STS Oauth Token Exchange credentials following the IETF draft <a href="https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16">https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16</a>. <a href="structgrpc_1_1experimental_1_1_sts_credentials_options.html#details">More...</a><br /></td></tr>
  127. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  128. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1experimental_1_1_tls_channel_credentials_options.html">TlsChannelCredentialsOptions</a></td></tr>
  129. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  130. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1experimental_1_1_tls_credentials_options.html">TlsCredentialsOptions</a></td></tr>
  131. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  132. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1experimental_1_1_tls_server_authorization_check_arg.html">TlsServerAuthorizationCheckArg</a></td></tr>
  133. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">TLS server authorization check arguments, wraps <a class="el" href="structgrpc__tls__server__authorization__check__arg.html" title="A struct containing all information necessary to schedule/cancel a server authorization check request...">grpc_tls_server_authorization_check_arg</a>. <a href="classgrpc_1_1experimental_1_1_tls_server_authorization_check_arg.html#details">More...</a><br /></td></tr>
  134. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  135. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1experimental_1_1_tls_server_authorization_check_config.html">TlsServerAuthorizationCheckConfig</a></td></tr>
  136. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">TLS server authorization check config, wraps grps_tls_server_authorization_check_config. <a href="classgrpc_1_1experimental_1_1_tls_server_authorization_check_config.html#details">More...</a><br /></td></tr>
  137. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  138. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc_1_1experimental_1_1_tls_server_authorization_check_interface.html">TlsServerAuthorizationCheckInterface</a></td></tr>
  139. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An interface that the application derives and uses to instantiate a <a class="el" href="classgrpc_1_1experimental_1_1_tls_server_authorization_check_config.html" title="TLS server authorization check config, wraps grps_tls_server_authorization_check_config.">TlsServerAuthorizationCheckConfig</a> instance. <a href="structgrpc_1_1experimental_1_1_tls_server_authorization_check_interface.html#details">More...</a><br /></td></tr>
  140. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  141. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1experimental_1_1_tls_server_credentials_options.html">TlsServerCredentialsOptions</a></td></tr>
  142. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  143. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1experimental_1_1_xds_server_builder.html">XdsServerBuilder</a></td></tr>
  144. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  145. </table><table class="memberdecls">
  146. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
  147. Typedefs</h2></td></tr>
  148. <tr class="memitem:a916f9dcafe97095d67e71751bf183fbd"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#a916f9dcafe97095d67e71751bf183fbd">ServerGenericBidiReactor</a> = <a class="el" href="namespacegrpc_1_1experimental.html#adedd4841521e4fe210676d8387190cf1">ServerBidiReactor</a>&lt; <a class="el" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a>, <a class="el" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a> &gt;</td></tr>
  149. <tr class="memdesc:a916f9dcafe97095d67e71751bf183fbd"><td class="mdescLeft">&#160;</td><td class="mdescRight"><em>ServerGenericBidiReactor</em> is the reactor class for bidi streaming RPCs invoked on a <a class="el" href="classgrpc_1_1experimental_1_1_callback_generic_service.html" title="CallbackGenericService is the base class for generic services implemented using the callback API and ...">CallbackGenericService</a>. <a href="namespacegrpc_1_1experimental.html#a916f9dcafe97095d67e71751bf183fbd">More...</a><br /></td></tr>
  150. <tr class="separator:a916f9dcafe97095d67e71751bf183fbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
  151. <tr class="memitem:a1ed62f6831d2f848d5553dd247574c16"><td class="memTemplParams" colspan="2">template&lt;class Response &gt; </td></tr>
  152. <tr class="memitem:a1ed62f6831d2f848d5553dd247574c16"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#a1ed62f6831d2f848d5553dd247574c16">ClientCallbackReader</a> = ::<a class="el" href="classgrpc_1_1_client_callback_reader.html">grpc::ClientCallbackReader</a>&lt; Response &gt;</td></tr>
  153. <tr class="separator:a1ed62f6831d2f848d5553dd247574c16"><td class="memSeparator" colspan="2">&#160;</td></tr>
  154. <tr class="memitem:a567625b67d212878b68ae44fdf6c6716"><td class="memTemplParams" colspan="2">template&lt;class Request &gt; </td></tr>
  155. <tr class="memitem:a567625b67d212878b68ae44fdf6c6716"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#a567625b67d212878b68ae44fdf6c6716">ClientCallbackWriter</a> = ::<a class="el" href="classgrpc_1_1_client_callback_writer.html">grpc::ClientCallbackWriter</a>&lt; Request &gt;</td></tr>
  156. <tr class="separator:a567625b67d212878b68ae44fdf6c6716"><td class="memSeparator" colspan="2">&#160;</td></tr>
  157. <tr class="memitem:a06f5259ef07f16d5957f995bbb2eb86c"><td class="memTemplParams" colspan="2">template&lt;class Request , class Response &gt; </td></tr>
  158. <tr class="memitem:a06f5259ef07f16d5957f995bbb2eb86c"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#a06f5259ef07f16d5957f995bbb2eb86c">ClientCallbackReaderWriter</a> = ::<a class="el" href="classgrpc_1_1_client_callback_reader_writer.html">grpc::ClientCallbackReaderWriter</a>&lt; Request, Response &gt;</td></tr>
  159. <tr class="separator:a06f5259ef07f16d5957f995bbb2eb86c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  160. <tr class="memitem:a6bdc8fe2fed54eb20139c691309497ee"><td class="memTemplParams" colspan="2">template&lt;class Response &gt; </td></tr>
  161. <tr class="memitem:a6bdc8fe2fed54eb20139c691309497ee"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#a6bdc8fe2fed54eb20139c691309497ee">ClientReadReactor</a> = ::<a class="el" href="classgrpc_1_1_client_read_reactor.html">grpc::ClientReadReactor</a>&lt; Response &gt;</td></tr>
  162. <tr class="separator:a6bdc8fe2fed54eb20139c691309497ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
  163. <tr class="memitem:a054c72006e1d7c3d29cf06b2bb5d8ecb"><td class="memTemplParams" colspan="2">template&lt;class Request &gt; </td></tr>
  164. <tr class="memitem:a054c72006e1d7c3d29cf06b2bb5d8ecb"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#a054c72006e1d7c3d29cf06b2bb5d8ecb">ClientWriteReactor</a> = ::<a class="el" href="classgrpc_1_1_client_write_reactor.html">grpc::ClientWriteReactor</a>&lt; Request &gt;</td></tr>
  165. <tr class="separator:a054c72006e1d7c3d29cf06b2bb5d8ecb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  166. <tr class="memitem:aff54a4172bb4cd672d73347ac3598d9f"><td class="memTemplParams" colspan="2">template&lt;class Request , class Response &gt; </td></tr>
  167. <tr class="memitem:aff54a4172bb4cd672d73347ac3598d9f"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#aff54a4172bb4cd672d73347ac3598d9f">ClientBidiReactor</a> = ::<a class="el" href="classgrpc_1_1_client_bidi_reactor.html">grpc::ClientBidiReactor</a>&lt; Request, Response &gt;</td></tr>
  168. <tr class="separator:aff54a4172bb4cd672d73347ac3598d9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  169. <tr class="memitem:a67691940c33d573c5e9012395772e9ac"><td class="memItemLeft" align="right" valign="top">typedef ::<a class="el" href="classgrpc_1_1_client_unary_reactor.html">grpc::ClientUnaryReactor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#a67691940c33d573c5e9012395772e9ac">ClientUnaryReactor</a></td></tr>
  170. <tr class="separator:a67691940c33d573c5e9012395772e9ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
  171. <tr class="memitem:a206c4e9a3284abe67fab5371b5b8817d"><td class="memTemplParams" colspan="2">template&lt;class Request &gt; </td></tr>
  172. <tr class="memitem:a206c4e9a3284abe67fab5371b5b8817d"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#a206c4e9a3284abe67fab5371b5b8817d">ServerReadReactor</a> = ::<a class="el" href="classgrpc_1_1_server_read_reactor.html">grpc::ServerReadReactor</a>&lt; Request &gt;</td></tr>
  173. <tr class="separator:a206c4e9a3284abe67fab5371b5b8817d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  174. <tr class="memitem:aed7eac88a148941c9106b5ed5409eefa"><td class="memTemplParams" colspan="2">template&lt;class Response &gt; </td></tr>
  175. <tr class="memitem:aed7eac88a148941c9106b5ed5409eefa"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#aed7eac88a148941c9106b5ed5409eefa">ServerWriteReactor</a> = ::<a class="el" href="classgrpc_1_1_server_write_reactor.html">grpc::ServerWriteReactor</a>&lt; Response &gt;</td></tr>
  176. <tr class="separator:aed7eac88a148941c9106b5ed5409eefa"><td class="memSeparator" colspan="2">&#160;</td></tr>
  177. <tr class="memitem:adedd4841521e4fe210676d8387190cf1"><td class="memTemplParams" colspan="2">template&lt;class Request , class Response &gt; </td></tr>
  178. <tr class="memitem:adedd4841521e4fe210676d8387190cf1"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#adedd4841521e4fe210676d8387190cf1">ServerBidiReactor</a> = ::<a class="el" href="classgrpc_1_1_server_bidi_reactor.html">grpc::ServerBidiReactor</a>&lt; Request, Response &gt;</td></tr>
  179. <tr class="separator:adedd4841521e4fe210676d8387190cf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  180. <tr class="memitem:a474c9d8e05663f1e91df86a0148b4b65"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#a474c9d8e05663f1e91df86a0148b4b65">ServerUnaryReactor</a> = ::<a class="el" href="classgrpc_1_1_server_unary_reactor.html">grpc::ServerUnaryReactor</a></td></tr>
  181. <tr class="separator:a474c9d8e05663f1e91df86a0148b4b65"><td class="memSeparator" colspan="2">&#160;</td></tr>
  182. <tr class="memitem:a412c68b94e8e73a2d508cd8731c4dc00"><td class="memItemLeft" align="right" valign="top">typedef ::<a class="el" href="classgrpc_1_1_server_context_base.html">grpc::ServerContextBase</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#a412c68b94e8e73a2d508cd8731c4dc00">ServerContextBase</a></td></tr>
  183. <tr class="separator:a412c68b94e8e73a2d508cd8731c4dc00"><td class="memSeparator" colspan="2">&#160;</td></tr>
  184. <tr class="memitem:a5196000ae257498f8c71f54225e4cf9c"><td class="memItemLeft" align="right" valign="top">typedef ::<a class="el" href="classgrpc_1_1_callback_server_context.html">grpc::CallbackServerContext</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#a5196000ae257498f8c71f54225e4cf9c">CallbackServerContext</a></td></tr>
  185. <tr class="separator:a5196000ae257498f8c71f54225e4cf9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  186. </table><table class="memberdecls">
  187. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
  188. Enumerations</h2></td></tr>
  189. <tr class="memitem:a03d3481b2c4146f53e90966d4a0fd8a1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1">InterceptionHookPoints</a> { <br />
  190. &#160;&#160;<a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1a68f9cc22793a30bf451f5d94c283f371">InterceptionHookPoints::PRE_SEND_INITIAL_METADATA</a>,
  191. <a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1a78e48d97d3b04c3bc07cc5e015bae473">InterceptionHookPoints::PRE_SEND_MESSAGE</a>,
  192. <a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1a55a1a0825067b70bab918b67b298f038">InterceptionHookPoints::POST_SEND_MESSAGE</a>,
  193. <a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1a787bde31497aaaccd0e780928a34ba3c">InterceptionHookPoints::PRE_SEND_STATUS</a>,
  194. <br />
  195. &#160;&#160;<a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1aae41c3d206fb78da7ea1baff522fe734">InterceptionHookPoints::PRE_SEND_CLOSE</a>,
  196. <a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1ae1edf7ebacfc20d107e332ed0df262d2">InterceptionHookPoints::PRE_RECV_INITIAL_METADATA</a>,
  197. <a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1aed5412a55f4c64aab2e6492c79c91422">InterceptionHookPoints::PRE_RECV_MESSAGE</a>,
  198. <a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1aac79efae31b3773d455797286cd0a3c3">InterceptionHookPoints::PRE_RECV_STATUS</a>,
  199. <br />
  200. &#160;&#160;<a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1a294bdaeb2f3c15f0c7529ecdb04daea8">InterceptionHookPoints::POST_RECV_INITIAL_METADATA</a>,
  201. <a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1ab65173742bb81f390a2bbe48279a1d22">InterceptionHookPoints::POST_RECV_MESSAGE</a>,
  202. <a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1a97b298c9f3aa4e0b5b4865eaa93a5909">InterceptionHookPoints::POST_RECV_STATUS</a>,
  203. <a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1a28873db230a854864aaf46ce3c7d282a">InterceptionHookPoints::POST_RECV_CLOSE</a>,
  204. <br />
  205. &#160;&#160;<a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1afeaf95b857178c518bb74d59eb39aa23">InterceptionHookPoints::PRE_SEND_CANCEL</a>,
  206. <a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1a005432205f3c52f3321eab4485d84c36">InterceptionHookPoints::NUM_INTERCEPTION_HOOKS</a>
  207. <br />
  208. }</td></tr>
  209. <tr class="memdesc:a03d3481b2c4146f53e90966d4a0fd8a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">An enumeration of different possible points at which the <em>Intercept</em> method of the <em>Interceptor</em> interface may be called. <a href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1">More...</a><br /></td></tr>
  210. <tr class="separator:a03d3481b2c4146f53e90966d4a0fd8a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  211. </table><table class="memberdecls">
  212. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
  213. Functions</h2></td></tr>
  214. <tr class="memitem:ab4c7e40417b37179d52667f3208f69a3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#ab4c7e40417b37179d52667f3208f69a3">ChannelResetConnectionBackoff</a> (<a class="el" href="classgrpc_1_1_channel.html">Channel</a> *channel)</td></tr>
  215. <tr class="memdesc:ab4c7e40417b37179d52667f3208f69a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the channel's connection backoff. <a href="namespacegrpc_1_1experimental.html#ab4c7e40417b37179d52667f3208f69a3">More...</a><br /></td></tr>
  216. <tr class="separator:ab4c7e40417b37179d52667f3208f69a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  217. <tr class="memitem:af089b10a266c70f15aeb7e2156295a30"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel.html">Channel</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#af089b10a266c70f15aeb7e2156295a30">CreateCustomChannelWithInterceptors</a> (const grpc::string &amp;target, const std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel_credentials.html">ChannelCredentials</a> &gt; &amp;creds, const <a class="el" href="classgrpc_1_1_channel_arguments.html">ChannelArguments</a> &amp;args, std::vector&lt; std::unique_ptr&lt; <a class="el" href="classgrpc_1_1experimental_1_1_client_interceptor_factory_interface.html">experimental::ClientInterceptorFactoryInterface</a> &gt;&gt; interceptor_creators)</td></tr>
  218. <tr class="memdesc:af089b10a266c70f15aeb7e2156295a30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <em>custom</em> <em><a class="el" href="classgrpc_1_1_channel.html" title="Channels represent a connection to an endpoint. Created by CreateChannel.">Channel</a></em> pointing to <em>target</em> with <em>interceptors</em> being invoked per call. <a href="namespacegrpc_1_1experimental.html#af089b10a266c70f15aeb7e2156295a30">More...</a><br /></td></tr>
  219. <tr class="separator:af089b10a266c70f15aeb7e2156295a30"><td class="memSeparator" colspan="2">&#160;</td></tr>
  220. <tr class="memitem:abf863776469f08e69e7ca6e82246fd7a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#abf863776469f08e69e7ca6e82246fd7a">RegisterGlobalClientInterceptorFactory</a> (<a class="el" href="classgrpc_1_1experimental_1_1_client_interceptor_factory_interface.html">ClientInterceptorFactoryInterface</a> *factory)</td></tr>
  221. <tr class="separator:abf863776469f08e69e7ca6e82246fd7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  222. <tr class="memitem:a06e8ad17f59ec479769f014e79a4b068"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#a06e8ad17f59ec479769f014e79a4b068">TestOnlyResetGlobalClientInterceptorFactory</a> ()</td></tr>
  223. <tr class="separator:a06e8ad17f59ec479769f014e79a4b068"><td class="memSeparator" colspan="2">&#160;</td></tr>
  224. <tr class="memitem:a718f256dc9bf553b923b5202422b6fe7"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel.html">grpc::Channel</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#a718f256dc9bf553b923b5202422b6fe7">CreateCustomChannelWithInterceptors</a> (const grpc::string &amp;target, const std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel_credentials.html">grpc::ChannelCredentials</a> &gt; &amp;creds, const <a class="el" href="classgrpc_1_1_channel_arguments.html">grpc::ChannelArguments</a> &amp;args, std::vector&lt; std::unique_ptr&lt; <a class="el" href="classgrpc_1_1experimental_1_1_client_interceptor_factory_interface.html">grpc::experimental::ClientInterceptorFactoryInterface</a> &gt;&gt; interceptor_creators)</td></tr>
  225. <tr class="separator:a718f256dc9bf553b923b5202422b6fe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  226. <tr class="memitem:a9c55f91536c2fbefcd8f8bea1db7125d"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel_credentials.html">ChannelCredentials</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#a9c55f91536c2fbefcd8f8bea1db7125d">XdsCredentials</a> (const std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel_credentials.html">ChannelCredentials</a> &gt; &amp;fallback_creds)</td></tr>
  227. <tr class="memdesc:a9c55f91536c2fbefcd8f8bea1db7125d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds XDS Credentials. <a href="namespacegrpc_1_1experimental.html#a9c55f91536c2fbefcd8f8bea1db7125d">More...</a><br /></td></tr>
  228. <tr class="separator:a9c55f91536c2fbefcd8f8bea1db7125d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  229. <tr class="memitem:a845a1ccd03791217297f52281777a9b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_status.html">grpc::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#a845a1ccd03791217297f52281777a9b4">StsCredentialsOptionsFromJson</a> (const std::string &amp;json_string, <a class="el" href="structgrpc_1_1experimental_1_1_sts_credentials_options.html">StsCredentialsOptions</a> *options)</td></tr>
  230. <tr class="separator:a845a1ccd03791217297f52281777a9b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  231. <tr class="memitem:a2ace3ea6f7ebdb51d0134e3e0b701f49"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_status.html">grpc::Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#a2ace3ea6f7ebdb51d0134e3e0b701f49">StsCredentialsOptionsFromEnv</a> (<a class="el" href="structgrpc_1_1experimental_1_1_sts_credentials_options.html">StsCredentialsOptions</a> *options)</td></tr>
  232. <tr class="memdesc:a2ace3ea6f7ebdb51d0134e3e0b701f49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates STS credentials options from the $STS_CREDENTIALS environment variable. <a href="namespacegrpc_1_1experimental.html#a2ace3ea6f7ebdb51d0134e3e0b701f49">More...</a><br /></td></tr>
  233. <tr class="separator:a2ace3ea6f7ebdb51d0134e3e0b701f49"><td class="memSeparator" colspan="2">&#160;</td></tr>
  234. <tr class="memitem:a161935ac55ae1d7df2936a4095cd2bee"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_call_credentials.html">CallCredentials</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#a161935ac55ae1d7df2936a4095cd2bee">StsCredentials</a> (const <a class="el" href="structgrpc_1_1experimental_1_1_sts_credentials_options.html">StsCredentialsOptions</a> &amp;options)</td></tr>
  235. <tr class="separator:a161935ac55ae1d7df2936a4095cd2bee"><td class="memSeparator" colspan="2">&#160;</td></tr>
  236. <tr class="memitem:a751cfa9b3fcfe366aaf6cfd0529edaea"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_call_credentials.html">CallCredentials</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#a751cfa9b3fcfe366aaf6cfd0529edaea">MetadataCredentialsFromPlugin</a> (std::unique_ptr&lt; <a class="el" href="classgrpc_1_1_metadata_credentials_plugin.html">MetadataCredentialsPlugin</a> &gt; plugin, <a class="el" href="grpc__security__constants_8h.html#a3c3165c49cd7a359ddb8656aae7e9dd6">grpc_security_level</a> min_security_level)</td></tr>
  237. <tr class="separator:a751cfa9b3fcfe366aaf6cfd0529edaea"><td class="memSeparator" colspan="2">&#160;</td></tr>
  238. <tr class="memitem:ad871e11876b9e9893ee4f57fc283abfb"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel_credentials.html">ChannelCredentials</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#ad871e11876b9e9893ee4f57fc283abfb">AltsCredentials</a> (const <a class="el" href="structgrpc_1_1experimental_1_1_alts_credentials_options.html">AltsCredentialsOptions</a> &amp;options)</td></tr>
  239. <tr class="memdesc:ad871e11876b9e9893ee4f57fc283abfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds ALTS Credentials given ALTS specific options. <a href="namespacegrpc_1_1experimental.html#ad871e11876b9e9893ee4f57fc283abfb">More...</a><br /></td></tr>
  240. <tr class="separator:ad871e11876b9e9893ee4f57fc283abfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  241. <tr class="memitem:a9354c3cab0a74d9d405c00781f789507"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel_credentials.html">ChannelCredentials</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#a9354c3cab0a74d9d405c00781f789507">LocalCredentials</a> (<a class="el" href="grpc__security__constants_8h.html#a31d00ce5c064e1fff4261a6d6298dc11">grpc_local_connect_type</a> type)</td></tr>
  242. <tr class="memdesc:a9354c3cab0a74d9d405c00781f789507"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds Local Credentials. <a href="namespacegrpc_1_1experimental.html#a9354c3cab0a74d9d405c00781f789507">More...</a><br /></td></tr>
  243. <tr class="separator:a9354c3cab0a74d9d405c00781f789507"><td class="memSeparator" colspan="2">&#160;</td></tr>
  244. <tr class="memitem:afb25a4d9b907f609d4ddd1b373a8726b"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel_credentials.html">ChannelCredentials</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#afb25a4d9b907f609d4ddd1b373a8726b">TlsCredentials</a> (const <a class="el" href="classgrpc_1_1experimental_1_1_tls_channel_credentials_options.html">TlsChannelCredentialsOptions</a> &amp;options)</td></tr>
  245. <tr class="memdesc:afb25a4d9b907f609d4ddd1b373a8726b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds TLS Credentials given TLS options. <a href="namespacegrpc_1_1experimental.html#afb25a4d9b907f609d4ddd1b373a8726b">More...</a><br /></td></tr>
  246. <tr class="separator:afb25a4d9b907f609d4ddd1b373a8726b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  247. <tr class="memitem:a7317b5a2aba8ba9b1126d39609e7da58"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_server_credentials.html">ServerCredentials</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#a7317b5a2aba8ba9b1126d39609e7da58">XdsServerCredentials</a> (const std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_server_credentials.html">ServerCredentials</a> &gt; &amp;fallback_credentials)</td></tr>
  248. <tr class="memdesc:a7317b5a2aba8ba9b1126d39609e7da58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds Xds <a class="el" href="classgrpc_1_1_server_credentials.html" title="Wrapper around grpc_server_credentials, a way to authenticate a server.">ServerCredentials</a> given fallback credentials. <a href="namespacegrpc_1_1experimental.html#a7317b5a2aba8ba9b1126d39609e7da58">More...</a><br /></td></tr>
  249. <tr class="separator:a7317b5a2aba8ba9b1126d39609e7da58"><td class="memSeparator" colspan="2">&#160;</td></tr>
  250. <tr class="memitem:ad18c246d1f0dfe0c6670daade5518111"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_server_credentials.html">ServerCredentials</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#ad18c246d1f0dfe0c6670daade5518111">AltsServerCredentials</a> (const <a class="el" href="structgrpc_1_1experimental_1_1_alts_server_credentials_options.html">AltsServerCredentialsOptions</a> &amp;options)</td></tr>
  251. <tr class="memdesc:ad18c246d1f0dfe0c6670daade5518111"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds ALTS <a class="el" href="classgrpc_1_1_server_credentials.html" title="Wrapper around grpc_server_credentials, a way to authenticate a server.">ServerCredentials</a> given ALTS specific options. <a href="namespacegrpc_1_1experimental.html#ad18c246d1f0dfe0c6670daade5518111">More...</a><br /></td></tr>
  252. <tr class="separator:ad18c246d1f0dfe0c6670daade5518111"><td class="memSeparator" colspan="2">&#160;</td></tr>
  253. <tr class="memitem:a6076d466bcfdcb7d7678c2dcafe01f5f"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_server_credentials.html">ServerCredentials</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#a6076d466bcfdcb7d7678c2dcafe01f5f">LocalServerCredentials</a> (<a class="el" href="grpc__security__constants_8h.html#a31d00ce5c064e1fff4261a6d6298dc11">grpc_local_connect_type</a> type)</td></tr>
  254. <tr class="separator:a6076d466bcfdcb7d7678c2dcafe01f5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  255. <tr class="memitem:ae38e21893afedf68729867eb397b33c3"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_server_credentials.html">ServerCredentials</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#ae38e21893afedf68729867eb397b33c3">TlsServerCredentials</a> (const <a class="el" href="classgrpc_1_1experimental_1_1_tls_server_credentials_options.html">experimental::TlsServerCredentialsOptions</a> &amp;options)</td></tr>
  256. <tr class="memdesc:ae38e21893afedf68729867eb397b33c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds TLS <a class="el" href="classgrpc_1_1_server_credentials.html" title="Wrapper around grpc_server_credentials, a way to authenticate a server.">ServerCredentials</a> given TLS options. <a href="namespacegrpc_1_1experimental.html#ae38e21893afedf68729867eb397b33c3">More...</a><br /></td></tr>
  257. <tr class="separator:ae38e21893afedf68729867eb397b33c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  258. <tr class="memitem:a23266f0eb239c210337ee42d83c021aa"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#a23266f0eb239c210337ee42d83c021aa">ValidateServiceConfigJSON</a> (const std::string &amp;service_config_json)</td></tr>
  259. <tr class="memdesc:a23266f0eb239c210337ee42d83c021aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Validates <em>service_config_json</em>. <a href="namespacegrpc_1_1experimental.html#a23266f0eb239c210337ee42d83c021aa">More...</a><br /></td></tr>
  260. <tr class="separator:a23266f0eb239c210337ee42d83c021aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
  261. </table>
  262. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  263. <div class="textblock"><p><a class="el" href="classgrpc_1_1experimental_1_1_client_rpc_info.html">ClientRpcInfo</a> represents the state of a particular RPC as it appears to an interceptor. </p>
  264. <p>It is created and owned by the library and passed to the CreateClientInterceptor method of the application's <a class="el" href="classgrpc_1_1experimental_1_1_client_interceptor_factory_interface.html">ClientInterceptorFactoryInterface</a> implementation </p>
  265. </div><h2 class="groupheader">Typedef Documentation</h2>
  266. <a id="a5196000ae257498f8c71f54225e4cf9c"></a>
  267. <h2 class="memtitle"><span class="permalink"><a href="#a5196000ae257498f8c71f54225e4cf9c">&#9670;&nbsp;</a></span>CallbackServerContext</h2>
  268. <div class="memitem">
  269. <div class="memproto">
  270. <table class="memname">
  271. <tr>
  272. <td class="memname">typedef ::<a class="el" href="classgrpc_1_1_callback_server_context.html">grpc::CallbackServerContext</a> <a class="el" href="namespacegrpc_1_1experimental.html#a5196000ae257498f8c71f54225e4cf9c">grpc::experimental::CallbackServerContext</a></td>
  273. </tr>
  274. </table>
  275. </div><div class="memdoc">
  276. </div>
  277. </div>
  278. <a id="aff54a4172bb4cd672d73347ac3598d9f"></a>
  279. <h2 class="memtitle"><span class="permalink"><a href="#aff54a4172bb4cd672d73347ac3598d9f">&#9670;&nbsp;</a></span>ClientBidiReactor</h2>
  280. <div class="memitem">
  281. <div class="memproto">
  282. <div class="memtemplate">
  283. template&lt;class Request , class Response &gt; </div>
  284. <table class="memname">
  285. <tr>
  286. <td class="memname">using <a class="el" href="namespacegrpc_1_1experimental.html#aff54a4172bb4cd672d73347ac3598d9f">grpc::experimental::ClientBidiReactor</a> = typedef ::<a class="el" href="classgrpc_1_1_client_bidi_reactor.html">grpc::ClientBidiReactor</a>&lt;Request, Response&gt;</td>
  287. </tr>
  288. </table>
  289. </div><div class="memdoc">
  290. </div>
  291. </div>
  292. <a id="a1ed62f6831d2f848d5553dd247574c16"></a>
  293. <h2 class="memtitle"><span class="permalink"><a href="#a1ed62f6831d2f848d5553dd247574c16">&#9670;&nbsp;</a></span>ClientCallbackReader</h2>
  294. <div class="memitem">
  295. <div class="memproto">
  296. <div class="memtemplate">
  297. template&lt;class Response &gt; </div>
  298. <table class="memname">
  299. <tr>
  300. <td class="memname">using <a class="el" href="namespacegrpc_1_1experimental.html#a1ed62f6831d2f848d5553dd247574c16">grpc::experimental::ClientCallbackReader</a> = typedef ::<a class="el" href="classgrpc_1_1_client_callback_reader.html">grpc::ClientCallbackReader</a>&lt;Response&gt;</td>
  301. </tr>
  302. </table>
  303. </div><div class="memdoc">
  304. </div>
  305. </div>
  306. <a id="a06f5259ef07f16d5957f995bbb2eb86c"></a>
  307. <h2 class="memtitle"><span class="permalink"><a href="#a06f5259ef07f16d5957f995bbb2eb86c">&#9670;&nbsp;</a></span>ClientCallbackReaderWriter</h2>
  308. <div class="memitem">
  309. <div class="memproto">
  310. <div class="memtemplate">
  311. template&lt;class Request , class Response &gt; </div>
  312. <table class="memname">
  313. <tr>
  314. <td class="memname">using <a class="el" href="namespacegrpc_1_1experimental.html#a06f5259ef07f16d5957f995bbb2eb86c">grpc::experimental::ClientCallbackReaderWriter</a> = typedef ::<a class="el" href="classgrpc_1_1_client_callback_reader_writer.html">grpc::ClientCallbackReaderWriter</a>&lt;Request, Response&gt;</td>
  315. </tr>
  316. </table>
  317. </div><div class="memdoc">
  318. </div>
  319. </div>
  320. <a id="a567625b67d212878b68ae44fdf6c6716"></a>
  321. <h2 class="memtitle"><span class="permalink"><a href="#a567625b67d212878b68ae44fdf6c6716">&#9670;&nbsp;</a></span>ClientCallbackWriter</h2>
  322. <div class="memitem">
  323. <div class="memproto">
  324. <div class="memtemplate">
  325. template&lt;class Request &gt; </div>
  326. <table class="memname">
  327. <tr>
  328. <td class="memname">using <a class="el" href="namespacegrpc_1_1experimental.html#a567625b67d212878b68ae44fdf6c6716">grpc::experimental::ClientCallbackWriter</a> = typedef ::<a class="el" href="classgrpc_1_1_client_callback_writer.html">grpc::ClientCallbackWriter</a>&lt;Request&gt;</td>
  329. </tr>
  330. </table>
  331. </div><div class="memdoc">
  332. </div>
  333. </div>
  334. <a id="a6bdc8fe2fed54eb20139c691309497ee"></a>
  335. <h2 class="memtitle"><span class="permalink"><a href="#a6bdc8fe2fed54eb20139c691309497ee">&#9670;&nbsp;</a></span>ClientReadReactor</h2>
  336. <div class="memitem">
  337. <div class="memproto">
  338. <div class="memtemplate">
  339. template&lt;class Response &gt; </div>
  340. <table class="memname">
  341. <tr>
  342. <td class="memname">using <a class="el" href="namespacegrpc_1_1experimental.html#a6bdc8fe2fed54eb20139c691309497ee">grpc::experimental::ClientReadReactor</a> = typedef ::<a class="el" href="classgrpc_1_1_client_read_reactor.html">grpc::ClientReadReactor</a>&lt;Response&gt;</td>
  343. </tr>
  344. </table>
  345. </div><div class="memdoc">
  346. </div>
  347. </div>
  348. <a id="a67691940c33d573c5e9012395772e9ac"></a>
  349. <h2 class="memtitle"><span class="permalink"><a href="#a67691940c33d573c5e9012395772e9ac">&#9670;&nbsp;</a></span>ClientUnaryReactor</h2>
  350. <div class="memitem">
  351. <div class="memproto">
  352. <table class="memname">
  353. <tr>
  354. <td class="memname">typedef ::<a class="el" href="classgrpc_1_1_client_unary_reactor.html">grpc::ClientUnaryReactor</a> <a class="el" href="namespacegrpc_1_1experimental.html#a67691940c33d573c5e9012395772e9ac">grpc::experimental::ClientUnaryReactor</a></td>
  355. </tr>
  356. </table>
  357. </div><div class="memdoc">
  358. </div>
  359. </div>
  360. <a id="a054c72006e1d7c3d29cf06b2bb5d8ecb"></a>
  361. <h2 class="memtitle"><span class="permalink"><a href="#a054c72006e1d7c3d29cf06b2bb5d8ecb">&#9670;&nbsp;</a></span>ClientWriteReactor</h2>
  362. <div class="memitem">
  363. <div class="memproto">
  364. <div class="memtemplate">
  365. template&lt;class Request &gt; </div>
  366. <table class="memname">
  367. <tr>
  368. <td class="memname">using <a class="el" href="namespacegrpc_1_1experimental.html#a054c72006e1d7c3d29cf06b2bb5d8ecb">grpc::experimental::ClientWriteReactor</a> = typedef ::<a class="el" href="classgrpc_1_1_client_write_reactor.html">grpc::ClientWriteReactor</a>&lt;Request&gt;</td>
  369. </tr>
  370. </table>
  371. </div><div class="memdoc">
  372. </div>
  373. </div>
  374. <a id="adedd4841521e4fe210676d8387190cf1"></a>
  375. <h2 class="memtitle"><span class="permalink"><a href="#adedd4841521e4fe210676d8387190cf1">&#9670;&nbsp;</a></span>ServerBidiReactor</h2>
  376. <div class="memitem">
  377. <div class="memproto">
  378. <div class="memtemplate">
  379. template&lt;class Request , class Response &gt; </div>
  380. <table class="memname">
  381. <tr>
  382. <td class="memname">using <a class="el" href="namespacegrpc_1_1experimental.html#adedd4841521e4fe210676d8387190cf1">grpc::experimental::ServerBidiReactor</a> = typedef ::<a class="el" href="classgrpc_1_1_server_bidi_reactor.html">grpc::ServerBidiReactor</a>&lt;Request, Response&gt;</td>
  383. </tr>
  384. </table>
  385. </div><div class="memdoc">
  386. </div>
  387. </div>
  388. <a id="a412c68b94e8e73a2d508cd8731c4dc00"></a>
  389. <h2 class="memtitle"><span class="permalink"><a href="#a412c68b94e8e73a2d508cd8731c4dc00">&#9670;&nbsp;</a></span>ServerContextBase</h2>
  390. <div class="memitem">
  391. <div class="memproto">
  392. <table class="memname">
  393. <tr>
  394. <td class="memname">typedef ::<a class="el" href="classgrpc_1_1_server_context_base.html">grpc::ServerContextBase</a> <a class="el" href="namespacegrpc_1_1experimental.html#a412c68b94e8e73a2d508cd8731c4dc00">grpc::experimental::ServerContextBase</a></td>
  395. </tr>
  396. </table>
  397. </div><div class="memdoc">
  398. </div>
  399. </div>
  400. <a id="a916f9dcafe97095d67e71751bf183fbd"></a>
  401. <h2 class="memtitle"><span class="permalink"><a href="#a916f9dcafe97095d67e71751bf183fbd">&#9670;&nbsp;</a></span>ServerGenericBidiReactor</h2>
  402. <div class="memitem">
  403. <div class="memproto">
  404. <table class="memname">
  405. <tr>
  406. <td class="memname">using <a class="el" href="namespacegrpc_1_1experimental.html#a916f9dcafe97095d67e71751bf183fbd">grpc::experimental::ServerGenericBidiReactor</a> = typedef <a class="el" href="namespacegrpc_1_1experimental.html#adedd4841521e4fe210676d8387190cf1">ServerBidiReactor</a>&lt;<a class="el" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a>, <a class="el" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a>&gt;</td>
  407. </tr>
  408. </table>
  409. </div><div class="memdoc">
  410. <p><em>ServerGenericBidiReactor</em> is the reactor class for bidi streaming RPCs invoked on a <a class="el" href="classgrpc_1_1experimental_1_1_callback_generic_service.html" title="CallbackGenericService is the base class for generic services implemented using the callback API and ...">CallbackGenericService</a>. </p>
  411. <p>It is just a ServerBidi reactor with <a class="el" href="classgrpc_1_1_byte_buffer.html" title="A sequence of bytes.">ByteBuffer</a> arguments. </p>
  412. </div>
  413. </div>
  414. <a id="a206c4e9a3284abe67fab5371b5b8817d"></a>
  415. <h2 class="memtitle"><span class="permalink"><a href="#a206c4e9a3284abe67fab5371b5b8817d">&#9670;&nbsp;</a></span>ServerReadReactor</h2>
  416. <div class="memitem">
  417. <div class="memproto">
  418. <div class="memtemplate">
  419. template&lt;class Request &gt; </div>
  420. <table class="memname">
  421. <tr>
  422. <td class="memname">using <a class="el" href="namespacegrpc_1_1experimental.html#a206c4e9a3284abe67fab5371b5b8817d">grpc::experimental::ServerReadReactor</a> = typedef ::<a class="el" href="classgrpc_1_1_server_read_reactor.html">grpc::ServerReadReactor</a>&lt;Request&gt;</td>
  423. </tr>
  424. </table>
  425. </div><div class="memdoc">
  426. </div>
  427. </div>
  428. <a id="a474c9d8e05663f1e91df86a0148b4b65"></a>
  429. <h2 class="memtitle"><span class="permalink"><a href="#a474c9d8e05663f1e91df86a0148b4b65">&#9670;&nbsp;</a></span>ServerUnaryReactor</h2>
  430. <div class="memitem">
  431. <div class="memproto">
  432. <table class="memname">
  433. <tr>
  434. <td class="memname">using <a class="el" href="namespacegrpc_1_1experimental.html#a474c9d8e05663f1e91df86a0148b4b65">grpc::experimental::ServerUnaryReactor</a> = typedef ::<a class="el" href="classgrpc_1_1_server_unary_reactor.html">grpc::ServerUnaryReactor</a></td>
  435. </tr>
  436. </table>
  437. </div><div class="memdoc">
  438. </div>
  439. </div>
  440. <a id="aed7eac88a148941c9106b5ed5409eefa"></a>
  441. <h2 class="memtitle"><span class="permalink"><a href="#aed7eac88a148941c9106b5ed5409eefa">&#9670;&nbsp;</a></span>ServerWriteReactor</h2>
  442. <div class="memitem">
  443. <div class="memproto">
  444. <div class="memtemplate">
  445. template&lt;class Response &gt; </div>
  446. <table class="memname">
  447. <tr>
  448. <td class="memname">using <a class="el" href="namespacegrpc_1_1experimental.html#aed7eac88a148941c9106b5ed5409eefa">grpc::experimental::ServerWriteReactor</a> = typedef ::<a class="el" href="classgrpc_1_1_server_write_reactor.html">grpc::ServerWriteReactor</a>&lt;Response&gt;</td>
  449. </tr>
  450. </table>
  451. </div><div class="memdoc">
  452. </div>
  453. </div>
  454. <h2 class="groupheader">Enumeration Type Documentation</h2>
  455. <a id="a03d3481b2c4146f53e90966d4a0fd8a1"></a>
  456. <h2 class="memtitle"><span class="permalink"><a href="#a03d3481b2c4146f53e90966d4a0fd8a1">&#9670;&nbsp;</a></span>InterceptionHookPoints</h2>
  457. <div class="memitem">
  458. <div class="memproto">
  459. <table class="mlabels">
  460. <tr>
  461. <td class="mlabels-left">
  462. <table class="memname">
  463. <tr>
  464. <td class="memname">enum <a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1">grpc::experimental::InterceptionHookPoints</a></td>
  465. </tr>
  466. </table>
  467. </td>
  468. <td class="mlabels-right">
  469. <span class="mlabels"><span class="mlabel">strong</span></span> </td>
  470. </tr>
  471. </table>
  472. </div><div class="memdoc">
  473. <p>An enumeration of different possible points at which the <em>Intercept</em> method of the <em><a class="el" href="classgrpc_1_1experimental_1_1_interceptor.html" title="Interface for an interceptor.">Interceptor</a></em> interface may be called. </p>
  474. <p>Any given call to <em>Intercept</em> will include one or more of these hook points, and each hook point makes certain types of information available to the interceptor. In these enumeration names, PRE_SEND means that an interception has taken place between the time the application provided a certain type of data (e.g., initial metadata, status) and the time that that data goes to the other side. POST_SEND means that the data has been committed for going to the other side (even if it has not yet been received at the other side). PRE_RECV means an interception between the time that a certain operation has been requested and it is available. POST_RECV means that a result is available but has not yet been passed back to the application. A batch of interception points will only contain either PRE or POST hooks but not both types. For example, a batch with PRE_SEND hook points will not contain POST_RECV or POST_SEND ops. Likewise, a batch with POST_* ops can not contain PRE_* ops. </p>
  475. <table class="fieldtable">
  476. <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1a68f9cc22793a30bf451f5d94c283f371"></a>PRE_SEND_INITIAL_METADATA&#160;</td><td class="fielddoc"><p>The first three in this list are for clients and servers. </p>
  477. </td></tr>
  478. <tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1a78e48d97d3b04c3bc07cc5e015bae473"></a>PRE_SEND_MESSAGE&#160;</td><td class="fielddoc"></td></tr>
  479. <tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1a55a1a0825067b70bab918b67b298f038"></a>POST_SEND_MESSAGE&#160;</td><td class="fielddoc"></td></tr>
  480. <tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1a787bde31497aaaccd0e780928a34ba3c"></a>PRE_SEND_STATUS&#160;</td><td class="fielddoc"></td></tr>
  481. <tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1aae41c3d206fb78da7ea1baff522fe734"></a>PRE_SEND_CLOSE&#160;</td><td class="fielddoc"></td></tr>
  482. <tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1ae1edf7ebacfc20d107e332ed0df262d2"></a>PRE_RECV_INITIAL_METADATA&#160;</td><td class="fielddoc"><p>The following three are for hijacked clients only. </p>
  483. <p>A batch with PRE_RECV_* hook points will never contain hook points of other types. </p>
  484. </td></tr>
  485. <tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1aed5412a55f4c64aab2e6492c79c91422"></a>PRE_RECV_MESSAGE&#160;</td><td class="fielddoc"></td></tr>
  486. <tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1aac79efae31b3773d455797286cd0a3c3"></a>PRE_RECV_STATUS&#160;</td><td class="fielddoc"></td></tr>
  487. <tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1a294bdaeb2f3c15f0c7529ecdb04daea8"></a>POST_RECV_INITIAL_METADATA&#160;</td><td class="fielddoc"><p>The following two are for all clients and servers. </p>
  488. </td></tr>
  489. <tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1ab65173742bb81f390a2bbe48279a1d22"></a>POST_RECV_MESSAGE&#160;</td><td class="fielddoc"></td></tr>
  490. <tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1a97b298c9f3aa4e0b5b4865eaa93a5909"></a>POST_RECV_STATUS&#160;</td><td class="fielddoc"></td></tr>
  491. <tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1a28873db230a854864aaf46ce3c7d282a"></a>POST_RECV_CLOSE&#160;</td><td class="fielddoc"></td></tr>
  492. <tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1afeaf95b857178c518bb74d59eb39aa23"></a>PRE_SEND_CANCEL&#160;</td><td class="fielddoc"><p>This is a special hook point available to both clients and servers when TryCancel() is performed. </p>
  493. <ul>
  494. <li>No other hook points will be present along with this.</li>
  495. <li>It is illegal for an interceptor to block/delay this operation.</li>
  496. <li>ALL interceptors see this hook point irrespective of whether the RPC was hijacked or not. </li>
  497. </ul>
  498. </td></tr>
  499. <tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1a005432205f3c52f3321eab4485d84c36"></a>NUM_INTERCEPTION_HOOKS&#160;</td><td class="fielddoc"></td></tr>
  500. </table>
  501. </div>
  502. </div>
  503. <h2 class="groupheader">Function Documentation</h2>
  504. <a id="ad871e11876b9e9893ee4f57fc283abfb"></a>
  505. <h2 class="memtitle"><span class="permalink"><a href="#ad871e11876b9e9893ee4f57fc283abfb">&#9670;&nbsp;</a></span>AltsCredentials()</h2>
  506. <div class="memitem">
  507. <div class="memproto">
  508. <table class="memname">
  509. <tr>
  510. <td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_channel_credentials.html">ChannelCredentials</a>&gt; grpc::experimental::AltsCredentials </td>
  511. <td>(</td>
  512. <td class="paramtype">const <a class="el" href="structgrpc_1_1experimental_1_1_alts_credentials_options.html">AltsCredentialsOptions</a> &amp;&#160;</td>
  513. <td class="paramname"><em>options</em></td><td>)</td>
  514. <td></td>
  515. </tr>
  516. </table>
  517. </div><div class="memdoc">
  518. <p>Builds ALTS Credentials given ALTS specific options. </p>
  519. </div>
  520. </div>
  521. <a id="ad18c246d1f0dfe0c6670daade5518111"></a>
  522. <h2 class="memtitle"><span class="permalink"><a href="#ad18c246d1f0dfe0c6670daade5518111">&#9670;&nbsp;</a></span>AltsServerCredentials()</h2>
  523. <div class="memitem">
  524. <div class="memproto">
  525. <table class="memname">
  526. <tr>
  527. <td class="memname">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_server_credentials.html">ServerCredentials</a> &gt; grpc::experimental::AltsServerCredentials </td>
  528. <td>(</td>
  529. <td class="paramtype">const <a class="el" href="structgrpc_1_1experimental_1_1_alts_server_credentials_options.html">AltsServerCredentialsOptions</a> &amp;&#160;</td>
  530. <td class="paramname"><em>options</em></td><td>)</td>
  531. <td></td>
  532. </tr>
  533. </table>
  534. </div><div class="memdoc">
  535. <p>Builds ALTS <a class="el" href="classgrpc_1_1_server_credentials.html" title="Wrapper around grpc_server_credentials, a way to authenticate a server.">ServerCredentials</a> given ALTS specific options. </p>
  536. <p>Builds Local <a class="el" href="classgrpc_1_1_server_credentials.html" title="Wrapper around grpc_server_credentials, a way to authenticate a server.">ServerCredentials</a>. </p>
  537. </div>
  538. </div>
  539. <a id="ab4c7e40417b37179d52667f3208f69a3"></a>
  540. <h2 class="memtitle"><span class="permalink"><a href="#ab4c7e40417b37179d52667f3208f69a3">&#9670;&nbsp;</a></span>ChannelResetConnectionBackoff()</h2>
  541. <div class="memitem">
  542. <div class="memproto">
  543. <table class="memname">
  544. <tr>
  545. <td class="memname">void grpc::experimental::ChannelResetConnectionBackoff </td>
  546. <td>(</td>
  547. <td class="paramtype"><a class="el" href="classgrpc_1_1_channel.html">Channel</a> *&#160;</td>
  548. <td class="paramname"><em>channel</em></td><td>)</td>
  549. <td></td>
  550. </tr>
  551. </table>
  552. </div><div class="memdoc">
  553. <p>Resets the channel's connection backoff. </p>
  554. <p>TODO(roth): Once we see whether this proves useful, either create a gRFC and change this to be a method of the <a class="el" href="classgrpc_1_1_channel.html" title="Channels represent a connection to an endpoint. Created by CreateChannel.">Channel</a> class, or remove it. </p>
  555. </div>
  556. </div>
  557. <a id="af089b10a266c70f15aeb7e2156295a30"></a>
  558. <h2 class="memtitle"><span class="permalink"><a href="#af089b10a266c70f15aeb7e2156295a30">&#9670;&nbsp;</a></span>CreateCustomChannelWithInterceptors() <span class="overload">[1/2]</span></h2>
  559. <div class="memitem">
  560. <div class="memproto">
  561. <table class="memname">
  562. <tr>
  563. <td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_channel.html">Channel</a>&gt; grpc::experimental::CreateCustomChannelWithInterceptors </td>
  564. <td>(</td>
  565. <td class="paramtype">const grpc::string &amp;&#160;</td>
  566. <td class="paramname"><em>target</em>, </td>
  567. </tr>
  568. <tr>
  569. <td class="paramkey"></td>
  570. <td></td>
  571. <td class="paramtype">const std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel_credentials.html">ChannelCredentials</a> &gt; &amp;&#160;</td>
  572. <td class="paramname"><em>creds</em>, </td>
  573. </tr>
  574. <tr>
  575. <td class="paramkey"></td>
  576. <td></td>
  577. <td class="paramtype">const <a class="el" href="classgrpc_1_1_channel_arguments.html">ChannelArguments</a> &amp;&#160;</td>
  578. <td class="paramname"><em>args</em>, </td>
  579. </tr>
  580. <tr>
  581. <td class="paramkey"></td>
  582. <td></td>
  583. <td class="paramtype">std::vector&lt; std::unique_ptr&lt; <a class="el" href="classgrpc_1_1experimental_1_1_client_interceptor_factory_interface.html">experimental::ClientInterceptorFactoryInterface</a> &gt;&gt;&#160;</td>
  584. <td class="paramname"><em>interceptor_creators</em>&#160;</td>
  585. </tr>
  586. <tr>
  587. <td></td>
  588. <td>)</td>
  589. <td></td><td></td>
  590. </tr>
  591. </table>
  592. </div><div class="memdoc">
  593. <p>Create a new <em>custom</em> <em><a class="el" href="classgrpc_1_1_channel.html" title="Channels represent a connection to an endpoint. Created by CreateChannel.">Channel</a></em> pointing to <em>target</em> with <em>interceptors</em> being invoked per call. </p>
  594. <dl class="section warning"><dt>Warning</dt><dd>For advanced use and testing ONLY. Override default channel arguments only if necessary.</dd></dl>
  595. <dl class="params"><dt>Parameters</dt><dd>
  596. <table class="params">
  597. <tr><td class="paramname">target</td><td>The URI of the endpoint to connect to. </td></tr>
  598. <tr><td class="paramname">creds</td><td>Credentials to use for the created channel. If it does not hold an object or is invalid, a lame channel (one on which all operations fail) is returned. </td></tr>
  599. <tr><td class="paramname">args</td><td>Options for channel creation. </td></tr>
  600. </table>
  601. </dd>
  602. </dl>
  603. </div>
  604. </div>
  605. <a id="a718f256dc9bf553b923b5202422b6fe7"></a>
  606. <h2 class="memtitle"><span class="permalink"><a href="#a718f256dc9bf553b923b5202422b6fe7">&#9670;&nbsp;</a></span>CreateCustomChannelWithInterceptors() <span class="overload">[2/2]</span></h2>
  607. <div class="memitem">
  608. <div class="memproto">
  609. <table class="memname">
  610. <tr>
  611. <td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_channel.html">grpc::Channel</a>&gt; grpc::experimental::CreateCustomChannelWithInterceptors </td>
  612. <td>(</td>
  613. <td class="paramtype">const grpc::string &amp;&#160;</td>
  614. <td class="paramname"><em>target</em>, </td>
  615. </tr>
  616. <tr>
  617. <td class="paramkey"></td>
  618. <td></td>
  619. <td class="paramtype">const std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel_credentials.html">grpc::ChannelCredentials</a> &gt; &amp;&#160;</td>
  620. <td class="paramname"><em>creds</em>, </td>
  621. </tr>
  622. <tr>
  623. <td class="paramkey"></td>
  624. <td></td>
  625. <td class="paramtype">const <a class="el" href="classgrpc_1_1_channel_arguments.html">grpc::ChannelArguments</a> &amp;&#160;</td>
  626. <td class="paramname"><em>args</em>, </td>
  627. </tr>
  628. <tr>
  629. <td class="paramkey"></td>
  630. <td></td>
  631. <td class="paramtype">std::vector&lt; std::unique_ptr&lt; <a class="el" href="classgrpc_1_1experimental_1_1_client_interceptor_factory_interface.html">grpc::experimental::ClientInterceptorFactoryInterface</a> &gt;&gt;&#160;</td>
  632. <td class="paramname"><em>interceptor_creators</em>&#160;</td>
  633. </tr>
  634. <tr>
  635. <td></td>
  636. <td>)</td>
  637. <td></td><td></td>
  638. </tr>
  639. </table>
  640. </div><div class="memdoc">
  641. </div>
  642. </div>
  643. <a id="a9354c3cab0a74d9d405c00781f789507"></a>
  644. <h2 class="memtitle"><span class="permalink"><a href="#a9354c3cab0a74d9d405c00781f789507">&#9670;&nbsp;</a></span>LocalCredentials()</h2>
  645. <div class="memitem">
  646. <div class="memproto">
  647. <table class="memname">
  648. <tr>
  649. <td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_channel_credentials.html">ChannelCredentials</a>&gt; grpc::experimental::LocalCredentials </td>
  650. <td>(</td>
  651. <td class="paramtype"><a class="el" href="grpc__security__constants_8h.html#a31d00ce5c064e1fff4261a6d6298dc11">grpc_local_connect_type</a>&#160;</td>
  652. <td class="paramname"><em>type</em></td><td>)</td>
  653. <td></td>
  654. </tr>
  655. </table>
  656. </div><div class="memdoc">
  657. <p>Builds Local Credentials. </p>
  658. </div>
  659. </div>
  660. <a id="a6076d466bcfdcb7d7678c2dcafe01f5f"></a>
  661. <h2 class="memtitle"><span class="permalink"><a href="#a6076d466bcfdcb7d7678c2dcafe01f5f">&#9670;&nbsp;</a></span>LocalServerCredentials()</h2>
  662. <div class="memitem">
  663. <div class="memproto">
  664. <table class="memname">
  665. <tr>
  666. <td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_server_credentials.html">ServerCredentials</a>&gt; grpc::experimental::LocalServerCredentials </td>
  667. <td>(</td>
  668. <td class="paramtype"><a class="el" href="grpc__security__constants_8h.html#a31d00ce5c064e1fff4261a6d6298dc11">grpc_local_connect_type</a>&#160;</td>
  669. <td class="paramname"><em>type</em></td><td>)</td>
  670. <td></td>
  671. </tr>
  672. </table>
  673. </div><div class="memdoc">
  674. </div>
  675. </div>
  676. <a id="a751cfa9b3fcfe366aaf6cfd0529edaea"></a>
  677. <h2 class="memtitle"><span class="permalink"><a href="#a751cfa9b3fcfe366aaf6cfd0529edaea">&#9670;&nbsp;</a></span>MetadataCredentialsFromPlugin()</h2>
  678. <div class="memitem">
  679. <div class="memproto">
  680. <table class="memname">
  681. <tr>
  682. <td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_call_credentials.html">CallCredentials</a>&gt; grpc::experimental::MetadataCredentialsFromPlugin </td>
  683. <td>(</td>
  684. <td class="paramtype">std::unique_ptr&lt; <a class="el" href="classgrpc_1_1_metadata_credentials_plugin.html">MetadataCredentialsPlugin</a> &gt;&#160;</td>
  685. <td class="paramname"><em>plugin</em>, </td>
  686. </tr>
  687. <tr>
  688. <td class="paramkey"></td>
  689. <td></td>
  690. <td class="paramtype"><a class="el" href="grpc__security__constants_8h.html#a3c3165c49cd7a359ddb8656aae7e9dd6">grpc_security_level</a>&#160;</td>
  691. <td class="paramname"><em>min_security_level</em>&#160;</td>
  692. </tr>
  693. <tr>
  694. <td></td>
  695. <td>)</td>
  696. <td></td><td></td>
  697. </tr>
  698. </table>
  699. </div><div class="memdoc">
  700. </div>
  701. </div>
  702. <a id="abf863776469f08e69e7ca6e82246fd7a"></a>
  703. <h2 class="memtitle"><span class="permalink"><a href="#abf863776469f08e69e7ca6e82246fd7a">&#9670;&nbsp;</a></span>RegisterGlobalClientInterceptorFactory()</h2>
  704. <div class="memitem">
  705. <div class="memproto">
  706. <table class="memname">
  707. <tr>
  708. <td class="memname">void grpc::experimental::RegisterGlobalClientInterceptorFactory </td>
  709. <td>(</td>
  710. <td class="paramtype"><a class="el" href="classgrpc_1_1experimental_1_1_client_interceptor_factory_interface.html">ClientInterceptorFactoryInterface</a> *&#160;</td>
  711. <td class="paramname"><em>factory</em></td><td>)</td>
  712. <td></td>
  713. </tr>
  714. </table>
  715. </div><div class="memdoc">
  716. </div>
  717. </div>
  718. <a id="a161935ac55ae1d7df2936a4095cd2bee"></a>
  719. <h2 class="memtitle"><span class="permalink"><a href="#a161935ac55ae1d7df2936a4095cd2bee">&#9670;&nbsp;</a></span>StsCredentials()</h2>
  720. <div class="memitem">
  721. <div class="memproto">
  722. <table class="memname">
  723. <tr>
  724. <td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_call_credentials.html">CallCredentials</a>&gt; grpc::experimental::StsCredentials </td>
  725. <td>(</td>
  726. <td class="paramtype">const <a class="el" href="structgrpc_1_1experimental_1_1_sts_credentials_options.html">StsCredentialsOptions</a> &amp;&#160;</td>
  727. <td class="paramname"><em>options</em></td><td>)</td>
  728. <td></td>
  729. </tr>
  730. </table>
  731. </div><div class="memdoc">
  732. </div>
  733. </div>
  734. <a id="a2ace3ea6f7ebdb51d0134e3e0b701f49"></a>
  735. <h2 class="memtitle"><span class="permalink"><a href="#a2ace3ea6f7ebdb51d0134e3e0b701f49">&#9670;&nbsp;</a></span>StsCredentialsOptionsFromEnv()</h2>
  736. <div class="memitem">
  737. <div class="memproto">
  738. <table class="memname">
  739. <tr>
  740. <td class="memname"><a class="el" href="classgrpc_1_1_status.html">grpc::Status</a> grpc::experimental::StsCredentialsOptionsFromEnv </td>
  741. <td>(</td>
  742. <td class="paramtype"><a class="el" href="structgrpc_1_1experimental_1_1_sts_credentials_options.html">StsCredentialsOptions</a> *&#160;</td>
  743. <td class="paramname"><em>options</em></td><td>)</td>
  744. <td></td>
  745. </tr>
  746. </table>
  747. </div><div class="memdoc">
  748. <p>Creates STS credentials options from the $STS_CREDENTIALS environment variable. </p>
  749. <p>This environment variable points to the path of a JSON file comforming to the schema described above. </p>
  750. </div>
  751. </div>
  752. <a id="a845a1ccd03791217297f52281777a9b4"></a>
  753. <h2 class="memtitle"><span class="permalink"><a href="#a845a1ccd03791217297f52281777a9b4">&#9670;&nbsp;</a></span>StsCredentialsOptionsFromJson()</h2>
  754. <div class="memitem">
  755. <div class="memproto">
  756. <table class="memname">
  757. <tr>
  758. <td class="memname"><a class="el" href="classgrpc_1_1_status.html">grpc::Status</a> grpc::experimental::StsCredentialsOptionsFromJson </td>
  759. <td>(</td>
  760. <td class="paramtype">const std::string &amp;&#160;</td>
  761. <td class="paramname"><em>json_string</em>, </td>
  762. </tr>
  763. <tr>
  764. <td class="paramkey"></td>
  765. <td></td>
  766. <td class="paramtype"><a class="el" href="structgrpc_1_1experimental_1_1_sts_credentials_options.html">StsCredentialsOptions</a> *&#160;</td>
  767. <td class="paramname"><em>options</em>&#160;</td>
  768. </tr>
  769. <tr>
  770. <td></td>
  771. <td>)</td>
  772. <td></td><td></td>
  773. </tr>
  774. </table>
  775. </div><div class="memdoc">
  776. </div>
  777. </div>
  778. <a id="a06e8ad17f59ec479769f014e79a4b068"></a>
  779. <h2 class="memtitle"><span class="permalink"><a href="#a06e8ad17f59ec479769f014e79a4b068">&#9670;&nbsp;</a></span>TestOnlyResetGlobalClientInterceptorFactory()</h2>
  780. <div class="memitem">
  781. <div class="memproto">
  782. <table class="memname">
  783. <tr>
  784. <td class="memname">void grpc::experimental::TestOnlyResetGlobalClientInterceptorFactory </td>
  785. <td>(</td>
  786. <td class="paramname"></td><td>)</td>
  787. <td></td>
  788. </tr>
  789. </table>
  790. </div><div class="memdoc">
  791. </div>
  792. </div>
  793. <a id="afb25a4d9b907f609d4ddd1b373a8726b"></a>
  794. <h2 class="memtitle"><span class="permalink"><a href="#afb25a4d9b907f609d4ddd1b373a8726b">&#9670;&nbsp;</a></span>TlsCredentials()</h2>
  795. <div class="memitem">
  796. <div class="memproto">
  797. <table class="memname">
  798. <tr>
  799. <td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_channel_credentials.html">ChannelCredentials</a>&gt; grpc::experimental::TlsCredentials </td>
  800. <td>(</td>
  801. <td class="paramtype">const <a class="el" href="classgrpc_1_1experimental_1_1_tls_channel_credentials_options.html">TlsChannelCredentialsOptions</a> &amp;&#160;</td>
  802. <td class="paramname"><em>options</em></td><td>)</td>
  803. <td></td>
  804. </tr>
  805. </table>
  806. </div><div class="memdoc">
  807. <p>Builds TLS Credentials given TLS options. </p>
  808. </div>
  809. </div>
  810. <a id="ae38e21893afedf68729867eb397b33c3"></a>
  811. <h2 class="memtitle"><span class="permalink"><a href="#ae38e21893afedf68729867eb397b33c3">&#9670;&nbsp;</a></span>TlsServerCredentials()</h2>
  812. <div class="memitem">
  813. <div class="memproto">
  814. <table class="memname">
  815. <tr>
  816. <td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_server_credentials.html">ServerCredentials</a>&gt; grpc::experimental::TlsServerCredentials </td>
  817. <td>(</td>
  818. <td class="paramtype">const <a class="el" href="classgrpc_1_1experimental_1_1_tls_server_credentials_options.html">experimental::TlsServerCredentialsOptions</a> &amp;&#160;</td>
  819. <td class="paramname"><em>options</em></td><td>)</td>
  820. <td></td>
  821. </tr>
  822. </table>
  823. </div><div class="memdoc">
  824. <p>Builds TLS <a class="el" href="classgrpc_1_1_server_credentials.html" title="Wrapper around grpc_server_credentials, a way to authenticate a server.">ServerCredentials</a> given TLS options. </p>
  825. </div>
  826. </div>
  827. <a id="a23266f0eb239c210337ee42d83c021aa"></a>
  828. <h2 class="memtitle"><span class="permalink"><a href="#a23266f0eb239c210337ee42d83c021aa">&#9670;&nbsp;</a></span>ValidateServiceConfigJSON()</h2>
  829. <div class="memitem">
  830. <div class="memproto">
  831. <table class="memname">
  832. <tr>
  833. <td class="memname">std::string grpc::experimental::ValidateServiceConfigJSON </td>
  834. <td>(</td>
  835. <td class="paramtype">const std::string &amp;&#160;</td>
  836. <td class="paramname"><em>service_config_json</em></td><td>)</td>
  837. <td></td>
  838. </tr>
  839. </table>
  840. </div><div class="memdoc">
  841. <p>Validates <em>service_config_json</em>. </p>
  842. <p>If valid, returns an empty string. Otherwise, returns the validation error. TODO(yashykt): Promote it to out of experimental once it is proved useful and gRFC is accepted. </p>
  843. </div>
  844. </div>
  845. <a id="a9c55f91536c2fbefcd8f8bea1db7125d"></a>
  846. <h2 class="memtitle"><span class="permalink"><a href="#a9c55f91536c2fbefcd8f8bea1db7125d">&#9670;&nbsp;</a></span>XdsCredentials()</h2>
  847. <div class="memitem">
  848. <div class="memproto">
  849. <table class="memname">
  850. <tr>
  851. <td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_channel_credentials.html">ChannelCredentials</a>&gt; grpc::experimental::XdsCredentials </td>
  852. <td>(</td>
  853. <td class="paramtype">const std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel_credentials.html">ChannelCredentials</a> &gt; &amp;&#160;</td>
  854. <td class="paramname"><em>fallback_creds</em></td><td>)</td>
  855. <td></td>
  856. </tr>
  857. </table>
  858. </div><div class="memdoc">
  859. <p>Builds XDS Credentials. </p>
  860. </div>
  861. </div>
  862. <a id="a7317b5a2aba8ba9b1126d39609e7da58"></a>
  863. <h2 class="memtitle"><span class="permalink"><a href="#a7317b5a2aba8ba9b1126d39609e7da58">&#9670;&nbsp;</a></span>XdsServerCredentials()</h2>
  864. <div class="memitem">
  865. <div class="memproto">
  866. <table class="memname">
  867. <tr>
  868. <td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_server_credentials.html">ServerCredentials</a>&gt; grpc::experimental::XdsServerCredentials </td>
  869. <td>(</td>
  870. <td class="paramtype">const std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_server_credentials.html">ServerCredentials</a> &gt; &amp;&#160;</td>
  871. <td class="paramname"><em>fallback_credentials</em></td><td>)</td>
  872. <td></td>
  873. </tr>
  874. </table>
  875. </div><div class="memdoc">
  876. <p>Builds Xds <a class="el" href="classgrpc_1_1_server_credentials.html" title="Wrapper around grpc_server_credentials, a way to authenticate a server.">ServerCredentials</a> given fallback credentials. </p>
  877. </div>
  878. </div>
  879. </div><!-- contents -->
  880. <!-- start footer part -->
  881. <hr class="footer"/><address class="footer"><small>
  882. Generated on Wed Mar 3 2021 19:17:25 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
  883. <img class="footer" src="doxygen.png" alt="doxygen"/>
  884. </a> 1.8.17
  885. </small></address>
  886. </body>
  887. </html>