| 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_impl::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.32.0</span>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- end header part -->
- <!-- Generated by Doxygen 1.8.17 -->
- <script type="text/javascript">
- /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&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__impl.html">grpc_impl</a></li><li class="navelem"><a class="el" href="classgrpc__impl_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_impl::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__impl_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__impl_1_1_server_bidi_reactor.html#details">More...</a></p>
- <p><code>#include <<a class="el" href="impl_2codegen_2server__callback__impl_8h_source.html">server_callback_impl.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:aa1c73ae06f69e6375528d0f18ca5801f"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1_server_bidi_reactor.html#aa1c73ae06f69e6375528d0f18ca5801f">ServerBidiReactor</a> ()</td></tr>
- <tr class="separator:aa1c73ae06f69e6375528d0f18ca5801f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2fe87c540bff8013ffe6662249d839c0"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1_server_bidi_reactor.html#a2fe87c540bff8013ffe6662249d839c0">~ServerBidiReactor</a> ()=default</td></tr>
- <tr class="separator:a2fe87c540bff8013ffe6662249d839c0"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2cdada582b06d8fccd1630b08f80205e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1_server_bidi_reactor.html#a2cdada582b06d8fccd1630b08f80205e">StartSendInitialMetadata</a> ()</td></tr>
- <tr class="memdesc:a2cdada582b06d8fccd1630b08f80205e"><td class="mdescLeft"> </td><td class="mdescRight">Send any initial metadata stored in the RPC context. <a href="classgrpc__impl_1_1_server_bidi_reactor.html#a2cdada582b06d8fccd1630b08f80205e">More...</a><br /></td></tr>
- <tr class="separator:a2cdada582b06d8fccd1630b08f80205e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ada9fdd9ef059696dce28c12ce74f6b48"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1_server_bidi_reactor.html#ada9fdd9ef059696dce28c12ce74f6b48">StartRead</a> (Request *req)</td></tr>
- <tr class="memdesc:ada9fdd9ef059696dce28c12ce74f6b48"><td class="mdescLeft"> </td><td class="mdescRight">Initiate a read operation. <a href="classgrpc__impl_1_1_server_bidi_reactor.html#ada9fdd9ef059696dce28c12ce74f6b48">More...</a><br /></td></tr>
- <tr class="separator:ada9fdd9ef059696dce28c12ce74f6b48"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a282423b3c06e63540a1da9b85d6dcf90"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1_server_bidi_reactor.html#a282423b3c06e63540a1da9b85d6dcf90">StartWrite</a> (const Response *resp)</td></tr>
- <tr class="memdesc:a282423b3c06e63540a1da9b85d6dcf90"><td class="mdescLeft"> </td><td class="mdescRight">Initiate a write operation. <a href="classgrpc__impl_1_1_server_bidi_reactor.html#a282423b3c06e63540a1da9b85d6dcf90">More...</a><br /></td></tr>
- <tr class="separator:a282423b3c06e63540a1da9b85d6dcf90"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:afaa2f5d8d6f43889d883ed3490a53bb4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1_server_bidi_reactor.html#afaa2f5d8d6f43889d883ed3490a53bb4">StartWrite</a> (const Response *resp, ::<a class="el" href="classgrpc_1_1_write_options.html">grpc::WriteOptions</a> options)</td></tr>
- <tr class="memdesc:afaa2f5d8d6f43889d883ed3490a53bb4"><td class="mdescLeft"> </td><td class="mdescRight">Initiate a write operation with specified options. <a href="classgrpc__impl_1_1_server_bidi_reactor.html#afaa2f5d8d6f43889d883ed3490a53bb4">More...</a><br /></td></tr>
- <tr class="separator:afaa2f5d8d6f43889d883ed3490a53bb4"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a90d1e04754401ea56e5af3e63f17c45b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1_server_bidi_reactor.html#a90d1e04754401ea56e5af3e63f17c45b">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:a90d1e04754401ea56e5af3e63f17c45b"><td class="mdescLeft"> </td><td class="mdescRight">Initiate a write operation with specified options and final RPC Status, which also causes any trailing metadata for this RPC to be sent out. <a href="classgrpc__impl_1_1_server_bidi_reactor.html#a90d1e04754401ea56e5af3e63f17c45b">More...</a><br /></td></tr>
- <tr class="separator:a90d1e04754401ea56e5af3e63f17c45b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a9b252bc42fea0fad8e1b144fac7e4d4d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1_server_bidi_reactor.html#a9b252bc42fea0fad8e1b144fac7e4d4d">StartWriteLast</a> (const Response *resp, ::<a class="el" href="classgrpc_1_1_write_options.html">grpc::WriteOptions</a> options)</td></tr>
- <tr class="memdesc:a9b252bc42fea0fad8e1b144fac7e4d4d"><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__impl_1_1_server_bidi_reactor.html#a9b252bc42fea0fad8e1b144fac7e4d4d">More...</a><br /></td></tr>
- <tr class="separator:a9b252bc42fea0fad8e1b144fac7e4d4d"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a38bc0a0996793a7b6738e9a6b415a200"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1_server_bidi_reactor.html#a38bc0a0996793a7b6738e9a6b415a200">Finish</a> (::<a class="el" href="classgrpc_1_1_status.html">grpc::Status</a> s)</td></tr>
- <tr class="memdesc:a38bc0a0996793a7b6738e9a6b415a200"><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__impl_1_1_server_bidi_reactor.html#a38bc0a0996793a7b6738e9a6b415a200">More...</a><br /></td></tr>
- <tr class="separator:a38bc0a0996793a7b6738e9a6b415a200"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a0b776565562fb0f4a36fce21e08f50f5"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1_server_bidi_reactor.html#a0b776565562fb0f4a36fce21e08f50f5">OnSendInitialMetadataDone</a> (bool)</td></tr>
- <tr class="memdesc:a0b776565562fb0f4a36fce21e08f50f5"><td class="mdescLeft"> </td><td class="mdescRight">Notifies the application that an explicit StartSendInitialMetadata operation completed. <a href="classgrpc__impl_1_1_server_bidi_reactor.html#a0b776565562fb0f4a36fce21e08f50f5">More...</a><br /></td></tr>
- <tr class="separator:a0b776565562fb0f4a36fce21e08f50f5"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aa46d7c019d5863630cc6862aac2aeb3a"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1_server_bidi_reactor.html#aa46d7c019d5863630cc6862aac2aeb3a">OnReadDone</a> (bool)</td></tr>
- <tr class="memdesc:aa46d7c019d5863630cc6862aac2aeb3a"><td class="mdescLeft"> </td><td class="mdescRight">Notifies the application that a StartRead operation completed. <a href="classgrpc__impl_1_1_server_bidi_reactor.html#aa46d7c019d5863630cc6862aac2aeb3a">More...</a><br /></td></tr>
- <tr class="separator:aa46d7c019d5863630cc6862aac2aeb3a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2728217ee5e12e897261c892e8e28d49"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1_server_bidi_reactor.html#a2728217ee5e12e897261c892e8e28d49">OnWriteDone</a> (bool)</td></tr>
- <tr class="memdesc:a2728217ee5e12e897261c892e8e28d49"><td class="mdescLeft"> </td><td class="mdescRight">Notifies the application that a StartWrite (or StartWriteLast) operation completed. <a href="classgrpc__impl_1_1_server_bidi_reactor.html#a2728217ee5e12e897261c892e8e28d49">More...</a><br /></td></tr>
- <tr class="separator:a2728217ee5e12e897261c892e8e28d49"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac14906ed846912da6e420084be1c3e4f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1_server_bidi_reactor.html#ac14906ed846912da6e420084be1c3e4f">OnDone</a> () override=0</td></tr>
- <tr class="memdesc:ac14906ed846912da6e420084be1c3e4f"><td class="mdescLeft"> </td><td class="mdescRight">Notifies the application that all operations associated with this RPC have completed. <a href="classgrpc__impl_1_1_server_bidi_reactor.html#ac14906ed846912da6e420084be1c3e4f">More...</a><br /></td></tr>
- <tr class="separator:ac14906ed846912da6e420084be1c3e4f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:af38ba8302d38a0f191c39112e2afe55b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1_server_bidi_reactor.html#af38ba8302d38a0f191c39112e2afe55b">OnCancel</a> () override</td></tr>
- <tr class="memdesc:af38ba8302d38a0f191c39112e2afe55b"><td class="mdescLeft"> </td><td class="mdescRight">Notifies the application that this RPC has been cancelled. <a href="classgrpc__impl_1_1_server_bidi_reactor.html#af38ba8302d38a0f191c39112e2afe55b">More...</a><br /></td></tr>
- <tr class="separator:af38ba8302d38a0f191c39112e2afe55b"><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__impl_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_impl::ServerBidiReactor< Request, Response ></h3>
- <p><em><a class="el" href="classgrpc__impl_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="aa1c73ae06f69e6375528d0f18ca5801f"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aa1c73ae06f69e6375528d0f18ca5801f">◆ </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__impl_1_1_server_bidi_reactor.html">grpc_impl::ServerBidiReactor</a>< Request, Response >::<a class="el" href="classgrpc__impl_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="a2fe87c540bff8013ffe6662249d839c0"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a2fe87c540bff8013ffe6662249d839c0">◆ </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__impl_1_1_server_bidi_reactor.html">grpc_impl::ServerBidiReactor</a>< Request, Response >::~<a class="el" href="classgrpc__impl_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">default</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <h2 class="groupheader">Member Function Documentation</h2>
- <a id="a38bc0a0996793a7b6738e9a6b415a200"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a38bc0a0996793a7b6738e9a6b415a200">◆ </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__impl_1_1_server_bidi_reactor.html">grpc_impl::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="af38ba8302d38a0f191c39112e2afe55b"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#af38ba8302d38a0f191c39112e2afe55b">◆ </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__impl_1_1_server_bidi_reactor.html">grpc_impl::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="ac14906ed846912da6e420084be1c3e4f"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ac14906ed846912da6e420084be1c3e4f">◆ </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__impl_1_1_server_bidi_reactor.html">grpc_impl::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="aa46d7c019d5863630cc6862aac2aeb3a"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aa46d7c019d5863630cc6862aac2aeb3a">◆ </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__impl_1_1_server_bidi_reactor.html">grpc_impl::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="a0b776565562fb0f4a36fce21e08f50f5"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a0b776565562fb0f4a36fce21e08f50f5">◆ </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__impl_1_1_server_bidi_reactor.html">grpc_impl::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="a2728217ee5e12e897261c892e8e28d49"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a2728217ee5e12e897261c892e8e28d49">◆ </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__impl_1_1_server_bidi_reactor.html">grpc_impl::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="ada9fdd9ef059696dce28c12ce74f6b48"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ada9fdd9ef059696dce28c12ce74f6b48">◆ </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__impl_1_1_server_bidi_reactor.html">grpc_impl::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="a2cdada582b06d8fccd1630b08f80205e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a2cdada582b06d8fccd1630b08f80205e">◆ </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__impl_1_1_server_bidi_reactor.html">grpc_impl::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="a282423b3c06e63540a1da9b85d6dcf90"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a282423b3c06e63540a1da9b85d6dcf90">◆ </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__impl_1_1_server_bidi_reactor.html">grpc_impl::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="afaa2f5d8d6f43889d883ed3490a53bb4"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#afaa2f5d8d6f43889d883ed3490a53bb4">◆ </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__impl_1_1_server_bidi_reactor.html">grpc_impl::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 WriteOptions to use for writing this message </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="a90d1e04754401ea56e5af3e63f17c45b"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a90d1e04754401ea56e5af3e63f17c45b">◆ </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__impl_1_1_server_bidi_reactor.html">grpc_impl::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 Status, 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 WriteOptions 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="a9b252bc42fea0fad8e1b144fac7e4d4d"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a9b252bc42fea0fad8e1b144fac7e4d4d">◆ </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__impl_1_1_server_bidi_reactor.html">grpc_impl::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 WriteOptions 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__impl_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__impl_8h_source.html">server_callback_impl.h</a></li>
- </ul>
- </div><!-- contents -->
- <!-- start footer part -->
- <hr class="footer"/><address class="footer"><small>
- Generated on Sat Sep 12 2020 00:53:57 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>
|