123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685 |
- <!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::ServerBidiReactor< Request, Response > Class Template 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_bidi_reactor.html">ServerBidiReactor</a></li> </ul>
- </div>
- </div><!-- top -->
- <div class="header">
- <div class="summary">
- <a href="#nested-classes">Data Structures</a> |
- <a href="#pub-methods">Public Member Functions</a> |
- <a href="#friends">Friends</a> </div>
- <div class="headertitle">
- <div class="title">grpc::ServerBidiReactor< Request, Response > Class Template Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
- </div><!--header-->
- <div class="contents">
- <p><em><a class="el" href="classgrpc_1_1_server_bidi_reactor.html" title="ServerBidiReactor is the interface for a bidirectional streaming RPC.">ServerBidiReactor</a></em> is the interface for a bidirectional streaming RPC.
- <a href="classgrpc_1_1_server_bidi_reactor.html#details">More...</a></p>
- <p><code>#include <<a class="el" href="impl_2codegen_2server__callback_8h_source.html">server_callback.h</a>></code></p>
- <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:a9f459e7f53d66b5c8e61d8930053811b"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_bidi_reactor.html#a9f459e7f53d66b5c8e61d8930053811b">ServerBidiReactor</a> ()</td></tr>
- <tr class="separator:a9f459e7f53d66b5c8e61d8930053811b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aa9ee4a518fb5f5f7b7a8993bd5cb9df5"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_bidi_reactor.html#aa9ee4a518fb5f5f7b7a8993bd5cb9df5">~ServerBidiReactor</a> () override=default</td></tr>
- <tr class="separator:aa9ee4a518fb5f5f7b7a8993bd5cb9df5"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aa8f942d4375367946595110f6b0b37ca"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_bidi_reactor.html#aa8f942d4375367946595110f6b0b37ca">StartSendInitialMetadata</a> ()</td></tr>
- <tr class="memdesc:aa8f942d4375367946595110f6b0b37ca"><td class="mdescLeft"> </td><td class="mdescRight">Send any initial metadata stored in the RPC context. <a href="classgrpc_1_1_server_bidi_reactor.html#aa8f942d4375367946595110f6b0b37ca">More...</a><br /></td></tr>
- <tr class="separator:aa8f942d4375367946595110f6b0b37ca"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a65817119c11c9ee862a1514e87bb3585"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_bidi_reactor.html#a65817119c11c9ee862a1514e87bb3585">StartRead</a> (Request *req)</td></tr>
- <tr class="memdesc:a65817119c11c9ee862a1514e87bb3585"><td class="mdescLeft"> </td><td class="mdescRight">Initiate a read operation. <a href="classgrpc_1_1_server_bidi_reactor.html#a65817119c11c9ee862a1514e87bb3585">More...</a><br /></td></tr>
- <tr class="separator:a65817119c11c9ee862a1514e87bb3585"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a7b457aceeb312472835007c289c711e8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_bidi_reactor.html#a7b457aceeb312472835007c289c711e8">StartWrite</a> (const Response *resp)</td></tr>
- <tr class="memdesc:a7b457aceeb312472835007c289c711e8"><td class="mdescLeft"> </td><td class="mdescRight">Initiate a write operation. <a href="classgrpc_1_1_server_bidi_reactor.html#a7b457aceeb312472835007c289c711e8">More...</a><br /></td></tr>
- <tr class="separator:a7b457aceeb312472835007c289c711e8"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ad5c34a7b67278156a514456df0754c9e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_bidi_reactor.html#ad5c34a7b67278156a514456df0754c9e">StartWrite</a> (const Response *resp, ::<a class="el" href="classgrpc_1_1_write_options.html">grpc::WriteOptions</a> options)</td></tr>
- <tr class="memdesc:ad5c34a7b67278156a514456df0754c9e"><td class="mdescLeft"> </td><td class="mdescRight">Initiate a write operation with specified options. <a href="classgrpc_1_1_server_bidi_reactor.html#ad5c34a7b67278156a514456df0754c9e">More...</a><br /></td></tr>
- <tr class="separator:ad5c34a7b67278156a514456df0754c9e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a737391a379201de65a7708ae465121ef"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_bidi_reactor.html#a737391a379201de65a7708ae465121ef">StartWriteAndFinish</a> (const Response *resp, ::<a class="el" href="classgrpc_1_1_write_options.html">grpc::WriteOptions</a> options, ::<a class="el" href="classgrpc_1_1_status.html">grpc::Status</a> s)</td></tr>
- <tr class="memdesc:a737391a379201de65a7708ae465121ef"><td class="mdescLeft"> </td><td class="mdescRight">Initiate a write operation with specified options and final RPC <a class="el" href="classgrpc_1_1_status.html" title="Did it work? If it didn't, why?">Status</a>, which also causes any trailing metadata for this RPC to be sent out. <a href="classgrpc_1_1_server_bidi_reactor.html#a737391a379201de65a7708ae465121ef">More...</a><br /></td></tr>
- <tr class="separator:a737391a379201de65a7708ae465121ef"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a5667f4a7f70cda0351f50ebae665dded"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_bidi_reactor.html#a5667f4a7f70cda0351f50ebae665dded">StartWriteLast</a> (const Response *resp, ::<a class="el" href="classgrpc_1_1_write_options.html">grpc::WriteOptions</a> options)</td></tr>
- <tr class="memdesc:a5667f4a7f70cda0351f50ebae665dded"><td class="mdescLeft"> </td><td class="mdescRight">Inform system of a planned write operation with specified options, but allow the library to schedule the actual write coalesced with the writing of trailing metadata (which takes place on a Finish call). <a href="classgrpc_1_1_server_bidi_reactor.html#a5667f4a7f70cda0351f50ebae665dded">More...</a><br /></td></tr>
- <tr class="separator:a5667f4a7f70cda0351f50ebae665dded"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a60edb96ee2d9796739c0c4590dff0d29"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_bidi_reactor.html#a60edb96ee2d9796739c0c4590dff0d29">Finish</a> (::<a class="el" href="classgrpc_1_1_status.html">grpc::Status</a> s)</td></tr>
- <tr class="memdesc:a60edb96ee2d9796739c0c4590dff0d29"><td class="mdescLeft"> </td><td class="mdescRight">Indicate that the stream is to be finished and the trailing metadata and RPC status are to be sent. <a href="classgrpc_1_1_server_bidi_reactor.html#a60edb96ee2d9796739c0c4590dff0d29">More...</a><br /></td></tr>
- <tr class="separator:a60edb96ee2d9796739c0c4590dff0d29"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a0715604ca94115aa164c8955bfe04649"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_bidi_reactor.html#a0715604ca94115aa164c8955bfe04649">OnSendInitialMetadataDone</a> (bool)</td></tr>
- <tr class="memdesc:a0715604ca94115aa164c8955bfe04649"><td class="mdescLeft"> </td><td class="mdescRight">Notifies the application that an explicit StartSendInitialMetadata operation completed. <a href="classgrpc_1_1_server_bidi_reactor.html#a0715604ca94115aa164c8955bfe04649">More...</a><br /></td></tr>
- <tr class="separator:a0715604ca94115aa164c8955bfe04649"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a8aafe86ec3fa67767fe1aeeb7f52f92a"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_bidi_reactor.html#a8aafe86ec3fa67767fe1aeeb7f52f92a">OnReadDone</a> (bool)</td></tr>
- <tr class="memdesc:a8aafe86ec3fa67767fe1aeeb7f52f92a"><td class="mdescLeft"> </td><td class="mdescRight">Notifies the application that a StartRead operation completed. <a href="classgrpc_1_1_server_bidi_reactor.html#a8aafe86ec3fa67767fe1aeeb7f52f92a">More...</a><br /></td></tr>
- <tr class="separator:a8aafe86ec3fa67767fe1aeeb7f52f92a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a1fac7eca83effdeef8893486a45e58a0"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_bidi_reactor.html#a1fac7eca83effdeef8893486a45e58a0">OnWriteDone</a> (bool)</td></tr>
- <tr class="memdesc:a1fac7eca83effdeef8893486a45e58a0"><td class="mdescLeft"> </td><td class="mdescRight">Notifies the application that a StartWrite (or StartWriteLast) operation completed. <a href="classgrpc_1_1_server_bidi_reactor.html#a1fac7eca83effdeef8893486a45e58a0">More...</a><br /></td></tr>
- <tr class="separator:a1fac7eca83effdeef8893486a45e58a0"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aaf98cc106728f8911acdd2d50574a788"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_bidi_reactor.html#aaf98cc106728f8911acdd2d50574a788">OnDone</a> () override=0</td></tr>
- <tr class="memdesc:aaf98cc106728f8911acdd2d50574a788"><td class="mdescLeft"> </td><td class="mdescRight">Notifies the application that all operations associated with this RPC have completed. <a href="classgrpc_1_1_server_bidi_reactor.html#aaf98cc106728f8911acdd2d50574a788">More...</a><br /></td></tr>
- <tr class="separator:aaf98cc106728f8911acdd2d50574a788"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:abb21a6abd4c50d76b1037b329a8aa721"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_bidi_reactor.html#abb21a6abd4c50d76b1037b329a8aa721">OnCancel</a> () override</td></tr>
- <tr class="memdesc:abb21a6abd4c50d76b1037b329a8aa721"><td class="mdescLeft"> </td><td class="mdescRight">Notifies the application that this RPC has been cancelled. <a href="classgrpc_1_1_server_bidi_reactor.html#abb21a6abd4c50d76b1037b329a8aa721">More...</a><br /></td></tr>
- <tr class="separator:abb21a6abd4c50d76b1037b329a8aa721"><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:a7c37735f41590c54ad5948d348e63864"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_bidi_reactor.html#a7c37735f41590c54ad5948d348e63864">ServerCallbackReaderWriter< Request, Response ></a></td></tr>
- <tr class="separator:a7c37735f41590c54ad5948d348e63864"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
- <div class="textblock"><h3>template<class Request, class Response><br />
- class grpc::ServerBidiReactor< Request, Response ></h3>
- <p><em><a class="el" href="classgrpc_1_1_server_bidi_reactor.html" title="ServerBidiReactor is the interface for a bidirectional streaming RPC.">ServerBidiReactor</a></em> is the interface for a bidirectional streaming RPC. </p>
- </div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
- <a id="a9f459e7f53d66b5c8e61d8930053811b"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a9f459e7f53d66b5c8e61d8930053811b">◆ </a></span>ServerBidiReactor()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Request , class Response > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classgrpc_1_1_server_bidi_reactor.html">grpc::ServerBidiReactor</a>< Request, Response >::<a class="el" href="classgrpc_1_1_server_bidi_reactor.html">ServerBidiReactor</a> </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">
- </div>
- </div>
- <a id="aa9ee4a518fb5f5f7b7a8993bd5cb9df5"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aa9ee4a518fb5f5f7b7a8993bd5cb9df5">◆ </a></span>~ServerBidiReactor()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Request , class Response > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classgrpc_1_1_server_bidi_reactor.html">grpc::ServerBidiReactor</a>< Request, Response >::~<a class="el" href="classgrpc_1_1_server_bidi_reactor.html">ServerBidiReactor</a> </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">default</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <h2 class="groupheader">Member Function Documentation</h2>
- <a id="a60edb96ee2d9796739c0c4590dff0d29"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a60edb96ee2d9796739c0c4590dff0d29">◆ </a></span>Finish()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Request , class Response > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classgrpc_1_1_server_bidi_reactor.html">grpc::ServerBidiReactor</a>< Request, Response >::Finish </td>
- <td>(</td>
- <td class="paramtype">::<a class="el" href="classgrpc_1_1_status.html">grpc::Status</a> </td>
- <td class="paramname"><em>s</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>Indicate that the stream is to be finished and the trailing metadata and RPC status are to be sent. </p>
- <p>Every RPC MUST be finished using either Finish or StartWriteAndFinish (but not both), even if the RPC is already cancelled.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>The status outcome of this RPC </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="abb21a6abd4c50d76b1037b329a8aa721"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#abb21a6abd4c50d76b1037b329a8aa721">◆ </a></span>OnCancel()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Request , class Response > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classgrpc_1_1_server_bidi_reactor.html">grpc::ServerBidiReactor</a>< Request, Response >::OnCancel </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">override</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Notifies the application that this RPC has been cancelled. </p>
- <p>This is an override (from the internal base class) but not final, so derived classes should override it if they want to take action. </p>
- </div>
- </div>
- <a id="aaf98cc106728f8911acdd2d50574a788"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aaf98cc106728f8911acdd2d50574a788">◆ </a></span>OnDone()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Request , class Response > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classgrpc_1_1_server_bidi_reactor.html">grpc::ServerBidiReactor</a>< Request, Response >::OnDone </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">pure virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Notifies the application that all operations associated with this RPC have completed. </p>
- <p>This is an override (from the internal base class) but still abstract, so derived classes MUST override it to be instantiated. </p>
- </div>
- </div>
- <a id="a8aafe86ec3fa67767fe1aeeb7f52f92a"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a8aafe86ec3fa67767fe1aeeb7f52f92a">◆ </a></span>OnReadDone()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Request , class Response > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual void <a class="el" href="classgrpc_1_1_server_bidi_reactor.html">grpc::ServerBidiReactor</a>< Request, Response >::OnReadDone </td>
- <td>(</td>
- <td class="paramtype">bool </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">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Notifies the application that a StartRead operation completed. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">ok</td><td>Was it successful? If false, no further read-side operation will succeed. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="a0715604ca94115aa164c8955bfe04649"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a0715604ca94115aa164c8955bfe04649">◆ </a></span>OnSendInitialMetadataDone()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Request , class Response > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual void <a class="el" href="classgrpc_1_1_server_bidi_reactor.html">grpc::ServerBidiReactor</a>< Request, Response >::OnSendInitialMetadataDone </td>
- <td>(</td>
- <td class="paramtype">bool </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">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Notifies the application that an explicit StartSendInitialMetadata operation completed. </p>
- <p>Not used when the sending of initial metadata piggybacks onto the first write.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">ok</td><td>Was it successful? If false, no further write-side operation will succeed. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="a1fac7eca83effdeef8893486a45e58a0"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a1fac7eca83effdeef8893486a45e58a0">◆ </a></span>OnWriteDone()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Request , class Response > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual void <a class="el" href="classgrpc_1_1_server_bidi_reactor.html">grpc::ServerBidiReactor</a>< Request, Response >::OnWriteDone </td>
- <td>(</td>
- <td class="paramtype">bool </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">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Notifies the application that a StartWrite (or StartWriteLast) operation completed. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">ok</td><td>Was it successful? If false, no further write-side operation will succeed. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="a65817119c11c9ee862a1514e87bb3585"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a65817119c11c9ee862a1514e87bb3585">◆ </a></span>StartRead()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Request , class Response > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classgrpc_1_1_server_bidi_reactor.html">grpc::ServerBidiReactor</a>< Request, Response >::StartRead </td>
- <td>(</td>
- <td class="paramtype">Request * </td>
- <td class="paramname"><em>req</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>Initiate a read operation. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[out]</td><td class="paramname">req</td><td>Where to eventually store the read message. Valid when the library calls OnReadDone </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="aa8f942d4375367946595110f6b0b37ca"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aa8f942d4375367946595110f6b0b37ca">◆ </a></span>StartSendInitialMetadata()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Request , class Response > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classgrpc_1_1_server_bidi_reactor.html">grpc::ServerBidiReactor</a>< Request, Response >::StartSendInitialMetadata </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>Send any initial metadata stored in the RPC context. </p>
- <p>If not invoked, any initial metadata will be passed along with the first Write or the Finish (if there are no writes). </p>
- </div>
- </div>
- <a id="a7b457aceeb312472835007c289c711e8"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a7b457aceeb312472835007c289c711e8">◆ </a></span>StartWrite() <span class="overload">[1/2]</span></h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Request , class Response > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classgrpc_1_1_server_bidi_reactor.html">grpc::ServerBidiReactor</a>< Request, Response >::StartWrite </td>
- <td>(</td>
- <td class="paramtype">const Response * </td>
- <td class="paramname"><em>resp</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>Initiate a write operation. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">resp</td><td>The message to be written. The library does not take ownership but the caller must ensure that the message is not deleted or modified until OnWriteDone is called. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ad5c34a7b67278156a514456df0754c9e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ad5c34a7b67278156a514456df0754c9e">◆ </a></span>StartWrite() <span class="overload">[2/2]</span></h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Request , class Response > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classgrpc_1_1_server_bidi_reactor.html">grpc::ServerBidiReactor</a>< Request, Response >::StartWrite </td>
- <td>(</td>
- <td class="paramtype">const Response * </td>
- <td class="paramname"><em>resp</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">::<a class="el" href="classgrpc_1_1_write_options.html">grpc::WriteOptions</a> </td>
- <td class="paramname"><em>options</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>Initiate a write operation with specified options. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">resp</td><td>The message to be written. The library does not take ownership but the caller must ensure that the message is not deleted or modified until OnWriteDone is called. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">options</td><td>The <a class="el" href="classgrpc_1_1_write_options.html" title="Per-message write options.">WriteOptions</a> to use for writing this message </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="a737391a379201de65a7708ae465121ef"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a737391a379201de65a7708ae465121ef">◆ </a></span>StartWriteAndFinish()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Request , class Response > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classgrpc_1_1_server_bidi_reactor.html">grpc::ServerBidiReactor</a>< Request, Response >::StartWriteAndFinish </td>
- <td>(</td>
- <td class="paramtype">const Response * </td>
- <td class="paramname"><em>resp</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">::<a class="el" href="classgrpc_1_1_write_options.html">grpc::WriteOptions</a> </td>
- <td class="paramname"><em>options</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">::<a class="el" href="classgrpc_1_1_status.html">grpc::Status</a> </td>
- <td class="paramname"><em>s</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>Initiate a write operation with specified options and final RPC <a class="el" href="classgrpc_1_1_status.html" title="Did it work? If it didn't, why?">Status</a>, which also causes any trailing metadata for this RPC to be sent out. </p>
- <p>StartWriteAndFinish is like merging StartWriteLast and Finish into a single step. A key difference, though, is that this operation doesn't have an OnWriteDone reaction - it is considered complete only when OnDone is available. An RPC can either have StartWriteAndFinish or Finish, but not both.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">resp</td><td>The message to be written. The library does not take ownership but the caller must ensure that the message is not deleted or modified until OnDone is called. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">options</td><td>The <a class="el" href="classgrpc_1_1_write_options.html" title="Per-message write options.">WriteOptions</a> to use for writing this message </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>The status outcome of this RPC </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="a5667f4a7f70cda0351f50ebae665dded"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a5667f4a7f70cda0351f50ebae665dded">◆ </a></span>StartWriteLast()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Request , class Response > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classgrpc_1_1_server_bidi_reactor.html">grpc::ServerBidiReactor</a>< Request, Response >::StartWriteLast </td>
- <td>(</td>
- <td class="paramtype">const Response * </td>
- <td class="paramname"><em>resp</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">::<a class="el" href="classgrpc_1_1_write_options.html">grpc::WriteOptions</a> </td>
- <td class="paramname"><em>options</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>Inform system of a planned write operation with specified options, but allow the library to schedule the actual write coalesced with the writing of trailing metadata (which takes place on a Finish call). </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">resp</td><td>The message to be written. The library does not take ownership but the caller must ensure that the message is not deleted or modified until OnWriteDone is called. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">options</td><td>The <a class="el" href="classgrpc_1_1_write_options.html" title="Per-message write options.">WriteOptions</a> to use for writing this message </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <h2 class="groupheader">Friends And Related Function Documentation</h2>
- <a id="a7c37735f41590c54ad5948d348e63864"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a7c37735f41590c54ad5948d348e63864">◆ </a></span>ServerCallbackReaderWriter< Request, Response ></h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Request , class Response > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">friend class <a class="el" href="classgrpc_1_1_server_callback_reader_writer.html">ServerCallbackReaderWriter</a>< Request, Response ></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>
- <hr/>The documentation for this class was generated from the following file:<ul>
- <li>include/grpcpp/impl/codegen/<a class="el" href="impl_2codegen_2server__callback_8h_source.html">server_callback.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>
|