12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010 |
- <!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::ServerBuilder Class 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++
-  <span id="projectnumber">1.36.1</span>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- end header part -->
- <!-- Generated by Doxygen 1.8.17 -->
- <script type="text/javascript">
- /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&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&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="classgrpc_1_1_server_builder.html">ServerBuilder</a></li> </ul>
- </div>
- </div><!-- top -->
- <div class="header">
- <div class="summary">
- <a href="#nested-classes">Data Structures</a> |
- <a href="#pub-types">Public Types</a> |
- <a href="#pub-methods">Public Member Functions</a> |
- <a href="#pub-static-methods">Static Public Member Functions</a> |
- <a href="#pro-types">Protected Types</a> |
- <a href="#pro-methods">Protected Member Functions</a> |
- <a href="#friends">Friends</a> </div>
- <div class="headertitle">
- <div class="title">grpc::ServerBuilder Class Reference</div> </div>
- </div><!--header-->
- <div class="contents">
- <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.
- <a href="classgrpc_1_1_server_builder.html#details">More...</a></p>
- <p><code>#include <<a class="el" href="grpcpp_2server__builder_8h_source.html">server_builder.h</a>></code></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  </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder_1_1experimental__type.html">experimental_type</a></td></tr>
- <tr class="memdesc:"><td class="mdescLeft"> </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>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc_1_1_server_builder_1_1_named_service.html">NamedService</a></td></tr>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structgrpc_1_1_server_builder_1_1_port.html">Port</a></td></tr>
- <tr class="memdesc:"><td class="mdescLeft"> </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>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
- Public Types</h2></td></tr>
- <tr class="memitem:aff66bd93cba7d4240a64550fe1fca88d"><td class="memItemLeft" align="right" valign="top">enum  </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>,
- <a class="el" href="classgrpc_1_1_server_builder.html#aff66bd93cba7d4240a64550fe1fca88da74d9b7562f58282d93a3a0e5fb02ab02">MIN_POLLERS</a>,
- <a class="el" href="classgrpc_1_1_server_builder.html#aff66bd93cba7d4240a64550fe1fca88da3b9b382bb2f70cabe793e3e3fd325910">MAX_POLLERS</a>,
- <a class="el" href="classgrpc_1_1_server_builder.html#aff66bd93cba7d4240a64550fe1fca88dad9d34ee45d9bdf2344c6463deea14f4c">CQ_TIMEOUT_MSEC</a>
- }</td></tr>
- <tr class="memdesc:aff66bd93cba7d4240a64550fe1fca88d"><td class="mdescLeft"> </td><td class="mdescRight">Options for synchronous servers. <a href="classgrpc_1_1_server_builder.html#aff66bd93cba7d4240a64550fe1fca88d">More...</a><br /></td></tr>
- <tr class="separator:aff66bd93cba7d4240a64550fe1fca88d"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
- Public Member Functions</h2></td></tr>
- <tr class="memitem:a208346e343cd01351492f0cace59b242"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a208346e343cd01351492f0cace59b242">ServerBuilder</a> ()</td></tr>
- <tr class="separator:a208346e343cd01351492f0cace59b242"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a0bf5d1d50d4e5522ba90bc0efcf91b19"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a0bf5d1d50d4e5522ba90bc0efcf91b19">~ServerBuilder</a> ()</td></tr>
- <tr class="separator:a0bf5d1d50d4e5522ba90bc0efcf91b19"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a3ad1429e6575de79f8f17dad383fbc04"><td class="memItemLeft" align="right" valign="top">virtual std::unique_ptr< <a class="el" href="classgrpc_1_1_server.html">grpc::Server</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a3ad1429e6575de79f8f17dad383fbc04">BuildAndStart</a> ()</td></tr>
- <tr class="memdesc:a3ad1429e6575de79f8f17dad383fbc04"><td class="mdescLeft"> </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>
- <tr class="separator:a3ad1429e6575de79f8f17dad383fbc04"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a4f62f6efaa8d47ffbcffc314cff6b1e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> & </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>
- <tr class="memdesc:a4f62f6efaa8d47ffbcffc314cff6b1e4"><td class="mdescLeft"> </td><td class="mdescRight">Register a service. <a href="classgrpc_1_1_server_builder.html#a4f62f6efaa8d47ffbcffc314cff6b1e4">More...</a><br /></td></tr>
- <tr class="separator:a4f62f6efaa8d47ffbcffc314cff6b1e4"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ad8c7eff4f5747333b7ffbb09cef71b5e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#ad8c7eff4f5747333b7ffbb09cef71b5e">AddListeningPort</a> (const std::string &addr_uri, std::shared_ptr< <a class="el" href="classgrpc_1_1_server_credentials.html">grpc::ServerCredentials</a> > creds, int *selected_port=nullptr)</td></tr>
- <tr class="memdesc:ad8c7eff4f5747333b7ffbb09cef71b5e"><td class="mdescLeft"> </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>
- <tr class="separator:ad8c7eff4f5747333b7ffbb09cef71b5e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a62fb13bc32374e4aa01ae9eb9fee4dda"><td class="memItemLeft" align="right" valign="top">std::unique_ptr< <a class="el" href="classgrpc_1_1_server_completion_queue.html">grpc::ServerCompletionQueue</a> > </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>
- <tr class="memdesc:a62fb13bc32374e4aa01ae9eb9fee4dda"><td class="mdescLeft"> </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>
- <tr class="separator:a62fb13bc32374e4aa01ae9eb9fee4dda"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a36746c5eb8dd6bd046dab42a623b6260"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a36746c5eb8dd6bd046dab42a623b6260">RegisterService</a> (const std::string &host, <a class="el" href="classgrpc_1_1_service.html">grpc::Service</a> *service)</td></tr>
- <tr class="memdesc:a36746c5eb8dd6bd046dab42a623b6260"><td class="mdescLeft"> </td><td class="mdescRight">Register a service. <a href="classgrpc_1_1_server_builder.html#a36746c5eb8dd6bd046dab42a623b6260">More...</a><br /></td></tr>
- <tr class="separator:a36746c5eb8dd6bd046dab42a623b6260"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a77eff78d1ed3a8ec879ad33f64c7dc90"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> & </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>
- <tr class="memdesc:a77eff78d1ed3a8ec879ad33f64c7dc90"><td class="mdescLeft"> </td><td class="mdescRight">Register a generic service. <a href="classgrpc_1_1_server_builder.html#a77eff78d1ed3a8ec879ad33f64c7dc90">More...</a><br /></td></tr>
- <tr class="separator:a77eff78d1ed3a8ec879ad33f64c7dc90"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ab5c8a420f2acfc6fcea2f2210e9d426e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> & </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>
- <tr class="memdesc:ab5c8a420f2acfc6fcea2f2210e9d426e"><td class="mdescLeft"> </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>
- <tr class="separator:ab5c8a420f2acfc6fcea2f2210e9d426e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac6deb0d17c9439febcd04f813fec8a05"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> & </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>
- <tr class="memdesc:ac6deb0d17c9439febcd04f813fec8a05"><td class="mdescLeft"> </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>
- <tr class="separator:ac6deb0d17c9439febcd04f813fec8a05"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a13f4b030529c9f447e3a172a6d8a7e29"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> & </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>
- <tr class="separator:a13f4b030529c9f447e3a172a6d8a7e29"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a26e4b20a377c4bbbe37c33aa72165034"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> & </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>
- <tr class="memdesc:a26e4b20a377c4bbbe37c33aa72165034"><td class="mdescLeft"> </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>
- <tr class="separator:a26e4b20a377c4bbbe37c33aa72165034"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae10c6dc23ec295695710c0b4c14f9353"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> & </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>
- <tr class="memdesc:ae10c6dc23ec295695710c0b4c14f9353"><td class="mdescLeft"> </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>
- <tr class="separator:ae10c6dc23ec295695710c0b4c14f9353"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a6ee516b7445ff4e1274a6d882f529504"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> & </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>
- <tr class="memdesc:a6ee516b7445ff4e1274a6d882f529504"><td class="mdescLeft"> </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>
- <tr class="separator:a6ee516b7445ff4e1274a6d882f529504"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aa7bfe0619f48a326d10ee9edba46b729"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> & </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> &resource_quota)</td></tr>
- <tr class="memdesc:aa7bfe0619f48a326d10ee9edba46b729"><td class="mdescLeft"> </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>
- <tr class="separator:aa7bfe0619f48a326d10ee9edba46b729"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aeab1bf4749eb2b6b40539dc9202915e2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#aeab1bf4749eb2b6b40539dc9202915e2">SetOption</a> (std::unique_ptr< <a class="el" href="classgrpc_1_1_server_builder_option.html">grpc::ServerBuilderOption</a> > option)</td></tr>
- <tr class="separator:aeab1bf4749eb2b6b40539dc9202915e2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:acbc2a859672203e7be097de55e296d4b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> & </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>
- <tr class="memdesc:acbc2a859672203e7be097de55e296d4b"><td class="mdescLeft"> </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>
- <tr class="separator:acbc2a859672203e7be097de55e296d4b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a164cbea7979b0d9826a110ae7429449b"><td class="memTemplParams" colspan="2">template<class T > </td></tr>
- <tr class="memitem:a164cbea7979b0d9826a110ae7429449b"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a164cbea7979b0d9826a110ae7429449b">AddChannelArgument</a> (const std::string &arg, const T &value)</td></tr>
- <tr class="memdesc:a164cbea7979b0d9826a110ae7429449b"><td class="mdescLeft"> </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>
- <tr class="separator:a164cbea7979b0d9826a110ae7429449b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a01715acec890fe4ddc91340bae5ead8c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> & </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>
- <tr class="memdesc:a01715acec890fe4ddc91340bae5ead8c"><td class="mdescLeft"> </td><td class="mdescRight">Enable a server workaround. <a href="classgrpc_1_1_server_builder.html#a01715acec890fe4ddc91340bae5ead8c">More...</a><br /></td></tr>
- <tr class="separator:a01715acec890fe4ddc91340bae5ead8c"><td class="memSeparator" colspan="2"> </td></tr>
- <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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a25f9ef23ff134f22db3bd969118a7cad">experimental</a> ()</td></tr>
- <tr class="memdesc:a25f9ef23ff134f22db3bd969118a7cad"><td class="mdescLeft"> </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>
- <tr class="separator:a25f9ef23ff134f22db3bd969118a7cad"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
- Static Public Member Functions</h2></td></tr>
- <tr class="memitem:a54e1ddd09bb865765518acbae4e59a99"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a54e1ddd09bb865765518acbae4e59a99">InternalAddPluginFactory</a> (std::unique_ptr< <a class="el" href="classgrpc_1_1_server_builder_plugin.html">grpc::ServerBuilderPlugin</a> >(*CreatePlugin)())</td></tr>
- <tr class="memdesc:a54e1ddd09bb865765518acbae4e59a99"><td class="mdescLeft"> </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>
- <tr class="separator:a54e1ddd09bb865765518acbae4e59a99"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
- Protected Types</h2></td></tr>
- <tr class="memitem:a859a36e42d7acbe4b56decf57e84b54d"><td class="memItemLeft" align="right" valign="top">typedef std::unique_ptr< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a859a36e42d7acbe4b56decf57e84b54d">HostString</a></td></tr>
- <tr class="memdesc:a859a36e42d7acbe4b56decf57e84b54d"><td class="mdescLeft"> </td><td class="mdescRight">Experimental, to be deprecated. <a href="classgrpc_1_1_server_builder.html#a859a36e42d7acbe4b56decf57e84b54d">More...</a><br /></td></tr>
- <tr class="separator:a859a36e42d7acbe4b56decf57e84b54d"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
- Protected Member Functions</h2></td></tr>
- <tr class="memitem:a5826774e7c803998238a74ef43b5c811"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="structgrpc_1_1_server_builder_1_1_port.html">Port</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a5826774e7c803998238a74ef43b5c811">ports</a> ()</td></tr>
- <tr class="memdesc:a5826774e7c803998238a74ef43b5c811"><td class="mdescLeft"> </td><td class="mdescRight">Experimental, to be deprecated. <a href="classgrpc_1_1_server_builder.html#a5826774e7c803998238a74ef43b5c811">More...</a><br /></td></tr>
- <tr class="separator:a5826774e7c803998238a74ef43b5c811"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a4799eec87ef7d336d0f5db95d273e432"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="structgrpc_1_1_server_builder_1_1_named_service.html">NamedService</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a4799eec87ef7d336d0f5db95d273e432">services</a> ()</td></tr>
- <tr class="memdesc:a4799eec87ef7d336d0f5db95d273e432"><td class="mdescLeft"> </td><td class="mdescRight">Experimental, to be deprecated. <a href="classgrpc_1_1_server_builder.html#a4799eec87ef7d336d0f5db95d273e432">More...</a><br /></td></tr>
- <tr class="separator:a4799eec87ef7d336d0f5db95d273e432"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a61d36f9a7082994dbe59f52736adc138"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classgrpc_1_1_server_builder_option.html">grpc::ServerBuilderOption</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a61d36f9a7082994dbe59f52736adc138">options</a> ()</td></tr>
- <tr class="memdesc:a61d36f9a7082994dbe59f52736adc138"><td class="mdescLeft"> </td><td class="mdescRight">Experimental, to be deprecated. <a href="classgrpc_1_1_server_builder.html#a61d36f9a7082994dbe59f52736adc138">More...</a><br /></td></tr>
- <tr class="separator:a61d36f9a7082994dbe59f52736adc138"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:af46ad1e5cd9880e9e7ba5eb187f4d37f"><td class="memItemLeft" align="right" valign="top">void </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>
- <tr class="memdesc:af46ad1e5cd9880e9e7ba5eb187f4d37f"><td class="mdescLeft"> </td><td class="mdescRight">Experimental API, subject to change. <a href="classgrpc_1_1_server_builder.html#af46ad1e5cd9880e9e7ba5eb187f4d37f">More...</a><br /></td></tr>
- <tr class="separator:af46ad1e5cd9880e9e7ba5eb187f4d37f"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
- Friends</h2></td></tr>
- <tr class="memitem:a6d051c774efa6448928d2ca4062676d0"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_builder.html#a6d051c774efa6448928d2ca4062676d0">::grpc::testing::ServerBuilderPluginTest</a></td></tr>
- <tr class="separator:a6d051c774efa6448928d2ca4062676d0"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
- <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>
- </div><h2 class="groupheader">Member Typedef Documentation</h2>
- <a id="a859a36e42d7acbe4b56decf57e84b54d"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a859a36e42d7acbe4b56decf57e84b54d">◆ </a></span>HostString</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">typedef std::unique_ptr<std::string> <a class="el" href="classgrpc_1_1_server_builder.html#a859a36e42d7acbe4b56decf57e84b54d">grpc::ServerBuilder::HostString</a></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">protected</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Experimental, to be deprecated. </p>
- </div>
- </div>
- <h2 class="groupheader">Member Enumeration Documentation</h2>
- <a id="aff66bd93cba7d4240a64550fe1fca88d"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aff66bd93cba7d4240a64550fe1fca88d">◆ </a></span>SyncServerOption</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="classgrpc_1_1_server_builder.html#aff66bd93cba7d4240a64550fe1fca88d">grpc::ServerBuilder::SyncServerOption</a></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Options for synchronous servers. </p>
- <table class="fieldtable">
- <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aff66bd93cba7d4240a64550fe1fca88da9514f2add3875fc14c843f6498dc1319"></a>NUM_CQS </td><td class="fielddoc"><p>Number of completion queues. </p>
- </td></tr>
- <tr><td class="fieldname"><a id="aff66bd93cba7d4240a64550fe1fca88da74d9b7562f58282d93a3a0e5fb02ab02"></a>MIN_POLLERS </td><td class="fielddoc"><p>Minimum number of polling threads. </p>
- </td></tr>
- <tr><td class="fieldname"><a id="aff66bd93cba7d4240a64550fe1fca88da3b9b382bb2f70cabe793e3e3fd325910"></a>MAX_POLLERS </td><td class="fielddoc"><p>Maximum number of polling threads. </p>
- </td></tr>
- <tr><td class="fieldname"><a id="aff66bd93cba7d4240a64550fe1fca88dad9d34ee45d9bdf2344c6463deea14f4c"></a>CQ_TIMEOUT_MSEC </td><td class="fielddoc"><p>Completion queue timeout in milliseconds. </p>
- </td></tr>
- </table>
- </div>
- </div>
- <h2 class="groupheader">Constructor & Destructor Documentation</h2>
- <a id="a208346e343cd01351492f0cace59b242"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a208346e343cd01351492f0cace59b242">◆ </a></span>ServerBuilder()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">grpc::ServerBuilder::ServerBuilder </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <a id="a0bf5d1d50d4e5522ba90bc0efcf91b19"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a0bf5d1d50d4e5522ba90bc0efcf91b19">◆ </a></span>~ServerBuilder()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual grpc::ServerBuilder::~ServerBuilder </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <h2 class="groupheader">Member Function Documentation</h2>
- <a id="a164cbea7979b0d9826a110ae7429449b"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a164cbea7979b0d9826a110ae7429449b">◆ </a></span>AddChannelArgument()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class T > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>& grpc::ServerBuilder::AddChannelArgument </td>
- <td>(</td>
- <td class="paramtype">const std::string & </td>
- <td class="paramname"><em>arg</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const T & </td>
- <td class="paramname"><em>value</em> </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">
- <p>Add a channel argument (an escape hatch to tuning core library parameters directly) </p>
- </div>
- </div>
- <a id="a62fb13bc32374e4aa01ae9eb9fee4dda"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a62fb13bc32374e4aa01ae9eb9fee4dda">◆ </a></span>AddCompletionQueue()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">std::unique_ptr<<a class="el" href="classgrpc_1_1_server_completion_queue.html">grpc::ServerCompletionQueue</a>> grpc::ServerBuilder::AddCompletionQueue </td>
- <td>(</td>
- <td class="paramtype">bool </td>
- <td class="paramname"><em>is_frequently_polled</em> = <code>true</code></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Add a completion queue for handling asynchronous services. </p>
- <p>Best performance is typically obtained by using one thread per polling completion queue.</p>
- <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>
- <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>
- <p>// While shutting down the server; server_->Shutdown(); cq_->Shutdown(); // Always <em>after</em> the associated server's Shutdown()! // Drain the cq_ that was created void* ignored_tag; bool ignored_ok; while (cq_->Next(&ignored_tag, &ignored_ok)) { }</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <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>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ad8c7eff4f5747333b7ffbb09cef71b5e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ad8c7eff4f5747333b7ffbb09cef71b5e">◆ </a></span>AddListeningPort()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>& grpc::ServerBuilder::AddListeningPort </td>
- <td>(</td>
- <td class="paramtype">const std::string & </td>
- <td class="paramname"><em>addr_uri</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">std::shared_ptr< <a class="el" href="classgrpc_1_1_server_credentials.html">grpc::ServerCredentials</a> > </td>
- <td class="paramname"><em>creds</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int * </td>
- <td class="paramname"><em>selected_port</em> = <code>nullptr</code> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <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>
- <p>It can be invoked multiple times.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <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., [::]:<port>, which also accepts IPv4 connections. Valid values include dns:///localhost:1234, / 192.168.1.1:31416, dns:///[::1]:27182, etc.). </td></tr>
- <tr><td class="paramdir"></td><td class="paramname">creds</td><td>The credentials associated with the server. </td></tr>
- <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>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="a3ad1429e6575de79f8f17dad383fbc04"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a3ad1429e6575de79f8f17dad383fbc04">◆ </a></span>BuildAndStart()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual std::unique_ptr<<a class="el" href="classgrpc_1_1_server.html">grpc::Server</a>> grpc::ServerBuilder::BuildAndStart </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Return a running server which is ready for processing calls. </p>
- <p>Before calling, one typically needs to ensure that:</p><ol type="1">
- <li>a service is registered - so that the server knows what to serve (via RegisterService, or RegisterAsyncGenericService)</li>
- <li>a listening port has been added - so the server knows where to receive traffic (via AddListeningPort)</li>
- <li>[for async api only] completion queues have been added via AddCompletionQueue</li>
- </ol>
- <p>Will return a nullptr on errors. </p>
- <p>Reimplemented in <a class="el" href="classgrpc_1_1experimental_1_1_xds_server_builder.html#a349ffe284566eec46bd1c04912daef3f">grpc::experimental::XdsServerBuilder</a>.</p>
- </div>
- </div>
- <a id="a01715acec890fe4ddc91340bae5ead8c"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a01715acec890fe4ddc91340bae5ead8c">◆ </a></span>EnableWorkaround()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>& grpc::ServerBuilder::EnableWorkaround </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="workaround__list_8h.html#ade8be35fce7415c7234ac22d8b9ad9d2">grpc_workaround_list</a> </td>
- <td class="paramname"><em>id</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Enable a server workaround. </p>
- <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>
- </div>
- </div>
- <a id="a25f9ef23ff134f22db3bd969118a7cad"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a25f9ef23ff134f22db3bd969118a7cad">◆ </a></span>experimental()</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="classgrpc_1_1_server_builder_1_1experimental__type.html">experimental_type</a> grpc::ServerBuilder::experimental </td>
- <td>(</td>
- <td class="paramname"></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">
- <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>
- <p>It is a view to the experimental components of this class. It may be changed or removed at any time. </p>
- </div>
- </div>
- <a id="a54e1ddd09bb865765518acbae4e59a99"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a54e1ddd09bb865765518acbae4e59a99">◆ </a></span>InternalAddPluginFactory()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static void grpc::ServerBuilder::InternalAddPluginFactory </td>
- <td>(</td>
- <td class="paramtype">std::unique_ptr< <a class="el" href="classgrpc_1_1_server_builder_plugin.html">grpc::ServerBuilderPlugin</a> >(*)() </td>
- <td class="paramname"><em>CreatePlugin</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">static</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <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>
- </div>
- </div>
- <a id="a61d36f9a7082994dbe59f52736adc138"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a61d36f9a7082994dbe59f52736adc138">◆ </a></span>options()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">std::vector<<a class="el" href="classgrpc_1_1_server_builder_option.html">grpc::ServerBuilderOption</a>*> grpc::ServerBuilder::options </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Experimental, to be deprecated. </p>
- </div>
- </div>
- <a id="a5826774e7c803998238a74ef43b5c811"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a5826774e7c803998238a74ef43b5c811">◆ </a></span>ports()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">std::vector<<a class="el" href="structgrpc_1_1_server_builder_1_1_port.html">Port</a>> grpc::ServerBuilder::ports </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Experimental, to be deprecated. </p>
- </div>
- </div>
- <a id="a77eff78d1ed3a8ec879ad33f64c7dc90"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a77eff78d1ed3a8ec879ad33f64c7dc90">◆ </a></span>RegisterAsyncGenericService()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>& grpc::ServerBuilder::RegisterAsyncGenericService </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classgrpc_1_1_async_generic_service.html">grpc::AsyncGenericService</a> * </td>
- <td class="paramname"><em>service</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Register a generic service. </p>
- <p>Matches requests with any :authority This is mostly useful for writing generic gRPC Proxies where the exact serialization format is unknown </p>
- </div>
- </div>
- <a id="a36746c5eb8dd6bd046dab42a623b6260"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a36746c5eb8dd6bd046dab42a623b6260">◆ </a></span>RegisterService() <span class="overload">[1/2]</span></h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>& grpc::ServerBuilder::RegisterService </td>
- <td>(</td>
- <td class="paramtype">const std::string & </td>
- <td class="paramname"><em>host</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classgrpc_1_1_service.html">grpc::Service</a> * </td>
- <td class="paramname"><em>service</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Register a service. </p>
- <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>
- </div>
- </div>
- <a id="a4f62f6efaa8d47ffbcffc314cff6b1e4"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a4f62f6efaa8d47ffbcffc314cff6b1e4">◆ </a></span>RegisterService() <span class="overload">[2/2]</span></h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>& grpc::ServerBuilder::RegisterService </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classgrpc_1_1_service.html">grpc::Service</a> * </td>
- <td class="paramname"><em>service</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Register a service. </p>
- <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>
- </div>
- </div>
- <a id="a4799eec87ef7d336d0f5db95d273e432"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a4799eec87ef7d336d0f5db95d273e432">◆ </a></span>services()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">std::vector<<a class="el" href="structgrpc_1_1_server_builder_1_1_named_service.html">NamedService</a>*> grpc::ServerBuilder::services </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Experimental, to be deprecated. </p>
- </div>
- </div>
- <a id="af46ad1e5cd9880e9e7ba5eb187f4d37f"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#af46ad1e5cd9880e9e7ba5eb187f4d37f">◆ </a></span>set_fetcher()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void grpc::ServerBuilder::set_fetcher </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="grpc_8h.html#a4c7dd742606d0ac388aff5cada9b14aa">grpc_server_config_fetcher</a> * </td>
- <td class="paramname"><em>server_config_fetcher</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Experimental API, subject to change. </p>
- </div>
- </div>
- <a id="a26e4b20a377c4bbbe37c33aa72165034"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a26e4b20a377c4bbbe37c33aa72165034">◆ </a></span>SetCompressionAlgorithmSupportStatus()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>& grpc::ServerBuilder::SetCompressionAlgorithmSupportStatus </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">grpc_compression_algorithm</a> </td>
- <td class="paramname"><em>algorithm</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool </td>
- <td class="paramname"><em>enabled</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Set the support status for compression algorithms. </p>
- <p>All algorithms are enabled by default.</p>
- <p>Incoming calls compressed with an unsupported algorithm will fail with <em>GRPC_STATUS_UNIMPLEMENTED</em>. </p>
- </div>
- </div>
- <a id="a6ee516b7445ff4e1274a6d882f529504"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a6ee516b7445ff4e1274a6d882f529504">◆ </a></span>SetDefaultCompressionAlgorithm()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>& grpc::ServerBuilder::SetDefaultCompressionAlgorithm </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">grpc_compression_algorithm</a> </td>
- <td class="paramname"><em>algorithm</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>The default compression algorithm to use for all channel calls in the absence of a call-specific level. </p>
- <p>Note that it overrides any compression level set by <em>SetDefaultCompressionLevel</em>. </p>
- </div>
- </div>
- <a id="ae10c6dc23ec295695710c0b4c14f9353"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ae10c6dc23ec295695710c0b4c14f9353">◆ </a></span>SetDefaultCompressionLevel()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>& grpc::ServerBuilder::SetDefaultCompressionLevel </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7">grpc_compression_level</a> </td>
- <td class="paramname"><em>level</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>The default compression level to use for all channel calls in the absence of a call-specific level. </p>
- </div>
- </div>
- <a id="a13f4b030529c9f447e3a172a6d8a7e29"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a13f4b030529c9f447e3a172a6d8a7e29">◆ </a></span>SetMaxMessageSize()</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="classgrpc_1_1_server_builder.html">ServerBuilder</a>& grpc::ServerBuilder::SetMaxMessageSize </td>
- <td>(</td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>max_message_size</em></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">
- <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd>For backward compatibility. </dd></dl>
- </div>
- </div>
- <a id="ab5c8a420f2acfc6fcea2f2210e9d426e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ab5c8a420f2acfc6fcea2f2210e9d426e">◆ </a></span>SetMaxReceiveMessageSize()</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="classgrpc_1_1_server_builder.html">ServerBuilder</a>& grpc::ServerBuilder::SetMaxReceiveMessageSize </td>
- <td>(</td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>max_receive_message_size</em></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">
- <p>Set max receive message size in bytes. </p>
- <p>The default is GRPC_DEFAULT_MAX_RECV_MESSAGE_LENGTH. </p>
- </div>
- </div>
- <a id="ac6deb0d17c9439febcd04f813fec8a05"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ac6deb0d17c9439febcd04f813fec8a05">◆ </a></span>SetMaxSendMessageSize()</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="classgrpc_1_1_server_builder.html">ServerBuilder</a>& grpc::ServerBuilder::SetMaxSendMessageSize </td>
- <td>(</td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>max_send_message_size</em></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">
- <p>Set max send message size in bytes. </p>
- <p>The default is GRPC_DEFAULT_MAX_SEND_MESSAGE_LENGTH. </p>
- </div>
- </div>
- <a id="aeab1bf4749eb2b6b40539dc9202915e2"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aeab1bf4749eb2b6b40539dc9202915e2">◆ </a></span>SetOption()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>& grpc::ServerBuilder::SetOption </td>
- <td>(</td>
- <td class="paramtype">std::unique_ptr< <a class="el" href="classgrpc_1_1_server_builder_option.html">grpc::ServerBuilderOption</a> > </td>
- <td class="paramname"><em>option</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <a id="aa7bfe0619f48a326d10ee9edba46b729"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aa7bfe0619f48a326d10ee9edba46b729">◆ </a></span>SetResourceQuota()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>& grpc::ServerBuilder::SetResourceQuota </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classgrpc_1_1_resource_quota.html">grpc::ResourceQuota</a> & </td>
- <td class="paramname"><em>resource_quota</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Set the attached buffer pool for this server. </p>
- </div>
- </div>
- <a id="acbc2a859672203e7be097de55e296d4b"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#acbc2a859672203e7be097de55e296d4b">◆ </a></span>SetSyncServerOption()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a>& grpc::ServerBuilder::SetSyncServerOption </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classgrpc_1_1_server_builder.html#aff66bd93cba7d4240a64550fe1fca88d">SyncServerOption</a> </td>
- <td class="paramname"><em>option</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>value</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Only useful if this is a Synchronous server. </p>
- </div>
- </div>
- <h2 class="groupheader">Friends And Related Function Documentation</h2>
- <a id="a6d051c774efa6448928d2ca4062676d0"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a6d051c774efa6448928d2ca4062676d0">◆ </a></span>::grpc::testing::ServerBuilderPluginTest</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">friend class ::grpc::testing::ServerBuilderPluginTest</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">friend</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <h2 class="groupheader">Field Documentation</h2>
- <a id="a27b5a3733140caef60846fc21977d6ba"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a27b5a3733140caef60846fc21977d6ba">◆ </a></span>algorithm</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="compression__types_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9">grpc_compression_algorithm</a> grpc::ServerBuilder::algorithm</td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <a id="ab2b0b337e27ae80796675a3dd224ec3a"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ab2b0b337e27ae80796675a3dd224ec3a">◆ </a></span>is_set</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool grpc::ServerBuilder::is_set</td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <a id="a99bc7fd30172c4e154b6942e1c221a1c"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a99bc7fd30172c4e154b6942e1c221a1c">◆ </a></span>level</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="compression__types_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7">grpc_compression_level</a> grpc::ServerBuilder::level</td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <hr/>The documentation for this class was generated from the following file:<ul>
- <li>include/grpcpp/<a class="el" href="grpcpp_2server__builder_8h_source.html">server_builder.h</a></li>
- </ul>
- </div><!-- contents -->
- <!-- start footer part -->
- <hr class="footer"/><address class="footer"><small>
- Generated on Wed Mar 3 2021 19:17:25 for GRPC C++ by  <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/>
- </a> 1.8.17
- </small></address>
- </body>
- </html>
|