Sophie

Sophie

distrib > Mageia > 3 > i586 > by-pkgid > d2c3cd0736fcf741288cdfea8c6ba8c2 > files > 9306

gnuradio-doc-3.6.4.1-1.mga3.noarch.rpm

<!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.3"/>
<title>GNU Radio 3.6.4.1 C++ API: gruel Namespace 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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</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">GNU Radio 3.6.4.1 C++ API
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3 -->
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('namespacegruel.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">gruel Namespace Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Include this header to use the message passing features.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgruel_1_1msg__accepter.html">msg_accepter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual base class that accepts messages.  <a href="classgruel_1_1msg__accepter.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgruel_1_1msg__accepter__msgq.html">msg_accepter_msgq</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Concrete class that accepts messages and inserts them into a message queue.  <a href="classgruel_1_1msg__accepter__msgq.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgruel_1_1msg__queue.html">msg_queue</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">thread-safe message queue  <a href="classgruel_1_1msg__queue.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgruel_1_1rt__sched__param.html">rt_sched_param</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgruel_1_1sys__pri.html">sys_pri</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgruel_1_1thread__body__wrapper.html">thread_body_wrapper</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgruel_1_1thread__group.html">thread_group</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a047c8e5de8a99de80f0aceae1b6da193"><td class="memItemLeft" align="right" valign="top">typedef signed long long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#a047c8e5de8a99de80f0aceae1b6da193">high_res_timer_type</a></td></tr>
<tr class="memdesc:a047c8e5de8a99de80f0aceae1b6da193"><td class="mdescLeft">&#160;</td><td class="mdescRight">Typedef for the timer tick count.  <a href="#a047c8e5de8a99de80f0aceae1b6da193"></a><br/></td></tr>
<tr class="separator:a047c8e5de8a99de80f0aceae1b6da193"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf8a10d5cbbe169118cacbc8e8faabf8"><td class="memItemLeft" align="right" valign="top">typedef boost::thread&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#acf8a10d5cbbe169118cacbc8e8faabf8">thread</a></td></tr>
<tr class="separator:acf8a10d5cbbe169118cacbc8e8faabf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16a913898c1d7f7a8ee459eb7ace413d"><td class="memItemLeft" align="right" valign="top">typedef boost::mutex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#a16a913898c1d7f7a8ee459eb7ace413d">mutex</a></td></tr>
<tr class="separator:a16a913898c1d7f7a8ee459eb7ace413d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93eaa071dca707d684d1ba1ee4ca74c5"><td class="memItemLeft" align="right" valign="top">typedef boost::unique_lock<br class="typebreak"/>
&lt; boost::mutex &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#a93eaa071dca707d684d1ba1ee4ca74c5">scoped_lock</a></td></tr>
<tr class="separator:a93eaa071dca707d684d1ba1ee4ca74c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f31867c7b47853d55962183d0a4e999"><td class="memItemLeft" align="right" valign="top">typedef boost::condition_variable&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#a7f31867c7b47853d55962183d0a4e999">condition_variable</a></td></tr>
<tr class="separator:a7f31867c7b47853d55962183d0a4e999"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6de6d44cd75f4cb0231445f6c68597c3"><td class="memItemLeft" align="right" valign="top">typedef pthread_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#a6de6d44cd75f4cb0231445f6c68597c3">gr_thread_t</a></td></tr>
<tr class="memdesc:a6de6d44cd75f4cb0231445f6c68597c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">a system-dependent typedef for the underlying thread type.  <a href="#a6de6d44cd75f4cb0231445f6c68597c3"></a><br/></td></tr>
<tr class="separator:a6de6d44cd75f4cb0231445f6c68597c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a926b5ecf465d839c1f2865d324d65e49"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#a926b5ecf465d839c1f2865d324d65e49">rt_status_t</a> { <a class="el" href="namespacegruel.html#a926b5ecf465d839c1f2865d324d65e49a51efcbdb7bcb21417dd30bfeb585833e">RT_OK</a> = 0, 
<a class="el" href="namespacegruel.html#a926b5ecf465d839c1f2865d324d65e49aeabba59edb3b7afbe1d5c3c650aba745">RT_NOT_IMPLEMENTED</a>, 
<a class="el" href="namespacegruel.html#a926b5ecf465d839c1f2865d324d65e49ab466034c5aec2403b5d647c626840980">RT_NO_PRIVS</a>, 
<a class="el" href="namespacegruel.html#a926b5ecf465d839c1f2865d324d65e49adab4c4379f9f3078259ac6ec12ffdd84">RT_OTHER_ERROR</a>
 }</td></tr>
<tr class="separator:a926b5ecf465d839c1f2865d324d65e49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad654b91164aa4b28303e2471069dff8a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#ad654b91164aa4b28303e2471069dff8a">rt_sched_policy</a> { <a class="el" href="namespacegruel.html#ad654b91164aa4b28303e2471069dff8aa71e42ef95539a491a37437c2beafcbd2">RT_SCHED_RR</a> = 0, 
<a class="el" href="namespacegruel.html#ad654b91164aa4b28303e2471069dff8aab2c83cff1d15f845371844213e1a32d8">RT_SCHED_FIFO</a> = 1
 }</td></tr>
<tr class="separator:ad654b91164aa4b28303e2471069dff8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:aa65e82a13465bea3f42613e5b0787e35"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacegruel.html#a047c8e5de8a99de80f0aceae1b6da193">high_res_timer_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#aa65e82a13465bea3f42613e5b0787e35">high_res_timer_now</a> (<a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a>)</td></tr>
<tr class="memdesc:aa65e82a13465bea3f42613e5b0787e35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current time in ticks.  <a href="#aa65e82a13465bea3f42613e5b0787e35"></a><br/></td></tr>
<tr class="separator:aa65e82a13465bea3f42613e5b0787e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf3f3c6f8454f9df6bfad8df8ac57634"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacegruel.html#a047c8e5de8a99de80f0aceae1b6da193">high_res_timer_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#abf3f3c6f8454f9df6bfad8df8ac57634">high_res_timer_tps</a> (<a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a>)</td></tr>
<tr class="memdesc:abf3f3c6f8454f9df6bfad8df8ac57634"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of ticks per second.  <a href="#abf3f3c6f8454f9df6bfad8df8ac57634"></a><br/></td></tr>
<tr class="separator:abf3f3c6f8454f9df6bfad8df8ac57634"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38bbc1ddf9e8af4422ab161104b1dd84"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacegruel.html#a047c8e5de8a99de80f0aceae1b6da193">high_res_timer_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#a38bbc1ddf9e8af4422ab161104b1dd84">high_res_timer_epoch</a> (<a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a>)</td></tr>
<tr class="memdesc:a38bbc1ddf9e8af4422ab161104b1dd84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the tick count at the epoch.  <a href="#a38bbc1ddf9e8af4422ab161104b1dd84"></a><br/></td></tr>
<tr class="separator:a38bbc1ddf9e8af4422ab161104b1dd84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13ea02c0ad4a0d79e85645cc2bcb2c88"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#a13ea02c0ad4a0d79e85645cc2bcb2c88">send</a> (<a class="el" href="classboost_1_1shared__ptr.html">msg_accepter_sptr</a> accepter, const <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a> &amp;which_port, const <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a> &amp;msg)</td></tr>
<tr class="memdesc:a13ea02c0ad4a0d79e85645cc2bcb2c88"><td class="mdescLeft">&#160;</td><td class="mdescRight">send message to <a class="el" href="classgruel_1_1msg__accepter.html" title="Virtual base class that accepts messages.">msg_accepter</a>  <a href="#a13ea02c0ad4a0d79e85645cc2bcb2c88"></a><br/></td></tr>
<tr class="separator:a13ea02c0ad4a0d79e85645cc2bcb2c88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57bc482e98cd83cc49a235e6b97cddae"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#a57bc482e98cd83cc49a235e6b97cddae">send</a> (<a class="el" href="classgruel_1_1msg__accepter.html">msg_accepter</a> *accepter, const <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a> &amp;which_port, const <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a> &amp;msg)</td></tr>
<tr class="memdesc:a57bc482e98cd83cc49a235e6b97cddae"><td class="mdescLeft">&#160;</td><td class="mdescRight">send message to <a class="el" href="classgruel_1_1msg__accepter.html" title="Virtual base class that accepts messages.">msg_accepter</a>  <a href="#a57bc482e98cd83cc49a235e6b97cddae"></a><br/></td></tr>
<tr class="separator:a57bc482e98cd83cc49a235e6b97cddae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad207c3deb775c43ffc54df77d59fa9c3"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#ad207c3deb775c43ffc54df77d59fa9c3">send</a> (<a class="el" href="classgruel_1_1msg__accepter.html">msg_accepter</a> &amp;accepter, const <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a> &amp;which_port, const <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a> &amp;msg)</td></tr>
<tr class="memdesc:ad207c3deb775c43ffc54df77d59fa9c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">send message to <a class="el" href="classgruel_1_1msg__accepter.html" title="Virtual base class that accepts messages.">msg_accepter</a>  <a href="#ad207c3deb775c43ffc54df77d59fa9c3"></a><br/></td></tr>
<tr class="separator:ad207c3deb775c43ffc54df77d59fa9c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace0465dbdc16bf3330e65bb4d54761a9"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#ace0465dbdc16bf3330e65bb4d54761a9">send</a> (<a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a> accepter, const <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a> &amp;which_port, const <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a> &amp;msg)</td></tr>
<tr class="memdesc:ace0465dbdc16bf3330e65bb4d54761a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">send message to <a class="el" href="classgruel_1_1msg__accepter.html" title="Virtual base class that accepts messages.">msg_accepter</a>  <a href="#ace0465dbdc16bf3330e65bb4d54761a9"></a><br/></td></tr>
<tr class="separator:ace0465dbdc16bf3330e65bb4d54761a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae77b86e30b23918b6de0c0fcbe11ff07"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1shared__ptr.html">msg_queue_sptr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#ae77b86e30b23918b6de0c0fcbe11ff07">make_msg_queue</a> (unsigned int limit=0)</td></tr>
<tr class="separator:ae77b86e30b23918b6de0c0fcbe11ff07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad32b5bf1b2e767ac6339e4d8507a6d7f"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#ad32b5bf1b2e767ac6339e4d8507a6d7f">rt_priority_min</a> ()</td></tr>
<tr class="separator:ad32b5bf1b2e767ac6339e4d8507a6d7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ad858d39d59308a89dcfae89bef2ec5"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#a0ad858d39d59308a89dcfae89bef2ec5">rt_priority_max</a> ()</td></tr>
<tr class="separator:a0ad858d39d59308a89dcfae89bef2ec5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01082c0117d0ff3cdf3d017ea9432dac"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#a01082c0117d0ff3cdf3d017ea9432dac">rt_priority_default</a> ()</td></tr>
<tr class="separator:a01082c0117d0ff3cdf3d017ea9432dac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7cf318566c517be7ebe2590660d959f5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacegruel.html#a926b5ecf465d839c1f2865d324d65e49">rt_status_t</a> <a class="el" href="gruel_2src_2include_2gruel_2api_8h.html#af4aaed4185febb5244160f8484a6bc16">GRUEL_API</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#ga7cf318566c517be7ebe2590660d959f5">enable_realtime_scheduling</a> (<a class="el" href="structgruel_1_1rt__sched__param.html">rt_sched_param</a>=<a class="el" href="structgruel_1_1rt__sched__param.html">rt_sched_param</a>())</td></tr>
<tr class="memdesc:ga7cf318566c517be7ebe2590660d959f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">If possible, enable "realtime" scheduling.In general, this means that the code will be scheduled before any non-realtime (normal) processes. Note that if your code contains an non-blocking infinite loop and you enable realtime scheduling, it's possible to hang the system.  <a href="group__misc.html#ga7cf318566c517be7ebe2590660d959f5"></a><br/></td></tr>
<tr class="separator:ga7cf318566c517be7ebe2590660d959f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf4f0ddbf64290819446901817615831"><td class="memItemLeft" align="right" valign="top"><a class="el" href="gruel_2src_2include_2gruel_2api_8h.html#af4aaed4185febb5244160f8484a6bc16">GRUEL_API</a> <a class="el" href="namespacegruel.html#a6de6d44cd75f4cb0231445f6c68597c3">gr_thread_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#abf4f0ddbf64290819446901817615831">get_current_thread_id</a> ()</td></tr>
<tr class="memdesc:abf4f0ddbf64290819446901817615831"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current thread's ID as a gr_thread_t.  <a href="#abf4f0ddbf64290819446901817615831"></a><br/></td></tr>
<tr class="separator:abf4f0ddbf64290819446901817615831"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a663f8a7a6842616d11515aa5a0a90292"><td class="memItemLeft" align="right" valign="top"><a class="el" href="gruel_2src_2include_2gruel_2api_8h.html#af4aaed4185febb5244160f8484a6bc16">GRUEL_API</a> <a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#a663f8a7a6842616d11515aa5a0a90292">thread_bind_to_processor</a> (const std::vector&lt; unsigned int &gt; &amp;mask)</td></tr>
<tr class="memdesc:a663f8a7a6842616d11515aa5a0a90292"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bind the current thread to a set of cores.  <a href="#a663f8a7a6842616d11515aa5a0a90292"></a><br/></td></tr>
<tr class="separator:a663f8a7a6842616d11515aa5a0a90292"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0fd6eac6472398b2edc28aa5755c370"><td class="memItemLeft" align="right" valign="top"><a class="el" href="gruel_2src_2include_2gruel_2api_8h.html#af4aaed4185febb5244160f8484a6bc16">GRUEL_API</a> <a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#ac0fd6eac6472398b2edc28aa5755c370">thread_bind_to_processor</a> (unsigned int n)</td></tr>
<tr class="memdesc:ac0fd6eac6472398b2edc28aa5755c370"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convineince function to bind the current thread to a single core.  <a href="#ac0fd6eac6472398b2edc28aa5755c370"></a><br/></td></tr>
<tr class="separator:ac0fd6eac6472398b2edc28aa5755c370"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18e0d9715ba979d40ad6b388cfde2d23"><td class="memItemLeft" align="right" valign="top"><a class="el" href="gruel_2src_2include_2gruel_2api_8h.html#af4aaed4185febb5244160f8484a6bc16">GRUEL_API</a> <a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#a18e0d9715ba979d40ad6b388cfde2d23">thread_bind_to_processor</a> (<a class="el" href="namespacegruel.html#a6de6d44cd75f4cb0231445f6c68597c3">gr_thread_t</a> <a class="el" href="namespacegruel.html#acf8a10d5cbbe169118cacbc8e8faabf8">thread</a>, const std::vector&lt; unsigned int &gt; &amp;mask)</td></tr>
<tr class="memdesc:a18e0d9715ba979d40ad6b388cfde2d23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bind a thread to a set of cores.  <a href="#a18e0d9715ba979d40ad6b388cfde2d23"></a><br/></td></tr>
<tr class="separator:a18e0d9715ba979d40ad6b388cfde2d23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac320d64b8eacdf7e519bdc1789ad0398"><td class="memItemLeft" align="right" valign="top"><a class="el" href="gruel_2src_2include_2gruel_2api_8h.html#af4aaed4185febb5244160f8484a6bc16">GRUEL_API</a> <a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#ac320d64b8eacdf7e519bdc1789ad0398">thread_bind_to_processor</a> (<a class="el" href="namespacegruel.html#a6de6d44cd75f4cb0231445f6c68597c3">gr_thread_t</a> <a class="el" href="namespacegruel.html#acf8a10d5cbbe169118cacbc8e8faabf8">thread</a>, unsigned int n)</td></tr>
<tr class="memdesc:ac320d64b8eacdf7e519bdc1789ad0398"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convineince function to bind the a thread to a single core.  <a href="#ac320d64b8eacdf7e519bdc1789ad0398"></a><br/></td></tr>
<tr class="separator:ac320d64b8eacdf7e519bdc1789ad0398"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd5e570015c1d84a0e8fec66d181325e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="gruel_2src_2include_2gruel_2api_8h.html#af4aaed4185febb5244160f8484a6bc16">GRUEL_API</a> <a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#afd5e570015c1d84a0e8fec66d181325e">thread_unbind</a> ()</td></tr>
<tr class="memdesc:afd5e570015c1d84a0e8fec66d181325e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove any thread-processor affinity for the current thread.  <a href="#afd5e570015c1d84a0e8fec66d181325e"></a><br/></td></tr>
<tr class="separator:afd5e570015c1d84a0e8fec66d181325e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af379cf6746b676dbeb161d16269a1498"><td class="memItemLeft" align="right" valign="top"><a class="el" href="gruel_2src_2include_2gruel_2api_8h.html#af4aaed4185febb5244160f8484a6bc16">GRUEL_API</a> <a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#af379cf6746b676dbeb161d16269a1498">thread_unbind</a> (<a class="el" href="namespacegruel.html#a6de6d44cd75f4cb0231445f6c68597c3">gr_thread_t</a> <a class="el" href="namespacegruel.html#acf8a10d5cbbe169118cacbc8e8faabf8">thread</a>)</td></tr>
<tr class="memdesc:af379cf6746b676dbeb161d16269a1498"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove any thread-processor affinity for a given thread ID.  <a href="#af379cf6746b676dbeb161d16269a1498"></a><br/></td></tr>
<tr class="separator:af379cf6746b676dbeb161d16269a1498"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a859323c0fa98c92f9e549f7051d62d4b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="gruel_2src_2include_2gruel_2api_8h.html#af4aaed4185febb5244160f8484a6bc16">GRUEL_API</a> <a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegruel.html#a859323c0fa98c92f9e549f7051d62d4b">mask_signals</a> ()</td></tr>
<tr class="separator:a859323c0fa98c92f9e549f7051d62d4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Include this header to use the message passing features. </p>
<p>System independent way to ask for realtime scheduling.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="sys__pri_8h.html">sys_pri.h</a> </dd></dl>
</div><h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="a7f31867c7b47853d55962183d0a4e999"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef boost::condition_variable <a class="el" href="namespacegruel.html#a7f31867c7b47853d55962183d0a4e999">gruel::condition_variable</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6de6d44cd75f4cb0231445f6c68597c3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef pthread_t <a class="el" href="namespacegruel.html#a6de6d44cd75f4cb0231445f6c68597c3">gruel::gr_thread_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>a system-dependent typedef for the underlying thread type. </p>

</div>
</div>
<a class="anchor" id="a047c8e5de8a99de80f0aceae1b6da193"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef signed long long <a class="el" href="namespacegruel.html#a047c8e5de8a99de80f0aceae1b6da193">gruel::high_res_timer_type</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Typedef for the timer tick count. </p>

</div>
</div>
<a class="anchor" id="a16a913898c1d7f7a8ee459eb7ace413d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef boost::mutex <a class="el" href="namespacegruel.html#a16a913898c1d7f7a8ee459eb7ace413d">gruel::mutex</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a93eaa071dca707d684d1ba1ee4ca74c5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef boost::unique_lock&lt;boost::mutex&gt; <a class="el" href="namespacegruel.html#a93eaa071dca707d684d1ba1ee4ca74c5">gruel::scoped_lock</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="acf8a10d5cbbe169118cacbc8e8faabf8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef boost::thread <a class="el" href="namespacegruel.html#acf8a10d5cbbe169118cacbc8e8faabf8">gruel::thread</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ad654b91164aa4b28303e2471069dff8a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="namespacegruel.html#ad654b91164aa4b28303e2471069dff8a">gruel::rt_sched_policy</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ad654b91164aa4b28303e2471069dff8aa71e42ef95539a491a37437c2beafcbd2"></a>RT_SCHED_RR</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ad654b91164aa4b28303e2471069dff8aab2c83cff1d15f845371844213e1a32d8"></a>RT_SCHED_FIFO</em>&nbsp;</td><td class="fielddoc">
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a926b5ecf465d839c1f2865d324d65e49"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="namespacegruel.html#a926b5ecf465d839c1f2865d324d65e49">gruel::rt_status_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a926b5ecf465d839c1f2865d324d65e49a51efcbdb7bcb21417dd30bfeb585833e"></a>RT_OK</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a926b5ecf465d839c1f2865d324d65e49aeabba59edb3b7afbe1d5c3c650aba745"></a>RT_NOT_IMPLEMENTED</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a926b5ecf465d839c1f2865d324d65e49ab466034c5aec2403b5d647c626840980"></a>RT_NO_PRIVS</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a926b5ecf465d839c1f2865d324d65e49adab4c4379f9f3078259ac6ec12ffdd84"></a>RT_OTHER_ERROR</em>&nbsp;</td><td class="fielddoc">
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="abf4f0ddbf64290819446901817615831"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="gruel_2src_2include_2gruel_2api_8h.html#af4aaed4185febb5244160f8484a6bc16">GRUEL_API</a> <a class="el" href="namespacegruel.html#a6de6d44cd75f4cb0231445f6c68597c3">gr_thread_t</a> gruel::get_current_thread_id </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the current thread's ID as a gr_thread_t. </p>
<p>We use this when setting the thread affinity or any other low-level thread settings. Can be called withing a GNU Radio block to get a reference to its current thread ID. </p>

</div>
</div>
<a class="anchor" id="a38bbc1ddf9e8af4422ab161104b1dd84"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacegruel.html#a047c8e5de8a99de80f0aceae1b6da193">gruel::high_res_timer_type</a> gruel::high_res_timer_epoch </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a>&#160;</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">

<p>Get the tick count at the epoch. </p>

<p>References <a class="el" href="namespacegruel.html#aa65e82a13465bea3f42613e5b0787e35">high_res_timer_now()</a>, and <a class="el" href="namespacegruel.html#abf3f3c6f8454f9df6bfad8df8ac57634">high_res_timer_tps()</a>.</p>

</div>
</div>
<a class="anchor" id="aa65e82a13465bea3f42613e5b0787e35"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacegruel.html#a047c8e5de8a99de80f0aceae1b6da193">gruel::high_res_timer_type</a> gruel::high_res_timer_now </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a>&#160;</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">

<p>Get the current time in ticks. </p>

<p>Referenced by <a class="el" href="namespacegruel.html#a38bbc1ddf9e8af4422ab161104b1dd84">high_res_timer_epoch()</a>.</p>

</div>
</div>
<a class="anchor" id="abf3f3c6f8454f9df6bfad8df8ac57634"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacegruel.html#a047c8e5de8a99de80f0aceae1b6da193">gruel::high_res_timer_type</a> gruel::high_res_timer_tps </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a>&#160;</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">

<p>Get the number of ticks per second. </p>

<p>Referenced by <a class="el" href="namespacegruel.html#a38bbc1ddf9e8af4422ab161104b1dd84">high_res_timer_epoch()</a>.</p>

</div>
</div>
<a class="anchor" id="ae77b86e30b23918b6de0c0fcbe11ff07"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classboost_1_1shared__ptr.html">msg_queue_sptr</a> gruel::make_msg_queue </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>limit</em> = <code>0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a859323c0fa98c92f9e549f7051d62d4b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="gruel_2src_2include_2gruel_2api_8h.html#af4aaed4185febb5244160f8484a6bc16">GRUEL_API</a> <a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> gruel::mask_signals </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classgruel_1_1thread__body__wrapper.html#af0d76a18a7dd6bf93dfcc3f8356d4954">gruel::thread_body_wrapper&lt; F &gt;::operator()()</a>.</p>

</div>
</div>
<a class="anchor" id="a01082c0117d0ff3cdf3d017ea9432dac"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static int gruel::rt_priority_default </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">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a0ad858d39d59308a89dcfae89bef2ec5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static int gruel::rt_priority_max </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">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="structgruel_1_1rt__sched__param.html#a5257e726503db28d31aa4f780ddead47">gruel::rt_sched_param::rt_sched_param()</a>.</p>

</div>
</div>
<a class="anchor" id="ad32b5bf1b2e767ac6339e4d8507a6d7f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static int gruel::rt_priority_min </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">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="structgruel_1_1rt__sched__param.html#a5257e726503db28d31aa4f780ddead47">gruel::rt_sched_param::rt_sched_param()</a>.</p>

</div>
</div>
<a class="anchor" id="a13ea02c0ad4a0d79e85645cc2bcb2c88"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a> gruel::send </td>
          <td>(</td>
          <td class="paramtype">msg_accepter_sptr&#160;</td>
          <td class="paramname"><em>accepter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a> &amp;&#160;</td>
          <td class="paramname"><em>which_port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a> &amp;&#160;</td>
          <td class="paramname"><em>msg</em>&#160;</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">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>send message to <a class="el" href="classgruel_1_1msg__accepter.html" title="Virtual base class that accepts messages.">msg_accepter</a> </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">accepter</td><td>is the target of the send. </td></tr>
    <tr><td class="paramname">which_port</td><td>A pmt symbol describing the port by name. </td></tr>
    <tr><td class="paramname">msg</td><td>is the message to send. It's usually a pmt tuple.</td></tr>
  </table>
  </dd>
</dl>
<p>Sending a message is an asynchronous operation. The <code>send</code> call will not wait for the message either to arrive at the destination or to be received.</p>
<dl class="section return"><dt>Returns</dt><dd>msg </dd></dl>

<p>Referenced by <a class="el" href="namespacegruel.html#ace0465dbdc16bf3330e65bb4d54761a9">send()</a>.</p>

</div>
</div>
<a class="anchor" id="a57bc482e98cd83cc49a235e6b97cddae"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a> gruel::send </td>
          <td>(</td>
          <td class="paramtype">msg_accepter *&#160;</td>
          <td class="paramname"><em>accepter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a> &amp;&#160;</td>
          <td class="paramname"><em>which_port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a> &amp;&#160;</td>
          <td class="paramname"><em>msg</em>&#160;</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">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>send message to <a class="el" href="classgruel_1_1msg__accepter.html" title="Virtual base class that accepts messages.">msg_accepter</a> </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">accepter</td><td>is the target of the send. </td></tr>
    <tr><td class="paramname">which_port</td><td>A pmt symbol describing the port by name. </td></tr>
    <tr><td class="paramname">msg</td><td>is the message to send. It's usually a pmt tuple.</td></tr>
  </table>
  </dd>
</dl>
<p>Sending a message is an asynchronous operation. The <code>send</code> call will not wait for the message either to arrive at the destination or to be received.</p>
<dl class="section return"><dt>Returns</dt><dd>msg </dd></dl>

<p>References <a class="el" href="classgruel_1_1msg__accepter.html#a62d8adbf698ebc526653f5dc329442ca">gruel::msg_accepter::post()</a>.</p>

</div>
</div>
<a class="anchor" id="ad207c3deb775c43ffc54df77d59fa9c3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a> gruel::send </td>
          <td>(</td>
          <td class="paramtype">msg_accepter &amp;&#160;</td>
          <td class="paramname"><em>accepter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a> &amp;&#160;</td>
          <td class="paramname"><em>which_port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a> &amp;&#160;</td>
          <td class="paramname"><em>msg</em>&#160;</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">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>send message to <a class="el" href="classgruel_1_1msg__accepter.html" title="Virtual base class that accepts messages.">msg_accepter</a> </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">accepter</td><td>is the target of the send. </td></tr>
    <tr><td class="paramname">which_port</td><td>A pmt symbol describing the port by name. </td></tr>
    <tr><td class="paramname">msg</td><td>is the message to send. It's usually a pmt tuple.</td></tr>
  </table>
  </dd>
</dl>
<p>Sending a message is an asynchronous operation. The <code>send</code> call will not wait for the message either to arrive at the destination or to be received.</p>
<dl class="section return"><dt>Returns</dt><dd>msg </dd></dl>

<p>References <a class="el" href="classgruel_1_1msg__accepter.html#a62d8adbf698ebc526653f5dc329442ca">gruel::msg_accepter::post()</a>.</p>

</div>
</div>
<a class="anchor" id="ace0465dbdc16bf3330e65bb4d54761a9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a> gruel::send </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a>&#160;</td>
          <td class="paramname"><em>accepter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a> &amp;&#160;</td>
          <td class="paramname"><em>which_port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespacepmt.html#ab4b70d9293452eb74dd07c670e6811fa">pmt::pmt_t</a> &amp;&#160;</td>
          <td class="paramname"><em>msg</em>&#160;</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">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>send message to <a class="el" href="classgruel_1_1msg__accepter.html" title="Virtual base class that accepts messages.">msg_accepter</a> </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">accepter</td><td>is the target of the send. precond: pmt_is_msg_accepter(accepter) </td></tr>
    <tr><td class="paramname">which_port</td><td>A pmt symbol describing the port by name. </td></tr>
    <tr><td class="paramname">msg</td><td>is the message to send. It's usually a pmt tuple.</td></tr>
  </table>
  </dd>
</dl>
<p>Sending a message is an asynchronous operation. The <code>send</code> call will not wait for the message either to arrive at the destination or to be received.</p>
<dl class="section return"><dt>Returns</dt><dd>msg </dd></dl>

<p>References <a class="el" href="namespacepmt.html#ace122e1b2c1cc95cddf393761772b306">pmt::pmt_msg_accepter_ref()</a>, and <a class="el" href="namespacegruel.html#a13ea02c0ad4a0d79e85645cc2bcb2c88">send()</a>.</p>

</div>
</div>
<a class="anchor" id="a663f8a7a6842616d11515aa5a0a90292"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="gruel_2src_2include_2gruel_2api_8h.html#af4aaed4185febb5244160f8484a6bc16">GRUEL_API</a> <a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> gruel::thread_bind_to_processor </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; unsigned int &gt; &amp;&#160;</td>
          <td class="paramname"><em>mask</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bind the current thread to a set of cores. </p>
<p>Wrapper for system-dependent calls to set the affinity of the current thread to the processor mask. The mask is simply a 1-demensional vector containing the processor or core number from 0 to N-1 for N cores.</p>
<p>Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion). </p>

</div>
</div>
<a class="anchor" id="ac0fd6eac6472398b2edc28aa5755c370"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="gruel_2src_2include_2gruel_2api_8h.html#af4aaed4185febb5244160f8484a6bc16">GRUEL_API</a> <a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> gruel::thread_bind_to_processor </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convineince function to bind the current thread to a single core. </p>
<p>Wrapper for system-dependent calls to set the affinity of the current thread to a given core from 0 to N-1 for N cores.</p>
<p>Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion). </p>

</div>
</div>
<a class="anchor" id="a18e0d9715ba979d40ad6b388cfde2d23"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="gruel_2src_2include_2gruel_2api_8h.html#af4aaed4185febb5244160f8484a6bc16">GRUEL_API</a> <a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> gruel::thread_bind_to_processor </td>
          <td>(</td>
          <td class="paramtype">gr_thread_t&#160;</td>
          <td class="paramname"><em>thread</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; unsigned int &gt; &amp;&#160;</td>
          <td class="paramname"><em>mask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bind a thread to a set of cores. </p>
<p>Wrapper for system-dependent calls to set the affinity of the given thread ID to the processor mask. The mask is simply a 1-demensional vector containing the processor or core number from 0 to N-1 for N cores.</p>
<p>Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion). </p>

</div>
</div>
<a class="anchor" id="ac320d64b8eacdf7e519bdc1789ad0398"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="gruel_2src_2include_2gruel_2api_8h.html#af4aaed4185febb5244160f8484a6bc16">GRUEL_API</a> <a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> gruel::thread_bind_to_processor </td>
          <td>(</td>
          <td class="paramtype">gr_thread_t&#160;</td>
          <td class="paramname"><em>thread</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convineince function to bind the a thread to a single core. </p>
<p>Wrapper for system-dependent calls to set the affinity of the given thread ID to a given core from 0 to N-1 for N cores.</p>
<p>Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion). </p>

</div>
</div>
<a class="anchor" id="afd5e570015c1d84a0e8fec66d181325e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="gruel_2src_2include_2gruel_2api_8h.html#af4aaed4185febb5244160f8484a6bc16">GRUEL_API</a> <a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> gruel::thread_unbind </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove any thread-processor affinity for the current thread. </p>
<p>Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion). </p>

</div>
</div>
<a class="anchor" id="af379cf6746b676dbeb161d16269a1498"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="gruel_2src_2include_2gruel_2api_8h.html#af4aaed4185febb5244160f8484a6bc16">GRUEL_API</a> <a class="el" href="volk_8tmpl_8h.html#a8dc2b7da310a28e667530ba0e8ca4cc4">void</a> gruel::thread_unbind </td>
          <td>(</td>
          <td class="paramtype">gr_thread_t&#160;</td>
          <td class="paramname"><em>thread</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove any thread-processor affinity for a given thread ID. </p>
<p>Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion). </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespacegruel.html">gruel</a></li>
    <li class="footer">Generated on Fri Apr 19 2013 16:20:41 for GNU Radio 3.6.4.1 C++ API by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.3 </li>
  </ul>
</div>
</body>
</html>