grpc/cpp/namespacegrpc_1_1internal.html

827 lines
62 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::internal 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.31.1</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_1internal.html">internal</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">grpc::internal Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Models a gRPC server.
<a href="namespacegrpc_1_1internal.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1internal_1_1_blocking_unary_call_impl.html">BlockingUnaryCallImpl</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_1internal_1_1_call.html">Call</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Straightforward wrapping of the C call object. <a href="classgrpc_1_1internal_1_1_call.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_1internal_1_1_callback_with_status_tag.html">CallbackWithStatusTag</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_1internal_1_1_callback_with_success_tag.html">CallbackWithSuccessTag</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classgrpc_1_1internal_1_1_callback_with_success_tag.html" title="CallbackWithSuccessTag can be reused multiple times, and will be used in this fashion for streaming o...">CallbackWithSuccessTag</a> can be reused multiple times, and will be used in this fashion for streaming operations. <a href="classgrpc_1_1internal_1_1_callback_with_success_tag.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1internal_1_1_call_hook.html">CallHook</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an interface that Channel and Server implement to allow them to hook performing ops. <a href="classgrpc_1_1internal_1_1_call_hook.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_1internal_1_1_call_no_op.html">CallNoOp</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default argument for <a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html" title="Primary implementation of CallOpSetInterface.">CallOpSet</a>. <a href="classgrpc_1_1internal_1_1_call_no_op.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_1internal_1_1_call_op_client_recv_status.html">CallOpClientRecvStatus</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_1internal_1_1_call_op_client_send_close.html">CallOpClientSendClose</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_1internal_1_1_call_op_generic_recv_message.html">CallOpGenericRecvMessage</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_1internal_1_1_call_op_recv_initial_metadata.html">CallOpRecvInitialMetadata</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_1internal_1_1_call_op_recv_message.html">CallOpRecvMessage</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_1internal_1_1_call_op_send_initial_metadata.html">CallOpSendInitialMetadata</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_1internal_1_1_call_op_send_message.html">CallOpSendMessage</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_1internal_1_1_call_op_server_send_status.html">CallOpServerSendStatus</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_1internal_1_1_call_op_set.html">CallOpSet</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Primary implementation of <a class="el" href="classgrpc_1_1internal_1_1_call_op_set_interface.html" title="An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the l...">CallOpSetInterface</a>. <a href="classgrpc_1_1internal_1_1_call_op_set.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_1internal_1_1_call_op_set_interface.html">CallOpSetInterface</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the lower layers, and as it is-a <a class="el" href="classgrpc_1_1internal_1_1_completion_queue_tag.html" title="An interface allowing implementors to process and filter event tags.">CompletionQueueTag</a>, also massages the final completion into the correct form for consumption in the C++ API. <a href="classgrpc_1_1internal_1_1_call_op_set_interface.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_1internal_1_1_cancel_interceptor_batch_methods.html">CancelInterceptorBatchMethods</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_1internal_1_1_completion_queue_tag.html">CompletionQueueTag</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An interface allowing implementors to process and filter event tags. <a href="classgrpc_1_1internal_1_1_completion_queue_tag.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1internal_1_1_cond_var.html">CondVar</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_1internal_1_1_deserialize_func.html">DeserializeFunc</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_1internal_1_1_deserialize_func_type.html">DeserializeFuncType</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_1internal_1_1_grpc_library.html">GrpcLibrary</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_1internal_1_1_grpc_library_initializer.html">GrpcLibraryInitializer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instantiating this class ensures the proper initialization of gRPC. <a href="classgrpc_1_1internal_1_1_grpc_library_initializer.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_1internal_1_1_intercepted_channel.html">InterceptedChannel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An <a class="el" href="classgrpc_1_1internal_1_1_intercepted_channel.html" title="An InterceptedChannel is available to client Interceptors.">InterceptedChannel</a> is available to client Interceptors. <a href="classgrpc_1_1internal_1_1_intercepted_channel.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_1internal_1_1_interceptor_batch_methods_impl.html">InterceptorBatchMethodsImpl</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_1internal_1_1_metadata_map.html">MetadataMap</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_1internal_1_1_method_handler.html">MethodHandler</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for running an RPC handler. <a href="classgrpc_1_1internal_1_1_method_handler.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_1internal_1_1_mutex.html">Mutex</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_1internal_1_1_mutex_lock.html">MutexLock</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_1internal_1_1_releasable_mutex_lock.html">ReleasableMutexLock</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_1internal_1_1_rpc_method.html">RpcMethod</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Descriptor of an RPC method. <a href="classgrpc_1_1internal_1_1_rpc_method.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_1internal_1_1_rpc_service_method.html">RpcServiceMethod</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Server side rpc method class. <a href="classgrpc_1_1internal_1_1_rpc_service_method.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_1internal_1_1_server_async_streaming_interface.html">ServerAsyncStreamingInterface</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:a318246215de2a801608590398aae1a16"><td class="memItemLeft" align="right" valign="top">typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_client_async_streaming_interface.html">grpc_impl::internal::ClientAsyncStreamingInterface</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a318246215de2a801608590398aae1a16">ClientAsyncStreamingInterface</a></td></tr>
<tr class="separator:a318246215de2a801608590398aae1a16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f8856f3847b55f659924b3721bbd289"><td class="memTemplParams" colspan="2">template&lt;class R &gt; </td></tr>
<tr class="memitem:a5f8856f3847b55f659924b3721bbd289"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a5f8856f3847b55f659924b3721bbd289">AsyncReaderInterface</a> = ::<a class="el" href="classgrpc__impl_1_1internal_1_1_async_reader_interface.html">grpc_impl::internal::AsyncReaderInterface</a>&lt; R &gt;</td></tr>
<tr class="separator:a5f8856f3847b55f659924b3721bbd289"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc7ef56a1c6967238475666ce5100c98"><td class="memTemplParams" colspan="2">template&lt;class W &gt; </td></tr>
<tr class="memitem:abc7ef56a1c6967238475666ce5100c98"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#abc7ef56a1c6967238475666ce5100c98">AsyncWriterInterface</a> = ::<a class="el" href="classgrpc__impl_1_1internal_1_1_async_writer_interface.html">grpc_impl::internal::AsyncWriterInterface</a>&lt; W &gt;</td></tr>
<tr class="separator:abc7ef56a1c6967238475666ce5100c98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a411403c9fd1b044eba4b86c834134daa"><td class="memTemplParams" colspan="2">template&lt;class R &gt; </td></tr>
<tr class="memitem:a411403c9fd1b044eba4b86c834134daa"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a411403c9fd1b044eba4b86c834134daa">ClientAsyncReaderFactory</a> = ::<a class="el" href="classgrpc__impl_1_1internal_1_1_client_async_reader_factory.html">grpc_impl::internal::ClientAsyncReaderFactory</a>&lt; R &gt;</td></tr>
<tr class="separator:a411403c9fd1b044eba4b86c834134daa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cec05f7a3a5d8cc6ccee741e12d5afe"><td class="memTemplParams" colspan="2">template&lt;class W &gt; </td></tr>
<tr class="memitem:a7cec05f7a3a5d8cc6ccee741e12d5afe"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a7cec05f7a3a5d8cc6ccee741e12d5afe">ClientAsyncWriterFactory</a> = ::<a class="el" href="classgrpc__impl_1_1internal_1_1_client_async_writer_factory.html">grpc_impl::internal::ClientAsyncWriterFactory</a>&lt; W &gt;</td></tr>
<tr class="separator:a7cec05f7a3a5d8cc6ccee741e12d5afe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55b713399f365200cced42df2bebe0eb"><td class="memTemplParams" colspan="2">template&lt;class W , class R &gt; </td></tr>
<tr class="memitem:a55b713399f365200cced42df2bebe0eb"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a55b713399f365200cced42df2bebe0eb">ClientAsyncReaderWriterFactory</a> = ::<a class="el" href="classgrpc__impl_1_1internal_1_1_client_async_reader_writer_factory.html">grpc_impl::internal::ClientAsyncReaderWriterFactory</a>&lt; W, R &gt;</td></tr>
<tr class="separator:a55b713399f365200cced42df2bebe0eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a020c44e37baf732b888fb38f6f1abc08"><td class="memTemplParams" colspan="2">template&lt;class R &gt; </td></tr>
<tr class="memitem:a020c44e37baf732b888fb38f6f1abc08"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a020c44e37baf732b888fb38f6f1abc08">ClientAsyncResponseReaderFactory</a> = ::<a class="el" href="classgrpc__impl_1_1internal_1_1_client_async_response_reader_factory.html">grpc_impl::internal::ClientAsyncResponseReaderFactory</a>&lt; R &gt;</td></tr>
<tr class="separator:a020c44e37baf732b888fb38f6f1abc08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e799399626f278e5c9f048457242015"><td class="memTemplParams" colspan="2">template&lt;class ServiceType , class RequestType , class ResponseType &gt; </td></tr>
<tr class="memitem:a8e799399626f278e5c9f048457242015"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a8e799399626f278e5c9f048457242015">BidiStreamingHandler</a> = ::<a class="el" href="classgrpc__impl_1_1internal_1_1_bidi_streaming_handler.html">grpc_impl::internal::BidiStreamingHandler</a>&lt; ServiceType, RequestType, ResponseType &gt;</td></tr>
<tr class="separator:a8e799399626f278e5c9f048457242015"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a553dc761a0df3464ec0b6d4b28ad8e36"><td class="memTemplParams" colspan="2">template&lt;class ServiceType , class RequestType , class ResponseType &gt; </td></tr>
<tr class="memitem:a553dc761a0df3464ec0b6d4b28ad8e36"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a553dc761a0df3464ec0b6d4b28ad8e36">RpcMethodHandler</a> = ::<a class="el" href="classgrpc__impl_1_1internal_1_1_rpc_method_handler.html">grpc_impl::internal::RpcMethodHandler</a>&lt; ServiceType, RequestType, ResponseType &gt;</td></tr>
<tr class="separator:a553dc761a0df3464ec0b6d4b28ad8e36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4f3323d2f74bb693372491e474ad178"><td class="memTemplParams" colspan="2">template&lt;class ServiceType , class RequestType , class ResponseType &gt; </td></tr>
<tr class="memitem:af4f3323d2f74bb693372491e474ad178"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#af4f3323d2f74bb693372491e474ad178">ClientStreamingHandler</a> = ::<a class="el" href="classgrpc__impl_1_1internal_1_1_client_streaming_handler.html">grpc_impl::internal::ClientStreamingHandler</a>&lt; ServiceType, RequestType, ResponseType &gt;</td></tr>
<tr class="separator:af4f3323d2f74bb693372491e474ad178"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1639f1a5a4c31f14b3ed5768f4ba251a"><td class="memTemplParams" colspan="2">template&lt;class ServiceType , class RequestType , class ResponseType &gt; </td></tr>
<tr class="memitem:a1639f1a5a4c31f14b3ed5768f4ba251a"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a1639f1a5a4c31f14b3ed5768f4ba251a">ServerStreamingHandler</a> = ::<a class="el" href="classgrpc__impl_1_1internal_1_1_server_streaming_handler.html">grpc_impl::internal::ServerStreamingHandler</a>&lt; ServiceType, RequestType, ResponseType &gt;</td></tr>
<tr class="separator:a1639f1a5a4c31f14b3ed5768f4ba251a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec74fe488c5e4c24fe63d00255576cdb"><td class="memTemplParams" colspan="2">template&lt;class Streamer , bool WriteNeeded&gt; </td></tr>
<tr class="memitem:aec74fe488c5e4c24fe63d00255576cdb"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#aec74fe488c5e4c24fe63d00255576cdb">TemplatedBidiStreamingHandler</a> = ::<a class="el" href="classgrpc__impl_1_1internal_1_1_templated_bidi_streaming_handler.html">grpc_impl::internal::TemplatedBidiStreamingHandler</a>&lt; Streamer, WriteNeeded &gt;</td></tr>
<tr class="separator:aec74fe488c5e4c24fe63d00255576cdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2abaf43dce61f33cd93b37b2139fd42"><td class="memTemplParams" colspan="2">template&lt;class RequestType , class ResponseType &gt; </td></tr>
<tr class="memitem:aa2abaf43dce61f33cd93b37b2139fd42"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#aa2abaf43dce61f33cd93b37b2139fd42">StreamedUnaryHandler</a> = ::<a class="el" href="classgrpc__impl_1_1internal_1_1_streamed_unary_handler.html">grpc_impl::internal::StreamedUnaryHandler</a>&lt; RequestType, ResponseType &gt;</td></tr>
<tr class="separator:aa2abaf43dce61f33cd93b37b2139fd42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad65ee8c968ee7c4a00c2e716db9df20e"><td class="memTemplParams" colspan="2">template&lt;class RequestType , class ResponseType &gt; </td></tr>
<tr class="memitem:ad65ee8c968ee7c4a00c2e716db9df20e"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#ad65ee8c968ee7c4a00c2e716db9df20e">SplitServerStreamingHandler</a> = ::<a class="el" href="classgrpc__impl_1_1internal_1_1_split_server_streaming_handler.html">grpc_impl::internal::SplitServerStreamingHandler</a>&lt; RequestType, ResponseType &gt;</td></tr>
<tr class="separator:ad65ee8c968ee7c4a00c2e716db9df20e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2a7307aac909e43ce78eb6d666e514f"><td class="memTemplParams" colspan="2">template&lt;StatusCode code&gt; </td></tr>
<tr class="memitem:aa2a7307aac909e43ce78eb6d666e514f"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#aa2a7307aac909e43ce78eb6d666e514f">ErrorMethodHandler</a> = ::<a class="el" href="classgrpc__impl_1_1internal_1_1_error_method_handler.html">grpc_impl::internal::ErrorMethodHandler</a>&lt; code &gt;</td></tr>
<tr class="separator:aa2a7307aac909e43ce78eb6d666e514f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90b43b5b7515fd66fbbb18e208a43a52"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a90b43b5b7515fd66fbbb18e208a43a52">UnknownMethodHandler</a> = ::<a class="el" href="namespacegrpc__impl_1_1internal.html#ad992e71bb0d233a8ab699c554f034407">grpc_impl::internal::UnknownMethodHandler</a></td></tr>
<tr class="separator:a90b43b5b7515fd66fbbb18e208a43a52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a193cbf9246d124a8cea85425161b05"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a6a193cbf9246d124a8cea85425161b05">ResourceExhaustedHandler</a> = ::<a class="el" href="namespacegrpc__impl_1_1internal.html#ae790a3ad5465bae7c2138bad206db877">grpc_impl::internal::ResourceExhaustedHandler</a></td></tr>
<tr class="separator:a6a193cbf9246d124a8cea85425161b05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eff1c2caf61984417c3d7e4db0508d0"><td class="memItemLeft" align="right" valign="top">typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_client_streaming_interface.html">grpc_impl::internal::ClientStreamingInterface</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a4eff1c2caf61984417c3d7e4db0508d0">ClientStreamingInterface</a></td></tr>
<tr class="separator:a4eff1c2caf61984417c3d7e4db0508d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6760eca1851a4b72b72c711cb97a2962"><td class="memItemLeft" align="right" valign="top">typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_server_streaming_interface.html">grpc_impl::internal::ServerStreamingInterface</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a6760eca1851a4b72b72c711cb97a2962">ServerStreamingInterface</a></td></tr>
<tr class="separator:a6760eca1851a4b72b72c711cb97a2962"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c64b3b512693675ed589109eb74904e"><td class="memTemplParams" colspan="2">template&lt;class R &gt; </td></tr>
<tr class="memitem:a2c64b3b512693675ed589109eb74904e"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a2c64b3b512693675ed589109eb74904e">ReaderInterface</a> = ::<a class="el" href="classgrpc__impl_1_1internal_1_1_reader_interface.html">grpc_impl::internal::ReaderInterface</a>&lt; R &gt;</td></tr>
<tr class="separator:a2c64b3b512693675ed589109eb74904e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f5e43bab9f23976dbe6cb2e072a0e00"><td class="memTemplParams" colspan="2">template&lt;class W &gt; </td></tr>
<tr class="memitem:a3f5e43bab9f23976dbe6cb2e072a0e00"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a3f5e43bab9f23976dbe6cb2e072a0e00">WriterInterface</a> = ::<a class="el" href="classgrpc__impl_1_1internal_1_1_writer_interface.html">grpc_impl::internal::WriterInterface</a>&lt; W &gt;</td></tr>
<tr class="separator:a3f5e43bab9f23976dbe6cb2e072a0e00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfe9c54397ddd441a5add1aaca1d5716"><td class="memTemplParams" colspan="2">template&lt;class R &gt; </td></tr>
<tr class="memitem:acfe9c54397ddd441a5add1aaca1d5716"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#acfe9c54397ddd441a5add1aaca1d5716">ClientReaderFactory</a> = ::<a class="el" href="classgrpc__impl_1_1internal_1_1_client_reader_factory.html">grpc_impl::internal::ClientReaderFactory</a>&lt; R &gt;</td></tr>
<tr class="separator:acfe9c54397ddd441a5add1aaca1d5716"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad03419458fa90c4911ee617dfe7fcdb1"><td class="memTemplParams" colspan="2">template&lt;class W &gt; </td></tr>
<tr class="memitem:ad03419458fa90c4911ee617dfe7fcdb1"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#ad03419458fa90c4911ee617dfe7fcdb1">ClientWriterFactory</a> = ::<a class="el" href="classgrpc__impl_1_1internal_1_1_client_writer_factory.html">grpc_impl::internal::ClientWriterFactory</a>&lt; W &gt;</td></tr>
<tr class="separator:ad03419458fa90c4911ee617dfe7fcdb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a445bf545edde42876de7b569182bebcc"><td class="memTemplParams" colspan="2">template&lt;class W , class R &gt; </td></tr>
<tr class="memitem:a445bf545edde42876de7b569182bebcc"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a445bf545edde42876de7b569182bebcc">ClientReaderWriterFactory</a> = ::<a class="el" href="classgrpc__impl_1_1internal_1_1_client_reader_writer_factory.html">grpc_impl::internal::ClientReaderWriterFactory</a>&lt; W, R &gt;</td></tr>
<tr class="separator:a445bf545edde42876de7b569182bebcc"><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:afe335baaab1295b3bcab679d94cc3b1f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgrpc__metadata.html">grpc_metadata</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#afe335baaab1295b3bcab679d94cc3b1f">FillMetadataArray</a> (const std::multimap&lt; std::string, std::string &gt; &amp;metadata, size_t *metadata_count, const std::string &amp;optional_error_details)</td></tr>
<tr class="separator:afe335baaab1295b3bcab679d94cc3b1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a161ad876dc2d4fea93dd8260a7b9b0ae"><td class="memTemplParams" colspan="2">template&lt;class Func , class... Args&gt; </td></tr>
<tr class="memitem:a161ad876dc2d4fea93dd8260a7b9b0ae"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a161ad876dc2d4fea93dd8260a7b9b0ae">CatchingCallback</a> (Func &amp;&amp;func, Args &amp;&amp;... args)</td></tr>
<tr class="memdesc:a161ad876dc2d4fea93dd8260a7b9b0ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">An exception-safe way of invoking a user-specified callback function. <a href="namespacegrpc_1_1internal.html#a161ad876dc2d4fea93dd8260a7b9b0ae">More...</a><br /></td></tr>
<tr class="separator:a161ad876dc2d4fea93dd8260a7b9b0ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7015d612ccec586d33e7afb77e8e515e"><td class="memTemplParams" colspan="2">template&lt;class Reactor , class Func , class... Args&gt; </td></tr>
<tr class="memitem:a7015d612ccec586d33e7afb77e8e515e"><td class="memTemplItemLeft" align="right" valign="top">Reactor *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a7015d612ccec586d33e7afb77e8e515e">CatchingReactorGetter</a> (Func &amp;&amp;func, Args &amp;&amp;... args)</td></tr>
<tr class="separator:a7015d612ccec586d33e7afb77e8e515e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae49572980c7af0f2371ff30ce536fe5d"><td class="memTemplParams" colspan="2">template&lt;class InputMessage , class OutputMessage &gt; </td></tr>
<tr class="memitem:ae49572980c7af0f2371ff30ce536fe5d"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_status.html">Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#ae49572980c7af0f2371ff30ce536fe5d">BlockingUnaryCall</a> (<a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> *channel, const <a class="el" href="classgrpc_1_1internal_1_1_rpc_method.html">RpcMethod</a> &amp;method, <a class="el" href="classgrpc__impl_1_1_client_context.html">grpc_impl::ClientContext</a> *context, const InputMessage &amp;request, OutputMessage *result)</td></tr>
<tr class="memdesc:ae49572980c7af0f2371ff30ce536fe5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper that performs a blocking unary call. <a href="namespacegrpc_1_1internal.html#ae49572980c7af0f2371ff30ce536fe5d">More...</a><br /></td></tr>
<tr class="separator:ae49572980c7af0f2371ff30ce536fe5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a6d0efed83b2ed7bd6f5b07e44ea3689e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1experimental_1_1_client_interceptor_factory_interface.html">experimental::ClientInterceptorFactoryInterface</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a6d0efed83b2ed7bd6f5b07e44ea3689e">g_global_client_interceptor_factory</a></td></tr>
<tr class="separator:a6d0efed83b2ed7bd6f5b07e44ea3689e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03c479d490933087ab7058153a50c4d8"><td class="memItemLeft" align="right" valign="top">const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a03c479d490933087ab7058153a50c4d8">kBinaryErrorDetailsKey</a> [] = &quot;grpc-status-details-bin&quot;</td></tr>
<tr class="separator:a03c479d490933087ab7058153a50c4d8"><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>Models a gRPC server. </p>
<p>Servers are configured and started via <em><a class="el" href="classgrpc_1_1_server_builder.html" title="A builder class for the creation and startup of grpc::Server instances.">grpc::ServerBuilder</a></em>. </p>
</div><h2 class="groupheader">Typedef Documentation</h2>
<a id="a5f8856f3847b55f659924b3721bbd289"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f8856f3847b55f659924b3721bbd289">&#9670;&nbsp;</a></span>AsyncReaderInterface</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class R &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#a5f8856f3847b55f659924b3721bbd289">grpc::internal::AsyncReaderInterface</a> = typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_async_reader_interface.html">grpc_impl::internal::AsyncReaderInterface</a>&lt;R&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="abc7ef56a1c6967238475666ce5100c98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc7ef56a1c6967238475666ce5100c98">&#9670;&nbsp;</a></span>AsyncWriterInterface</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class W &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#abc7ef56a1c6967238475666ce5100c98">grpc::internal::AsyncWriterInterface</a> = typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_async_writer_interface.html">grpc_impl::internal::AsyncWriterInterface</a>&lt;W&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8e799399626f278e5c9f048457242015"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e799399626f278e5c9f048457242015">&#9670;&nbsp;</a></span>BidiStreamingHandler</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ServiceType , class RequestType , class ResponseType &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#a8e799399626f278e5c9f048457242015">grpc::internal::BidiStreamingHandler</a> = typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_bidi_streaming_handler.html">grpc_impl::internal::BidiStreamingHandler</a>&lt;ServiceType, RequestType, ResponseType&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a411403c9fd1b044eba4b86c834134daa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a411403c9fd1b044eba4b86c834134daa">&#9670;&nbsp;</a></span>ClientAsyncReaderFactory</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class R &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#a411403c9fd1b044eba4b86c834134daa">grpc::internal::ClientAsyncReaderFactory</a> = typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_client_async_reader_factory.html">grpc_impl::internal::ClientAsyncReaderFactory</a>&lt;R&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a55b713399f365200cced42df2bebe0eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55b713399f365200cced42df2bebe0eb">&#9670;&nbsp;</a></span>ClientAsyncReaderWriterFactory</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class W , class R &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#a55b713399f365200cced42df2bebe0eb">grpc::internal::ClientAsyncReaderWriterFactory</a> = typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_client_async_reader_writer_factory.html">grpc_impl::internal::ClientAsyncReaderWriterFactory</a>&lt;W, R&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a020c44e37baf732b888fb38f6f1abc08"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a020c44e37baf732b888fb38f6f1abc08">&#9670;&nbsp;</a></span>ClientAsyncResponseReaderFactory</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class R &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#a020c44e37baf732b888fb38f6f1abc08">grpc::internal::ClientAsyncResponseReaderFactory</a> = typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_client_async_response_reader_factory.html">grpc_impl::internal::ClientAsyncResponseReaderFactory</a>&lt;R&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a318246215de2a801608590398aae1a16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a318246215de2a801608590398aae1a16">&#9670;&nbsp;</a></span>ClientAsyncStreamingInterface</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_client_async_streaming_interface.html">grpc_impl::internal::ClientAsyncStreamingInterface</a> <a class="el" href="namespacegrpc_1_1internal.html#a318246215de2a801608590398aae1a16">grpc::internal::ClientAsyncStreamingInterface</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7cec05f7a3a5d8cc6ccee741e12d5afe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7cec05f7a3a5d8cc6ccee741e12d5afe">&#9670;&nbsp;</a></span>ClientAsyncWriterFactory</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class W &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#a7cec05f7a3a5d8cc6ccee741e12d5afe">grpc::internal::ClientAsyncWriterFactory</a> = typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_client_async_writer_factory.html">grpc_impl::internal::ClientAsyncWriterFactory</a>&lt;W&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="acfe9c54397ddd441a5add1aaca1d5716"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acfe9c54397ddd441a5add1aaca1d5716">&#9670;&nbsp;</a></span>ClientReaderFactory</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class R &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#acfe9c54397ddd441a5add1aaca1d5716">grpc::internal::ClientReaderFactory</a> = typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_client_reader_factory.html">grpc_impl::internal::ClientReaderFactory</a>&lt;R&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a445bf545edde42876de7b569182bebcc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a445bf545edde42876de7b569182bebcc">&#9670;&nbsp;</a></span>ClientReaderWriterFactory</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class W , class R &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#a445bf545edde42876de7b569182bebcc">grpc::internal::ClientReaderWriterFactory</a> = typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_client_reader_writer_factory.html">grpc_impl::internal::ClientReaderWriterFactory</a>&lt;W, R&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af4f3323d2f74bb693372491e474ad178"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4f3323d2f74bb693372491e474ad178">&#9670;&nbsp;</a></span>ClientStreamingHandler</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ServiceType , class RequestType , class ResponseType &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#af4f3323d2f74bb693372491e474ad178">grpc::internal::ClientStreamingHandler</a> = typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_client_streaming_handler.html">grpc_impl::internal::ClientStreamingHandler</a>&lt;ServiceType, RequestType, ResponseType&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4eff1c2caf61984417c3d7e4db0508d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4eff1c2caf61984417c3d7e4db0508d0">&#9670;&nbsp;</a></span>ClientStreamingInterface</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_client_streaming_interface.html">grpc_impl::internal::ClientStreamingInterface</a> <a class="el" href="namespacegrpc_1_1internal.html#a4eff1c2caf61984417c3d7e4db0508d0">grpc::internal::ClientStreamingInterface</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad03419458fa90c4911ee617dfe7fcdb1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad03419458fa90c4911ee617dfe7fcdb1">&#9670;&nbsp;</a></span>ClientWriterFactory</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class W &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#ad03419458fa90c4911ee617dfe7fcdb1">grpc::internal::ClientWriterFactory</a> = typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_client_writer_factory.html">grpc_impl::internal::ClientWriterFactory</a>&lt;W&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa2a7307aac909e43ce78eb6d666e514f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2a7307aac909e43ce78eb6d666e514f">&#9670;&nbsp;</a></span>ErrorMethodHandler</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;StatusCode code&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#aa2a7307aac909e43ce78eb6d666e514f">grpc::internal::ErrorMethodHandler</a> = typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_error_method_handler.html">grpc_impl::internal::ErrorMethodHandler</a>&lt;code&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2c64b3b512693675ed589109eb74904e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c64b3b512693675ed589109eb74904e">&#9670;&nbsp;</a></span>ReaderInterface</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class R &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#a2c64b3b512693675ed589109eb74904e">grpc::internal::ReaderInterface</a> = typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_reader_interface.html">grpc_impl::internal::ReaderInterface</a>&lt;R&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6a193cbf9246d124a8cea85425161b05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a193cbf9246d124a8cea85425161b05">&#9670;&nbsp;</a></span>ResourceExhaustedHandler</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#a6a193cbf9246d124a8cea85425161b05">grpc::internal::ResourceExhaustedHandler</a> = typedef ::<a class="el" href="namespacegrpc__impl_1_1internal.html#ae790a3ad5465bae7c2138bad206db877">grpc_impl::internal::ResourceExhaustedHandler</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a553dc761a0df3464ec0b6d4b28ad8e36"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a553dc761a0df3464ec0b6d4b28ad8e36">&#9670;&nbsp;</a></span>RpcMethodHandler</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ServiceType , class RequestType , class ResponseType &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#a553dc761a0df3464ec0b6d4b28ad8e36">grpc::internal::RpcMethodHandler</a> = typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_rpc_method_handler.html">grpc_impl::internal::RpcMethodHandler</a>&lt;ServiceType, RequestType, ResponseType&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1639f1a5a4c31f14b3ed5768f4ba251a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1639f1a5a4c31f14b3ed5768f4ba251a">&#9670;&nbsp;</a></span>ServerStreamingHandler</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ServiceType , class RequestType , class ResponseType &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#a1639f1a5a4c31f14b3ed5768f4ba251a">grpc::internal::ServerStreamingHandler</a> = typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_server_streaming_handler.html">grpc_impl::internal::ServerStreamingHandler</a>&lt;ServiceType, RequestType, ResponseType&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6760eca1851a4b72b72c711cb97a2962"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6760eca1851a4b72b72c711cb97a2962">&#9670;&nbsp;</a></span>ServerStreamingInterface</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_server_streaming_interface.html">grpc_impl::internal::ServerStreamingInterface</a> <a class="el" href="namespacegrpc_1_1internal.html#a6760eca1851a4b72b72c711cb97a2962">grpc::internal::ServerStreamingInterface</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad65ee8c968ee7c4a00c2e716db9df20e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad65ee8c968ee7c4a00c2e716db9df20e">&#9670;&nbsp;</a></span>SplitServerStreamingHandler</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class RequestType , class ResponseType &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#ad65ee8c968ee7c4a00c2e716db9df20e">grpc::internal::SplitServerStreamingHandler</a> = typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_split_server_streaming_handler.html">grpc_impl::internal::SplitServerStreamingHandler</a>&lt;RequestType, ResponseType&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa2abaf43dce61f33cd93b37b2139fd42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2abaf43dce61f33cd93b37b2139fd42">&#9670;&nbsp;</a></span>StreamedUnaryHandler</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class RequestType , class ResponseType &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#aa2abaf43dce61f33cd93b37b2139fd42">grpc::internal::StreamedUnaryHandler</a> = typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_streamed_unary_handler.html">grpc_impl::internal::StreamedUnaryHandler</a>&lt;RequestType, ResponseType&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aec74fe488c5e4c24fe63d00255576cdb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec74fe488c5e4c24fe63d00255576cdb">&#9670;&nbsp;</a></span>TemplatedBidiStreamingHandler</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Streamer , bool WriteNeeded&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#aec74fe488c5e4c24fe63d00255576cdb">grpc::internal::TemplatedBidiStreamingHandler</a> = typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_templated_bidi_streaming_handler.html">grpc_impl::internal::TemplatedBidiStreamingHandler</a>&lt;Streamer, WriteNeeded&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a90b43b5b7515fd66fbbb18e208a43a52"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a90b43b5b7515fd66fbbb18e208a43a52">&#9670;&nbsp;</a></span>UnknownMethodHandler</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#a90b43b5b7515fd66fbbb18e208a43a52">grpc::internal::UnknownMethodHandler</a> = typedef ::<a class="el" href="namespacegrpc__impl_1_1internal.html#ad992e71bb0d233a8ab699c554f034407">grpc_impl::internal::UnknownMethodHandler</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3f5e43bab9f23976dbe6cb2e072a0e00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f5e43bab9f23976dbe6cb2e072a0e00">&#9670;&nbsp;</a></span>WriterInterface</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class W &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#a3f5e43bab9f23976dbe6cb2e072a0e00">grpc::internal::WriterInterface</a> = typedef ::<a class="el" href="classgrpc__impl_1_1internal_1_1_writer_interface.html">grpc_impl::internal::WriterInterface</a>&lt;W&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ae49572980c7af0f2371ff30ce536fe5d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae49572980c7af0f2371ff30ce536fe5d">&#9670;&nbsp;</a></span>BlockingUnaryCall()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputMessage , class OutputMessage &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_status.html">Status</a> grpc::internal::BlockingUnaryCall </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> *&#160;</td>
<td class="paramname"><em>channel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgrpc_1_1internal_1_1_rpc_method.html">RpcMethod</a> &amp;&#160;</td>
<td class="paramname"><em>method</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgrpc__impl_1_1_client_context.html">grpc_impl::ClientContext</a> *&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const InputMessage &amp;&#160;</td>
<td class="paramname"><em>request</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">OutputMessage *&#160;</td>
<td class="paramname"><em>result</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Wrapper that performs a blocking unary call. </p>
</div>
</div>
<a id="a161ad876dc2d4fea93dd8260a7b9b0ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a161ad876dc2d4fea93dd8260a7b9b0ae">&#9670;&nbsp;</a></span>CatchingCallback()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Func , class... Args&gt; </div>
<table class="memname">
<tr>
<td class="memname">void grpc::internal::CatchingCallback </td>
<td>(</td>
<td class="paramtype">Func &amp;&amp;&#160;</td>
<td class="paramname"><em>func</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Args &amp;&amp;...&#160;</td>
<td class="paramname"><em>args</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>An exception-safe way of invoking a user-specified callback function. </p>
</div>
</div>
<a id="a7015d612ccec586d33e7afb77e8e515e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7015d612ccec586d33e7afb77e8e515e">&#9670;&nbsp;</a></span>CatchingReactorGetter()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Reactor , class Func , class... Args&gt; </div>
<table class="memname">
<tr>
<td class="memname">Reactor* grpc::internal::CatchingReactorGetter </td>
<td>(</td>
<td class="paramtype">Func &amp;&amp;&#160;</td>
<td class="paramname"><em>func</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Args &amp;&amp;...&#160;</td>
<td class="paramname"><em>args</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="afe335baaab1295b3bcab679d94cc3b1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afe335baaab1295b3bcab679d94cc3b1f">&#9670;&nbsp;</a></span>FillMetadataArray()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structgrpc__metadata.html">grpc_metadata</a>* grpc::internal::FillMetadataArray </td>
<td>(</td>
<td class="paramtype">const std::multimap&lt; std::string, std::string &gt; &amp;&#160;</td>
<td class="paramname"><em>metadata</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&#160;</td>
<td class="paramname"><em>metadata_count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>optional_error_details</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a6d0efed83b2ed7bd6f5b07e44ea3689e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d0efed83b2ed7bd6f5b07e44ea3689e">&#9670;&nbsp;</a></span>g_global_client_interceptor_factory</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1experimental_1_1_client_interceptor_factory_interface.html">experimental::ClientInterceptorFactoryInterface</a>* grpc::internal::g_global_client_interceptor_factory</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a03c479d490933087ab7058153a50c4d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03c479d490933087ab7058153a50c4d8">&#9670;&nbsp;</a></span>kBinaryErrorDetailsKey</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char grpc::internal::kBinaryErrorDetailsKey[] = &quot;grpc-status-details-bin&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 18 2020 16:24:48 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>