123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229 |
- <!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::ServerAsyncReaderInterface< W, R > 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_async_reader_interface.html">ServerAsyncReaderInterface</a></li> </ul>
- </div>
- </div><!-- top -->
- <div class="header">
- <div class="summary">
- <a href="#pub-methods">Public Member Functions</a> </div>
- <div class="headertitle">
- <div class="title">grpc::ServerAsyncReaderInterface< W, R > Class Template Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
- </div><!--header-->
- <div class="contents">
- <p><code>#include <<a class="el" href="grpcpp_2impl_2codegen_2async__stream_8h_source.html">async_stream.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:a028d4b5d2adeff8262b17a9fc8e5acb7"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_async_reader_interface.html#a028d4b5d2adeff8262b17a9fc8e5acb7">Finish</a> (const W &msg, const ::<a class="el" href="classgrpc_1_1_status.html">grpc::Status</a> &status, void *tag)=0</td></tr>
- <tr class="memdesc:a028d4b5d2adeff8262b17a9fc8e5acb7"><td class="mdescLeft"> </td><td class="mdescRight">Indicate that the stream is to be finished with a certain status code and also send out <em>msg</em> response to the client. <a href="classgrpc_1_1_server_async_reader_interface.html#a028d4b5d2adeff8262b17a9fc8e5acb7">More...</a><br /></td></tr>
- <tr class="separator:a028d4b5d2adeff8262b17a9fc8e5acb7"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a46271d0fa487c21407390e7c1852cbc1"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_async_reader_interface.html#a46271d0fa487c21407390e7c1852cbc1">FinishWithError</a> (const ::<a class="el" href="classgrpc_1_1_status.html">grpc::Status</a> &status, void *tag)=0</td></tr>
- <tr class="memdesc:a46271d0fa487c21407390e7c1852cbc1"><td class="mdescLeft"> </td><td class="mdescRight">Indicate that the stream is to be finished with a certain non-OK status code. <a href="classgrpc_1_1_server_async_reader_interface.html#a46271d0fa487c21407390e7c1852cbc1">More...</a><br /></td></tr>
- <tr class="separator:a46271d0fa487c21407390e7c1852cbc1"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_methods_classgrpc_1_1internal_1_1_server_async_streaming_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1internal_1_1_server_async_streaming_interface')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgrpc_1_1internal_1_1_server_async_streaming_interface.html">grpc::internal::ServerAsyncStreamingInterface</a></td></tr>
- <tr class="memitem:aeace2295f3792ce24975361c300d641a inherit pub_methods_classgrpc_1_1internal_1_1_server_async_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1internal_1_1_server_async_streaming_interface.html#aeace2295f3792ce24975361c300d641a">~ServerAsyncStreamingInterface</a> ()</td></tr>
- <tr class="separator:aeace2295f3792ce24975361c300d641a inherit pub_methods_classgrpc_1_1internal_1_1_server_async_streaming_interface"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac55759faf2283db8bf716183881efe01 inherit pub_methods_classgrpc_1_1internal_1_1_server_async_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1internal_1_1_server_async_streaming_interface.html#ac55759faf2283db8bf716183881efe01">SendInitialMetadata</a> (void *tag)=0</td></tr>
- <tr class="memdesc:ac55759faf2283db8bf716183881efe01 inherit pub_methods_classgrpc_1_1internal_1_1_server_async_streaming_interface"><td class="mdescLeft"> </td><td class="mdescRight">Request notification of the sending of initial metadata to the client. <a href="classgrpc_1_1internal_1_1_server_async_streaming_interface.html#ac55759faf2283db8bf716183881efe01">More...</a><br /></td></tr>
- <tr class="separator:ac55759faf2283db8bf716183881efe01 inherit pub_methods_classgrpc_1_1internal_1_1_server_async_streaming_interface"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_methods_classgrpc_1_1internal_1_1_async_reader_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1internal_1_1_async_reader_interface')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgrpc_1_1internal_1_1_async_reader_interface.html">grpc::internal::AsyncReaderInterface< R ></a></td></tr>
- <tr class="memitem:a18fe4235232864c8770a562cc2aa1f3c inherit pub_methods_classgrpc_1_1internal_1_1_async_reader_interface"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1internal_1_1_async_reader_interface.html#a18fe4235232864c8770a562cc2aa1f3c">~AsyncReaderInterface</a> ()</td></tr>
- <tr class="separator:a18fe4235232864c8770a562cc2aa1f3c inherit pub_methods_classgrpc_1_1internal_1_1_async_reader_interface"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:adf87c602036d69158950b7299d0aae70 inherit pub_methods_classgrpc_1_1internal_1_1_async_reader_interface"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1internal_1_1_async_reader_interface.html#adf87c602036d69158950b7299d0aae70">Read</a> (R *msg, void *tag)=0</td></tr>
- <tr class="memdesc:adf87c602036d69158950b7299d0aae70 inherit pub_methods_classgrpc_1_1internal_1_1_async_reader_interface"><td class="mdescLeft"> </td><td class="mdescRight">Read a message of type <em>R</em> into <em>msg</em>. <a href="classgrpc_1_1internal_1_1_async_reader_interface.html#adf87c602036d69158950b7299d0aae70">More...</a><br /></td></tr>
- <tr class="separator:adf87c602036d69158950b7299d0aae70 inherit pub_methods_classgrpc_1_1internal_1_1_async_reader_interface"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <h2 class="groupheader">Member Function Documentation</h2>
- <a id="a028d4b5d2adeff8262b17a9fc8e5acb7"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a028d4b5d2adeff8262b17a9fc8e5acb7">◆ </a></span>Finish()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class W , class R > </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_async_reader_interface.html">grpc::ServerAsyncReaderInterface</a>< W, R >::Finish </td>
- <td>(</td>
- <td class="paramtype">const W & </td>
- <td class="paramname"><em>msg</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const ::<a class="el" href="classgrpc_1_1_status.html">grpc::Status</a> & </td>
- <td class="paramname"><em>status</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void * </td>
- <td class="paramname"><em>tag</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">pure virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Indicate that the stream is to be finished with a certain status code and also send out <em>msg</em> response to the client. </p>
- <p>Request notification for when the server has sent the response and the appropriate signals to the client to end the call. Should not be used concurrently with other operations.</p>
- <p>It is appropriate to call this method when:</p><ul>
- <li>all messages from the client have been received (either known implictly, or explicitly because a previous <em>AsyncReaderInterface::Read</em> operation with a non-ok result, e.g., cq->Next(&read_tag, &ok) filled in 'ok' with 'false').</li>
- </ul>
- <p>This operation will end when the server has finished sending out initial metadata (if not sent already), response message, and status, or if some failure occurred when trying to do so.</p>
- <p>gRPC doesn't take ownership or a reference to <em>msg</em> or <em>status</em>, so it is safe to deallocate once Finish returns.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">tag</td><td>Tag identifying this request. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">status</td><td>To be sent to the client as the result of this call. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>To be sent to the client as the response for this call. </td></tr>
- </table>
- </dd>
- </dl>
- <p>Implemented in <a class="el" href="classgrpc_1_1_server_async_reader.html#a59951d06481769e3e40fc84454901467">grpc::ServerAsyncReader< W, R ></a>.</p>
- </div>
- </div>
- <a id="a46271d0fa487c21407390e7c1852cbc1"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a46271d0fa487c21407390e7c1852cbc1">◆ </a></span>FinishWithError()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class W , class R > </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_async_reader_interface.html">grpc::ServerAsyncReaderInterface</a>< W, R >::FinishWithError </td>
- <td>(</td>
- <td class="paramtype">const ::<a class="el" href="classgrpc_1_1_status.html">grpc::Status</a> & </td>
- <td class="paramname"><em>status</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void * </td>
- <td class="paramname"><em>tag</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">pure virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Indicate that the stream is to be finished with a certain non-OK status code. </p>
- <p>Request notification for when the server has sent the appropriate signals to the client to end the call. Should not be used concurrently with other operations.</p>
- <p>This call is meant to end the call with some error, and can be called at any point that the server would like to "fail" the call (though note this shouldn't be called concurrently with any other "sending" call, like <em>AsyncWriterInterface::Write</em>).</p>
- <p>This operation will end when the server has finished sending out initial metadata (if not sent already), and status, or if some failure occurred when trying to do so.</p>
- <p>gRPC doesn't take ownership or a reference to <em>status</em>, so it is safe to to deallocate once FinishWithError returns.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">tag</td><td>Tag identifying this request. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">status</td><td>To be sent to the client as the result of this call.<ul>
- <li>Note: <em>status</em> must have a non-OK code. </li>
- </ul>
- </td></tr>
- </table>
- </dd>
- </dl>
- <p>Implemented in <a class="el" href="classgrpc_1_1_server_async_reader.html#ad35cb525d0eeaf49e61bd5a5aeaf9a05">grpc::ServerAsyncReader< W, R ></a>.</p>
- </div>
- </div>
- <hr/>The documentation for this class was generated from the following file:<ul>
- <li>include/grpcpp/impl/codegen/<a class="el" href="grpcpp_2impl_2codegen_2async__stream_8h_source.html">async_stream.h</a></li>
- </ul>
- </div><!-- contents -->
- <!-- start footer part -->
- <hr class="footer"/><address class="footer"><small>
- Generated on Wed Mar 3 2021 19:17:24 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>
|