Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > media > contrib > by-pkgid > 56ebf73a8cc21535297a85df4640d63b > files > 49

libccrtp0.7-0.7.2-1mdk.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title> TemplateT_RTPSocket class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 1.2.10 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; <a class="qindex" href="examples.html">Examples</a> &nbsp; </center>
<hr><h1>T_RTPSocket  Class Template Reference</h1>RTP protocol stack based on Common C++. 
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="rtp_8h-source.html">cc++/rtp.h</a>&gt;</code>
<p>
<p>Inheritance diagram for T_RTPSocket::
<p><center><img src="classT__RTPSocket.gif" usemap="#T_RTPSocket_map" border="0"></center>
<map name="T_RTPSocket_map">
<area href="classserviceQueue.html" alt="serviceQueue" shape="rect" coords="0,0,92,24">
</map>
<a href="classT__RTPSocket-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classT__RTPSocket.html#a0">T_RTPSocket</a> (const InetAddress &amp;ia, tpport_t port=5004, int pri=0)</td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classT__RTPSocket.html#a1">T_RTPSocket</a> (const InetMcastAddress &amp;bind, tpport_t port=5004, int pri=0)</td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classT__RTPSocket.html#a2">~T_RTPSocket</a> ()</td></tr>
<tr><td nowrap align=right valign=top>sockerror_t&nbsp;</td><td valign=bottom><a class="el" href="classT__RTPSocket.html#a3">Connect</a> (const InetHostAddress &amp;ia, tpport_t port=0)</td></tr>
<tr><td nowrap align=right valign=top>sockerror_t&nbsp;</td><td valign=bottom><a class="el" href="classT__RTPSocket.html#a4">Connect</a> (const InetMcastAddress &amp;ia, tpport_t port=0)</td></tr>
<tr><td nowrap align=right valign=top>sockerror_t&nbsp;</td><td valign=bottom><a class="el" href="classT__RTPSocket.html#a5">joinGroup</a> (const InetMcastAddress &amp;ia, tpport_t port=0)</td></tr>
<tr><td nowrap align=right valign=top>sockerror_t&nbsp;</td><td valign=bottom><a class="el" href="classT__RTPSocket.html#a6">leaveGroup</a> (const InetMcastAddress &amp;ia)</td></tr>
<tr><td nowrap align=right valign=top>sockerror_t&nbsp;</td><td valign=bottom><a class="el" href="classT__RTPSocket.html#a7">setMcastTTL</a> (uint8 ttl)</td></tr>
<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classT__RTPSocket.html#b0">isPendingData</a> (<a class="el" href="rtp_8h.html#a1">microtimeout_t</a> timeout)</td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classT__RTPSocket.html#b1">readData</a> (unsigned char *buffer, size_t len)</td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classT__RTPSocket.html#b2">writeData</a> (const unsigned char *const buffer, size_t len)</td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classT__RTPSocket.html#b3">isPendingControl</a> (<a class="el" href="rtp_8h.html#a1">microtimeout_t</a> timeout)</td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classT__RTPSocket.html#b4">readControl</a> (unsigned char *buffer, size_t len)</td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classT__RTPSocket.html#b5">writeControl</a> (const unsigned char *const buffer, size_t len)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classT__RTPSocket.html#b6">endSocket</a> ()</td></tr>
<tr><td colspan=2><br><h2>Private Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>sockerror_t&nbsp;</td><td valign=bottom><a class="el" href="classT__RTPSocket.html#c0">connect</a> (const InetAddress &amp;ia, tpport_t port=0)</td></tr>
<tr><td nowrap align=right valign=top>tpport_t&nbsp;</td><td valign=bottom><a class="el" href="classT__RTPSocket.html#c1">odd_port</a> (tpport_t port)</td></tr>
<tr><td nowrap align=right valign=top>tpport_t&nbsp;</td><td valign=bottom><a class="el" href="classT__RTPSocket.html#c2">even_port</a> (tpport_t port)</td></tr>
<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
<tr><td nowrap align=right valign=top>tpport_t&nbsp;</td><td valign=bottom><a class="el" href="classT__RTPSocket.html#o0">base</a></td></tr>
<tr><td nowrap align=right valign=top>dataSocket *&nbsp;</td><td valign=bottom><a class="el" href="classT__RTPSocket.html#o1">dso</a></td></tr>
<tr><td nowrap align=right valign=top>controlSocket *&nbsp;</td><td valign=bottom><a class="el" href="classT__RTPSocket.html#o2">cso</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;typename serviceQueue, typename dataSocket, typename controlSocket&gt;<br>
 class T_RTPSocket&lt; serviceQueue, dataSocket, controlSocket &gt;</h3>

RTP protocol stack based on Common C++.
<p>
Generic RTP protocol stack for exchange of realtime data. This stack uses the concept of packet send and receive queues to schedule and buffer outgoing packets and to arrange or reorder incoming packets as they arrive. A single service thread both schedules sending of outgoing packets and receipt of incoming packets.
<p>
<dl compact><dt><b>
Author: </b><dd>
David Sugar &lt;<a href="mailto:dyfet@ostel.com">dyfet@ostel.com</a>&gt; </dl><dl compact><dt><b>
Examples: </b><dd>

<p>
<a class="el" href="audiorx_8cpp-example.html#_a1">audiorx.cpp</a>, <a class="el" href="audiotx_8cpp-example.html#_a1">audiotx.cpp</a>, and <a class="el" href="rtphello_8cpp-example.html#_a1">rtphello.cpp</a>.</dl>
<p>

<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02147">2147</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="T_RTPSocket::T_RTPSocket"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;typename serviceQueue, typename dataSocket, typename controlSocket&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> T_RTPSocket&lt; serviceQueue, dataSocket, controlSocket &gt;::T_RTPSocket </td>
          <td class="md">(&nbsp;</td>
          <td class="md">const InetAddress &amp;</td>
          <td class="mdname">&nbsp; <em>ia</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md">tpport_t</td>
          <td class="mdname">&nbsp; <em>port</em> = 5004, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md">int</td>
          <td class="mdname">&nbsp; <em>pri</em> = 0</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>bind
</em>&nbsp;</td><td>
network address this socket is to be bound </td></tr>
<tr><td valign=top><em>port
</em>&nbsp;</td><td>
transport port this socket is to be bound </td></tr>
<tr><td valign=top><em>pri
</em>&nbsp;</td><td>
service thread base priority relative to it's parent </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02155">2155</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<a name="a1" doxytag="T_RTPSocket::T_RTPSocket"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;typename serviceQueue, typename dataSocket, typename controlSocket&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> T_RTPSocket&lt; serviceQueue, dataSocket, controlSocket &gt;::T_RTPSocket </td>
          <td class="md">(&nbsp;</td>
          <td class="md">const InetMcastAddress &amp;</td>
          <td class="mdname">&nbsp; <em>bind</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md">tpport_t</td>
          <td class="mdname">&nbsp; <em>port</em> = 5004, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md">int</td>
          <td class="mdname">&nbsp; <em>pri</em> = 0</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>bind
</em>&nbsp;</td><td>
multicast network address this socket is to be bound </td></tr>
<tr><td valign=top><em>port
</em>&nbsp;</td><td>
transport port this socket is to be bound </td></tr>
<tr><td valign=top><em>pri
</em>&nbsp;</td><td>
service thread base priority relative to it's parent </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02168">2168</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<a name="a2" doxytag="T_RTPSocket::~T_RTPSocket"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;typename serviceQueue, typename dataSocket, typename controlSocket&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> T_RTPSocket&lt; serviceQueue, dataSocket, controlSocket &gt;::~T_RTPSocket </td>
          <td class="md">(&nbsp;</td>
          <td class="mdname1">&nbsp;          </td>
          <td class="md">)&nbsp;</td>
          <td class="md"><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Stack destructor. 
<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02178">2178</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="a4" doxytag="T_RTPSocket::Connect"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;typename serviceQueue, typename dataSocket, typename controlSocket&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> sockerror_t T_RTPSocket&lt; serviceQueue, dataSocket, controlSocket &gt;::Connect </td>
          <td class="md">(&nbsp;</td>
          <td class="md">const InetMcastAddress &amp;</td>
          <td class="mdname">&nbsp; <em>ia</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md">tpport_t</td>
          <td class="mdname">&nbsp; <em>port</em> = 0</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Connect to a multicast group and start the service thread. If no port is specified then it is assumed to be the same as the locally bound port number. 
<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02196">2196</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<a name="a3" doxytag="T_RTPSocket::Connect"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;typename serviceQueue, typename dataSocket, typename controlSocket&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> sockerror_t T_RTPSocket&lt; serviceQueue, dataSocket, controlSocket &gt;::Connect </td>
          <td class="md">(&nbsp;</td>
          <td class="md">const InetHostAddress &amp;</td>
          <td class="mdname">&nbsp; <em>ia</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md">tpport_t</td>
          <td class="mdname">&nbsp; <em>port</em> = 0</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Connect to a foreign host and start the service thread. If no port is specified then it is assumed to be the same as the locally bound port number. <dl compact><dt><b>
Examples: </b><dd>
<a class="el" href="audiorx_8cpp-example.html#a3">audiorx.cpp</a>, <a class="el" href="audiotx_8cpp-example.html#a3">audiotx.cpp</a>, and <a class="el" href="rtphello_8cpp-example.html#a3">rtphello.cpp</a>.</dl>
<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02187">2187</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.
<p>
Referenced by <a class="el" href="rtp_8h-source.html#l02206">joinGroup</a>().
<p>
    </td>
  </tr>
</table>
<a name="c0" doxytag="T_RTPSocket::connect"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;typename serviceQueue, typename dataSocket, typename controlSocket&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> sockerror_t T_RTPSocket&lt; serviceQueue, dataSocket, controlSocket &gt;::connect </td>
          <td class="md">(&nbsp;</td>
          <td class="md">const InetAddress &amp;</td>
          <td class="mdname">&nbsp; <em>ia</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md">tpport_t</td>
          <td class="mdname">&nbsp; <em>port</em> = 0</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, private]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Connect to a foriegn RTP socket and start the service thread. If no port is specified then it is assumed to be the same as the locally bound port number.
<p>
<dl compact><dt><b>
Returns: </b><dd>
failure type. </dl><dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>address
</em>&nbsp;</td><td>
of foreign socket. </td></tr>
<tr><td valign=top><em>port
</em>&nbsp;</td><td>
number of foreign connection. </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02325">2325</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.
<p>
Referenced by <a class="el" href="rtp_8h-source.html#l02187">Connect</a>().
<p>
    </td>
  </tr>
</table>
<a name="b6" doxytag="T_RTPSocket::endSocket"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;typename serviceQueue, typename dataSocket, typename controlSocket&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> void T_RTPSocket&lt; serviceQueue, dataSocket, controlSocket &gt;::endSocket </td>
          <td class="md">(&nbsp;</td>
          <td class="mdname1">&nbsp;          </td>
          <td class="md">)&nbsp;</td>
          <td class="md"><code> [inline, protected]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02312">2312</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.
<p>
Referenced by <a class="el" href="rtp_8h-source.html#l02178">~T_RTPSocket</a>().
<p>
    </td>
  </tr>
</table>
<a name="c2" doxytag="T_RTPSocket::even_port"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;typename serviceQueue, typename dataSocket, typename controlSocket&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> tpport_t T_RTPSocket&lt; serviceQueue, dataSocket, controlSocket &gt;::even_port </td>
          <td class="md">(&nbsp;</td>
          <td class="md">tpport_t</td>
          <td class="mdname1">&nbsp; <em>port</em>          </td>
          <td class="md">)&nbsp;</td>
          <td class="md"><code> [inline, private]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Ensure a port number is even. If it is an odd number, return the next lower (even) port number.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>port
</em>&nbsp;</td><td>
number to filter </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
filtered (even) port number </dl>
<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02364">2364</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.
<p>
Referenced by <a class="el" href="rtp_8h-source.html#l02155">T_RTPSocket</a>(), and <a class="el" href="rtp_8h-source.html#l02325">connect</a>().
<p>
    </td>
  </tr>
</table>
<a name="b3" doxytag="T_RTPSocket::isPendingControl"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;typename serviceQueue, typename dataSocket, typename controlSocket&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> bool T_RTPSocket&lt; serviceQueue, dataSocket, controlSocket &gt;::isPendingControl </td>
          <td class="md">(&nbsp;</td>
          <td class="md"><a class="el" href="rtp_8h.html#a1">microtimeout_t</a></td>
          <td class="mdname1">&nbsp; <em>timeout</em>          </td>
          <td class="md">)&nbsp;</td>
          <td class="md"><code> [inline, protected]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>timeout
</em>&nbsp;</td><td>
maximum timeout to wait, in microseconds </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
whether there are packets waiting to be picked </dl>
<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02290">2290</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<a name="b0" doxytag="T_RTPSocket::isPendingData"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;typename serviceQueue, typename dataSocket, typename controlSocket&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> bool T_RTPSocket&lt; serviceQueue, dataSocket, controlSocket &gt;::isPendingData </td>
          <td class="md">(&nbsp;</td>
          <td class="md"><a class="el" href="rtp_8h.html#a1">microtimeout_t</a></td>
          <td class="mdname1">&nbsp; <em>timeout</em>          </td>
          <td class="md">)&nbsp;</td>
          <td class="md"><code> [inline, protected]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>timeout
</em>&nbsp;</td><td>
maximum timeout to wait, in microseconds </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02266">2266</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<a name="a5" doxytag="T_RTPSocket::joinGroup"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;typename serviceQueue, typename dataSocket, typename controlSocket&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> sockerror_t T_RTPSocket&lt; serviceQueue, dataSocket, controlSocket &gt;::joinGroup </td>
          <td class="md">(&nbsp;</td>
          <td class="md">const InetMcastAddress &amp;</td>
          <td class="mdname">&nbsp; <em>ia</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md">tpport_t</td>
          <td class="mdname">&nbsp; <em>port</em> = 0</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Join a multicast group.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>ia
</em>&nbsp;</td><td>
address of the multicast group </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
error code from the socket operation </dl>
<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02206">2206</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<a name="a6" doxytag="T_RTPSocket::leaveGroup"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;typename serviceQueue, typename dataSocket, typename controlSocket&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> sockerror_t T_RTPSocket&lt; serviceQueue, dataSocket, controlSocket &gt;::leaveGroup </td>
          <td class="md">(&nbsp;</td>
          <td class="md">const InetMcastAddress &amp;</td>
          <td class="mdname1">&nbsp; <em>ia</em>          </td>
          <td class="md">)&nbsp;</td>
          <td class="md"><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Leave a multicast group.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>ia
</em>&nbsp;</td><td>
address of the multicast group </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
error code from the socket operation </dl>
<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02232">2232</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<a name="c1" doxytag="T_RTPSocket::odd_port"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;typename serviceQueue, typename dataSocket, typename controlSocket&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> tpport_t T_RTPSocket&lt; serviceQueue, dataSocket, controlSocket &gt;::odd_port </td>
          <td class="md">(&nbsp;</td>
          <td class="md">tpport_t</td>
          <td class="mdname1">&nbsp; <em>port</em>          </td>
          <td class="md">)&nbsp;</td>
          <td class="md"><code> [inline, private]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Ensure a port number is odd. If it is an even number, return  the next lower (odd) port number.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>port
</em>&nbsp;</td><td>
number to filter </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
filtered (odd) port number </dl>
<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02353">2353</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.
<p>
Referenced by <a class="el" href="rtp_8h-source.html#l02155">T_RTPSocket</a>(), and <a class="el" href="rtp_8h-source.html#l02325">connect</a>().
<p>
    </td>
  </tr>
</table>
<a name="b4" doxytag="T_RTPSocket::readControl"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;typename serviceQueue, typename dataSocket, typename controlSocket&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> size_t T_RTPSocket&lt; serviceQueue, dataSocket, controlSocket &gt;::readControl </td>
          <td class="md">(&nbsp;</td>
          <td class="md">unsigned char *</td>
          <td class="mdname">&nbsp; <em>buffer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md">size_t</td>
          <td class="mdname">&nbsp; <em>len</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, protected]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>
Returns: </b><dd>
number of octets actually read </dl><dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>buffer
</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em>len
</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02299">2299</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<a name="b1" doxytag="T_RTPSocket::readData"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;typename serviceQueue, typename dataSocket, typename controlSocket&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> size_t T_RTPSocket&lt; serviceQueue, dataSocket, controlSocket &gt;::readData </td>
          <td class="md">(&nbsp;</td>
          <td class="md">unsigned char *</td>
          <td class="mdname">&nbsp; <em>buffer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md">size_t</td>
          <td class="mdname">&nbsp; <em>len</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, protected]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>buffer
</em>&nbsp;</td><td>
memory region to read to </td></tr>
<tr><td valign=top><em>len
</em>&nbsp;</td><td>
maximum number of octets to read </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02274">2274</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<a name="a7" doxytag="T_RTPSocket::setMcastTTL"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;typename serviceQueue, typename dataSocket, typename controlSocket&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> sockerror_t T_RTPSocket&lt; serviceQueue, dataSocket, controlSocket &gt;::setMcastTTL </td>
          <td class="md">(&nbsp;</td>
          <td class="md">uint8</td>
          <td class="mdname1">&nbsp; <em>ttl</em>          </td>
          <td class="md">)&nbsp;</td>
          <td class="md"><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the value of the TTL field in the sent packets.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>ttl
</em>&nbsp;</td><td>
Time To Live </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
error code from the socket operation </dl>
<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02250">2250</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<a name="b5" doxytag="T_RTPSocket::writeControl"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;typename serviceQueue, typename dataSocket, typename controlSocket&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> size_t T_RTPSocket&lt; serviceQueue, dataSocket, controlSocket &gt;::writeControl </td>
          <td class="md">(&nbsp;</td>
          <td class="md">const unsigned char *const</td>
          <td class="mdname">&nbsp; <em>buffer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md">size_t</td>
          <td class="mdname">&nbsp; <em>len</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, protected]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>
Returns: </b><dd>
number of octets actually written </dl><dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>buffer
</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em>len
</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02308">2308</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<a name="b2" doxytag="T_RTPSocket::writeData"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;typename serviceQueue, typename dataSocket, typename controlSocket&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> size_t T_RTPSocket&lt; serviceQueue, dataSocket, controlSocket &gt;::writeData </td>
          <td class="md">(&nbsp;</td>
          <td class="md">const unsigned char *const</td>
          <td class="mdname">&nbsp; <em>buffer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md">size_t</td>
          <td class="mdname">&nbsp; <em>len</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, protected]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>buffer
</em>&nbsp;</td><td>
memory region to write from </td></tr>
<tr><td valign=top><em>len
</em>&nbsp;</td><td>
number of octets to write </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02282">2282</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<hr><h2>Member Data Documentation</h2>
<a name="o0" doxytag="T_RTPSocket::base"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;typename serviceQueue, typename dataSocket, typename controlSocket&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> tpport_t T_RTPSocket::base<code> [private]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02367">2367</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<a name="o2" doxytag="T_RTPSocket::cso"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;typename serviceQueue, typename dataSocket, typename controlSocket&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> controlSocket* T_RTPSocket::cso<code> [private]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02369">2369</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<a name="o1" doxytag="T_RTPSocket::dso"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;typename serviceQueue, typename dataSocket, typename controlSocket&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> dataSocket* T_RTPSocket::dso<code> [private]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02368">2368</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="rtp_8h-source.html">rtp.h</a></ul>
<hr><address><small>Generated at Tue Oct 16 11:17:53 2001 for ccRTP by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.gif" alt="doxygen" align="middle" border=0 
width=110 height=53></a>1.2.10 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
 &copy;&nbsp;1997-2001</small></address>
</body>
</html>