| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- <!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::ClientReaderWriterInterface< 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.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_client_reader_writer_interface.html">ClientReaderWriterInterface</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_impl::ClientReaderWriterInterface< W, R > Class Template Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
- </div><!--header-->
- <div class="contents">
- <p>Client-side interface for bi-directional streaming with client-to-server stream messages of type <em>W</em> and server-to-client stream messages of type <em>R</em>.
- <a href="classgrpc__impl_1_1_client_reader_writer_interface.html#details">More...</a></p>
- <p><code>#include <<a class="el" href="impl_2codegen_2sync__stream__impl_8h_source.html">sync_stream_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:ad2d7a3e9d3ffeb92c0d0fc0fcf121aca"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1_client_reader_writer_interface.html#ad2d7a3e9d3ffeb92c0d0fc0fcf121aca">WaitForInitialMetadata</a> ()=0</td></tr>
- <tr class="memdesc:ad2d7a3e9d3ffeb92c0d0fc0fcf121aca"><td class="mdescLeft"> </td><td class="mdescRight">Block to wait for initial metadata from server. <a href="classgrpc__impl_1_1_client_reader_writer_interface.html#ad2d7a3e9d3ffeb92c0d0fc0fcf121aca">More...</a><br /></td></tr>
- <tr class="separator:ad2d7a3e9d3ffeb92c0d0fc0fcf121aca"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a21c5c1bc448fe27771223050079a6116"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1_client_reader_writer_interface.html#a21c5c1bc448fe27771223050079a6116">WritesDone</a> ()=0</td></tr>
- <tr class="memdesc:a21c5c1bc448fe27771223050079a6116"><td class="mdescLeft"> </td><td class="mdescRight">Half close writing from the client. <a href="classgrpc__impl_1_1_client_reader_writer_interface.html#a21c5c1bc448fe27771223050079a6116">More...</a><br /></td></tr>
- <tr class="separator:a21c5c1bc448fe27771223050079a6116"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_methods_classgrpc__impl_1_1internal_1_1_client_streaming_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc__impl_1_1internal_1_1_client_streaming_interface')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgrpc__impl_1_1internal_1_1_client_streaming_interface.html">grpc_impl::internal::ClientStreamingInterface</a></td></tr>
- <tr class="memitem:a86e635c500f5cf517090a90b267d7e9b inherit pub_methods_classgrpc__impl_1_1internal_1_1_client_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1internal_1_1_client_streaming_interface.html#a86e635c500f5cf517090a90b267d7e9b">~ClientStreamingInterface</a> ()</td></tr>
- <tr class="separator:a86e635c500f5cf517090a90b267d7e9b inherit pub_methods_classgrpc__impl_1_1internal_1_1_client_streaming_interface"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a010a28c3d4428fae26c5e7f6866e502c inherit pub_methods_classgrpc__impl_1_1internal_1_1_client_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual ::<a class="el" href="classgrpc_1_1_status.html">grpc::Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1internal_1_1_client_streaming_interface.html#a010a28c3d4428fae26c5e7f6866e502c">Finish</a> ()=0</td></tr>
- <tr class="memdesc:a010a28c3d4428fae26c5e7f6866e502c inherit pub_methods_classgrpc__impl_1_1internal_1_1_client_streaming_interface"><td class="mdescLeft"> </td><td class="mdescRight">Block waiting until the stream finishes and a final status of the call is available. <a href="classgrpc__impl_1_1internal_1_1_client_streaming_interface.html#a010a28c3d4428fae26c5e7f6866e502c">More...</a><br /></td></tr>
- <tr class="separator:a010a28c3d4428fae26c5e7f6866e502c inherit pub_methods_classgrpc__impl_1_1internal_1_1_client_streaming_interface"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_methods_classgrpc__impl_1_1internal_1_1_writer_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc__impl_1_1internal_1_1_writer_interface')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgrpc__impl_1_1internal_1_1_writer_interface.html">grpc_impl::internal::WriterInterface< W ></a></td></tr>
- <tr class="memitem:af986fc5eeb12384945172d9711867889 inherit pub_methods_classgrpc__impl_1_1internal_1_1_writer_interface"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1internal_1_1_writer_interface.html#af986fc5eeb12384945172d9711867889">~WriterInterface</a> ()</td></tr>
- <tr class="separator:af986fc5eeb12384945172d9711867889 inherit pub_methods_classgrpc__impl_1_1internal_1_1_writer_interface"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a289bb880cfc060c6105fe8ca84198a5c inherit pub_methods_classgrpc__impl_1_1internal_1_1_writer_interface"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1internal_1_1_writer_interface.html#a289bb880cfc060c6105fe8ca84198a5c">Write</a> (const W &msg, ::<a class="el" href="classgrpc_1_1_write_options.html">grpc::WriteOptions</a> options)=0</td></tr>
- <tr class="memdesc:a289bb880cfc060c6105fe8ca84198a5c inherit pub_methods_classgrpc__impl_1_1internal_1_1_writer_interface"><td class="mdescLeft"> </td><td class="mdescRight">Block to write <em>msg</em> to the stream with WriteOptions <em>options</em>. <a href="classgrpc__impl_1_1internal_1_1_writer_interface.html#a289bb880cfc060c6105fe8ca84198a5c">More...</a><br /></td></tr>
- <tr class="separator:a289bb880cfc060c6105fe8ca84198a5c inherit pub_methods_classgrpc__impl_1_1internal_1_1_writer_interface"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a8cd2f943f38815b25c71275f96a5c742 inherit pub_methods_classgrpc__impl_1_1internal_1_1_writer_interface"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1internal_1_1_writer_interface.html#a8cd2f943f38815b25c71275f96a5c742">Write</a> (const W &msg)</td></tr>
- <tr class="memdesc:a8cd2f943f38815b25c71275f96a5c742 inherit pub_methods_classgrpc__impl_1_1internal_1_1_writer_interface"><td class="mdescLeft"> </td><td class="mdescRight">Block to write <em>msg</em> to the stream with default write options. <a href="classgrpc__impl_1_1internal_1_1_writer_interface.html#a8cd2f943f38815b25c71275f96a5c742">More...</a><br /></td></tr>
- <tr class="separator:a8cd2f943f38815b25c71275f96a5c742 inherit pub_methods_classgrpc__impl_1_1internal_1_1_writer_interface"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a6dcc2c52401f3bfc7f87072954ec6808 inherit pub_methods_classgrpc__impl_1_1internal_1_1_writer_interface"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1internal_1_1_writer_interface.html#a6dcc2c52401f3bfc7f87072954ec6808">WriteLast</a> (const W &msg, ::<a class="el" href="classgrpc_1_1_write_options.html">grpc::WriteOptions</a> options)</td></tr>
- <tr class="memdesc:a6dcc2c52401f3bfc7f87072954ec6808 inherit pub_methods_classgrpc__impl_1_1internal_1_1_writer_interface"><td class="mdescLeft"> </td><td class="mdescRight">Write <em>msg</em> and coalesce it with the writing of trailing metadata, using WriteOptions <em>options</em>. <a href="classgrpc__impl_1_1internal_1_1_writer_interface.html#a6dcc2c52401f3bfc7f87072954ec6808">More...</a><br /></td></tr>
- <tr class="separator:a6dcc2c52401f3bfc7f87072954ec6808 inherit pub_methods_classgrpc__impl_1_1internal_1_1_writer_interface"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_methods_classgrpc__impl_1_1internal_1_1_reader_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc__impl_1_1internal_1_1_reader_interface')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgrpc__impl_1_1internal_1_1_reader_interface.html">grpc_impl::internal::ReaderInterface< R ></a></td></tr>
- <tr class="memitem:ae4f2b89ea092e964b6e7dd9f220138fb inherit pub_methods_classgrpc__impl_1_1internal_1_1_reader_interface"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1internal_1_1_reader_interface.html#ae4f2b89ea092e964b6e7dd9f220138fb">~ReaderInterface</a> ()</td></tr>
- <tr class="separator:ae4f2b89ea092e964b6e7dd9f220138fb inherit pub_methods_classgrpc__impl_1_1internal_1_1_reader_interface"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:acb8defa36c3981335a4de3b3a77fc890 inherit pub_methods_classgrpc__impl_1_1internal_1_1_reader_interface"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1internal_1_1_reader_interface.html#acb8defa36c3981335a4de3b3a77fc890">NextMessageSize</a> (uint32_t *sz)=0</td></tr>
- <tr class="memdesc:acb8defa36c3981335a4de3b3a77fc890 inherit pub_methods_classgrpc__impl_1_1internal_1_1_reader_interface"><td class="mdescLeft"> </td><td class="mdescRight">Get an upper bound on the next message size available for reading on this stream. <a href="classgrpc__impl_1_1internal_1_1_reader_interface.html#acb8defa36c3981335a4de3b3a77fc890">More...</a><br /></td></tr>
- <tr class="separator:acb8defa36c3981335a4de3b3a77fc890 inherit pub_methods_classgrpc__impl_1_1internal_1_1_reader_interface"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a005a2778e6005e25555dd0fdeb2db1a7 inherit pub_methods_classgrpc__impl_1_1internal_1_1_reader_interface"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc__impl_1_1internal_1_1_reader_interface.html#a005a2778e6005e25555dd0fdeb2db1a7">Read</a> (R *msg)=0</td></tr>
- <tr class="memdesc:a005a2778e6005e25555dd0fdeb2db1a7 inherit pub_methods_classgrpc__impl_1_1internal_1_1_reader_interface"><td class="mdescLeft"> </td><td class="mdescRight">Block to read a message and parse to <em>msg</em>. <a href="classgrpc__impl_1_1internal_1_1_reader_interface.html#a005a2778e6005e25555dd0fdeb2db1a7">More...</a><br /></td></tr>
- <tr class="separator:a005a2778e6005e25555dd0fdeb2db1a7 inherit pub_methods_classgrpc__impl_1_1internal_1_1_reader_interface"><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 W, class R><br />
- class grpc_impl::ClientReaderWriterInterface< W, R ></h3>
- <p>Client-side interface for bi-directional streaming with client-to-server stream messages of type <em>W</em> and server-to-client stream messages of type <em>R</em>. </p>
- </div><h2 class="groupheader">Member Function Documentation</h2>
- <a id="ad2d7a3e9d3ffeb92c0d0fc0fcf121aca"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ad2d7a3e9d3ffeb92c0d0fc0fcf121aca">◆ </a></span>WaitForInitialMetadata()</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__impl_1_1_client_reader_writer_interface.html">grpc_impl::ClientReaderWriterInterface</a>< W, R >::WaitForInitialMetadata </td>
- <td>(</td>
- <td class="paramname"></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>Block to wait for initial metadata from server. </p>
- <p>The received metadata can only be accessed after this call returns. Should only be called before the first read. Calling this method is optional, and if it is not called the metadata will be available in ClientContext after the first read. </p>
- </div>
- </div>
- <a id="a21c5c1bc448fe27771223050079a6116"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a21c5c1bc448fe27771223050079a6116">◆ </a></span>WritesDone()</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 bool <a class="el" href="classgrpc__impl_1_1_client_reader_writer_interface.html">grpc_impl::ClientReaderWriterInterface</a>< W, R >::WritesDone </td>
- <td>(</td>
- <td class="paramname"></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>Half close writing from the client. </p>
- <p>(signal that the stream of messages coming from the client is complete). Blocks until currently-pending writes are completed. Thread-safe with respect to <em>ReaderInterface::Read</em> </p>
- <dl class="section return"><dt>Returns</dt><dd>Whether the writes were successful. </dd></dl>
- </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_2sync__stream__impl_8h_source.html">sync_stream_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>
|