| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292 |
- <!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.11"/>
- <title>GRPC C++: grpc::ClientReader< 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>
- <script type="text/javascript">
- $(document).ready(function() { init_search(); });
- </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.0.0</span>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- end header part -->
- <!-- Generated by Doxygen 1.8.11 -->
- <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="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)">
- </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_client_reader.html">ClientReader</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::ClientReader< R > Class Template Reference</div> </div>
- </div><!--header-->
- <div class="contents">
- <p><code>#include <<a class="el" href="channel__interface_8h_source.html">channel_interface.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:abf0d84e441443c364b29b206fd7d0c56"><td class="memTemplParams" colspan="2">template<class W > </td></tr>
- <tr class="memitem:abf0d84e441443c364b29b206fd7d0c56"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader.html#abf0d84e441443c364b29b206fd7d0c56">ClientReader</a> (<a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> *channel, const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &method, <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *context, const W &request)</td></tr>
- <tr class="memdesc:abf0d84e441443c364b29b206fd7d0c56"><td class="mdescLeft"> </td><td class="mdescRight">Blocking create a stream and write the first request out. <a href="#abf0d84e441443c364b29b206fd7d0c56">More...</a><br /></td></tr>
- <tr class="separator:abf0d84e441443c364b29b206fd7d0c56"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aafa93fe8a65edb12a4742c067d90bec1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader.html#aafa93fe8a65edb12a4742c067d90bec1">WaitForInitialMetadata</a> () <a class="el" href="impl_2codegen_2config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
- <tr class="memdesc:aafa93fe8a65edb12a4742c067d90bec1"><td class="mdescLeft"> </td><td class="mdescRight">Blocking wait for initial metadata from server. <a href="#aafa93fe8a65edb12a4742c067d90bec1">More...</a><br /></td></tr>
- <tr class="separator:aafa93fe8a65edb12a4742c067d90bec1"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a1305f6a3159b73866b4b66621f573ae7"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader.html#a1305f6a3159b73866b4b66621f573ae7">Read</a> (R *msg) <a class="el" href="impl_2codegen_2config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
- <tr class="memdesc:a1305f6a3159b73866b4b66621f573ae7"><td class="mdescLeft"> </td><td class="mdescRight">Blocking read a message and parse to <em>msg</em>. <a href="#a1305f6a3159b73866b4b66621f573ae7">More...</a><br /></td></tr>
- <tr class="separator:a1305f6a3159b73866b4b66621f573ae7"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:abb69eb7672e42eb09fbc4d7110d142df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_status.html">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader.html#abb69eb7672e42eb09fbc4d7110d142df">Finish</a> () <a class="el" href="impl_2codegen_2config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
- <tr class="memdesc:abb69eb7672e42eb09fbc4d7110d142df"><td class="mdescLeft"> </td><td class="mdescRight">Wait until the stream finishes, and return the final status. <a href="#abb69eb7672e42eb09fbc4d7110d142df">More...</a><br /></td></tr>
- <tr class="separator:abb69eb7672e42eb09fbc4d7110d142df"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_methods_classgrpc_1_1_client_streaming_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_client_streaming_interface')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgrpc_1_1_client_streaming_interface.html">grpc::ClientStreamingInterface</a></td></tr>
- <tr class="memitem:a312c9454c0f950e1c75b5c802bcbb00e inherit pub_methods_classgrpc_1_1_client_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_streaming_interface.html#a312c9454c0f950e1c75b5c802bcbb00e">~ClientStreamingInterface</a> ()</td></tr>
- <tr class="separator:a312c9454c0f950e1c75b5c802bcbb00e inherit pub_methods_classgrpc_1_1_client_streaming_interface"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_methods_classgrpc_1_1_reader_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_reader_interface')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgrpc_1_1_reader_interface.html">grpc::ReaderInterface< R ></a></td></tr>
- <tr class="memitem:a1fbd3d6e86e2f97e5444f29b0af0a9d5 inherit pub_methods_classgrpc_1_1_reader_interface"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_reader_interface.html#a1fbd3d6e86e2f97e5444f29b0af0a9d5">~ReaderInterface</a> ()</td></tr>
- <tr class="separator:a1fbd3d6e86e2f97e5444f29b0af0a9d5 inherit pub_methods_classgrpc_1_1_reader_interface"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <h2 class="groupheader">Constructor & Destructor Documentation</h2>
- <a class="anchor" id="abf0d84e441443c364b29b206fd7d0c56"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class R > </div>
- <div class="memtemplate">
- template<class W > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classgrpc_1_1_client_reader.html">grpc::ClientReader</a>< R >::<a class="el" href="classgrpc_1_1_client_reader.html">ClientReader</a> </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> * </td>
- <td class="paramname"><em>channel</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> & </td>
- <td class="paramname"><em>method</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const W & </td>
- <td class="paramname"><em>request</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>Blocking create a stream and write the first request out. </p>
- </div>
- </div>
- <h2 class="groupheader">Member Function Documentation</h2>
- <a class="anchor" id="abb69eb7672e42eb09fbc4d7110d142df"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class R > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classgrpc_1_1_status.html">Status</a> <a class="el" href="classgrpc_1_1_client_reader.html">grpc::ClientReader</a>< R >::Finish </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">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Wait until the stream finishes, and return the final status. </p>
- <p>When the client side declares it has no more message to send, either implicitly or by calling <em>WritesDone()</em>, it needs to make sure there is no more message to be received from the server, either implicitly or by getting a false from a <em><a class="el" href="classgrpc_1_1_client_reader.html#a1305f6a3159b73866b4b66621f573ae7" title="Blocking read a message and parse to msg. ">Read()</a></em>.</p>
- <p>This function will return either:</p><ul>
- <li>when all incoming messages have been read and the server has returned status.</li>
- <li>OR when the server has returned a non-OK status. </li>
- </ul>
- <p>Implements <a class="el" href="classgrpc_1_1_client_streaming_interface.html#a98e2927a42c793017ce7d8c6e88539c4">grpc::ClientStreamingInterface</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a1305f6a3159b73866b4b66621f573ae7"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class R > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">bool <a class="el" href="classgrpc_1_1_client_reader.html">grpc::ClientReader</a>< R >::Read </td>
- <td>(</td>
- <td class="paramtype">R * </td>
- <td class="paramname"><em>msg</em></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>Blocking read a message and parse to <em>msg</em>. </p>
- <p>Returns <em>true</em> on success. This is thread-safe with respect to <em>Write</em> or methods on the same stream. It should not be called concurrently with another <em>Read</em> on the same stream as the order of delivery will not be defined.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[out]</td><td class="paramname">msg</td><td>The read message.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd><em>false</em> when there will be no more incoming messages, either because the other side has called <em>WritesDone()</em> or the stream has failed (or been cancelled). </dd></dl>
- <p>Implements <a class="el" href="classgrpc_1_1_reader_interface.html#a04a1da8610d790ea86ecd5a14fe892b8">grpc::ReaderInterface< R ></a>.</p>
- </div>
- </div>
- <a class="anchor" id="aafa93fe8a65edb12a4742c067d90bec1"></a>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class R > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classgrpc_1_1_client_reader.html">grpc::ClientReader</a>< 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">inline</span><span class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Blocking 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 <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> after the first read. </p>
- <p>status ignored </p>
- <p>Implements <a class="el" href="classgrpc_1_1_client_reader_interface.html#aee87dd6e3e8a40853207ceb53b590b19">grpc::ClientReaderInterface< R ></a>.</p>
- </div>
- </div>
- <hr/>The documentation for this class was generated from the following files:<ul>
- <li>include/grpc++/impl/codegen/<a class="el" href="channel__interface_8h_source.html">channel_interface.h</a></li>
- <li>include/grpc++/impl/codegen/<a class="el" href="impl_2codegen_2sync__stream_8h_source.html">sync_stream.h</a></li>
- </ul>
- </div><!-- contents -->
- <!-- start footer part -->
- <hr class="footer"/><address class="footer"><small>
- Generated on Thu Aug 18 2016 21:34:58 for GRPC C++ by  <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/>
- </a> 1.8.11
- </small></address>
- </body>
- </html>
|