grpc/cpp/namespacegrpc_1_1experiment...

718 lines
59 KiB
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>
<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 C++: grpc::experimental Namespace 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 C++
&#160;<span id="projectnumber">1.58.0</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="namespacegrpc.html">grpc</a></li><li class="navelem"><a class="el" href="namespacegrpc_1_1experimental.html">experimental</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">grpc::experimental Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<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.
<a href="namespacegrpc_1_1experimental.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacegrpc_1_1experimental_1_1binder"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental_1_1binder.html">binder</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="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc_1_1experimental_1_1_alts_credentials_options.html">AltsCredentialsOptions</a></td></tr>
<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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc_1_1experimental_1_1_alts_server_credentials_options.html">AltsServerCredentialsOptions</a></td></tr>
<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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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_authorization_policy_provider_interface.html">AuthorizationPolicyProviderInterface</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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_call_metric_recorder.html">CallMetricRecorder</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Records call metrics for the purpose of load balancing. <a href="classgrpc_1_1experimental_1_1_call_metric_recorder.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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_verifier.html">CertificateVerifier</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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_certificate_verifier.html">ExternalCertificateVerifier</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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_authorization_policy_provider.html">FileWatcherAuthorizationPolicyProvider</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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_host_name_certificate_verifier.html">HostNameCertificateVerifier</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc_1_1experimental_1_1_identity_key_cert_pair.html">IdentityKeyCertPair</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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_no_op_certificate_verifier.html">NoOpCertificateVerifier</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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_metric_recorder.html">ServerMetricRecorder</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Records server wide metrics to be reported to the client. <a href="classgrpc_1_1experimental_1_1_server_metric_recorder.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">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>
<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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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_authorization_policy_provider.html">StaticDataAuthorizationPolicyProvider</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc_1_1experimental_1_1_sts_credentials_options.html">StsCredentialsOptions</a></td></tr>
<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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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_custom_verification_check_request.html">TlsCustomVerificationCheckRequest</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:adedd4841521e4fe210676d8387190cf1"><td class="memTemplParams" colspan="2">template&lt;class Request , class Response &gt; </td></tr>
<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>
<tr class="separator:adedd4841521e4fe210676d8387190cf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem: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 />
&#160;&#160;<a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1a68f9cc22793a30bf451f5d94c283f371">InterceptionHookPoints::PRE_SEND_INITIAL_METADATA</a>,
<a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1a78e48d97d3b04c3bc07cc5e015bae473">InterceptionHookPoints::PRE_SEND_MESSAGE</a>,
<a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1a55a1a0825067b70bab918b67b298f038">InterceptionHookPoints::POST_SEND_MESSAGE</a>,
<a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1a787bde31497aaaccd0e780928a34ba3c">InterceptionHookPoints::PRE_SEND_STATUS</a>,
<br />
&#160;&#160;<a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1aae41c3d206fb78da7ea1baff522fe734">InterceptionHookPoints::PRE_SEND_CLOSE</a>,
<a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1ae1edf7ebacfc20d107e332ed0df262d2">InterceptionHookPoints::PRE_RECV_INITIAL_METADATA</a>,
<a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1aed5412a55f4c64aab2e6492c79c91422">InterceptionHookPoints::PRE_RECV_MESSAGE</a>,
<a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1aac79efae31b3773d455797286cd0a3c3">InterceptionHookPoints::PRE_RECV_STATUS</a>,
<br />
&#160;&#160;<a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1a294bdaeb2f3c15f0c7529ecdb04daea8">InterceptionHookPoints::POST_RECV_INITIAL_METADATA</a>,
<a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1ab65173742bb81f390a2bbe48279a1d22">InterceptionHookPoints::POST_RECV_MESSAGE</a>,
<a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1a97b298c9f3aa4e0b5b4865eaa93a5909">InterceptionHookPoints::POST_RECV_STATUS</a>,
<a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1a28873db230a854864aaf46ce3c7d282a">InterceptionHookPoints::POST_RECV_CLOSE</a>,
<br />
&#160;&#160;<a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1afeaf95b857178c518bb74d59eb39aa23">InterceptionHookPoints::PRE_SEND_CANCEL</a>,
<a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1a005432205f3c52f3321eab4485d84c36">InterceptionHookPoints::NUM_INTERCEPTION_HOOKS</a>
<br />
}</td></tr>
<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>
<tr class="separator:a03d3481b2c4146f53e90966d4a0fd8a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem: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>
<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>
<tr class="separator:ab4c7e40417b37179d52667f3208f69a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<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>
<tr class="separator:af089b10a266c70f15aeb7e2156295a30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbe8c48826b3407f678f26329b414da0"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_server_credentials.html">grpc::ServerCredentials</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1experimental.html#afbe8c48826b3407f678f26329b414da0">BinderServerCredentials</a> (std::shared_ptr&lt; <a class="el" href="classgrpc_1_1experimental_1_1binder_1_1_security_policy.html">grpc::experimental::binder::SecurityPolicy</a> &gt; security_policy)</td></tr>
<tr class="memdesc:afbe8c48826b3407f678f26329b414da0"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXPERIMENTAL Builds Binder <a class="el" href="classgrpc_1_1_server_credentials.html" title="Wrapper around grpc_server_credentials, a way to authenticate a server.">ServerCredentials</a>. <a href="namespacegrpc_1_1experimental.html#afbe8c48826b3407f678f26329b414da0">More...</a><br /></td></tr>
<tr class="separator:afbe8c48826b3407f678f26329b414da0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:a718f256dc9bf553b923b5202422b6fe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:a845a1ccd03791217297f52281777a9b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<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>
<tr class="separator:a2ace3ea6f7ebdb51d0134e3e0b701f49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:a161935ac55ae1d7df2936a4095cd2bee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:a751cfa9b3fcfe366aaf6cfd0529edaea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<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>
<tr class="separator:ad871e11876b9e9893ee4f57fc283abfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<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>
<tr class="separator:a9354c3cab0a74d9d405c00781f789507"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<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>
<tr class="separator:afb25a4d9b907f609d4ddd1b373a8726b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<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>
<tr class="separator:ad18c246d1f0dfe0c6670daade5518111"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:a6076d466bcfdcb7d7678c2dcafe01f5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<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>
<tr class="separator:ae38e21893afedf68729867eb397b33c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:abf863776469f08e69e7ca6e82246fd7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:a06e8ad17f59ec479769f014e79a4b068"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<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>
<tr class="separator:a23266f0eb239c210337ee42d83c021aa"><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="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>
<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>
</div><h2 class="groupheader">Typedef Documentation</h2>
<a id="adedd4841521e4fe210676d8387190cf1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adedd4841521e4fe210676d8387190cf1">&#9670;&nbsp;</a></span>ServerBidiReactor</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Request , class Response &gt; </div>
<table class="memname">
<tr>
<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>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a03d3481b2c4146f53e90966d4a0fd8a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03d3481b2c4146f53e90966d4a0fd8a1">&#9670;&nbsp;</a></span>InterceptionHookPoints</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="namespacegrpc_1_1experimental.html#a03d3481b2c4146f53e90966d4a0fd8a1">grpc::experimental::InterceptionHookPoints</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<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>
<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>
<table class="fieldtable">
<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>
</td></tr>
<tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1a78e48d97d3b04c3bc07cc5e015bae473"></a>PRE_SEND_MESSAGE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1a55a1a0825067b70bab918b67b298f038"></a>POST_SEND_MESSAGE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1a787bde31497aaaccd0e780928a34ba3c"></a>PRE_SEND_STATUS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1aae41c3d206fb78da7ea1baff522fe734"></a>PRE_SEND_CLOSE&#160;</td><td class="fielddoc"></td></tr>
<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>
<p>A batch with PRE_RECV_* hook points will never contain hook points of other types. </p>
</td></tr>
<tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1aed5412a55f4c64aab2e6492c79c91422"></a>PRE_RECV_MESSAGE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1aac79efae31b3773d455797286cd0a3c3"></a>PRE_RECV_STATUS&#160;</td><td class="fielddoc"></td></tr>
<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>
</td></tr>
<tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1ab65173742bb81f390a2bbe48279a1d22"></a>POST_RECV_MESSAGE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1a97b298c9f3aa4e0b5b4865eaa93a5909"></a>POST_RECV_STATUS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1a28873db230a854864aaf46ce3c7d282a"></a>POST_RECV_CLOSE&#160;</td><td class="fielddoc"></td></tr>
<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>
<ul>
<li>No other hook points will be present along with this.</li>
<li>It is illegal for an interceptor to block/delay this operation.</li>
<li>ALL interceptors see this hook point irrespective of whether the RPC was hijacked or not. </li>
</ul>
</td></tr>
<tr><td class="fieldname"><a id="a03d3481b2c4146f53e90966d4a0fd8a1a005432205f3c52f3321eab4485d84c36"></a>NUM_INTERCEPTION_HOOKS&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ad871e11876b9e9893ee4f57fc283abfb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad871e11876b9e9893ee4f57fc283abfb">&#9670;&nbsp;</a></span>AltsCredentials()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_channel_credentials.html">ChannelCredentials</a>&gt; grpc::experimental::AltsCredentials </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structgrpc_1_1experimental_1_1_alts_credentials_options.html">AltsCredentialsOptions</a> &amp;&#160;</td>
<td class="paramname"><em>options</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Builds ALTS Credentials given ALTS specific options. </p>
</div>
</div>
<a id="ad18c246d1f0dfe0c6670daade5518111"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad18c246d1f0dfe0c6670daade5518111">&#9670;&nbsp;</a></span>AltsServerCredentials()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_server_credentials.html">ServerCredentials</a> &gt; grpc::experimental::AltsServerCredentials </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structgrpc_1_1experimental_1_1_alts_server_credentials_options.html">AltsServerCredentialsOptions</a> &amp;&#160;</td>
<td class="paramname"><em>options</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<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>
<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>
</div>
</div>
<a id="afbe8c48826b3407f678f26329b414da0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbe8c48826b3407f678f26329b414da0">&#9670;&nbsp;</a></span>BinderServerCredentials()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_server_credentials.html">grpc::ServerCredentials</a>&gt; grpc::experimental::BinderServerCredentials </td>
<td>(</td>
<td class="paramtype">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1experimental_1_1binder_1_1_security_policy.html">grpc::experimental::binder::SecurityPolicy</a> &gt;&#160;</td>
<td class="paramname"><em>security_policy</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>EXPERIMENTAL Builds Binder <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>
<p>This should be used along with <code>binder:</code> URI scheme. The path in the URI can later be used to access the server's endpoint binder. Note that calling <em><a class="el" href="classgrpc_1_1_server_builder.html#ad8c7eff4f5747333b7ffbb09cef71b5e" title="Enlists an endpoint addr (port with an optional IP address) to bind the grpc::Server object to be cre...">ServerBuilder::AddListeningPort()</a></em> with Binder <a class="el" href="classgrpc_1_1_server_credentials.html" title="Wrapper around grpc_server_credentials, a way to authenticate a server.">ServerCredentials</a> in a non-supported environment will make the subsequent call to <em><a class="el" href="classgrpc_1_1_server_builder.html#a3ad1429e6575de79f8f17dad383fbc04" title="Return a running server which is ready for processing calls.">ServerBuilder::BuildAndStart()</a></em> return a null pointer. </p>
</div>
</div>
<a id="ab4c7e40417b37179d52667f3208f69a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab4c7e40417b37179d52667f3208f69a3">&#9670;&nbsp;</a></span>ChannelResetConnectionBackoff()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc::experimental::ChannelResetConnectionBackoff </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_channel.html">Channel</a> *&#160;</td>
<td class="paramname"><em>channel</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Resets the channel's connection backoff. </p>
<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>
</div>
</div>
<a id="af089b10a266c70f15aeb7e2156295a30"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af089b10a266c70f15aeb7e2156295a30">&#9670;&nbsp;</a></span>CreateCustomChannelWithInterceptors() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_channel.html">Channel</a>&gt; grpc::experimental::CreateCustomChannelWithInterceptors </td>
<td>(</td>
<td class="paramtype">const grpc::string &amp;&#160;</td>
<td class="paramname"><em>target</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel_credentials.html">ChannelCredentials</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>creds</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgrpc_1_1_channel_arguments.html">ChannelArguments</a> &amp;&#160;</td>
<td class="paramname"><em>args</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<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>
<td class="paramname"><em>interceptor_creators</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<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>
<dl class="section warning"><dt>Warning</dt><dd>For advanced use and testing ONLY. Override default channel arguments only if necessary.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">target</td><td>The URI of the endpoint to connect to. </td></tr>
<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>
<tr><td class="paramname">args</td><td>Options for channel creation. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a718f256dc9bf553b923b5202422b6fe7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a718f256dc9bf553b923b5202422b6fe7">&#9670;&nbsp;</a></span>CreateCustomChannelWithInterceptors() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_channel.html">grpc::Channel</a>&gt; grpc::experimental::CreateCustomChannelWithInterceptors </td>
<td>(</td>
<td class="paramtype">const grpc::string &amp;&#160;</td>
<td class="paramname"><em>target</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<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>
<td class="paramname"><em>creds</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgrpc_1_1_channel_arguments.html">grpc::ChannelArguments</a> &amp;&#160;</td>
<td class="paramname"><em>args</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<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>
<td class="paramname"><em>interceptor_creators</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9354c3cab0a74d9d405c00781f789507"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9354c3cab0a74d9d405c00781f789507">&#9670;&nbsp;</a></span>LocalCredentials()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_channel_credentials.html">ChannelCredentials</a>&gt; grpc::experimental::LocalCredentials </td>
<td>(</td>
<td class="paramtype"><a class="el" href="grpc__security__constants_8h.html#a31d00ce5c064e1fff4261a6d6298dc11">grpc_local_connect_type</a>&#160;</td>
<td class="paramname"><em>type</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Builds Local Credentials. </p>
</div>
</div>
<a id="a6076d466bcfdcb7d7678c2dcafe01f5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6076d466bcfdcb7d7678c2dcafe01f5f">&#9670;&nbsp;</a></span>LocalServerCredentials()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_server_credentials.html">ServerCredentials</a>&gt; grpc::experimental::LocalServerCredentials </td>
<td>(</td>
<td class="paramtype"><a class="el" href="grpc__security__constants_8h.html#a31d00ce5c064e1fff4261a6d6298dc11">grpc_local_connect_type</a>&#160;</td>
<td class="paramname"><em>type</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a751cfa9b3fcfe366aaf6cfd0529edaea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a751cfa9b3fcfe366aaf6cfd0529edaea">&#9670;&nbsp;</a></span>MetadataCredentialsFromPlugin()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_call_credentials.html">CallCredentials</a>&gt; grpc::experimental::MetadataCredentialsFromPlugin </td>
<td>(</td>
<td class="paramtype">std::unique_ptr&lt; <a class="el" href="classgrpc_1_1_metadata_credentials_plugin.html">MetadataCredentialsPlugin</a> &gt;&#160;</td>
<td class="paramname"><em>plugin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="grpc__security__constants_8h.html#a3c3165c49cd7a359ddb8656aae7e9dd6">grpc_security_level</a>&#160;</td>
<td class="paramname"><em>min_security_level</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="abf863776469f08e69e7ca6e82246fd7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf863776469f08e69e7ca6e82246fd7a">&#9670;&nbsp;</a></span>RegisterGlobalClientInterceptorFactory()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc::experimental::RegisterGlobalClientInterceptorFactory </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1experimental_1_1_client_interceptor_factory_interface.html">ClientInterceptorFactoryInterface</a> *&#160;</td>
<td class="paramname"><em>factory</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a161935ac55ae1d7df2936a4095cd2bee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a161935ac55ae1d7df2936a4095cd2bee">&#9670;&nbsp;</a></span>StsCredentials()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_call_credentials.html">CallCredentials</a>&gt; grpc::experimental::StsCredentials </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structgrpc_1_1experimental_1_1_sts_credentials_options.html">StsCredentialsOptions</a> &amp;&#160;</td>
<td class="paramname"><em>options</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2ace3ea6f7ebdb51d0134e3e0b701f49"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ace3ea6f7ebdb51d0134e3e0b701f49">&#9670;&nbsp;</a></span>StsCredentialsOptionsFromEnv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_status.html">grpc::Status</a> grpc::experimental::StsCredentialsOptionsFromEnv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc_1_1experimental_1_1_sts_credentials_options.html">StsCredentialsOptions</a> *&#160;</td>
<td class="paramname"><em>options</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates STS credentials options from the $STS_CREDENTIALS environment variable. </p>
<p>This environment variable points to the path of a JSON file comforming to the schema described above. </p>
</div>
</div>
<a id="a845a1ccd03791217297f52281777a9b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a845a1ccd03791217297f52281777a9b4">&#9670;&nbsp;</a></span>StsCredentialsOptionsFromJson()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_status.html">grpc::Status</a> grpc::experimental::StsCredentialsOptionsFromJson </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>json_string</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structgrpc_1_1experimental_1_1_sts_credentials_options.html">StsCredentialsOptions</a> *&#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">
</div>
</div>
<a id="a06e8ad17f59ec479769f014e79a4b068"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06e8ad17f59ec479769f014e79a4b068">&#9670;&nbsp;</a></span>TestOnlyResetGlobalClientInterceptorFactory()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void grpc::experimental::TestOnlyResetGlobalClientInterceptorFactory </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="afb25a4d9b907f609d4ddd1b373a8726b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb25a4d9b907f609d4ddd1b373a8726b">&#9670;&nbsp;</a></span>TlsCredentials()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_channel_credentials.html">ChannelCredentials</a>&gt; grpc::experimental::TlsCredentials </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgrpc_1_1experimental_1_1_tls_channel_credentials_options.html">TlsChannelCredentialsOptions</a> &amp;&#160;</td>
<td class="paramname"><em>options</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Builds TLS Credentials given TLS options. </p>
</div>
</div>
<a id="ae38e21893afedf68729867eb397b33c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae38e21893afedf68729867eb397b33c3">&#9670;&nbsp;</a></span>TlsServerCredentials()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_server_credentials.html">ServerCredentials</a>&gt; grpc::experimental::TlsServerCredentials </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgrpc_1_1experimental_1_1_tls_server_credentials_options.html">experimental::TlsServerCredentialsOptions</a> &amp;&#160;</td>
<td class="paramname"><em>options</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<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>
</div>
</div>
<a id="a23266f0eb239c210337ee42d83c021aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23266f0eb239c210337ee42d83c021aa">&#9670;&nbsp;</a></span>ValidateServiceConfigJSON()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string grpc::experimental::ValidateServiceConfigJSON </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>service_config_json</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Validates <em>service_config_json</em>. </p>
<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>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Sep 6 2023 16:09:16 for GRPC C++ 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>