| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.6"/>
- <title>GRPC C++: grpc::ServerAsyncWriterInterface< W > 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/search.js"></script>
- <script type="text/javascript">
- $(document).ready(function() { searchBox.OnSelectItem(0); });
- </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 style="padding-left: 0.5em;">
- <div id="projectname">GRPC C++
-  <span id="projectnumber">1.4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- end header part -->
- <!-- Generated by Doxygen 1.8.6 -->
- <script type="text/javascript">
- var searchBox = new SearchBox("searchBox", "search",false,'Search');
- </script>
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li>
- <div id="MSearchBox" class="MSearchBoxInactive">
- <span class="left">
- <img id="MSearchSelect" src="search/mag_sel.png"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- alt=""/>
- <input type="text" id="MSearchField" value="Search" accesskey="S"
- onfocus="searchBox.OnSearchFieldFocus(true)"
- onblur="searchBox.OnSearchFieldFocus(false)"
- onkeyup="searchBox.OnSearchFieldChange(event)"/>
- </span><span class="right">
- <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
- </span>
- </div>
- </li>
- </ul>
- </div>
- <div id="navrow2" class="tabs2">
- <ul class="tablist">
- <li><a href="annotated.html"><span>Data Structures</span></a></li>
- <li><a href="classes.html"><span>Data Structure Index</span></a></li>
- <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Data Fields</span></a></li>
- </ul>
- </div>
- <!-- window showing the filter options -->
- <div id="MSearchSelectWindow"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- onkeydown="return searchBox.OnSearchSelectKey(event)">
- <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></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_writer_interface.html">ServerAsyncWriterInterface</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::ServerAsyncWriterInterface< W > 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="impl_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:a52ecaf07a626039b4fd00bed98000152"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_async_writer_interface.html#a52ecaf07a626039b4fd00bed98000152">Finish</a> (const <a class="el" href="classgrpc_1_1_status.html">Status</a> &status, void *tag)=0</td></tr>
- <tr class="memdesc:a52ecaf07a626039b4fd00bed98000152"><td class="mdescLeft"> </td><td class="mdescRight">Indicate that the stream is to be finished with a certain status code. <a href="#a52ecaf07a626039b4fd00bed98000152">More...</a><br/></td></tr>
- <tr class="separator:a52ecaf07a626039b4fd00bed98000152"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a6ef0f1e5f548977e0e98671b46fd80eb"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_async_writer_interface.html#a6ef0f1e5f548977e0e98671b46fd80eb">WriteAndFinish</a> (const W &msg, <a class="el" href="classgrpc_1_1_write_options.html">WriteOptions</a> options, const <a class="el" href="classgrpc_1_1_status.html">Status</a> &status, void *tag)=0</td></tr>
- <tr class="memdesc:a6ef0f1e5f548977e0e98671b46fd80eb"><td class="mdescLeft"> </td><td class="mdescRight">Request the writing of <em>msg</em> and coalesce it with trailing metadata which contains <em>status</em>, using <a class="el" href="classgrpc_1_1_write_options.html" title="Per-message write options. ">WriteOptions</a> options with identifying tag <em>tag</em>. <a href="#a6ef0f1e5f548977e0e98671b46fd80eb">More...</a><br/></td></tr>
- <tr class="separator:a6ef0f1e5f548977e0e98671b46fd80eb"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_methods_classgrpc_1_1_server_async_streaming_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_server_async_streaming_interface')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgrpc_1_1_server_async_streaming_interface.html">grpc::ServerAsyncStreamingInterface</a></td></tr>
- <tr class="memitem:af7c2bc176a6658e86a74a1cacd53d3bc inherit pub_methods_classgrpc_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_1_server_async_streaming_interface.html#af7c2bc176a6658e86a74a1cacd53d3bc">~ServerAsyncStreamingInterface</a> ()</td></tr>
- <tr class="separator:af7c2bc176a6658e86a74a1cacd53d3bc inherit pub_methods_classgrpc_1_1_server_async_streaming_interface"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ab2d5db2b2ca3032994396543a8bb044c inherit pub_methods_classgrpc_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_1_server_async_streaming_interface.html#ab2d5db2b2ca3032994396543a8bb044c">SendInitialMetadata</a> (void *tag)=0</td></tr>
- <tr class="memdesc:ab2d5db2b2ca3032994396543a8bb044c inherit pub_methods_classgrpc_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="#ab2d5db2b2ca3032994396543a8bb044c">More...</a><br/></td></tr>
- <tr class="separator:ab2d5db2b2ca3032994396543a8bb044c inherit pub_methods_classgrpc_1_1_server_async_streaming_interface"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_methods_classgrpc_1_1_async_writer_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_async_writer_interface')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgrpc_1_1_async_writer_interface.html">grpc::AsyncWriterInterface< W ></a></td></tr>
- <tr class="memitem:a94cc9e4ed13c8fe4a1d883d465477ddd inherit pub_methods_classgrpc_1_1_async_writer_interface"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_async_writer_interface.html#a94cc9e4ed13c8fe4a1d883d465477ddd">~AsyncWriterInterface</a> ()</td></tr>
- <tr class="separator:a94cc9e4ed13c8fe4a1d883d465477ddd inherit pub_methods_classgrpc_1_1_async_writer_interface"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a40c1091ac5cb5243c874da725ae291b4 inherit pub_methods_classgrpc_1_1_async_writer_interface"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_async_writer_interface.html#a40c1091ac5cb5243c874da725ae291b4">Write</a> (const W &msg, void *tag)=0</td></tr>
- <tr class="memdesc:a40c1091ac5cb5243c874da725ae291b4 inherit pub_methods_classgrpc_1_1_async_writer_interface"><td class="mdescLeft"> </td><td class="mdescRight">Request the writing of <em>msg</em> with identifying tag <em>tag</em>. <a href="#a40c1091ac5cb5243c874da725ae291b4">More...</a><br/></td></tr>
- <tr class="separator:a40c1091ac5cb5243c874da725ae291b4 inherit pub_methods_classgrpc_1_1_async_writer_interface"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a6a8480dbf5ad95384c929d9db91b6074 inherit pub_methods_classgrpc_1_1_async_writer_interface"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_async_writer_interface.html#a6a8480dbf5ad95384c929d9db91b6074">Write</a> (const W &msg, <a class="el" href="classgrpc_1_1_write_options.html">WriteOptions</a> options, void *tag)=0</td></tr>
- <tr class="memdesc:a6a8480dbf5ad95384c929d9db91b6074 inherit pub_methods_classgrpc_1_1_async_writer_interface"><td class="mdescLeft"> </td><td class="mdescRight">Request the writing of <em>msg</em> using <a class="el" href="classgrpc_1_1_write_options.html" title="Per-message write options. ">WriteOptions</a> <em>options</em> with identifying tag <em>tag</em>. <a href="#a6a8480dbf5ad95384c929d9db91b6074">More...</a><br/></td></tr>
- <tr class="separator:a6a8480dbf5ad95384c929d9db91b6074 inherit pub_methods_classgrpc_1_1_async_writer_interface"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a78097d5f23f4aa2c1b919b12800db90d inherit pub_methods_classgrpc_1_1_async_writer_interface"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_async_writer_interface.html#a78097d5f23f4aa2c1b919b12800db90d">WriteLast</a> (const W &msg, <a class="el" href="classgrpc_1_1_write_options.html">WriteOptions</a> options, void *tag)</td></tr>
- <tr class="memdesc:a78097d5f23f4aa2c1b919b12800db90d inherit pub_methods_classgrpc_1_1_async_writer_interface"><td class="mdescLeft"> </td><td class="mdescRight">Request the writing of <em>msg</em> and coalesce it with the writing of trailing metadata, using <a class="el" href="classgrpc_1_1_write_options.html" title="Per-message write options. ">WriteOptions</a> <em>options</em> with identifying tag <em>tag</em>. <a href="#a78097d5f23f4aa2c1b919b12800db90d">More...</a><br/></td></tr>
- <tr class="separator:a78097d5f23f4aa2c1b919b12800db90d inherit pub_methods_classgrpc_1_1_async_writer_interface"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <h2 class="groupheader">Member Function Documentation</h2>
- <a class="anchor" id="a52ecaf07a626039b4fd00bed98000152"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class W > </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_writer_interface.html">grpc::ServerAsyncWriterInterface</a>< W >::Finish </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classgrpc_1_1_status.html">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. </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>It is appropriate to call this method when either:</p>
- <ul>
- <li>all messages from the client have been received (either known implictly, or explicitly because a previous <em><a class="el" href="classgrpc_1_1_async_reader_interface.html#aa644cf63c12ae8c9d5fda16a361f8a11" title="Read a message of type R into msg. ">AsyncReaderInterface::Read</a></em> operation with a non-ok result (e.g., cq->Next(&read_tag, &ok) filled in 'ok' with 'false'.</li>
- <li>it is desired to end the call early with some non-OK status code.</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>
- <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>
- </table>
- </dd>
- </dl>
- <p>Implemented in <a class="el" href="classgrpc_1_1_server_async_writer.html#a330082d0766d6867517a54919d650a20">grpc::ServerAsyncWriter< W ></a>.</p>
- </div>
- </div>
- <a class="anchor" id="a6ef0f1e5f548977e0e98671b46fd80eb"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class W > </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_writer_interface.html">grpc::ServerAsyncWriterInterface</a>< W >::WriteAndFinish </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"><a class="el" href="classgrpc_1_1_write_options.html">WriteOptions</a> </td>
- <td class="paramname"><em>options</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classgrpc_1_1_status.html">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>Request the writing of <em>msg</em> and coalesce it with trailing metadata which contains <em>status</em>, using <a class="el" href="classgrpc_1_1_write_options.html" title="Per-message write options. ">WriteOptions</a> options with identifying tag <em>tag</em>. </p>
- <p>WriteAndFinish is equivalent of performing WriteLast and Finish in a single step.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The message to be written. </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 be used to write this message. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">status</td><td>The <a class="el" href="classgrpc_1_1_status.html" title="Did it work? If it didn't, why? ">Status</a> that server returns to client. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">tag</td><td>The tag identifying the operation. </td></tr>
- </table>
- </dd>
- </dl>
- <p>Implemented in <a class="el" href="classgrpc_1_1_server_async_writer.html#a80866b79d44c03e3ad73199dbe91a21d">grpc::ServerAsyncWriter< W ></a>.</p>
- </div>
- </div>
- <hr/>The documentation for this class was generated from the following file:<ul>
- <li>include/grpc++/impl/codegen/<a class="el" href="impl_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 Jun 21 2017 14:13:08 for GRPC C++ by  <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/>
- </a> 1.8.6
- </small></address>
- </body>
- </html>
|