Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 598246a3099b0106d22dd5249478d3b7 > files > 107

ccrtp-devel-1.7.1-2.fc12.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>ccRTP: RTPBaseUDPIPv4Socket Class 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.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</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><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>RTPBaseUDPIPv4Socket Class Reference<br>
<small>
[<a class="el" href="group__sockets.html">Underlying transport protocol socket classes.</a>]</small>
</h1><!-- doxytag: class="RTPBaseUDPIPv4Socket" -->A UDP/IPv4 socket class targetted at RTP stacks.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="channel_8h_source.html">channel.h</a>&gt;</code>
<p>

<p>
<a href="class_r_t_p_base_u_d_p_i_pv4_socket-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_base_u_d_p_i_pv4_socket.html#942fe8fa96ff9fc0b7f44a21db0af3dd">RTPBaseUDPIPv4Socket</a> (const InetAddress &amp;ia, tpport_t port)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor for receiver.  <a href="#942fe8fa96ff9fc0b7f44a21db0af3dd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_base_u_d_p_i_pv4_socket.html#7edf2b5d44ed98ef4901e5ea51708f87">~RTPBaseUDPIPv4Socket</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_base_u_d_p_i_pv4_socket.html#4aa31dc622eaed5e6d47e230cff13828">isPendingRecv</a> (<a class="el" href="base_8h.html#c16d853255145e6a903914eb376a84bb">microtimeout_t</a> timeout)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">InetHostAddress&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_base_u_d_p_i_pv4_socket.html#d5a0fa9c49f00d0037cc020be60db2a4">getSender</a> (tpport_t &amp;port) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_base_u_d_p_i_pv4_socket.html#1d728d866d678b1cbddad59a441a1e89">recv</a> (unsigned char *buffer, size_t len)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_base_u_d_p_i_pv4_socket.html#07e429babae6ee670d2506eb3508f939">getNextPacketSize</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get size of next datagram waiting to be read.  <a href="#07e429babae6ee670d2506eb3508f939"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">Socket::Error&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_base_u_d_p_i_pv4_socket.html#ba0c2d1108c5d4060ca6d25d52a3d747">setMulticast</a> (bool enable)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">Socket::Error&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_base_u_d_p_i_pv4_socket.html#38e6593374c1d22c5e047a35f086794c">join</a> (const InetMcastAddress &amp;ia, uint32 iface)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">Socket::Error&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_base_u_d_p_i_pv4_socket.html#7e2b71082a1c30ff9cb24a3b3e78a6d8">drop</a> (const InetMcastAddress &amp;ia)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">Socket::Error&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_base_u_d_p_i_pv4_socket.html#a6024a17917beae585313f5457d68c34">setTimeToLive</a> (unsigned char ttl)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_base_u_d_p_i_pv4_socket.html#3762957851afe0ab042007a2e15078ac">RTPBaseUDPIPv4Socket</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor for transmitter.  <a href="#3762957851afe0ab042007a2e15078ac"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_base_u_d_p_i_pv4_socket.html#f4767299e84db20fc9ead42990f457c1">setPeer</a> (const InetAddress &amp;ia, tpport_t port)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_base_u_d_p_i_pv4_socket.html#86b52c1d28d07134ff07c0307ddd7647">send</a> (const unsigned char *const buffer, size_t len)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">SOCKET&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_base_u_d_p_i_pv4_socket.html#f8e342b232be4dff73b988ab41d6a4c2">getRecvSocket</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_base_u_d_p_i_pv4_socket.html#6d1144061f0f234d8a88a56b2bb3a0fe">endSocket</a> ()</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A UDP/IPv4 socket class targetted at RTP stacks. 
<p>
This class provides a flat interface that includes all the services required by an RTP stack.<p>
It can be used in two ways:<p>
To instantiate the DualSocket template, which will be used to instantiate an RTP stack template (such as <a class="el" href="class_t_r_t_p_session_base.html">TRTPSessionBase</a>).<p>
To directly instantiate an RTP stack template (such as <a class="el" href="class_t_r_t_p_session_base.html">TRTPSessionBase</a>).<p>
This class offers an example of the interface that other classes should provide in order to specialize the ccRTP stack for different underlying protocols.<p>
<dl class="author" compact><dt><b>Author:</b></dt><dd>Federico Montesino Pouzols &lt;<a href="mailto:fedemp@altern.org">fedemp@altern.org</a>&gt; </dd></dl>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="942fe8fa96ff9fc0b7f44a21db0af3dd"></a><!-- doxytag: member="RTPBaseUDPIPv4Socket::RTPBaseUDPIPv4Socket" ref="942fe8fa96ff9fc0b7f44a21db0af3dd" args="(const InetAddress &amp;ia, tpport_t port)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RTPBaseUDPIPv4Socket::RTPBaseUDPIPv4Socket           </td>
          <td>(</td>
          <td class="paramtype">const InetAddress &amp;&nbsp;</td>
          <td class="paramname"> <em>ia</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">tpport_t&nbsp;</td>
          <td class="paramname"> <em>port</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor for receiver. 
<p>

</div>
</div><p>
<a class="anchor" name="7edf2b5d44ed98ef4901e5ea51708f87"></a><!-- doxytag: member="RTPBaseUDPIPv4Socket::~RTPBaseUDPIPv4Socket" ref="7edf2b5d44ed98ef4901e5ea51708f87" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RTPBaseUDPIPv4Socket::~RTPBaseUDPIPv4Socket           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="3762957851afe0ab042007a2e15078ac"></a><!-- doxytag: member="RTPBaseUDPIPv4Socket::RTPBaseUDPIPv4Socket" ref="3762957851afe0ab042007a2e15078ac" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RTPBaseUDPIPv4Socket::RTPBaseUDPIPv4Socket           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor for transmitter. 
<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="7e2b71082a1c30ff9cb24a3b3e78a6d8"></a><!-- doxytag: member="RTPBaseUDPIPv4Socket::drop" ref="7e2b71082a1c30ff9cb24a3b3e78a6d8" args="(const InetMcastAddress &amp;ia)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Socket::Error RTPBaseUDPIPv4Socket::drop           </td>
          <td>(</td>
          <td class="paramtype">const InetMcastAddress &amp;&nbsp;</td>
          <td class="paramname"> <em>ia</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="6d1144061f0f234d8a88a56b2bb3a0fe"></a><!-- doxytag: member="RTPBaseUDPIPv4Socket::endSocket" ref="6d1144061f0f234d8a88a56b2bb3a0fe" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void RTPBaseUDPIPv4Socket::endSocket           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="07e429babae6ee670d2506eb3508f939"></a><!-- doxytag: member="RTPBaseUDPIPv4Socket::getNextPacketSize" ref="07e429babae6ee670d2506eb3508f939" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t RTPBaseUDPIPv4Socket::getNextPacketSize           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get size of next datagram waiting to be read. 
<p>

</div>
</div><p>
<a class="anchor" name="f8e342b232be4dff73b988ab41d6a4c2"></a><!-- doxytag: member="RTPBaseUDPIPv4Socket::getRecvSocket" ref="f8e342b232be4dff73b988ab41d6a4c2" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SOCKET RTPBaseUDPIPv4Socket::getRecvSocket           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="d5a0fa9c49f00d0037cc020be60db2a4"></a><!-- doxytag: member="RTPBaseUDPIPv4Socket::getSender" ref="d5a0fa9c49f00d0037cc020be60db2a4" args="(tpport_t &amp;port) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">InetHostAddress RTPBaseUDPIPv4Socket::getSender           </td>
          <td>(</td>
          <td class="paramtype">tpport_t &amp;&nbsp;</td>
          <td class="paramname"> <em>port</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="4aa31dc622eaed5e6d47e230cff13828"></a><!-- doxytag: member="RTPBaseUDPIPv4Socket::isPendingRecv" ref="4aa31dc622eaed5e6d47e230cff13828" args="(microtimeout_t timeout)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool RTPBaseUDPIPv4Socket::isPendingRecv           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="base_8h.html#c16d853255145e6a903914eb376a84bb">microtimeout_t</a>&nbsp;</td>
          <td class="paramname"> <em>timeout</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="38e6593374c1d22c5e047a35f086794c"></a><!-- doxytag: member="RTPBaseUDPIPv4Socket::join" ref="38e6593374c1d22c5e047a35f086794c" args="(const InetMcastAddress &amp;ia, uint32 iface)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Socket::Error RTPBaseUDPIPv4Socket::join           </td>
          <td>(</td>
          <td class="paramtype">const InetMcastAddress &amp;&nbsp;</td>
          <td class="paramname"> <em>ia</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32&nbsp;</td>
          <td class="paramname"> <em>iface</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="1d728d866d678b1cbddad59a441a1e89"></a><!-- doxytag: member="RTPBaseUDPIPv4Socket::recv" ref="1d728d866d678b1cbddad59a441a1e89" args="(unsigned char *buffer, size_t len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t RTPBaseUDPIPv4Socket::recv           </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="86b52c1d28d07134ff07c0307ddd7647"></a><!-- doxytag: member="RTPBaseUDPIPv4Socket::send" ref="86b52c1d28d07134ff07c0307ddd7647" args="(const unsigned char *const buffer, size_t len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t RTPBaseUDPIPv4Socket::send           </td>
          <td>(</td>
          <td class="paramtype">const unsigned char *const &nbsp;</td>
          <td class="paramname"> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="ba0c2d1108c5d4060ca6d25d52a3d747"></a><!-- doxytag: member="RTPBaseUDPIPv4Socket::setMulticast" ref="ba0c2d1108c5d4060ca6d25d52a3d747" args="(bool enable)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Socket::Error RTPBaseUDPIPv4Socket::setMulticast           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>enable</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="f4767299e84db20fc9ead42990f457c1"></a><!-- doxytag: member="RTPBaseUDPIPv4Socket::setPeer" ref="f4767299e84db20fc9ead42990f457c1" args="(const InetAddress &amp;ia, tpport_t port)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void RTPBaseUDPIPv4Socket::setPeer           </td>
          <td>(</td>
          <td class="paramtype">const InetAddress &amp;&nbsp;</td>
          <td class="paramname"> <em>ia</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">tpport_t&nbsp;</td>
          <td class="paramname"> <em>port</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="a6024a17917beae585313f5457d68c34"></a><!-- doxytag: member="RTPBaseUDPIPv4Socket::setTimeToLive" ref="a6024a17917beae585313f5457d68c34" args="(unsigned char ttl)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Socket::Error RTPBaseUDPIPv4Socket::setTimeToLive           </td>
          <td>(</td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>ttl</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channel_8h_source.html">channel.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jul 24 21:42:25 2009 for ccRTP by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
</body>
</html>