Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-release > by-pkgid > eb4b034508697cc17e7c9cfffe7f772b > files > 101

uhd-doc-3.7.2-3.mga5.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.8"/>
<title>UHD: uhd::transport::udp_zero_copy Class 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/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</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">UHD
   &#160;<span id="projectnumber">003.007.002-0-unknown</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Macros</a></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="namespaceuhd.html">uhd</a></li><li class="navelem"><a class="el" href="namespaceuhd_1_1transport.html">transport</a></li><li class="navelem"><a class="el" href="classuhd_1_1transport_1_1udp__zero__copy.html">udp_zero_copy</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classuhd_1_1transport_1_1udp__zero__copy-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">uhd::transport::udp_zero_copy Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="udp__zero__copy_8hpp_source.html">udp_zero_copy.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for uhd::transport::udp_zero_copy:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classuhd_1_1transport_1_1udp__zero__copy.png" usemap="#uhd::transport::udp_zero_copy_map" alt=""/>
  <map id="uhd::transport::udp_zero_copy_map" name="uhd::transport::udp_zero_copy_map">
<area href="classuhd_1_1transport_1_1zero__copy__if.html" alt="uhd::transport::zero_copy_if" shape="rect" coords="0,56,183,80"/>
</map>
 </div></div>
<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">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structuhd_1_1transport_1_1udp__zero__copy_1_1buff__params.html">buff_params</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="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a59744845d9823ec8aa2953b0377fe0e8"><td class="memItemLeft" align="right" valign="top">typedef boost::shared_ptr<br class="typebreak" />
&lt; <a class="el" href="classuhd_1_1transport_1_1udp__zero__copy.html">udp_zero_copy</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuhd_1_1transport_1_1udp__zero__copy.html#a59744845d9823ec8aa2953b0377fe0e8">sptr</a></td></tr>
<tr class="separator:a59744845d9823ec8aa2953b0377fe0e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classuhd_1_1transport_1_1zero__copy__if"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classuhd_1_1transport_1_1zero__copy__if')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classuhd_1_1transport_1_1zero__copy__if.html">uhd::transport::zero_copy_if</a></td></tr>
<tr class="memitem:aee1d3b676905a547aede35b85438e613 inherit pub_types_classuhd_1_1transport_1_1zero__copy__if"><td class="memItemLeft" align="right" valign="top">typedef boost::shared_ptr<br class="typebreak" />
&lt; <a class="el" href="classuhd_1_1transport_1_1zero__copy__if.html">zero_copy_if</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuhd_1_1transport_1_1zero__copy__if.html#aee1d3b676905a547aede35b85438e613">sptr</a></td></tr>
<tr class="separator:aee1d3b676905a547aede35b85438e613 inherit pub_types_classuhd_1_1transport_1_1zero__copy__if"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a0484811ae115bdbf8780ebb11032ba39"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classuhd_1_1transport_1_1udp__zero__copy.html#a59744845d9823ec8aa2953b0377fe0e8">sptr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuhd_1_1transport_1_1udp__zero__copy.html#a0484811ae115bdbf8780ebb11032ba39">make</a> (const std::string &amp;addr, const std::string &amp;port, const <a class="el" href="structuhd_1_1transport_1_1zero__copy__xport__params.html">zero_copy_xport_params</a> &amp;default_buff_args, <a class="el" href="structuhd_1_1transport_1_1udp__zero__copy_1_1buff__params.html">udp_zero_copy::buff_params</a> &amp;buff_params_out, const <a class="el" href="classuhd_1_1device__addr__t.html">device_addr_t</a> &amp;hints=<a class="el" href="classuhd_1_1device__addr__t.html">device_addr_t</a>())</td></tr>
<tr class="separator:a0484811ae115bdbf8780ebb11032ba39"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classuhd_1_1transport_1_1zero__copy__if')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classuhd_1_1transport_1_1zero__copy__if.html">uhd::transport::zero_copy_if</a></td></tr>
<tr class="memitem:a90e0e317f33f7c54d17407801d364ede inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuhd_1_1transport_1_1zero__copy__if.html#a90e0e317f33f7c54d17407801d364ede">~zero_copy_if</a> ()</td></tr>
<tr class="separator:a90e0e317f33f7c54d17407801d364ede inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a616c3bbf1f7e7f750eed9546057e2e09 inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classuhd_1_1transport_1_1managed__recv__buffer.html#a00e07a3493c36ce8b54a609268ee7896">managed_recv_buffer::sptr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuhd_1_1transport_1_1zero__copy__if.html#a616c3bbf1f7e7f750eed9546057e2e09">get_recv_buff</a> (double timeout=0.1)=0</td></tr>
<tr class="separator:a616c3bbf1f7e7f750eed9546057e2e09 inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac534cc62f48bc595c86c94bedab2a710 inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuhd_1_1transport_1_1zero__copy__if.html#ac534cc62f48bc595c86c94bedab2a710">get_num_recv_frames</a> (void) const =0</td></tr>
<tr class="separator:ac534cc62f48bc595c86c94bedab2a710 inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a867e3b83108e352e9cf904c0148a100b inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuhd_1_1transport_1_1zero__copy__if.html#a867e3b83108e352e9cf904c0148a100b">get_recv_frame_size</a> (void) const =0</td></tr>
<tr class="separator:a867e3b83108e352e9cf904c0148a100b inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fc3168c5f9e7d23487e4ae83e3b597c inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classuhd_1_1transport_1_1managed__send__buffer.html#a6bb69c3e7d8f762a065dd66f6f8b3e41">managed_send_buffer::sptr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuhd_1_1transport_1_1zero__copy__if.html#a1fc3168c5f9e7d23487e4ae83e3b597c">get_send_buff</a> (double timeout=0.1)=0</td></tr>
<tr class="separator:a1fc3168c5f9e7d23487e4ae83e3b597c inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4515f92660540b757f1861d5a1657a4b inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuhd_1_1transport_1_1zero__copy__if.html#a4515f92660540b757f1861d5a1657a4b">get_num_send_frames</a> (void) const =0</td></tr>
<tr class="separator:a4515f92660540b757f1861d5a1657a4b inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f3dcc2576760b9ebb944b1b23ee5b2d inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuhd_1_1transport_1_1zero__copy__if.html#a8f3dcc2576760b9ebb944b1b23ee5b2d">get_send_frame_size</a> (void) const =0</td></tr>
<tr class="separator:a8f3dcc2576760b9ebb944b1b23ee5b2d inherit pub_methods_classuhd_1_1transport_1_1zero__copy__if"><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>A zero copy udp transport provides an efficient way to handle data. by avoiding the extra copy when recv() or send() is called on the socket. Rather, the zero copy transport gives the caller memory references. The caller informs the transport when it is finished with the reference.</p>
<p>On linux systems, the zero copy transport can use a kernel packet ring. If no platform specific solution is available, make returns a boost asio implementation that wraps the functionality around a standard send/recv calls. </p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="a59744845d9823ec8aa2953b0377fe0e8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef boost::shared_ptr&lt;<a class="el" href="classuhd_1_1transport_1_1udp__zero__copy.html">udp_zero_copy</a>&gt; <a class="el" href="classuhd_1_1transport_1_1udp__zero__copy.html#a59744845d9823ec8aa2953b0377fe0e8">uhd::transport::udp_zero_copy::sptr</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a0484811ae115bdbf8780ebb11032ba39"></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="classuhd_1_1transport_1_1udp__zero__copy.html#a59744845d9823ec8aa2953b0377fe0e8">sptr</a> uhd::transport::udp_zero_copy::make </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structuhd_1_1transport_1_1zero__copy__xport__params.html">zero_copy_xport_params</a> &amp;&#160;</td>
          <td class="paramname"><em>default_buff_args</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structuhd_1_1transport_1_1udp__zero__copy_1_1buff__params.html">udp_zero_copy::buff_params</a> &amp;&#160;</td>
          <td class="paramname"><em>buff_params_out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classuhd_1_1device__addr__t.html">device_addr_t</a> &amp;&#160;</td>
          <td class="paramname"><em>hints</em> = <code><a class="el" href="classuhd_1_1device__addr__t.html">device_addr_t</a>()</code>&#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">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Make a new zero copy udp transport: This transport is for sending and receiving between this host and a single endpoint. The primary usage for this transport will be data transactions. The underlying implementation is fast and platform specific.</p>
<p>The address will be resolved, it can be a host name or ipv4. The port will be resolved, it can be a port type or number.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">addr</td><td>a string representing the destination address </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">port</td><td>a string representing the destination port </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">default_buff_args</td><td>Default values for frame sizes and num frames </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">buff_params_out</td><td>Returns the actual buffer sizes </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">hints</td><td>optional parameters to pass to the underlying transport </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/uhd/transport/<a class="el" href="udp__zero__copy_8hpp_source.html">udp_zero_copy.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Oct 15 2014 11:47:53 for UHD by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>