classgrpc_1_1_server_builder.html 60 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.17"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>GRPC C++: grpc::ServerBuilder Class Reference</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  13. <script type="text/javascript" src="search/searchdata.js"></script>
  14. <script type="text/javascript" src="search/search.js"></script>
  15. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  16. </head>
  17. <body>
  18. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  19. <div id="titlearea">
  20. <table cellspacing="0" cellpadding="0">
  21. <tbody>
  22. <tr style="height: 56px;">
  23. <td id="projectalign" style="padding-left: 0.5em;">
  24. <div id="projectname">GRPC C++
  25. &#160;<span id="projectnumber">1.36.1</span>
  26. </div>
  27. </td>
  28. </tr>
  29. </tbody>
  30. </table>
  31. </div>
  32. <!-- end header part -->
  33. <!-- Generated by Doxygen 1.8.17 -->
  34. <script type="text/javascript">
  35. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  36. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  37. /* @license-end */
  38. </script>
  39. <script type="text/javascript" src="menudata.js"></script>
  40. <script type="text/javascript" src="menu.js"></script>
  41. <script type="text/javascript">
  42. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  43. $(function() {
  44. initMenu('',true,false,'search.php','Search');
  45. $(document).ready(function() { init_search(); });
  46. });
  47. /* @license-end */</script>
  48. <div id="main-nav"></div>
  49. <!-- window showing the filter options -->
  50. <div id="MSearchSelectWindow"
  51. onmouseover="return searchBox.OnSearchSelectShow()"
  52. onmouseout="return searchBox.OnSearchSelectHide()"
  53. onkeydown="return searchBox.OnSearchSelectKey(event)">
  54. </div>
  55. <!-- iframe showing the search results (closed by default) -->
  56. <div id="MSearchResultsWindow">
  57. <iframe src="javascript:void(0)" frameborder="0"
  58. name="MSearchResults" id="MSearchResults">
  59. </iframe>
  60. </div>
  61. <div id="nav-path" class="navpath">
  62. <ul>
  63. <li class="navelem"><a class="el" href="namespacegrpc.html">grpc</a></li><li class="navelem"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a></li> </ul>
  64. </div>
  65. </div><!-- top -->
  66. <div class="header">
  67. <div class="summary">
  68. <a href="#nested-classes">Data Structures</a> &#124;
  69. <a href="#pub-types">Public Types</a> &#124;
  70. <a href="#pub-methods">Public Member Functions</a> &#124;
  71. <a href="#pub-static-methods">Static Public Member Functions</a> &#124;
  72. <a href="#pro-types">Protected Types</a> &#124;
  73. <a href="#pro-methods">Protected Member Functions</a> &#124;
  74. <a href="#friends">Friends</a> </div>
  75. <div class="headertitle">
  76. <div class="title">grpc::ServerBuilder Class Reference</div> </div>
  77. </div><!--header-->
  78. <div class="contents">
  79. <p>A builder class for the creation and startup of <em><a class="el" href="classgrpc_1_1_server.html" title="Represents a gRPC server.">grpc::Server</a></em> instances.
  80. <a href="classgrpc_1_1_server_builder.html#details">More...</a></p>
  81. <p><code>#include &lt;<a class="el" href="grpcpp_2server__builder_8h_source.html">server_builder.h</a>&gt;</code></p>
  82. <table class="memberdecls">
  83. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
  84. Data Structures</h2></td></tr>
  85. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder_1_1experimental__type.html">experimental_type</a></td></tr>
  86. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">NOTE: class <a class="el" href="classgrpc_1_1_server_builder_1_1experimental__type.html" title="NOTE: class experimental_type is not part of the public API of this class.">experimental_type</a> is not part of the public API of this class. <a href="classgrpc_1_1_server_builder_1_1experimental__type.html#details">More...</a><br /></td></tr>
  87. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  88. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc_1_1_server_builder_1_1_named_service.html">NamedService</a></td></tr>
  89. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  90. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc_1_1_server_builder_1_1_port.html">Port</a></td></tr>
  91. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Experimental, to be deprecated. <a href="structgrpc_1_1_server_builder_1_1_port.html#details">More...</a><br /></td></tr>
  92. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  93. </table><table class="memberdecls">
  94. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
  95. Public Types</h2></td></tr>
  96. <tr class="memitem:aff66bd93cba7d4240a64550fe1fca88d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#aff66bd93cba7d4240a64550fe1fca88d">SyncServerOption</a> { <a class="el" href="classgrpc_1_1_server_builder.html#aff66bd93cba7d4240a64550fe1fca88da9514f2add3875fc14c843f6498dc1319">NUM_CQS</a>,
  97. <a class="el" href="classgrpc_1_1_server_builder.html#aff66bd93cba7d4240a64550fe1fca88da74d9b7562f58282d93a3a0e5fb02ab02">MIN_POLLERS</a>,
  98. <a class="el" href="classgrpc_1_1_server_builder.html#aff66bd93cba7d4240a64550fe1fca88da3b9b382bb2f70cabe793e3e3fd325910">MAX_POLLERS</a>,
  99. <a class="el" href="classgrpc_1_1_server_builder.html#aff66bd93cba7d4240a64550fe1fca88dad9d34ee45d9bdf2344c6463deea14f4c">CQ_TIMEOUT_MSEC</a>
  100. }</td></tr>
  101. <tr class="memdesc:aff66bd93cba7d4240a64550fe1fca88d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Options for synchronous servers. <a href="classgrpc_1_1_server_builder.html#aff66bd93cba7d4240a64550fe1fca88d">More...</a><br /></td></tr>
  102. <tr class="separator:aff66bd93cba7d4240a64550fe1fca88d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  103. </table><table class="memberdecls">
  104. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  105. Public Member Functions</h2></td></tr>
  106. <tr class="memitem:a208346e343cd01351492f0cace59b242"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a208346e343cd01351492f0cace59b242">ServerBuilder</a> ()</td></tr>
  107. <tr class="separator:a208346e343cd01351492f0cace59b242"><td class="memSeparator" colspan="2">&#160;</td></tr>
  108. <tr class="memitem:a0bf5d1d50d4e5522ba90bc0efcf91b19"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a0bf5d1d50d4e5522ba90bc0efcf91b19">~ServerBuilder</a> ()</td></tr>
  109. <tr class="separator:a0bf5d1d50d4e5522ba90bc0efcf91b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
  110. <tr class="memitem:a3ad1429e6575de79f8f17dad383fbc04"><td class="memItemLeft" align="right" valign="top">virtual std::unique_ptr&lt; <a class="el" href="classgrpc_1_1_server.html">grpc::Server</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a3ad1429e6575de79f8f17dad383fbc04">BuildAndStart</a> ()</td></tr>
  111. <tr class="memdesc:a3ad1429e6575de79f8f17dad383fbc04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a running server which is ready for processing calls. <a href="classgrpc_1_1_server_builder.html#a3ad1429e6575de79f8f17dad383fbc04">More...</a><br /></td></tr>
  112. <tr class="separator:a3ad1429e6575de79f8f17dad383fbc04"><td class="memSeparator" colspan="2">&#160;</td></tr>
  113. <tr class="memitem:a4f62f6efaa8d47ffbcffc314cff6b1e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a4f62f6efaa8d47ffbcffc314cff6b1e4">RegisterService</a> (<a class="el" href="classgrpc_1_1_service.html">grpc::Service</a> *service)</td></tr>
  114. <tr class="memdesc:a4f62f6efaa8d47ffbcffc314cff6b1e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a service. <a href="classgrpc_1_1_server_builder.html#a4f62f6efaa8d47ffbcffc314cff6b1e4">More...</a><br /></td></tr>
  115. <tr class="separator:a4f62f6efaa8d47ffbcffc314cff6b1e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  116. <tr class="memitem:ad8c7eff4f5747333b7ffbb09cef71b5e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#ad8c7eff4f5747333b7ffbb09cef71b5e">AddListeningPort</a> (const std::string &amp;addr_uri, std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_server_credentials.html">grpc::ServerCredentials</a> &gt; creds, int *selected_port=nullptr)</td></tr>
  117. <tr class="memdesc:ad8c7eff4f5747333b7ffbb09cef71b5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enlists an endpoint <em>addr</em> (port with an optional IP address) to bind the <em><a class="el" href="classgrpc_1_1_server.html" title="Represents a gRPC server.">grpc::Server</a></em> object to be created to. <a href="classgrpc_1_1_server_builder.html#ad8c7eff4f5747333b7ffbb09cef71b5e">More...</a><br /></td></tr>
  118. <tr class="separator:ad8c7eff4f5747333b7ffbb09cef71b5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  119. <tr class="memitem:a62fb13bc32374e4aa01ae9eb9fee4dda"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classgrpc_1_1_server_completion_queue.html">grpc::ServerCompletionQueue</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a62fb13bc32374e4aa01ae9eb9fee4dda">AddCompletionQueue</a> (bool is_frequently_polled=true)</td></tr>
  120. <tr class="memdesc:a62fb13bc32374e4aa01ae9eb9fee4dda"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a completion queue for handling asynchronous services. <a href="classgrpc_1_1_server_builder.html#a62fb13bc32374e4aa01ae9eb9fee4dda">More...</a><br /></td></tr>
  121. <tr class="separator:a62fb13bc32374e4aa01ae9eb9fee4dda"><td class="memSeparator" colspan="2">&#160;</td></tr>
  122. <tr class="memitem:a36746c5eb8dd6bd046dab42a623b6260"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a36746c5eb8dd6bd046dab42a623b6260">RegisterService</a> (const std::string &amp;host, <a class="el" href="classgrpc_1_1_service.html">grpc::Service</a> *service)</td></tr>
  123. <tr class="memdesc:a36746c5eb8dd6bd046dab42a623b6260"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a service. <a href="classgrpc_1_1_server_builder.html#a36746c5eb8dd6bd046dab42a623b6260">More...</a><br /></td></tr>
  124. <tr class="separator:a36746c5eb8dd6bd046dab42a623b6260"><td class="memSeparator" colspan="2">&#160;</td></tr>
  125. <tr class="memitem:a77eff78d1ed3a8ec879ad33f64c7dc90"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a77eff78d1ed3a8ec879ad33f64c7dc90">RegisterAsyncGenericService</a> (<a class="el" href="classgrpc_1_1_async_generic_service.html">grpc::AsyncGenericService</a> *service)</td></tr>
  126. <tr class="memdesc:a77eff78d1ed3a8ec879ad33f64c7dc90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a generic service. <a href="classgrpc_1_1_server_builder.html#a77eff78d1ed3a8ec879ad33f64c7dc90">More...</a><br /></td></tr>
  127. <tr class="separator:a77eff78d1ed3a8ec879ad33f64c7dc90"><td class="memSeparator" colspan="2">&#160;</td></tr>
  128. <tr class="memitem:ab5c8a420f2acfc6fcea2f2210e9d426e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#ab5c8a420f2acfc6fcea2f2210e9d426e">SetMaxReceiveMessageSize</a> (int max_receive_message_size)</td></tr>
  129. <tr class="memdesc:ab5c8a420f2acfc6fcea2f2210e9d426e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set max receive message size in bytes. <a href="classgrpc_1_1_server_builder.html#ab5c8a420f2acfc6fcea2f2210e9d426e">More...</a><br /></td></tr>
  130. <tr class="separator:ab5c8a420f2acfc6fcea2f2210e9d426e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  131. <tr class="memitem:ac6deb0d17c9439febcd04f813fec8a05"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#ac6deb0d17c9439febcd04f813fec8a05">SetMaxSendMessageSize</a> (int max_send_message_size)</td></tr>
  132. <tr class="memdesc:ac6deb0d17c9439febcd04f813fec8a05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set max send message size in bytes. <a href="classgrpc_1_1_server_builder.html#ac6deb0d17c9439febcd04f813fec8a05">More...</a><br /></td></tr>
  133. <tr class="separator:ac6deb0d17c9439febcd04f813fec8a05"><td class="memSeparator" colspan="2">&#160;</td></tr>
  134. <tr class="memitem:a13f4b030529c9f447e3a172a6d8a7e29"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a13f4b030529c9f447e3a172a6d8a7e29">SetMaxMessageSize</a> (int max_message_size)</td></tr>
  135. <tr class="separator:a13f4b030529c9f447e3a172a6d8a7e29"><td class="memSeparator" colspan="2">&#160;</td></tr>
  136. <tr class="memitem:a26e4b20a377c4bbbe37c33aa72165034"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a26e4b20a377c4bbbe37c33aa72165034">SetCompressionAlgorithmSupportStatus</a> (<a class="el" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">grpc_compression_algorithm</a> <a class="el" href="classgrpc_1_1_server_builder.html#a27b5a3733140caef60846fc21977d6ba">algorithm</a>, bool enabled)</td></tr>
  137. <tr class="memdesc:a26e4b20a377c4bbbe37c33aa72165034"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the support status for compression algorithms. <a href="classgrpc_1_1_server_builder.html#a26e4b20a377c4bbbe37c33aa72165034">More...</a><br /></td></tr>
  138. <tr class="separator:a26e4b20a377c4bbbe37c33aa72165034"><td class="memSeparator" colspan="2">&#160;</td></tr>
  139. <tr class="memitem:ae10c6dc23ec295695710c0b4c14f9353"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#ae10c6dc23ec295695710c0b4c14f9353">SetDefaultCompressionLevel</a> (<a class="el" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7">grpc_compression_level</a> <a class="el" href="classgrpc_1_1_server_builder.html#a99bc7fd30172c4e154b6942e1c221a1c">level</a>)</td></tr>
  140. <tr class="memdesc:ae10c6dc23ec295695710c0b4c14f9353"><td class="mdescLeft">&#160;</td><td class="mdescRight">The default compression level to use for all channel calls in the absence of a call-specific level. <a href="classgrpc_1_1_server_builder.html#ae10c6dc23ec295695710c0b4c14f9353">More...</a><br /></td></tr>
  141. <tr class="separator:ae10c6dc23ec295695710c0b4c14f9353"><td class="memSeparator" colspan="2">&#160;</td></tr>
  142. <tr class="memitem:a6ee516b7445ff4e1274a6d882f529504"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a6ee516b7445ff4e1274a6d882f529504">SetDefaultCompressionAlgorithm</a> (<a class="el" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">grpc_compression_algorithm</a> <a class="el" href="classgrpc_1_1_server_builder.html#a27b5a3733140caef60846fc21977d6ba">algorithm</a>)</td></tr>
  143. <tr class="memdesc:a6ee516b7445ff4e1274a6d882f529504"><td class="mdescLeft">&#160;</td><td class="mdescRight">The default compression algorithm to use for all channel calls in the absence of a call-specific level. <a href="classgrpc_1_1_server_builder.html#a6ee516b7445ff4e1274a6d882f529504">More...</a><br /></td></tr>
  144. <tr class="separator:a6ee516b7445ff4e1274a6d882f529504"><td class="memSeparator" colspan="2">&#160;</td></tr>
  145. <tr class="memitem:aa7bfe0619f48a326d10ee9edba46b729"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#aa7bfe0619f48a326d10ee9edba46b729">SetResourceQuota</a> (const <a class="el" href="classgrpc_1_1_resource_quota.html">grpc::ResourceQuota</a> &amp;resource_quota)</td></tr>
  146. <tr class="memdesc:aa7bfe0619f48a326d10ee9edba46b729"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the attached buffer pool for this server. <a href="classgrpc_1_1_server_builder.html#aa7bfe0619f48a326d10ee9edba46b729">More...</a><br /></td></tr>
  147. <tr class="separator:aa7bfe0619f48a326d10ee9edba46b729"><td class="memSeparator" colspan="2">&#160;</td></tr>
  148. <tr class="memitem:aeab1bf4749eb2b6b40539dc9202915e2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#aeab1bf4749eb2b6b40539dc9202915e2">SetOption</a> (std::unique_ptr&lt; <a class="el" href="classgrpc_1_1_server_builder_option.html">grpc::ServerBuilderOption</a> &gt; option)</td></tr>
  149. <tr class="separator:aeab1bf4749eb2b6b40539dc9202915e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  150. <tr class="memitem:acbc2a859672203e7be097de55e296d4b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#acbc2a859672203e7be097de55e296d4b">SetSyncServerOption</a> (<a class="el" href="classgrpc_1_1_server_builder.html#aff66bd93cba7d4240a64550fe1fca88d">SyncServerOption</a> option, int value)</td></tr>
  151. <tr class="memdesc:acbc2a859672203e7be097de55e296d4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Only useful if this is a Synchronous server. <a href="classgrpc_1_1_server_builder.html#acbc2a859672203e7be097de55e296d4b">More...</a><br /></td></tr>
  152. <tr class="separator:acbc2a859672203e7be097de55e296d4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  153. <tr class="memitem:a164cbea7979b0d9826a110ae7429449b"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
  154. <tr class="memitem:a164cbea7979b0d9826a110ae7429449b"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a164cbea7979b0d9826a110ae7429449b">AddChannelArgument</a> (const std::string &amp;arg, const T &amp;value)</td></tr>
  155. <tr class="memdesc:a164cbea7979b0d9826a110ae7429449b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a channel argument (an escape hatch to tuning core library parameters directly) <a href="classgrpc_1_1_server_builder.html#a164cbea7979b0d9826a110ae7429449b">More...</a><br /></td></tr>
  156. <tr class="separator:a164cbea7979b0d9826a110ae7429449b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  157. <tr class="memitem:a01715acec890fe4ddc91340bae5ead8c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a01715acec890fe4ddc91340bae5ead8c">EnableWorkaround</a> (<a class="el" href="workaround__list_8h.html#ade8be35fce7415c7234ac22d8b9ad9d2">grpc_workaround_list</a> id)</td></tr>
  158. <tr class="memdesc:a01715acec890fe4ddc91340bae5ead8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable a server workaround. <a href="classgrpc_1_1_server_builder.html#a01715acec890fe4ddc91340bae5ead8c">More...</a><br /></td></tr>
  159. <tr class="separator:a01715acec890fe4ddc91340bae5ead8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  160. <tr class="memitem:a25f9ef23ff134f22db3bd969118a7cad"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder_1_1experimental__type.html">experimental_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a25f9ef23ff134f22db3bd969118a7cad">experimental</a> ()</td></tr>
  161. <tr class="memdesc:a25f9ef23ff134f22db3bd969118a7cad"><td class="mdescLeft">&#160;</td><td class="mdescRight">NOTE: The function <a class="el" href="classgrpc_1_1_server_builder.html#a25f9ef23ff134f22db3bd969118a7cad" title="NOTE: The function experimental() is not stable public API.">experimental()</a> is not stable public API. <a href="classgrpc_1_1_server_builder.html#a25f9ef23ff134f22db3bd969118a7cad">More...</a><br /></td></tr>
  162. <tr class="separator:a25f9ef23ff134f22db3bd969118a7cad"><td class="memSeparator" colspan="2">&#160;</td></tr>
  163. </table><table class="memberdecls">
  164. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
  165. Static Public Member Functions</h2></td></tr>
  166. <tr class="memitem:a54e1ddd09bb865765518acbae4e59a99"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a54e1ddd09bb865765518acbae4e59a99">InternalAddPluginFactory</a> (std::unique_ptr&lt; <a class="el" href="classgrpc_1_1_server_builder_plugin.html">grpc::ServerBuilderPlugin</a> &gt;(*CreatePlugin)())</td></tr>
  167. <tr class="memdesc:a54e1ddd09bb865765518acbae4e59a99"><td class="mdescLeft">&#160;</td><td class="mdescRight">For internal use only: Register a <a class="el" href="classgrpc_1_1_server_builder_plugin.html" title="This interface is meant for internal usage only.">ServerBuilderPlugin</a> factory function. <a href="classgrpc_1_1_server_builder.html#a54e1ddd09bb865765518acbae4e59a99">More...</a><br /></td></tr>
  168. <tr class="separator:a54e1ddd09bb865765518acbae4e59a99"><td class="memSeparator" colspan="2">&#160;</td></tr>
  169. </table><table class="memberdecls">
  170. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
  171. Protected Types</h2></td></tr>
  172. <tr class="memitem:a859a36e42d7acbe4b56decf57e84b54d"><td class="memItemLeft" align="right" valign="top">typedef std::unique_ptr&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a859a36e42d7acbe4b56decf57e84b54d">HostString</a></td></tr>
  173. <tr class="memdesc:a859a36e42d7acbe4b56decf57e84b54d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Experimental, to be deprecated. <a href="classgrpc_1_1_server_builder.html#a859a36e42d7acbe4b56decf57e84b54d">More...</a><br /></td></tr>
  174. <tr class="separator:a859a36e42d7acbe4b56decf57e84b54d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  175. </table><table class="memberdecls">
  176. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
  177. Protected Member Functions</h2></td></tr>
  178. <tr class="memitem:a5826774e7c803998238a74ef43b5c811"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="structgrpc_1_1_server_builder_1_1_port.html">Port</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a5826774e7c803998238a74ef43b5c811">ports</a> ()</td></tr>
  179. <tr class="memdesc:a5826774e7c803998238a74ef43b5c811"><td class="mdescLeft">&#160;</td><td class="mdescRight">Experimental, to be deprecated. <a href="classgrpc_1_1_server_builder.html#a5826774e7c803998238a74ef43b5c811">More...</a><br /></td></tr>
  180. <tr class="separator:a5826774e7c803998238a74ef43b5c811"><td class="memSeparator" colspan="2">&#160;</td></tr>
  181. <tr class="memitem:a4799eec87ef7d336d0f5db95d273e432"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="structgrpc_1_1_server_builder_1_1_named_service.html">NamedService</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a4799eec87ef7d336d0f5db95d273e432">services</a> ()</td></tr>
  182. <tr class="memdesc:a4799eec87ef7d336d0f5db95d273e432"><td class="mdescLeft">&#160;</td><td class="mdescRight">Experimental, to be deprecated. <a href="classgrpc_1_1_server_builder.html#a4799eec87ef7d336d0f5db95d273e432">More...</a><br /></td></tr>
  183. <tr class="separator:a4799eec87ef7d336d0f5db95d273e432"><td class="memSeparator" colspan="2">&#160;</td></tr>
  184. <tr class="memitem:a61d36f9a7082994dbe59f52736adc138"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classgrpc_1_1_server_builder_option.html">grpc::ServerBuilderOption</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a61d36f9a7082994dbe59f52736adc138">options</a> ()</td></tr>
  185. <tr class="memdesc:a61d36f9a7082994dbe59f52736adc138"><td class="mdescLeft">&#160;</td><td class="mdescRight">Experimental, to be deprecated. <a href="classgrpc_1_1_server_builder.html#a61d36f9a7082994dbe59f52736adc138">More...</a><br /></td></tr>
  186. <tr class="separator:a61d36f9a7082994dbe59f52736adc138"><td class="memSeparator" colspan="2">&#160;</td></tr>
  187. <tr class="memitem:af46ad1e5cd9880e9e7ba5eb187f4d37f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#af46ad1e5cd9880e9e7ba5eb187f4d37f">set_fetcher</a> (<a class="el" href="grpc_8h.html#a4c7dd742606d0ac388aff5cada9b14aa">grpc_server_config_fetcher</a> *server_config_fetcher)</td></tr>
  188. <tr class="memdesc:af46ad1e5cd9880e9e7ba5eb187f4d37f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Experimental API, subject to change. <a href="classgrpc_1_1_server_builder.html#af46ad1e5cd9880e9e7ba5eb187f4d37f">More...</a><br /></td></tr>
  189. <tr class="separator:af46ad1e5cd9880e9e7ba5eb187f4d37f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  190. </table><table class="memberdecls">
  191. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
  192. Friends</h2></td></tr>
  193. <tr class="memitem:a6d051c774efa6448928d2ca4062676d0"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a6d051c774efa6448928d2ca4062676d0">::grpc::testing::ServerBuilderPluginTest</a></td></tr>
  194. <tr class="separator:a6d051c774efa6448928d2ca4062676d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  195. </table>
  196. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  197. <div class="textblock"><p>A builder class for the creation and startup of <em><a class="el" href="classgrpc_1_1_server.html" title="Represents a gRPC server.">grpc::Server</a></em> instances. </p>
  198. </div><h2 class="groupheader">Member Typedef Documentation</h2>
  199. <a id="a859a36e42d7acbe4b56decf57e84b54d"></a>
  200. <h2 class="memtitle"><span class="permalink"><a href="#a859a36e42d7acbe4b56decf57e84b54d">&#9670;&nbsp;</a></span>HostString</h2>
  201. <div class="memitem">
  202. <div class="memproto">
  203. <table class="mlabels">
  204. <tr>
  205. <td class="mlabels-left">
  206. <table class="memname">
  207. <tr>
  208. <td class="memname">typedef std::unique_ptr&lt;std::string&gt; <a class="el" href="classgrpc_1_1_server_builder.html#a859a36e42d7acbe4b56decf57e84b54d">grpc::ServerBuilder::HostString</a></td>
  209. </tr>
  210. </table>
  211. </td>
  212. <td class="mlabels-right">
  213. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  214. </tr>
  215. </table>
  216. </div><div class="memdoc">
  217. <p>Experimental, to be deprecated. </p>
  218. </div>
  219. </div>
  220. <h2 class="groupheader">Member Enumeration Documentation</h2>
  221. <a id="aff66bd93cba7d4240a64550fe1fca88d"></a>
  222. <h2 class="memtitle"><span class="permalink"><a href="#aff66bd93cba7d4240a64550fe1fca88d">&#9670;&nbsp;</a></span>SyncServerOption</h2>
  223. <div class="memitem">
  224. <div class="memproto">
  225. <table class="memname">
  226. <tr>
  227. <td class="memname">enum <a class="el" href="classgrpc_1_1_server_builder.html#aff66bd93cba7d4240a64550fe1fca88d">grpc::ServerBuilder::SyncServerOption</a></td>
  228. </tr>
  229. </table>
  230. </div><div class="memdoc">
  231. <p>Options for synchronous servers. </p>
  232. <table class="fieldtable">
  233. <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aff66bd93cba7d4240a64550fe1fca88da9514f2add3875fc14c843f6498dc1319"></a>NUM_CQS&#160;</td><td class="fielddoc"><p>Number of completion queues. </p>
  234. </td></tr>
  235. <tr><td class="fieldname"><a id="aff66bd93cba7d4240a64550fe1fca88da74d9b7562f58282d93a3a0e5fb02ab02"></a>MIN_POLLERS&#160;</td><td class="fielddoc"><p>Minimum number of polling threads. </p>
  236. </td></tr>
  237. <tr><td class="fieldname"><a id="aff66bd93cba7d4240a64550fe1fca88da3b9b382bb2f70cabe793e3e3fd325910"></a>MAX_POLLERS&#160;</td><td class="fielddoc"><p>Maximum number of polling threads. </p>
  238. </td></tr>
  239. <tr><td class="fieldname"><a id="aff66bd93cba7d4240a64550fe1fca88dad9d34ee45d9bdf2344c6463deea14f4c"></a>CQ_TIMEOUT_MSEC&#160;</td><td class="fielddoc"><p>Completion queue timeout in milliseconds. </p>
  240. </td></tr>
  241. </table>
  242. </div>
  243. </div>
  244. <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
  245. <a id="a208346e343cd01351492f0cace59b242"></a>
  246. <h2 class="memtitle"><span class="permalink"><a href="#a208346e343cd01351492f0cace59b242">&#9670;&nbsp;</a></span>ServerBuilder()</h2>
  247. <div class="memitem">
  248. <div class="memproto">
  249. <table class="memname">
  250. <tr>
  251. <td class="memname">grpc::ServerBuilder::ServerBuilder </td>
  252. <td>(</td>
  253. <td class="paramname"></td><td>)</td>
  254. <td></td>
  255. </tr>
  256. </table>
  257. </div><div class="memdoc">
  258. </div>
  259. </div>
  260. <a id="a0bf5d1d50d4e5522ba90bc0efcf91b19"></a>
  261. <h2 class="memtitle"><span class="permalink"><a href="#a0bf5d1d50d4e5522ba90bc0efcf91b19">&#9670;&nbsp;</a></span>~ServerBuilder()</h2>
  262. <div class="memitem">
  263. <div class="memproto">
  264. <table class="mlabels">
  265. <tr>
  266. <td class="mlabels-left">
  267. <table class="memname">
  268. <tr>
  269. <td class="memname">virtual grpc::ServerBuilder::~ServerBuilder </td>
  270. <td>(</td>
  271. <td class="paramname"></td><td>)</td>
  272. <td></td>
  273. </tr>
  274. </table>
  275. </td>
  276. <td class="mlabels-right">
  277. <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
  278. </tr>
  279. </table>
  280. </div><div class="memdoc">
  281. </div>
  282. </div>
  283. <h2 class="groupheader">Member Function Documentation</h2>
  284. <a id="a164cbea7979b0d9826a110ae7429449b"></a>
  285. <h2 class="memtitle"><span class="permalink"><a href="#a164cbea7979b0d9826a110ae7429449b">&#9670;&nbsp;</a></span>AddChannelArgument()</h2>
  286. <div class="memitem">
  287. <div class="memproto">
  288. <div class="memtemplate">
  289. template&lt;class T &gt; </div>
  290. <table class="mlabels">
  291. <tr>
  292. <td class="mlabels-left">
  293. <table class="memname">
  294. <tr>
  295. <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>&amp; grpc::ServerBuilder::AddChannelArgument </td>
  296. <td>(</td>
  297. <td class="paramtype">const std::string &amp;&#160;</td>
  298. <td class="paramname"><em>arg</em>, </td>
  299. </tr>
  300. <tr>
  301. <td class="paramkey"></td>
  302. <td></td>
  303. <td class="paramtype">const T &amp;&#160;</td>
  304. <td class="paramname"><em>value</em>&#160;</td>
  305. </tr>
  306. <tr>
  307. <td></td>
  308. <td>)</td>
  309. <td></td><td></td>
  310. </tr>
  311. </table>
  312. </td>
  313. <td class="mlabels-right">
  314. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  315. </tr>
  316. </table>
  317. </div><div class="memdoc">
  318. <p>Add a channel argument (an escape hatch to tuning core library parameters directly) </p>
  319. </div>
  320. </div>
  321. <a id="a62fb13bc32374e4aa01ae9eb9fee4dda"></a>
  322. <h2 class="memtitle"><span class="permalink"><a href="#a62fb13bc32374e4aa01ae9eb9fee4dda">&#9670;&nbsp;</a></span>AddCompletionQueue()</h2>
  323. <div class="memitem">
  324. <div class="memproto">
  325. <table class="memname">
  326. <tr>
  327. <td class="memname">std::unique_ptr&lt;<a class="el" href="classgrpc_1_1_server_completion_queue.html">grpc::ServerCompletionQueue</a>&gt; grpc::ServerBuilder::AddCompletionQueue </td>
  328. <td>(</td>
  329. <td class="paramtype">bool&#160;</td>
  330. <td class="paramname"><em>is_frequently_polled</em> = <code>true</code></td><td>)</td>
  331. <td></td>
  332. </tr>
  333. </table>
  334. </div><div class="memdoc">
  335. <p>Add a completion queue for handling asynchronous services. </p>
  336. <p>Best performance is typically obtained by using one thread per polling completion queue.</p>
  337. <p>Caller is required to shutdown the server prior to shutting down the returned completion queue. Caller is also required to drain the completion queue after shutting it down. A typical usage scenario:</p>
  338. <p>// While building the server: <a class="el" href="classgrpc_1_1_server_builder.html" title="A builder class for the creation and startup of grpc::Server instances.">ServerBuilder</a> builder; ... cq_ = builder.AddCompletionQueue(); server_ = builder.BuildAndStart();</p>
  339. <p>// While shutting down the server; server_-&gt;Shutdown(); cq_-&gt;Shutdown(); // Always <em>after</em> the associated server's Shutdown()! // Drain the cq_ that was created void* ignored_tag; bool ignored_ok; while (cq_-&gt;Next(&amp;ignored_tag, &amp;ignored_ok)) { }</p>
  340. <dl class="params"><dt>Parameters</dt><dd>
  341. <table class="params">
  342. <tr><td class="paramname">is_frequently_polled</td><td>This is an optional parameter to inform gRPC library about whether this completion queue would be frequently polled (i.e. by calling <em>Next()</em> or <em>AsyncNext()</em>). The default value is 'true' and is the recommended setting. Setting this to 'false' (i.e. not polling the completion queue frequently) will have a significantly negative performance impact and hence should not be used in production use cases. </td></tr>
  343. </table>
  344. </dd>
  345. </dl>
  346. </div>
  347. </div>
  348. <a id="ad8c7eff4f5747333b7ffbb09cef71b5e"></a>
  349. <h2 class="memtitle"><span class="permalink"><a href="#ad8c7eff4f5747333b7ffbb09cef71b5e">&#9670;&nbsp;</a></span>AddListeningPort()</h2>
  350. <div class="memitem">
  351. <div class="memproto">
  352. <table class="memname">
  353. <tr>
  354. <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>&amp; grpc::ServerBuilder::AddListeningPort </td>
  355. <td>(</td>
  356. <td class="paramtype">const std::string &amp;&#160;</td>
  357. <td class="paramname"><em>addr_uri</em>, </td>
  358. </tr>
  359. <tr>
  360. <td class="paramkey"></td>
  361. <td></td>
  362. <td class="paramtype">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_server_credentials.html">grpc::ServerCredentials</a> &gt;&#160;</td>
  363. <td class="paramname"><em>creds</em>, </td>
  364. </tr>
  365. <tr>
  366. <td class="paramkey"></td>
  367. <td></td>
  368. <td class="paramtype">int *&#160;</td>
  369. <td class="paramname"><em>selected_port</em> = <code>nullptr</code>&#160;</td>
  370. </tr>
  371. <tr>
  372. <td></td>
  373. <td>)</td>
  374. <td></td><td></td>
  375. </tr>
  376. </table>
  377. </div><div class="memdoc">
  378. <p>Enlists an endpoint <em>addr</em> (port with an optional IP address) to bind the <em><a class="el" href="classgrpc_1_1_server.html" title="Represents a gRPC server.">grpc::Server</a></em> object to be created to. </p>
  379. <p>It can be invoked multiple times.</p>
  380. <dl class="params"><dt>Parameters</dt><dd>
  381. <table class="params">
  382. <tr><td class="paramdir"></td><td class="paramname">addr_uri</td><td>The address to try to bind to the server in URI form. If the scheme name is omitted, "dns:///" is assumed. To bind to any address, please use IPv6 any, i.e., [::]:&lt;port&gt;, which also accepts IPv4 connections. Valid values include dns:///localhost:1234, / 192.168.1.1:31416, dns:///[::1]:27182, etc.). </td></tr>
  383. <tr><td class="paramdir"></td><td class="paramname">creds</td><td>The credentials associated with the server. </td></tr>
  384. <tr><td class="paramdir">[out]</td><td class="paramname">selected_port</td><td>If not <code>nullptr</code>, gets populated with the port number bound to the <em><a class="el" href="classgrpc_1_1_server.html" title="Represents a gRPC server.">grpc::Server</a></em> for the corresponding endpoint after it is successfully bound by <a class="el" href="classgrpc_1_1_server_builder.html#a3ad1429e6575de79f8f17dad383fbc04" title="Return a running server which is ready for processing calls.">BuildAndStart()</a>, 0 otherwise. AddListeningPort does not modify this pointer. </td></tr>
  385. </table>
  386. </dd>
  387. </dl>
  388. </div>
  389. </div>
  390. <a id="a3ad1429e6575de79f8f17dad383fbc04"></a>
  391. <h2 class="memtitle"><span class="permalink"><a href="#a3ad1429e6575de79f8f17dad383fbc04">&#9670;&nbsp;</a></span>BuildAndStart()</h2>
  392. <div class="memitem">
  393. <div class="memproto">
  394. <table class="mlabels">
  395. <tr>
  396. <td class="mlabels-left">
  397. <table class="memname">
  398. <tr>
  399. <td class="memname">virtual std::unique_ptr&lt;<a class="el" href="classgrpc_1_1_server.html">grpc::Server</a>&gt; grpc::ServerBuilder::BuildAndStart </td>
  400. <td>(</td>
  401. <td class="paramname"></td><td>)</td>
  402. <td></td>
  403. </tr>
  404. </table>
  405. </td>
  406. <td class="mlabels-right">
  407. <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
  408. </tr>
  409. </table>
  410. </div><div class="memdoc">
  411. <p>Return a running server which is ready for processing calls. </p>
  412. <p>Before calling, one typically needs to ensure that:</p><ol type="1">
  413. <li>a service is registered - so that the server knows what to serve (via RegisterService, or RegisterAsyncGenericService)</li>
  414. <li>a listening port has been added - so the server knows where to receive traffic (via AddListeningPort)</li>
  415. <li>[for async api only] completion queues have been added via AddCompletionQueue</li>
  416. </ol>
  417. <p>Will return a nullptr on errors. </p>
  418. <p>Reimplemented in <a class="el" href="classgrpc_1_1experimental_1_1_xds_server_builder.html#a349ffe284566eec46bd1c04912daef3f">grpc::experimental::XdsServerBuilder</a>.</p>
  419. </div>
  420. </div>
  421. <a id="a01715acec890fe4ddc91340bae5ead8c"></a>
  422. <h2 class="memtitle"><span class="permalink"><a href="#a01715acec890fe4ddc91340bae5ead8c">&#9670;&nbsp;</a></span>EnableWorkaround()</h2>
  423. <div class="memitem">
  424. <div class="memproto">
  425. <table class="memname">
  426. <tr>
  427. <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>&amp; grpc::ServerBuilder::EnableWorkaround </td>
  428. <td>(</td>
  429. <td class="paramtype"><a class="el" href="workaround__list_8h.html#ade8be35fce7415c7234ac22d8b9ad9d2">grpc_workaround_list</a>&#160;</td>
  430. <td class="paramname"><em>id</em></td><td>)</td>
  431. <td></td>
  432. </tr>
  433. </table>
  434. </div><div class="memdoc">
  435. <p>Enable a server workaround. </p>
  436. <p>Do not use unless you know what the workaround does. For explanation and detailed descriptions of workarounds, see <a class="el" href="workarounds_8md.html">doc/workarounds.md</a>. </p>
  437. </div>
  438. </div>
  439. <a id="a25f9ef23ff134f22db3bd969118a7cad"></a>
  440. <h2 class="memtitle"><span class="permalink"><a href="#a25f9ef23ff134f22db3bd969118a7cad">&#9670;&nbsp;</a></span>experimental()</h2>
  441. <div class="memitem">
  442. <div class="memproto">
  443. <table class="mlabels">
  444. <tr>
  445. <td class="mlabels-left">
  446. <table class="memname">
  447. <tr>
  448. <td class="memname"><a class="el" href="classgrpc_1_1_server_builder_1_1experimental__type.html">experimental_type</a> grpc::ServerBuilder::experimental </td>
  449. <td>(</td>
  450. <td class="paramname"></td><td>)</td>
  451. <td></td>
  452. </tr>
  453. </table>
  454. </td>
  455. <td class="mlabels-right">
  456. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  457. </tr>
  458. </table>
  459. </div><div class="memdoc">
  460. <p>NOTE: The function <a class="el" href="classgrpc_1_1_server_builder.html#a25f9ef23ff134f22db3bd969118a7cad" title="NOTE: The function experimental() is not stable public API.">experimental()</a> is not stable public API. </p>
  461. <p>It is a view to the experimental components of this class. It may be changed or removed at any time. </p>
  462. </div>
  463. </div>
  464. <a id="a54e1ddd09bb865765518acbae4e59a99"></a>
  465. <h2 class="memtitle"><span class="permalink"><a href="#a54e1ddd09bb865765518acbae4e59a99">&#9670;&nbsp;</a></span>InternalAddPluginFactory()</h2>
  466. <div class="memitem">
  467. <div class="memproto">
  468. <table class="mlabels">
  469. <tr>
  470. <td class="mlabels-left">
  471. <table class="memname">
  472. <tr>
  473. <td class="memname">static void grpc::ServerBuilder::InternalAddPluginFactory </td>
  474. <td>(</td>
  475. <td class="paramtype">std::unique_ptr&lt; <a class="el" href="classgrpc_1_1_server_builder_plugin.html">grpc::ServerBuilderPlugin</a> &gt;(*)()&#160;</td>
  476. <td class="paramname"><em>CreatePlugin</em></td><td>)</td>
  477. <td></td>
  478. </tr>
  479. </table>
  480. </td>
  481. <td class="mlabels-right">
  482. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  483. </tr>
  484. </table>
  485. </div><div class="memdoc">
  486. <p>For internal use only: Register a <a class="el" href="classgrpc_1_1_server_builder_plugin.html" title="This interface is meant for internal usage only.">ServerBuilderPlugin</a> factory function. </p>
  487. </div>
  488. </div>
  489. <a id="a61d36f9a7082994dbe59f52736adc138"></a>
  490. <h2 class="memtitle"><span class="permalink"><a href="#a61d36f9a7082994dbe59f52736adc138">&#9670;&nbsp;</a></span>options()</h2>
  491. <div class="memitem">
  492. <div class="memproto">
  493. <table class="mlabels">
  494. <tr>
  495. <td class="mlabels-left">
  496. <table class="memname">
  497. <tr>
  498. <td class="memname">std::vector&lt;<a class="el" href="classgrpc_1_1_server_builder_option.html">grpc::ServerBuilderOption</a>*&gt; grpc::ServerBuilder::options </td>
  499. <td>(</td>
  500. <td class="paramname"></td><td>)</td>
  501. <td></td>
  502. </tr>
  503. </table>
  504. </td>
  505. <td class="mlabels-right">
  506. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
  507. </tr>
  508. </table>
  509. </div><div class="memdoc">
  510. <p>Experimental, to be deprecated. </p>
  511. </div>
  512. </div>
  513. <a id="a5826774e7c803998238a74ef43b5c811"></a>
  514. <h2 class="memtitle"><span class="permalink"><a href="#a5826774e7c803998238a74ef43b5c811">&#9670;&nbsp;</a></span>ports()</h2>
  515. <div class="memitem">
  516. <div class="memproto">
  517. <table class="mlabels">
  518. <tr>
  519. <td class="mlabels-left">
  520. <table class="memname">
  521. <tr>
  522. <td class="memname">std::vector&lt;<a class="el" href="structgrpc_1_1_server_builder_1_1_port.html">Port</a>&gt; grpc::ServerBuilder::ports </td>
  523. <td>(</td>
  524. <td class="paramname"></td><td>)</td>
  525. <td></td>
  526. </tr>
  527. </table>
  528. </td>
  529. <td class="mlabels-right">
  530. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
  531. </tr>
  532. </table>
  533. </div><div class="memdoc">
  534. <p>Experimental, to be deprecated. </p>
  535. </div>
  536. </div>
  537. <a id="a77eff78d1ed3a8ec879ad33f64c7dc90"></a>
  538. <h2 class="memtitle"><span class="permalink"><a href="#a77eff78d1ed3a8ec879ad33f64c7dc90">&#9670;&nbsp;</a></span>RegisterAsyncGenericService()</h2>
  539. <div class="memitem">
  540. <div class="memproto">
  541. <table class="memname">
  542. <tr>
  543. <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>&amp; grpc::ServerBuilder::RegisterAsyncGenericService </td>
  544. <td>(</td>
  545. <td class="paramtype"><a class="el" href="classgrpc_1_1_async_generic_service.html">grpc::AsyncGenericService</a> *&#160;</td>
  546. <td class="paramname"><em>service</em></td><td>)</td>
  547. <td></td>
  548. </tr>
  549. </table>
  550. </div><div class="memdoc">
  551. <p>Register a generic service. </p>
  552. <p>Matches requests with any :authority This is mostly useful for writing generic gRPC Proxies where the exact serialization format is unknown </p>
  553. </div>
  554. </div>
  555. <a id="a36746c5eb8dd6bd046dab42a623b6260"></a>
  556. <h2 class="memtitle"><span class="permalink"><a href="#a36746c5eb8dd6bd046dab42a623b6260">&#9670;&nbsp;</a></span>RegisterService() <span class="overload">[1/2]</span></h2>
  557. <div class="memitem">
  558. <div class="memproto">
  559. <table class="memname">
  560. <tr>
  561. <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>&amp; grpc::ServerBuilder::RegisterService </td>
  562. <td>(</td>
  563. <td class="paramtype">const std::string &amp;&#160;</td>
  564. <td class="paramname"><em>host</em>, </td>
  565. </tr>
  566. <tr>
  567. <td class="paramkey"></td>
  568. <td></td>
  569. <td class="paramtype"><a class="el" href="classgrpc_1_1_service.html">grpc::Service</a> *&#160;</td>
  570. <td class="paramname"><em>service</em>&#160;</td>
  571. </tr>
  572. <tr>
  573. <td></td>
  574. <td>)</td>
  575. <td></td><td></td>
  576. </tr>
  577. </table>
  578. </div><div class="memdoc">
  579. <p>Register a service. </p>
  580. <p>This call does not take ownership of the service. The service must exist for the lifetime of the <em><a class="el" href="classgrpc_1_1_server.html" title="Represents a gRPC server.">Server</a></em> instance returned by <em><a class="el" href="classgrpc_1_1_server_builder.html#a3ad1429e6575de79f8f17dad383fbc04" title="Return a running server which is ready for processing calls.">BuildAndStart()</a></em>. Only matches requests with :authority <em>host</em> </p>
  581. </div>
  582. </div>
  583. <a id="a4f62f6efaa8d47ffbcffc314cff6b1e4"></a>
  584. <h2 class="memtitle"><span class="permalink"><a href="#a4f62f6efaa8d47ffbcffc314cff6b1e4">&#9670;&nbsp;</a></span>RegisterService() <span class="overload">[2/2]</span></h2>
  585. <div class="memitem">
  586. <div class="memproto">
  587. <table class="memname">
  588. <tr>
  589. <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>&amp; grpc::ServerBuilder::RegisterService </td>
  590. <td>(</td>
  591. <td class="paramtype"><a class="el" href="classgrpc_1_1_service.html">grpc::Service</a> *&#160;</td>
  592. <td class="paramname"><em>service</em></td><td>)</td>
  593. <td></td>
  594. </tr>
  595. </table>
  596. </div><div class="memdoc">
  597. <p>Register a service. </p>
  598. <p>This call does not take ownership of the service. The service must exist for the lifetime of the <em><a class="el" href="classgrpc_1_1_server.html" title="Represents a gRPC server.">Server</a></em> instance returned by <em><a class="el" href="classgrpc_1_1_server_builder.html#a3ad1429e6575de79f8f17dad383fbc04" title="Return a running server which is ready for processing calls.">BuildAndStart()</a></em>. Matches requests with any :authority </p>
  599. </div>
  600. </div>
  601. <a id="a4799eec87ef7d336d0f5db95d273e432"></a>
  602. <h2 class="memtitle"><span class="permalink"><a href="#a4799eec87ef7d336d0f5db95d273e432">&#9670;&nbsp;</a></span>services()</h2>
  603. <div class="memitem">
  604. <div class="memproto">
  605. <table class="mlabels">
  606. <tr>
  607. <td class="mlabels-left">
  608. <table class="memname">
  609. <tr>
  610. <td class="memname">std::vector&lt;<a class="el" href="structgrpc_1_1_server_builder_1_1_named_service.html">NamedService</a>*&gt; grpc::ServerBuilder::services </td>
  611. <td>(</td>
  612. <td class="paramname"></td><td>)</td>
  613. <td></td>
  614. </tr>
  615. </table>
  616. </td>
  617. <td class="mlabels-right">
  618. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
  619. </tr>
  620. </table>
  621. </div><div class="memdoc">
  622. <p>Experimental, to be deprecated. </p>
  623. </div>
  624. </div>
  625. <a id="af46ad1e5cd9880e9e7ba5eb187f4d37f"></a>
  626. <h2 class="memtitle"><span class="permalink"><a href="#af46ad1e5cd9880e9e7ba5eb187f4d37f">&#9670;&nbsp;</a></span>set_fetcher()</h2>
  627. <div class="memitem">
  628. <div class="memproto">
  629. <table class="mlabels">
  630. <tr>
  631. <td class="mlabels-left">
  632. <table class="memname">
  633. <tr>
  634. <td class="memname">void grpc::ServerBuilder::set_fetcher </td>
  635. <td>(</td>
  636. <td class="paramtype"><a class="el" href="grpc_8h.html#a4c7dd742606d0ac388aff5cada9b14aa">grpc_server_config_fetcher</a> *&#160;</td>
  637. <td class="paramname"><em>server_config_fetcher</em></td><td>)</td>
  638. <td></td>
  639. </tr>
  640. </table>
  641. </td>
  642. <td class="mlabels-right">
  643. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
  644. </tr>
  645. </table>
  646. </div><div class="memdoc">
  647. <p>Experimental API, subject to change. </p>
  648. </div>
  649. </div>
  650. <a id="a26e4b20a377c4bbbe37c33aa72165034"></a>
  651. <h2 class="memtitle"><span class="permalink"><a href="#a26e4b20a377c4bbbe37c33aa72165034">&#9670;&nbsp;</a></span>SetCompressionAlgorithmSupportStatus()</h2>
  652. <div class="memitem">
  653. <div class="memproto">
  654. <table class="memname">
  655. <tr>
  656. <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>&amp; grpc::ServerBuilder::SetCompressionAlgorithmSupportStatus </td>
  657. <td>(</td>
  658. <td class="paramtype"><a class="el" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">grpc_compression_algorithm</a>&#160;</td>
  659. <td class="paramname"><em>algorithm</em>, </td>
  660. </tr>
  661. <tr>
  662. <td class="paramkey"></td>
  663. <td></td>
  664. <td class="paramtype">bool&#160;</td>
  665. <td class="paramname"><em>enabled</em>&#160;</td>
  666. </tr>
  667. <tr>
  668. <td></td>
  669. <td>)</td>
  670. <td></td><td></td>
  671. </tr>
  672. </table>
  673. </div><div class="memdoc">
  674. <p>Set the support status for compression algorithms. </p>
  675. <p>All algorithms are enabled by default.</p>
  676. <p>Incoming calls compressed with an unsupported algorithm will fail with <em>GRPC_STATUS_UNIMPLEMENTED</em>. </p>
  677. </div>
  678. </div>
  679. <a id="a6ee516b7445ff4e1274a6d882f529504"></a>
  680. <h2 class="memtitle"><span class="permalink"><a href="#a6ee516b7445ff4e1274a6d882f529504">&#9670;&nbsp;</a></span>SetDefaultCompressionAlgorithm()</h2>
  681. <div class="memitem">
  682. <div class="memproto">
  683. <table class="memname">
  684. <tr>
  685. <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>&amp; grpc::ServerBuilder::SetDefaultCompressionAlgorithm </td>
  686. <td>(</td>
  687. <td class="paramtype"><a class="el" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">grpc_compression_algorithm</a>&#160;</td>
  688. <td class="paramname"><em>algorithm</em></td><td>)</td>
  689. <td></td>
  690. </tr>
  691. </table>
  692. </div><div class="memdoc">
  693. <p>The default compression algorithm to use for all channel calls in the absence of a call-specific level. </p>
  694. <p>Note that it overrides any compression level set by <em>SetDefaultCompressionLevel</em>. </p>
  695. </div>
  696. </div>
  697. <a id="ae10c6dc23ec295695710c0b4c14f9353"></a>
  698. <h2 class="memtitle"><span class="permalink"><a href="#ae10c6dc23ec295695710c0b4c14f9353">&#9670;&nbsp;</a></span>SetDefaultCompressionLevel()</h2>
  699. <div class="memitem">
  700. <div class="memproto">
  701. <table class="memname">
  702. <tr>
  703. <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>&amp; grpc::ServerBuilder::SetDefaultCompressionLevel </td>
  704. <td>(</td>
  705. <td class="paramtype"><a class="el" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7">grpc_compression_level</a>&#160;</td>
  706. <td class="paramname"><em>level</em></td><td>)</td>
  707. <td></td>
  708. </tr>
  709. </table>
  710. </div><div class="memdoc">
  711. <p>The default compression level to use for all channel calls in the absence of a call-specific level. </p>
  712. </div>
  713. </div>
  714. <a id="a13f4b030529c9f447e3a172a6d8a7e29"></a>
  715. <h2 class="memtitle"><span class="permalink"><a href="#a13f4b030529c9f447e3a172a6d8a7e29">&#9670;&nbsp;</a></span>SetMaxMessageSize()</h2>
  716. <div class="memitem">
  717. <div class="memproto">
  718. <table class="mlabels">
  719. <tr>
  720. <td class="mlabels-left">
  721. <table class="memname">
  722. <tr>
  723. <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>&amp; grpc::ServerBuilder::SetMaxMessageSize </td>
  724. <td>(</td>
  725. <td class="paramtype">int&#160;</td>
  726. <td class="paramname"><em>max_message_size</em></td><td>)</td>
  727. <td></td>
  728. </tr>
  729. </table>
  730. </td>
  731. <td class="mlabels-right">
  732. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  733. </tr>
  734. </table>
  735. </div><div class="memdoc">
  736. <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd>For backward compatibility. </dd></dl>
  737. </div>
  738. </div>
  739. <a id="ab5c8a420f2acfc6fcea2f2210e9d426e"></a>
  740. <h2 class="memtitle"><span class="permalink"><a href="#ab5c8a420f2acfc6fcea2f2210e9d426e">&#9670;&nbsp;</a></span>SetMaxReceiveMessageSize()</h2>
  741. <div class="memitem">
  742. <div class="memproto">
  743. <table class="mlabels">
  744. <tr>
  745. <td class="mlabels-left">
  746. <table class="memname">
  747. <tr>
  748. <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>&amp; grpc::ServerBuilder::SetMaxReceiveMessageSize </td>
  749. <td>(</td>
  750. <td class="paramtype">int&#160;</td>
  751. <td class="paramname"><em>max_receive_message_size</em></td><td>)</td>
  752. <td></td>
  753. </tr>
  754. </table>
  755. </td>
  756. <td class="mlabels-right">
  757. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  758. </tr>
  759. </table>
  760. </div><div class="memdoc">
  761. <p>Set max receive message size in bytes. </p>
  762. <p>The default is GRPC_DEFAULT_MAX_RECV_MESSAGE_LENGTH. </p>
  763. </div>
  764. </div>
  765. <a id="ac6deb0d17c9439febcd04f813fec8a05"></a>
  766. <h2 class="memtitle"><span class="permalink"><a href="#ac6deb0d17c9439febcd04f813fec8a05">&#9670;&nbsp;</a></span>SetMaxSendMessageSize()</h2>
  767. <div class="memitem">
  768. <div class="memproto">
  769. <table class="mlabels">
  770. <tr>
  771. <td class="mlabels-left">
  772. <table class="memname">
  773. <tr>
  774. <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>&amp; grpc::ServerBuilder::SetMaxSendMessageSize </td>
  775. <td>(</td>
  776. <td class="paramtype">int&#160;</td>
  777. <td class="paramname"><em>max_send_message_size</em></td><td>)</td>
  778. <td></td>
  779. </tr>
  780. </table>
  781. </td>
  782. <td class="mlabels-right">
  783. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  784. </tr>
  785. </table>
  786. </div><div class="memdoc">
  787. <p>Set max send message size in bytes. </p>
  788. <p>The default is GRPC_DEFAULT_MAX_SEND_MESSAGE_LENGTH. </p>
  789. </div>
  790. </div>
  791. <a id="aeab1bf4749eb2b6b40539dc9202915e2"></a>
  792. <h2 class="memtitle"><span class="permalink"><a href="#aeab1bf4749eb2b6b40539dc9202915e2">&#9670;&nbsp;</a></span>SetOption()</h2>
  793. <div class="memitem">
  794. <div class="memproto">
  795. <table class="memname">
  796. <tr>
  797. <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>&amp; grpc::ServerBuilder::SetOption </td>
  798. <td>(</td>
  799. <td class="paramtype">std::unique_ptr&lt; <a class="el" href="classgrpc_1_1_server_builder_option.html">grpc::ServerBuilderOption</a> &gt;&#160;</td>
  800. <td class="paramname"><em>option</em></td><td>)</td>
  801. <td></td>
  802. </tr>
  803. </table>
  804. </div><div class="memdoc">
  805. </div>
  806. </div>
  807. <a id="aa7bfe0619f48a326d10ee9edba46b729"></a>
  808. <h2 class="memtitle"><span class="permalink"><a href="#aa7bfe0619f48a326d10ee9edba46b729">&#9670;&nbsp;</a></span>SetResourceQuota()</h2>
  809. <div class="memitem">
  810. <div class="memproto">
  811. <table class="memname">
  812. <tr>
  813. <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>&amp; grpc::ServerBuilder::SetResourceQuota </td>
  814. <td>(</td>
  815. <td class="paramtype">const <a class="el" href="classgrpc_1_1_resource_quota.html">grpc::ResourceQuota</a> &amp;&#160;</td>
  816. <td class="paramname"><em>resource_quota</em></td><td>)</td>
  817. <td></td>
  818. </tr>
  819. </table>
  820. </div><div class="memdoc">
  821. <p>Set the attached buffer pool for this server. </p>
  822. </div>
  823. </div>
  824. <a id="acbc2a859672203e7be097de55e296d4b"></a>
  825. <h2 class="memtitle"><span class="permalink"><a href="#acbc2a859672203e7be097de55e296d4b">&#9670;&nbsp;</a></span>SetSyncServerOption()</h2>
  826. <div class="memitem">
  827. <div class="memproto">
  828. <table class="memname">
  829. <tr>
  830. <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>&amp; grpc::ServerBuilder::SetSyncServerOption </td>
  831. <td>(</td>
  832. <td class="paramtype"><a class="el" href="classgrpc_1_1_server_builder.html#aff66bd93cba7d4240a64550fe1fca88d">SyncServerOption</a>&#160;</td>
  833. <td class="paramname"><em>option</em>, </td>
  834. </tr>
  835. <tr>
  836. <td class="paramkey"></td>
  837. <td></td>
  838. <td class="paramtype">int&#160;</td>
  839. <td class="paramname"><em>value</em>&#160;</td>
  840. </tr>
  841. <tr>
  842. <td></td>
  843. <td>)</td>
  844. <td></td><td></td>
  845. </tr>
  846. </table>
  847. </div><div class="memdoc">
  848. <p>Only useful if this is a Synchronous server. </p>
  849. </div>
  850. </div>
  851. <h2 class="groupheader">Friends And Related Function Documentation</h2>
  852. <a id="a6d051c774efa6448928d2ca4062676d0"></a>
  853. <h2 class="memtitle"><span class="permalink"><a href="#a6d051c774efa6448928d2ca4062676d0">&#9670;&nbsp;</a></span>::grpc::testing::ServerBuilderPluginTest</h2>
  854. <div class="memitem">
  855. <div class="memproto">
  856. <table class="mlabels">
  857. <tr>
  858. <td class="mlabels-left">
  859. <table class="memname">
  860. <tr>
  861. <td class="memname">friend class ::grpc::testing::ServerBuilderPluginTest</td>
  862. </tr>
  863. </table>
  864. </td>
  865. <td class="mlabels-right">
  866. <span class="mlabels"><span class="mlabel">friend</span></span> </td>
  867. </tr>
  868. </table>
  869. </div><div class="memdoc">
  870. </div>
  871. </div>
  872. <h2 class="groupheader">Field Documentation</h2>
  873. <a id="a27b5a3733140caef60846fc21977d6ba"></a>
  874. <h2 class="memtitle"><span class="permalink"><a href="#a27b5a3733140caef60846fc21977d6ba">&#9670;&nbsp;</a></span>algorithm</h2>
  875. <div class="memitem">
  876. <div class="memproto">
  877. <table class="memname">
  878. <tr>
  879. <td class="memname"><a class="el" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">grpc_compression_algorithm</a> grpc::ServerBuilder::algorithm</td>
  880. </tr>
  881. </table>
  882. </div><div class="memdoc">
  883. </div>
  884. </div>
  885. <a id="ab2b0b337e27ae80796675a3dd224ec3a"></a>
  886. <h2 class="memtitle"><span class="permalink"><a href="#ab2b0b337e27ae80796675a3dd224ec3a">&#9670;&nbsp;</a></span>is_set</h2>
  887. <div class="memitem">
  888. <div class="memproto">
  889. <table class="memname">
  890. <tr>
  891. <td class="memname">bool grpc::ServerBuilder::is_set</td>
  892. </tr>
  893. </table>
  894. </div><div class="memdoc">
  895. </div>
  896. </div>
  897. <a id="a99bc7fd30172c4e154b6942e1c221a1c"></a>
  898. <h2 class="memtitle"><span class="permalink"><a href="#a99bc7fd30172c4e154b6942e1c221a1c">&#9670;&nbsp;</a></span>level</h2>
  899. <div class="memitem">
  900. <div class="memproto">
  901. <table class="memname">
  902. <tr>
  903. <td class="memname"><a class="el" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7">grpc_compression_level</a> grpc::ServerBuilder::level</td>
  904. </tr>
  905. </table>
  906. </div><div class="memdoc">
  907. </div>
  908. </div>
  909. <hr/>The documentation for this class was generated from the following file:<ul>
  910. <li>include/grpcpp/<a class="el" href="grpcpp_2server__builder_8h_source.html">server_builder.h</a></li>
  911. </ul>
  912. </div><!-- contents -->
  913. <!-- start footer part -->
  914. <hr class="footer"/><address class="footer"><small>
  915. Generated on Wed Mar 3 2021 19:17:25 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
  916. <img class="footer" src="doxygen.png" alt="doxygen"/>
  917. </a> 1.8.17
  918. </small></address>
  919. </body>
  920. </html>