grpc/cpp/namespacegrpc_1_1internal.html

773 lines
65 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.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_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_async_reader_interface.html">AsyncReaderInterface</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An interface that yields a sequence of messages of type <em>R</em>. <a href="classgrpc_1_1internal_1_1_async_reader_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_async_writer_interface.html">AsyncWriterInterface</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An interface that can be fed a sequence of messages of type <em>W</em>. <a href="classgrpc_1_1internal_1_1_async_writer_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_bidi_streaming_handler.html">BidiStreamingHandler</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_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_bidi_handler.html">CallbackBidiHandler</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_client_streaming_handler.html">CallbackClientStreamingHandler</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_server_streaming_handler.html">CallbackServerStreamingHandler</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_unary_call_impl.html">CallbackUnaryCallImpl</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_unary_handler.html">CallbackUnaryHandler</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_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 <a class="el" href="classgrpc_1_1_channel.html" title="Channels represent a connection to an endpoint. Created by CreateChannel.">Channel</a> and <a class="el" href="classgrpc_1_1_server.html" title="Represents a gRPC server.">Server</a> 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_client_async_reader_factory.html">ClientAsyncReaderFactory</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_client_async_reader_writer_factory.html">ClientAsyncReaderWriterFactory</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_client_async_response_reader_factory.html">ClientAsyncResponseReaderFactory</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_client_async_response_reader_helper.html">ClientAsyncResponseReaderHelper</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_client_async_streaming_interface.html">ClientAsyncStreamingInterface</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common interface for all client side asynchronous streaming. <a href="classgrpc_1_1internal_1_1_client_async_streaming_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_client_async_writer_factory.html">ClientAsyncWriterFactory</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_client_callback_reader_factory.html">ClientCallbackReaderFactory</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_client_callback_reader_impl.html">ClientCallbackReaderImpl</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_client_callback_reader_writer_factory.html">ClientCallbackReaderWriterFactory</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_client_callback_reader_writer_impl.html">ClientCallbackReaderWriterImpl</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_client_callback_unary_factory.html">ClientCallbackUnaryFactory</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_client_callback_unary_impl.html">ClientCallbackUnaryImpl</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_client_callback_writer_factory.html">ClientCallbackWriterFactory</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_client_callback_writer_impl.html">ClientCallbackWriterImpl</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_client_reactor.html">ClientReactor</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_client_reader_factory.html">ClientReaderFactory</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_client_reader_writer_factory.html">ClientReaderWriterFactory</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_client_streaming_handler.html">ClientStreamingHandler</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A wrapper class of an application provided client streaming handler. <a href="classgrpc_1_1internal_1_1_client_streaming_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_client_streaming_interface.html">ClientStreamingInterface</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common interface for all synchronous client side streaming. <a href="classgrpc_1_1internal_1_1_client_streaming_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_client_writer_factory.html">ClientWriterFactory</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_default_message_holder.html">DefaultMessageHolder</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_error_method_handler.html">ErrorMethodHandler</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">General method handler class for errors that prevent real method use e.g., handle unknown method by returning UNIMPLEMENTED error. <a href="classgrpc_1_1internal_1_1_error_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_finish_only_reactor.html">FinishOnlyReactor</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="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Classes that require gRPC to be initialized should inherit from this class. <a href="classgrpc_1_1internal_1_1_grpc_library.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_reader_interface.html">ReaderInterface</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An interface that yields a sequence of messages of type <em>R</em>. <a href="classgrpc_1_1internal_1_1_reader_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_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_method_handler.html">RpcMethodHandler</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A wrapper class of an application provided rpc method handler. <a href="classgrpc_1_1internal_1_1_rpc_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_rpc_service_method.html">RpcServiceMethod</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classgrpc_1_1_server.html" title="Represents a gRPC server.">Server</a> 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>
<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_callback_call.html">ServerCallbackCall</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The base class of <a class="el" href="classgrpc_1_1_server_callback_unary.html">ServerCallbackUnary</a> etc. <a href="classgrpc_1_1internal_1_1_server_callback_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_server_reactor.html">ServerReactor</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_server_reader_writer_body.html">ServerReaderWriterBody</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_server_streaming_handler.html">ServerStreamingHandler</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A wrapper class of an application provided server streaming handler. <a href="classgrpc_1_1internal_1_1_server_streaming_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_server_streaming_interface.html">ServerStreamingInterface</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common interface for all synchronous server side streaming. <a href="classgrpc_1_1internal_1_1_server_streaming_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_split_server_streaming_handler.html">SplitServerStreamingHandler</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_streamed_unary_handler.html">StreamedUnaryHandler</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_templated_bidi_streaming_handler.html">TemplatedBidiStreamingHandler</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A wrapper class of an application provided bidi-streaming handler. <a href="classgrpc_1_1internal_1_1_templated_bidi_streaming_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_writer_interface.html">WriterInterface</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An interface that can be fed a sequence of messages of type <em>W</em>. <a href="classgrpc_1_1internal_1_1_writer_interface.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a99365fbae1dfa7c691f2aff492cc4b1c"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classgrpc_1_1internal_1_1_error_method_handler.html">ErrorMethodHandler</a>&lt; grpc::StatusCode::UNIMPLEMENTED &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a99365fbae1dfa7c691f2aff492cc4b1c">UnknownMethodHandler</a></td></tr>
<tr class="separator:a99365fbae1dfa7c691f2aff492cc4b1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae53bfaec08c9a898a8e1c186a8d7e971"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classgrpc_1_1internal_1_1_error_method_handler.html">ErrorMethodHandler</a>&lt; grpc::StatusCode::RESOURCE_EXHAUSTED &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#ae53bfaec08c9a898a8e1c186a8d7e971">ResourceExhaustedHandler</a></td></tr>
<tr class="separator:ae53bfaec08c9a898a8e1c186a8d7e971"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae958c1306bc082dacba2f7751337132d"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#ae958c1306bc082dacba2f7751337132d">UnimplementedUnaryReactor</a> = <a class="el" href="classgrpc_1_1internal_1_1_finish_only_reactor.html">FinishOnlyReactor</a>&lt; <a class="el" href="classgrpc_1_1_server_unary_reactor.html">ServerUnaryReactor</a> &gt;</td></tr>
<tr class="separator:ae958c1306bc082dacba2f7751337132d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bdf276614c32502b64604f94c06fd6f"><td class="memTemplParams" colspan="2">template&lt;class Request &gt; </td></tr>
<tr class="memitem:a5bdf276614c32502b64604f94c06fd6f"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a5bdf276614c32502b64604f94c06fd6f">UnimplementedReadReactor</a> = <a class="el" href="classgrpc_1_1internal_1_1_finish_only_reactor.html">FinishOnlyReactor</a>&lt; <a class="el" href="classgrpc_1_1_server_read_reactor.html">ServerReadReactor</a>&lt; Request &gt; &gt;</td></tr>
<tr class="separator:a5bdf276614c32502b64604f94c06fd6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae544287ea3c93d523d21dfa3320ed46d"><td class="memTemplParams" colspan="2">template&lt;class Response &gt; </td></tr>
<tr class="memitem:ae544287ea3c93d523d21dfa3320ed46d"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#ae544287ea3c93d523d21dfa3320ed46d">UnimplementedWriteReactor</a> = <a class="el" href="classgrpc_1_1internal_1_1_finish_only_reactor.html">FinishOnlyReactor</a>&lt; <a class="el" href="classgrpc_1_1_server_write_reactor.html">ServerWriteReactor</a>&lt; Response &gt; &gt;</td></tr>
<tr class="separator:ae544287ea3c93d523d21dfa3320ed46d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8460a0e2c6892295a5510e9d285297a7"><td class="memTemplParams" colspan="2">template&lt;class Request , class Response &gt; </td></tr>
<tr class="memitem:a8460a0e2c6892295a5510e9d285297a7"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a8460a0e2c6892295a5510e9d285297a7">UnimplementedBidiReactor</a> = <a class="el" href="classgrpc_1_1internal_1_1_finish_only_reactor.html">FinishOnlyReactor</a>&lt; <a class="el" href="classgrpc_1_1_server_bidi_reactor.html">ServerBidiReactor</a>&lt; Request, Response &gt; &gt;</td></tr>
<tr class="separator:a8460a0e2c6892295a5510e9d285297a7"><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:a8cea60e536ad3e97309f29b4384969e4"><td class="memTemplParams" colspan="2">template&lt;class ResponseType &gt; </td></tr>
<tr class="memitem:a8cea60e536ad3e97309f29b4384969e4"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a8cea60e536ad3e97309f29b4384969e4">UnaryRunHandlerHelper</a> (const <a class="el" href="structgrpc_1_1internal_1_1_method_handler_1_1_handler_parameter.html">MethodHandler::HandlerParameter</a> &amp;param, ResponseType *rsp, <a class="el" href="classgrpc_1_1_status.html">grpc::Status</a> &amp;status)</td></tr>
<tr class="memdesc:a8cea60e536ad3e97309f29b4384969e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">A helper function with reduced templating to do the common work needed to actually send the server response. <a href="namespacegrpc_1_1internal.html#a8cea60e536ad3e97309f29b4384969e4">More...</a><br /></td></tr>
<tr class="separator:a8cea60e536ad3e97309f29b4384969e4"><td class="memSeparator" colspan="2">&#160;</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:a997ff44cb7bf8240626c3da1a1ddd7c9"><td class="memTemplParams" colspan="2">template&lt;class InputMessage , class OutputMessage , class BaseInputMessage = InputMessage, class BaseOutputMessage = OutputMessage&gt; </td></tr>
<tr class="memitem:a997ff44cb7bf8240626c3da1a1ddd7c9"><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#a997ff44cb7bf8240626c3da1a1ddd7c9">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_1_1_client_context.html">grpc::ClientContext</a> *context, const InputMessage &amp;request, OutputMessage *result)</td></tr>
<tr class="memdesc:a997ff44cb7bf8240626c3da1a1ddd7c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper that performs a blocking unary call. <a href="namespacegrpc_1_1internal.html#a997ff44cb7bf8240626c3da1a1ddd7c9">More...</a><br /></td></tr>
<tr class="separator:a997ff44cb7bf8240626c3da1a1ddd7c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ba42b5702d05d43e14c4be49d5416e2"><td class="memTemplParams" colspan="2">template&lt;class RequestType &gt; </td></tr>
<tr class="memitem:a4ba42b5702d05d43e14c4be49d5416e2"><td class="memTemplItemLeft" align="right" valign="top">void *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a4ba42b5702d05d43e14c4be49d5416e2">UnaryDeserializeHelper</a> (<a class="el" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a> *req, <a class="el" href="classgrpc_1_1_status.html">grpc::Status</a> *status, RequestType *request)</td></tr>
<tr class="memdesc:a4ba42b5702d05d43e14c4be49d5416e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">A helper function with reduced templating to do deserializing. <a href="namespacegrpc_1_1internal.html#a4ba42b5702d05d43e14c4be49d5416e2">More...</a><br /></td></tr>
<tr class="separator:a4ba42b5702d05d43e14c4be49d5416e2"><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:a86a4b381ea65c6fc72a334a0aff2b475"><td class="memTemplParams" colspan="2">template&lt;class InputMessage , class OutputMessage , class BaseInputMessage = InputMessage, class BaseOutputMessage = OutputMessage&gt; </td></tr>
<tr class="memitem:a86a4b381ea65c6fc72a334a0aff2b475"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#a86a4b381ea65c6fc72a334a0aff2b475">CallbackUnaryCall</a> (<a class="el" href="classgrpc_1_1_channel_interface.html">grpc::ChannelInterface</a> *channel, const <a class="el" href="classgrpc_1_1internal_1_1_rpc_method.html">grpc::internal::RpcMethod</a> &amp;method, <a class="el" href="classgrpc_1_1_client_context.html">grpc::ClientContext</a> *context, const InputMessage *request, OutputMessage *result, std::function&lt; void(<a class="el" href="classgrpc_1_1_status.html">grpc::Status</a>)&gt; on_completion)</td></tr>
<tr class="memdesc:a86a4b381ea65c6fc72a334a0aff2b475"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a callback-based unary call. <a href="namespacegrpc_1_1internal.html#a86a4b381ea65c6fc72a334a0aff2b475">More...</a><br /></td></tr>
<tr class="separator:a86a4b381ea65c6fc72a334a0aff2b475"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4821faf2ca99439a11458d52ce9717d"><td class="memTemplParams" colspan="2">template&lt;class Callable &gt; </td></tr>
<tr class="memitem:ad4821faf2ca99439a11458d52ce9717d"><td class="memTemplItemLeft" align="right" valign="top">::<a class="el" href="classgrpc_1_1_status.html">grpc::Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacegrpc_1_1internal.html#ad4821faf2ca99439a11458d52ce9717d">CatchingFunctionHandler</a> (Callable &amp;&amp;handler)</td></tr>
<tr class="separator:ad4821faf2ca99439a11458d52ce9717d"><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: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>
<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:ac782b2990b63f5eab56a854f0c3605aa"><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#ac782b2990b63f5eab56a854f0c3605aa">g_global_client_stats_interceptor_factory</a></td></tr>
<tr class="separator:ac782b2990b63f5eab56a854f0c3605aa"><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>Actual implementation of bi-directional streaming.</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="ae53bfaec08c9a898a8e1c186a8d7e971"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae53bfaec08c9a898a8e1c186a8d7e971">&#9670;&nbsp;</a></span>ResourceExhaustedHandler</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classgrpc_1_1internal_1_1_error_method_handler.html">ErrorMethodHandler</a>&lt;grpc::StatusCode::RESOURCE_EXHAUSTED&gt; <a class="el" href="namespacegrpc_1_1internal.html#ae53bfaec08c9a898a8e1c186a8d7e971">grpc::internal::ResourceExhaustedHandler</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8460a0e2c6892295a5510e9d285297a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8460a0e2c6892295a5510e9d285297a7">&#9670;&nbsp;</a></span>UnimplementedBidiReactor</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_1internal.html#a8460a0e2c6892295a5510e9d285297a7">grpc::internal::UnimplementedBidiReactor</a> = typedef <a class="el" href="classgrpc_1_1internal_1_1_finish_only_reactor.html">FinishOnlyReactor</a>&lt;<a class="el" href="classgrpc_1_1_server_bidi_reactor.html">ServerBidiReactor</a>&lt;Request, Response&gt; &gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5bdf276614c32502b64604f94c06fd6f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5bdf276614c32502b64604f94c06fd6f">&#9670;&nbsp;</a></span>UnimplementedReadReactor</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Request &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#a5bdf276614c32502b64604f94c06fd6f">grpc::internal::UnimplementedReadReactor</a> = typedef <a class="el" href="classgrpc_1_1internal_1_1_finish_only_reactor.html">FinishOnlyReactor</a>&lt;<a class="el" href="classgrpc_1_1_server_read_reactor.html">ServerReadReactor</a>&lt;Request&gt; &gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae958c1306bc082dacba2f7751337132d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae958c1306bc082dacba2f7751337132d">&#9670;&nbsp;</a></span>UnimplementedUnaryReactor</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#ae958c1306bc082dacba2f7751337132d">grpc::internal::UnimplementedUnaryReactor</a> = typedef <a class="el" href="classgrpc_1_1internal_1_1_finish_only_reactor.html">FinishOnlyReactor</a>&lt;<a class="el" href="classgrpc_1_1_server_unary_reactor.html">ServerUnaryReactor</a>&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae544287ea3c93d523d21dfa3320ed46d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae544287ea3c93d523d21dfa3320ed46d">&#9670;&nbsp;</a></span>UnimplementedWriteReactor</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Response &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacegrpc_1_1internal.html#ae544287ea3c93d523d21dfa3320ed46d">grpc::internal::UnimplementedWriteReactor</a> = typedef <a class="el" href="classgrpc_1_1internal_1_1_finish_only_reactor.html">FinishOnlyReactor</a>&lt;<a class="el" href="classgrpc_1_1_server_write_reactor.html">ServerWriteReactor</a>&lt;Response&gt; &gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a99365fbae1dfa7c691f2aff492cc4b1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99365fbae1dfa7c691f2aff492cc4b1c">&#9670;&nbsp;</a></span>UnknownMethodHandler</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classgrpc_1_1internal_1_1_error_method_handler.html">ErrorMethodHandler</a>&lt;grpc::StatusCode::UNIMPLEMENTED&gt; <a class="el" href="namespacegrpc_1_1internal.html#a99365fbae1dfa7c691f2aff492cc4b1c">grpc::internal::UnknownMethodHandler</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a997ff44cb7bf8240626c3da1a1ddd7c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a997ff44cb7bf8240626c3da1a1ddd7c9">&#9670;&nbsp;</a></span>BlockingUnaryCall()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputMessage , class OutputMessage , class BaseInputMessage = InputMessage, class BaseOutputMessage = 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_1_1_client_context.html">grpc::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>
<p>May optionally specify the base class of the Request and Response so that the internal calls and structures below this may be based on those base classes and thus achieve code reuse across different RPCs (e.g., for protobuf, MessageLite would be a base class). </p>
</div>
</div>
<a id="a86a4b381ea65c6fc72a334a0aff2b475"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a86a4b381ea65c6fc72a334a0aff2b475">&#9670;&nbsp;</a></span>CallbackUnaryCall()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputMessage , class OutputMessage , class BaseInputMessage = InputMessage, class BaseOutputMessage = OutputMessage&gt; </div>
<table class="memname">
<tr>
<td class="memname">void grpc::internal::CallbackUnaryCall </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_channel_interface.html">grpc::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">grpc::internal::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_1_1_client_context.html">grpc::ClientContext</a> *&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const InputMessage *&#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>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::function&lt; void(<a class="el" href="classgrpc_1_1_status.html">grpc::Status</a>)&gt;&#160;</td>
<td class="paramname"><em>on_completion</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Perform a callback-based unary call. </p>
<p>May optionally specify the base class of the Request and Response so that the internal calls and structures below this may be based on those base classes and thus achieve code reuse across different RPCs (e.g., for protobuf, MessageLite would be a base class). TODO(vjpai): Combine as much as possible with the blocking unary call code </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="ad4821faf2ca99439a11458d52ce9717d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad4821faf2ca99439a11458d52ce9717d">&#9670;&nbsp;</a></span>CatchingFunctionHandler()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Callable &gt; </div>
<table class="memname">
<tr>
<td class="memname">::<a class="el" href="classgrpc_1_1_status.html">grpc::Status</a> grpc::internal::CatchingFunctionHandler </td>
<td>(</td>
<td class="paramtype">Callable &amp;&amp;&#160;</td>
<td class="paramname"><em>handler</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</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>
<a id="a4ba42b5702d05d43e14c4be49d5416e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ba42b5702d05d43e14c4be49d5416e2">&#9670;&nbsp;</a></span>UnaryDeserializeHelper()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class RequestType &gt; </div>
<table class="memname">
<tr>
<td class="memname">void * grpc::internal::UnaryDeserializeHelper </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structgrpc__byte__buffer.html">grpc_byte_buffer</a> *&#160;</td>
<td class="paramname"><em>req</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_status.html">grpc::Status</a> *&#160;</td>
<td class="paramname"><em>status</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RequestType *&#160;</td>
<td class="paramname"><em>request</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>A helper function with reduced templating to do deserializing. </p>
</div>
</div>
<a id="a8cea60e536ad3e97309f29b4384969e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8cea60e536ad3e97309f29b4384969e4">&#9670;&nbsp;</a></span>UnaryRunHandlerHelper()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ResponseType &gt; </div>
<table class="memname">
<tr>
<td class="memname">void grpc::internal::UnaryRunHandlerHelper </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structgrpc_1_1internal_1_1_method_handler_1_1_handler_parameter.html">MethodHandler::HandlerParameter</a> &amp;&#160;</td>
<td class="paramname"><em>param</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ResponseType *&#160;</td>
<td class="paramname"><em>rsp</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_status.html">grpc::Status</a> &amp;&#160;</td>
<td class="paramname"><em>status</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>A helper function with reduced templating to do the common work needed to actually send the server response. </p>
<p>Uses non-const parameter for <a class="el" href="classgrpc_1_1_status.html" title="Did it work? If it didn&#39;t, why?">Status</a> since this should only ever be called from the end of the RunHandler method. </p>
</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="ac782b2990b63f5eab56a854f0c3605aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac782b2990b63f5eab56a854f0c3605aa">&#9670;&nbsp;</a></span>g_global_client_stats_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_stats_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 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>