| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472 |
- <!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.13"/>
- <meta name="viewport" content="width=device-width, initial-scale=1"/>
- <title>GRPC C++: grpc::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 > 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.23.0</span>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- end header part -->
- <!-- Generated by Doxygen 1.8.13 -->
- <script type="text/javascript">
- var searchBox = new SearchBox("searchBox", "search",false,'Search');
- </script>
- <script type="text/javascript" src="menudata.js"></script>
- <script type="text/javascript" src="menu.js"></script>
- <script type="text/javascript">
- $(function() {
- initMenu('',true,false,'search.php','Search');
- $(document).ready(function() { init_search(); });
- });
- </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="namespacegrpc_1_1internal.html">internal</a></li><li class="navelem"><a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html">CallOpSet</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::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 > Class Template Reference</div> </div>
- </div><!--header-->
- <div class="contents">
- <p>Primary implementation of <a class="el" href="classgrpc_1_1internal_1_1_call_op_set_interface.html" title="An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the l...">CallOpSetInterface</a>.
- <a href="classgrpc_1_1internal_1_1_call_op_set.html#details">More...</a></p>
- <p><code>#include <<a class="el" href="call__op__set_8h_source.html">call_op_set.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:a6f4d72d5d59ffeaa488c167928743ccc"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html#a6f4d72d5d59ffeaa488c167928743ccc">CallOpSet</a> ()</td></tr>
- <tr class="separator:a6f4d72d5d59ffeaa488c167928743ccc"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a02821cda89011348338e7f20b3dfdc62"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html#a02821cda89011348338e7f20b3dfdc62">CallOpSet</a> (const <a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html">CallOpSet</a> &other)</td></tr>
- <tr class="separator:a02821cda89011348338e7f20b3dfdc62"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a367a19c23a5d5a57c5fed7e95909ec45"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html">CallOpSet</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html#a367a19c23a5d5a57c5fed7e95909ec45">operator=</a> (const <a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html">CallOpSet</a> &other)</td></tr>
- <tr class="separator:a367a19c23a5d5a57c5fed7e95909ec45"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aab1d4740f44f766ef5a1b91cba017a25"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html#aab1d4740f44f766ef5a1b91cba017a25">FillOps</a> (<a class="el" href="classgrpc_1_1internal_1_1_call.html">Call</a> *call) override</td></tr>
- <tr class="memdesc:aab1d4740f44f766ef5a1b91cba017a25"><td class="mdescLeft"> </td><td class="mdescRight">Fills in <a class="el" href="structgrpc__op.html" title="Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments) ...">grpc_op</a>, starting from ops[*nops] and moving upwards. <a href="#aab1d4740f44f766ef5a1b91cba017a25">More...</a><br /></td></tr>
- <tr class="separator:aab1d4740f44f766ef5a1b91cba017a25"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a0e3652f782b9b3d832bd21740f22a78d"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html#a0e3652f782b9b3d832bd21740f22a78d">FinalizeResult</a> (void **tag, bool *status) override</td></tr>
- <tr class="memdesc:a0e3652f782b9b3d832bd21740f22a78d"><td class="mdescLeft"> </td><td class="mdescRight">FinalizeResult must be called before informing user code that the operation bound to the underlying core completion queue tag has completed. <a href="#a0e3652f782b9b3d832bd21740f22a78d">More...</a><br /></td></tr>
- <tr class="separator:a0e3652f782b9b3d832bd21740f22a78d"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a626c528eb250e4811aa9c98b87a994ce"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html#a626c528eb250e4811aa9c98b87a994ce">set_output_tag</a> (void *return_tag)</td></tr>
- <tr class="separator:a626c528eb250e4811aa9c98b87a994ce"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a3eb067a042c699b545051fcae5c6c2f4"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html#a3eb067a042c699b545051fcae5c6c2f4">core_cq_tag</a> () override</td></tr>
- <tr class="memdesc:a3eb067a042c699b545051fcae5c6c2f4"><td class="mdescLeft"> </td><td class="mdescRight">Get the tag to be used at the core completion queue. <a href="#a3eb067a042c699b545051fcae5c6c2f4">More...</a><br /></td></tr>
- <tr class="separator:a3eb067a042c699b545051fcae5c6c2f4"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a449a33a6877ac4710dc40fccaf786c35"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html#a449a33a6877ac4710dc40fccaf786c35">set_core_cq_tag</a> (void *<a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html#a3eb067a042c699b545051fcae5c6c2f4">core_cq_tag</a>)</td></tr>
- <tr class="memdesc:a449a33a6877ac4710dc40fccaf786c35"><td class="mdescLeft"> </td><td class="mdescRight">set_core_cq_tag is used to provide a different core CQ tag than "this". <a href="#a449a33a6877ac4710dc40fccaf786c35">More...</a><br /></td></tr>
- <tr class="separator:a449a33a6877ac4710dc40fccaf786c35"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:afad2bd7afd13037835057c0be9ab14cf"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html#afad2bd7afd13037835057c0be9ab14cf">SetHijackingState</a> () override</td></tr>
- <tr class="separator:afad2bd7afd13037835057c0be9ab14cf"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a9bd70eb135466481368ded47b6918e53"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html#a9bd70eb135466481368ded47b6918e53">ContinueFillOpsAfterInterception</a> () override</td></tr>
- <tr class="separator:a9bd70eb135466481368ded47b6918e53"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a34053b2ef99eb724000da2ed556ae854"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html#a34053b2ef99eb724000da2ed556ae854">ContinueFinalizeResultAfterInterception</a> () override</td></tr>
- <tr class="separator:a34053b2ef99eb724000da2ed556ae854"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_methods_classgrpc_1_1internal_1_1_completion_queue_tag"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1internal_1_1_completion_queue_tag')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classgrpc_1_1internal_1_1_completion_queue_tag.html">grpc::internal::CompletionQueueTag</a></td></tr>
- <tr class="memitem:a53fa1b2f86702495363df0b8edef8758 inherit pub_methods_classgrpc_1_1internal_1_1_completion_queue_tag"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1internal_1_1_completion_queue_tag.html#a53fa1b2f86702495363df0b8edef8758">~CompletionQueueTag</a> ()</td></tr>
- <tr class="separator:a53fa1b2f86702495363df0b8edef8758 inherit pub_methods_classgrpc_1_1internal_1_1_completion_queue_tag"><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 Op1, class Op2, class Op3, class Op4, class Op5, class Op6><br />
- class grpc::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 ></h3>
- <p>Primary implementation of <a class="el" href="classgrpc_1_1internal_1_1_call_op_set_interface.html" title="An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the l...">CallOpSetInterface</a>. </p>
- <p>Since we cannot use variadic templates, we declare slots up to the maximum count of ops we'll need in a set. We leverage the empty base class optimization to slim this class (especially when there are many unused slots used). To avoid duplicate base classes, the template parmeter for <a class="el" href="classgrpc_1_1internal_1_1_call_no_op.html" title="Default argument for CallOpSet. ">CallNoOp</a> is varied by argument position. </p>
- </div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
- <a id="a6f4d72d5d59ffeaa488c167928743ccc"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a6f4d72d5d59ffeaa488c167928743ccc">◆ </a></span>CallOpSet() <span class="overload">[1/2]</span></h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Op1, class Op2, class Op3, class Op4, class Op5, class Op6> </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html">grpc::internal::CallOpSet</a>< Op1, Op2, Op3, Op4, Op5, Op6 >::<a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html">CallOpSet</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="a02821cda89011348338e7f20b3dfdc62"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a02821cda89011348338e7f20b3dfdc62">◆ </a></span>CallOpSet() <span class="overload">[2/2]</span></h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Op1, class Op2, class Op3, class Op4, class Op5, class Op6> </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html">grpc::internal::CallOpSet</a>< Op1, Op2, Op3, Op4, Op5, Op6 >::<a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html">CallOpSet</a> </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html">CallOpSet</a>< Op1, Op2, Op3, Op4, Op5, Op6 > & </td>
- <td class="paramname"><em>other</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">
- </div>
- </div>
- <h2 class="groupheader">Member Function Documentation</h2>
- <a id="a9bd70eb135466481368ded47b6918e53"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a9bd70eb135466481368ded47b6918e53">◆ </a></span>ContinueFillOpsAfterInterception()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Op1, class Op2, class Op3, class Op4, class Op5, class Op6> </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html">grpc::internal::CallOpSet</a>< Op1, Op2, Op3, Op4, Op5, Op6 >::ContinueFillOpsAfterInterception </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 class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Implements <a class="el" href="classgrpc_1_1internal_1_1_call_op_set_interface.html#a5b3641829d7082f83146d17157f1bf38">grpc::internal::CallOpSetInterface</a>.</p>
- </div>
- </div>
- <a id="a34053b2ef99eb724000da2ed556ae854"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a34053b2ef99eb724000da2ed556ae854">◆ </a></span>ContinueFinalizeResultAfterInterception()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Op1, class Op2, class Op3, class Op4, class Op5, class Op6> </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html">grpc::internal::CallOpSet</a>< Op1, Op2, Op3, Op4, Op5, Op6 >::ContinueFinalizeResultAfterInterception </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 class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Implements <a class="el" href="classgrpc_1_1internal_1_1_call_op_set_interface.html#a6218c0c884e8bfd7fa440ee6d15b2397">grpc::internal::CallOpSetInterface</a>.</p>
- </div>
- </div>
- <a id="a3eb067a042c699b545051fcae5c6c2f4"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a3eb067a042c699b545051fcae5c6c2f4">◆ </a></span>core_cq_tag()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Op1, class Op2, class Op3, class Op4, class Op5, class Op6> </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void* <a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html">grpc::internal::CallOpSet</a>< Op1, Op2, Op3, Op4, Op5, Op6 >::core_cq_tag </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 class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Get the tag to be used at the core completion queue. </p>
- <p>Generally, the value of core_cq_tag will be "this". However, it can be overridden if we want core to process the tag differently (e.g., as a core callback) </p>
- <p>Implements <a class="el" href="classgrpc_1_1internal_1_1_call_op_set_interface.html#a20c76c26f622d29b2bc1a064123fe68c">grpc::internal::CallOpSetInterface</a>.</p>
- </div>
- </div>
- <a id="aab1d4740f44f766ef5a1b91cba017a25"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aab1d4740f44f766ef5a1b91cba017a25">◆ </a></span>FillOps()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Op1, class Op2, class Op3, class Op4, class Op5, class Op6> </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html">grpc::internal::CallOpSet</a>< Op1, Op2, Op3, Op4, Op5, Op6 >::FillOps </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classgrpc_1_1internal_1_1_call.html">Call</a> * </td>
- <td class="paramname"><em>call</em></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 class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Fills in <a class="el" href="structgrpc__op.html" title="Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments) ...">grpc_op</a>, starting from ops[*nops] and moving upwards. </p>
- <p>Implements <a class="el" href="classgrpc_1_1internal_1_1_call_op_set_interface.html#aa054715a74b57c71cf3437caa01b138a">grpc::internal::CallOpSetInterface</a>.</p>
- </div>
- </div>
- <a id="a0e3652f782b9b3d832bd21740f22a78d"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a0e3652f782b9b3d832bd21740f22a78d">◆ </a></span>FinalizeResult()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Op1, class Op2, class Op3, class Op4, class Op5, class Op6> </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">bool <a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html">grpc::internal::CallOpSet</a>< Op1, Op2, Op3, Op4, Op5, Op6 >::FinalizeResult </td>
- <td>(</td>
- <td class="paramtype">void ** </td>
- <td class="paramname"><em>tag</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool * </td>
- <td class="paramname"><em>status</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 class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>FinalizeResult must be called before informing user code that the operation bound to the underlying core completion queue tag has completed. </p>
- <p>In practice, this means:</p>
- <ol type="1">
- <li>For the sync API - before returning from Pluck</li>
- <li>For the CQ-based async API - before returning from Next</li>
- <li>For the callback-based API - before invoking the user callback</li>
- </ol>
- <p>This is the method that translates from core-side tag/status to C++ API-observable tag/status.</p>
- <p>The return value is the status of the operation (returning status is the general behavior of this function). If this function returns false, the tag is dropped and not returned from the completion queue: this concept is for events that are observed at core but not requested by the user application (e.g., server shutdown, for server unimplemented method responses, or for cases where a server-side RPC doesn't have a completion notification registered using AsyncNotifyWhenDone) </p>
- <p>Implements <a class="el" href="classgrpc_1_1internal_1_1_completion_queue_tag.html#a554869ba610e1dca49b86bd6913587ba">grpc::internal::CompletionQueueTag</a>.</p>
- </div>
- </div>
- <a id="a367a19c23a5d5a57c5fed7e95909ec45"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a367a19c23a5d5a57c5fed7e95909ec45">◆ </a></span>operator=()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Op1, class Op2, class Op3, class Op4, class Op5, class Op6> </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html">CallOpSet</a>& <a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html">grpc::internal::CallOpSet</a>< Op1, Op2, Op3, Op4, Op5, Op6 >::operator= </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html">CallOpSet</a>< Op1, Op2, Op3, Op4, Op5, Op6 > & </td>
- <td class="paramname"><em>other</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">
- </div>
- </div>
- <a id="a449a33a6877ac4710dc40fccaf786c35"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a449a33a6877ac4710dc40fccaf786c35">◆ </a></span>set_core_cq_tag()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Op1, class Op2, class Op3, class Op4, class Op5, class Op6> </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html">grpc::internal::CallOpSet</a>< Op1, Op2, Op3, Op4, Op5, Op6 >::set_core_cq_tag </td>
- <td>(</td>
- <td class="paramtype">void * </td>
- <td class="paramname"><em>core_cq_tag</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>set_core_cq_tag is used to provide a different core CQ tag than "this". </p>
- <p>This is used for callback-based tags, where the core tag is the core callback function. It does not change the use or behavior of any other function (such as FinalizeResult) </p>
- </div>
- </div>
- <a id="a626c528eb250e4811aa9c98b87a994ce"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a626c528eb250e4811aa9c98b87a994ce">◆ </a></span>set_output_tag()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Op1, class Op2, class Op3, class Op4, class Op5, class Op6> </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html">grpc::internal::CallOpSet</a>< Op1, Op2, Op3, Op4, Op5, Op6 >::set_output_tag </td>
- <td>(</td>
- <td class="paramtype">void * </td>
- <td class="paramname"><em>return_tag</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">
- </div>
- </div>
- <a id="afad2bd7afd13037835057c0be9ab14cf"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#afad2bd7afd13037835057c0be9ab14cf">◆ </a></span>SetHijackingState()</h2>
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<class Op1, class Op2, class Op3, class Op4, class Op5, class Op6> </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classgrpc_1_1internal_1_1_call_op_set.html">grpc::internal::CallOpSet</a>< Op1, Op2, Op3, Op4, Op5, Op6 >::SetHijackingState </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 class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Implements <a class="el" href="classgrpc_1_1internal_1_1_call_op_set_interface.html#a284de4e60b1546872c64d051c85c2977">grpc::internal::CallOpSetInterface</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="call__op__set_8h_source.html">call_op_set.h</a></li>
- </ul>
- </div><!-- contents -->
- <!-- start footer part -->
- <hr class="footer"/><address class="footer"><small>
- Generated on Mon Aug 19 2019 12:05:23 for GRPC C++ by  <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/>
- </a> 1.8.13
- </small></address>
- </body>
- </html>
|