<!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"/> <title>GNU Radio 3.3.0 C++ API: gr_tpb_detail Struct Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.3 --> <div class="contents"> <h1>gr_tpb_detail Struct Reference</h1><!-- doxytag: class="gr_tpb_detail" --> <p>used by thread-per-block scheduler <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="gr__tpb__detail_8h_source.html">gr_tpb_detail.h</a>></code></p> <p><a href="structgr__tpb__detail-members.html">List of all members.</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structgr__tpb__detail.html#a5b299fb6e398849a0d58d7eb4a194f3a">gr_tpb_detail</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structgr__tpb__detail.html#a9f6c825786fd71174fe4aacf77afda2f">notify_upstream</a> (<a class="el" href="classgr__block__detail.html">gr_block_detail</a> *d)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Called by us to tell all our upstream blocks that their output may have changed. <a href="#a9f6c825786fd71174fe4aacf77afda2f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structgr__tpb__detail.html#a83752fb01e57a46c9b5308314e4a7a74">notify_downstream</a> (<a class="el" href="classgr__block__detail.html">gr_block_detail</a> *d)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Called by us to tell all our downstream blocks that their input may have changed. <a href="#a83752fb01e57a46c9b5308314e4a7a74"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structgr__tpb__detail.html#a9ac531dd6a123f241025b1c515deaa88">notify_neighbors</a> (<a class="el" href="classgr__block__detail.html">gr_block_detail</a> *d)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Called by us to notify both upstream and downstream. <a href="#a9ac531dd6a123f241025b1c515deaa88"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structgr__tpb__detail.html#ab16a5e289bfa2fa3ab6c84d327eb8a7b">clear_changed</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Called by us. <a href="#ab16a5e289bfa2fa3ab6c84d327eb8a7b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="gc__types_8h.html#a0f2b5d454b7e4dda3861032cfce91085">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structgr__tpb__detail.html#abbff17f40691f0a62c4c195ab41772b3">empty_p</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">is the queue empty? <a href="#abbff17f40691f0a62c4c195ab41772b3"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structgr__tpb__detail.html#a1243f5d56595d66e8661482f05480e1c">insert_tail</a> (pmt::pmt_t msg)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">pmt::pmt_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structgr__tpb__detail.html#aa4fc60cc5558048053e7a85f061c4fad">delete_head_nowait</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">pmt::pmt_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structgr__tpb__detail.html#aba9a2994d5c08792483c3ae6da19ca6a">delete_head_nowait_already_holding_mutex</a> ()</td></tr> <tr><td colspan="2"><h2>Public Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">gruel::mutex </td><td class="memItemRight" valign="bottom"><a class="el" href="structgr__tpb__detail.html#a6855d5a15b1aaa525744439c4e962a76">mutex</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="gc__types_8h.html#a0f2b5d454b7e4dda3861032cfce91085">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structgr__tpb__detail.html#a3410d77a1cb86ae5f67a09b9f556adfd">input_changed</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">gruel::condition_variable </td><td class="memItemRight" valign="bottom"><a class="el" href="structgr__tpb__detail.html#a2d6157d0ff587ba3ab5f04714cda7b44">input_cond</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="gc__types_8h.html#a0f2b5d454b7e4dda3861032cfce91085">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structgr__tpb__detail.html#abade28c82bdbd3b6959421c028859ec8">output_changed</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">gruel::condition_variable </td><td class="memItemRight" valign="bottom"><a class="el" href="structgr__tpb__detail.html#aeabe9a4cd65639c53eee4a94b42ee576">output_cond</a></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>used by thread-per-block scheduler </p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a5b299fb6e398849a0d58d7eb4a194f3a"></a><!-- doxytag: member="gr_tpb_detail::gr_tpb_detail" ref="a5b299fb6e398849a0d58d7eb4a194f3a" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">gr_tpb_detail::gr_tpb_detail </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="ab16a5e289bfa2fa3ab6c84d327eb8a7b"></a><!-- doxytag: member="gr_tpb_detail::clear_changed" ref="ab16a5e289bfa2fa3ab6c84d327eb8a7b" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void gr_tpb_detail::clear_changed </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Called by us. </p> <p>References <a class="el" href="gr__tpb__detail_8h_source.html#l00036">input_changed</a>, <a class="el" href="gr__tpb__detail_8h_source.html#l00035">mutex</a>, and <a class="el" href="gr__tpb__detail_8h_source.html#l00038">output_changed</a>.</p> </div> </div> <a class="anchor" id="aa4fc60cc5558048053e7a85f061c4fad"></a><!-- doxytag: member="gr_tpb_detail::delete_head_nowait" ref="aa4fc60cc5558048053e7a85f061c4fad" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">pmt::pmt_t gr_tpb_detail::delete_head_nowait </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></dt><dd>returns pmt at head of queue or pmt_t() if empty. </dd></dl> </div> </div> <a class="anchor" id="aba9a2994d5c08792483c3ae6da19ca6a"></a><!-- doxytag: member="gr_tpb_detail::delete_head_nowait_already_holding_mutex" ref="aba9a2994d5c08792483c3ae6da19ca6a" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">pmt::pmt_t gr_tpb_detail::delete_head_nowait_already_holding_mutex </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></dt><dd>returns pmt at head of queue or pmt_t() if empty. Caller must already be holding the mutex </dd></dl> </div> </div> <a class="anchor" id="abbff17f40691f0a62c4c195ab41772b3"></a><!-- doxytag: member="gr_tpb_detail::empty_p" ref="abbff17f40691f0a62c4c195ab41772b3" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="gc__types_8h.html#a0f2b5d454b7e4dda3861032cfce91085">bool</a> gr_tpb_detail::empty_p </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>is the queue empty? </p> </div> </div> <a class="anchor" id="a1243f5d56595d66e8661482f05480e1c"></a><!-- doxytag: member="gr_tpb_detail::insert_tail" ref="a1243f5d56595d66e8661482f05480e1c" args="(pmt::pmt_t msg)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void gr_tpb_detail::insert_tail </td> <td>(</td> <td class="paramtype">pmt::pmt_t </td> <td class="paramname"> <em>msg</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a83752fb01e57a46c9b5308314e4a7a74"></a><!-- doxytag: member="gr_tpb_detail::notify_downstream" ref="a83752fb01e57a46c9b5308314e4a7a74" args="(gr_block_detail *d)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void gr_tpb_detail::notify_downstream </td> <td>(</td> <td class="paramtype"><a class="el" href="classgr__block__detail.html">gr_block_detail</a> * </td> <td class="paramname"> <em>d</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Called by us to tell all our downstream blocks that their input may have changed. </p> </div> </div> <a class="anchor" id="a9ac531dd6a123f241025b1c515deaa88"></a><!-- doxytag: member="gr_tpb_detail::notify_neighbors" ref="a9ac531dd6a123f241025b1c515deaa88" args="(gr_block_detail *d)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void gr_tpb_detail::notify_neighbors </td> <td>(</td> <td class="paramtype"><a class="el" href="classgr__block__detail.html">gr_block_detail</a> * </td> <td class="paramname"> <em>d</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Called by us to notify both upstream and downstream. </p> </div> </div> <a class="anchor" id="a9f6c825786fd71174fe4aacf77afda2f"></a><!-- doxytag: member="gr_tpb_detail::notify_upstream" ref="a9f6c825786fd71174fe4aacf77afda2f" args="(gr_block_detail *d)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void gr_tpb_detail::notify_upstream </td> <td>(</td> <td class="paramtype"><a class="el" href="classgr__block__detail.html">gr_block_detail</a> * </td> <td class="paramname"> <em>d</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Called by us to tell all our upstream blocks that their output may have changed. </p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="a3410d77a1cb86ae5f67a09b9f556adfd"></a><!-- doxytag: member="gr_tpb_detail::input_changed" ref="a3410d77a1cb86ae5f67a09b9f556adfd" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="gc__types_8h.html#a0f2b5d454b7e4dda3861032cfce91085">bool</a> <a class="el" href="structgr__tpb__detail.html#a3410d77a1cb86ae5f67a09b9f556adfd">gr_tpb_detail::input_changed</a></td> </tr> </table> </div> <div class="memdoc"> <p>Referenced by <a class="el" href="gr__tpb__detail_8h_source.html#l00058">clear_changed()</a>.</p> </div> </div> <a class="anchor" id="a2d6157d0ff587ba3ab5f04714cda7b44"></a><!-- doxytag: member="gr_tpb_detail::input_cond" ref="a2d6157d0ff587ba3ab5f04714cda7b44" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">gruel::condition_variable <a class="el" href="structgr__tpb__detail.html#a2d6157d0ff587ba3ab5f04714cda7b44">gr_tpb_detail::input_cond</a></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a6855d5a15b1aaa525744439c4e962a76"></a><!-- doxytag: member="gr_tpb_detail::mutex" ref="a6855d5a15b1aaa525744439c4e962a76" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">gruel::mutex <a class="el" href="structgr__tpb__detail.html#a6855d5a15b1aaa525744439c4e962a76">gr_tpb_detail::mutex</a></td> </tr> </table> </div> <div class="memdoc"> <p>Referenced by <a class="el" href="gr__tpb__detail_8h_source.html#l00058">clear_changed()</a>.</p> </div> </div> <a class="anchor" id="abade28c82bdbd3b6959421c028859ec8"></a><!-- doxytag: member="gr_tpb_detail::output_changed" ref="abade28c82bdbd3b6959421c028859ec8" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="gc__types_8h.html#a0f2b5d454b7e4dda3861032cfce91085">bool</a> <a class="el" href="structgr__tpb__detail.html#abade28c82bdbd3b6959421c028859ec8">gr_tpb_detail::output_changed</a></td> </tr> </table> </div> <div class="memdoc"> <p>Referenced by <a class="el" href="gr__tpb__detail_8h_source.html#l00058">clear_changed()</a>.</p> </div> </div> <a class="anchor" id="aeabe9a4cd65639c53eee4a94b42ee576"></a><!-- doxytag: member="gr_tpb_detail::output_cond" ref="aeabe9a4cd65639c53eee4a94b42ee576" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">gruel::condition_variable <a class="el" href="structgr__tpb__detail.html#aeabe9a4cd65639c53eee4a94b42ee576">gr_tpb_detail::output_cond</a></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/>The documentation for this struct was generated from the following file:<ul> <li><a class="el" href="gr__tpb__detail_8h_source.html">gr_tpb_detail.h</a></li> </ul> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated on Wed Dec 29 19:52:57 2010 for GNU Radio 3.3.0 C++ API by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address> </body> </html>