Sophie

Sophie

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

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>MembershipControl class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 1.2.5 on Fri Oct 5 10:28:26 2001 -->
<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>MembershipControl  Class Reference</h1>Controls the group membership in the current session. 
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="rtp_h-source.html">cc++/rtp.h</a>&gt;</code>
<p>
<p>Inheritance diagram for MembershipControl:
<p><center><img src="class_MembershipControl.gif" usemap="#MembershipControl_map" border="0"></center>
<map name="MembershipControl_map">
<area href="class_Members.html" alt="Members" shape="rect" coords="71,0,204,24">
<area href="class_RTPQueue.html" alt="RTPQueue" shape="rect" coords="71,112,204,136">
<area href="class_QueueRTCPManager.html" alt="QueueRTCPManager" shape="rect" coords="0,168,133,192">
<area href="class_RTPDuplex.html" alt="RTPDuplex" shape="rect" coords="143,168,276,192">
</map>
<a href="class_MembershipControl-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>const <a class="el" href="class_RTPSource.html">RTPSource</a>&amp;&nbsp;</td><td valign=bottom><a class="el" href="class_MembershipControl.html#a0">getSource</a> (uint32 ssrc) const</td></tr>
<tr><td nowrap align=right valign=top>const <a class="el" href="class_RTPSource.html">RTPSource</a>&amp;&nbsp;</td><td valign=bottom><a class="el" href="class_MembershipControl.html#a1">getOrCreateSource</a> (uint32 ssrc)</td></tr>
<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="class_RTPSource.html">RTPSource</a>&amp;&nbsp;</td><td valign=bottom><a class="el" href="class_MembershipControl.html#b0">addNewSource</a> (uint32 ssrc)</td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="class_MembershipControl.html#b1">MembershipControl</a> (uint32 initial_size=7)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The initial size is a hint to allocate the resources needed in order to keep the members' identifiers and associated information.</em> <a href="#b1">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="class_MembershipControl.html#b2">~MembershipControl</a> ()</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="class_MembershipControl.html#b3">endMembers</a> ()</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="class_RTPSource.html">RTPSource</a>&amp;&nbsp;</td><td valign=bottom><a class="el" href="class_MembershipControl.html#b4">getSourceBySSRC</a> (uint32 ssrc, bool create=false)</td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="class_MembershipControl.html#b5">removeSource</a> (uint32 ssrc)</td></tr>
<tr><td nowrap align=right valign=top>const <a class="el" href="class_RTPSource.html">RTPSource</a>&amp;&nbsp;</td><td valign=bottom><a class="el" href="class_MembershipControl.html#b6">NullSource</a> () const</td></tr>
<tr><td colspan=2><br><h2>Static Protected Attributes</h2></td></tr>
<tr><td nowrap align=right valign=top>const <a class="el" href="class_RTPSource.html">RTPSource</a>&nbsp;</td><td valign=bottom><a class="el" href="class_MembershipControl.html#q0">dummysource</a></td></tr>
<tr><td colspan=2><br><h2>Private Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="class_MembershipControl.html#c0">MembershipControl</a> (const MembershipControl &amp;o)</td></tr>
<tr><td nowrap align=right valign=top>MembershipControl&amp;&nbsp;</td><td valign=bottom><a class="el" href="class_MembershipControl.html#c1">operator=</a> (const MembershipControl &amp;o)</td></tr>
<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="class_MembershipControl.html#o0">SOURCE_BUCKETS</a></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="class_RTPSource.html">RTPSource</a>**&nbsp;</td><td valign=bottom><a class="el" href="class_MembershipControl.html#o1">sources</a></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="class_RTPSource.html">RTPSource</a>*&nbsp;</td><td valign=bottom><a class="el" href="class_MembershipControl.html#o2">first</a></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="class_RTPSource.html">RTPSource</a> *&nbsp;</td><td valign=bottom><a class="el" href="class_MembershipControl.html#o3">last</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Controls the group membership in the current session.
<p>

<p>
 The use of RTCP is feasible in sessions with a few participants. However, when there are thousands or millions of participants, scalability problems impede the use of RTCP. In such situations, group membership sampling (see RFC 2762) is recommended instead of a membership table.
<p>
For now, this class implements only a hash table of members, but its design and relation with other classes is intented to support group membership sampling in case scalability problems arise.
<p>

<p>
<dl compact><dt>
<b><a class="el" href="todo.html#_todo000002">Todo: </a></b><dd>
implement the reallocation mechanism (e.g., when the number of ssrcs per collision list goes up to 2, make the size approx. four times bigger (0.5 ssrcs per list now. when the number of ssrcs per list goes down to 0.5, decrease four times. Do not use 2 or 0.5, but `2 + something' and `0.5 - somehting'). Always jumping between prime numbers -&gt; provide a table from 7 to many.</dl>
<p>
<dl compact><dt>
<b>Author(s): </b><dd>
 Federico Montesino Pouzols &lt;<a href="mailto:p5087@quintero.fie.us.es">p5087@quintero.fie.us.es</a>&gt; </dl>
<p>

<p>
Definition at line <a class="el" href="rtp_h-source.html#l00671">671</a> of file <a class="el" href="rtp_h-source.html">rtp.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="b1" doxytag="MembershipControl::MembershipControl"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
MembershipControl::MembershipControl (
          </b></td>
          <td valign="bottom"><b>
uint32 <em>initial_size</em> = 7&nbsp;)<code> [protected]</code>
          </b></td>
        </tr>

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

<p>
The initial size is a hint to allocate the resources needed in order to keep the members' identifiers and associated information.
<p>

<p>
 Although ccRTP will reallocate resources when it becomes necessary, a good hint may save a lot of unpredictable time penalties.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>initial_size</em>
&nbsp;</td><td>
 an estimation of how many participants the session will consist of. </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="b2" doxytag="MembershipControl::~MembershipControl"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
MembershipControl::~MembershipControl (
          </b></td>
          <td valign="bottom"><b>
)<code> [protected, virtual]</code>
          </b></td>
        </tr>

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

<p>
Destructor. Purges all <a class="el" href="class_RTPSource.html">RTPSource</a> structures created during the session, as well as the hast table and the list of sources.     </td>
  </tr>
</table>
<a name="c0" doxytag="MembershipControl::MembershipControl"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
MembershipControl::MembershipControl (
          </b></td>
          <td valign="bottom"><b>
const MembershipControl &amp; <em>o</em>&nbsp;)<code> [private]</code>
          </b></td>
        </tr>

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

<p>
    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="b6" doxytag="MembershipControl::NullSource"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="class_RTPSource.html">RTPSource</a> &amp; MembershipControl::NullSource (
          </b></td>
          <td valign="bottom"><b>
) const<code> [inline, protected]</code>
          </b></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_h-source.html#l00760">760</a> of file <a class="el" href="rtp_h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<a name="b0" doxytag="MembershipControl::addNewSource"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_RTPSource.html">RTPSource</a> &amp; MembershipControl::addNewSource (
          </b></td>
          <td valign="bottom"><b>
uint32 <em>ssrc</em>&nbsp;)<code> [protected]</code>
          </b></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>ssrc</em>
&nbsp;</td><td>
 Synchronization SouRCe identifier </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
 the source object just created </dl>    </td>
  </tr>
</table>
<a name="b3" doxytag="MembershipControl::endMembers"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void MembershipControl::endMembers (
          </b></td>
          <td valign="bottom"><b>
)<code> [protected]</code>
          </b></td>
        </tr>

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

<p>
Purge all <a class="el" href="class_RTPSource.html">RTPSource</a> structures, the hash table and the list of sources.     </td>
  </tr>
</table>
<a name="a1" doxytag="MembershipControl::getOrCreateSource"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="class_RTPSource.html">RTPSource</a> &amp; MembershipControl::getOrCreateSource (
          </b></td>
          <td valign="bottom"><b>
uint32 <em>ssrc</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

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

<p>
Get the description of a source by its <code>ssrc<code> identifier.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>ssrc</em>
&nbsp;</td><td>
 SSRC identifier, int network order.  </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
 the <a class="el" href="class_RTPSource.html">RTPSource</a> object identified by <code>ssrc<code> </dl><dl compact><dt>
<b>Return values: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>a</em>
&nbsp;</td><td>
 dummy empty object if <code>create == false<code>  and there is no source with the given ssrc identifier </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="rtp_h-source.html#l00695">695</a> of file <a class="el" href="rtp_h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<a name="a0" doxytag="MembershipControl::getSource"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="class_RTPSource.html">RTPSource</a> &amp; MembershipControl::getSource (
          </b></td>
          <td valign="bottom"><b>
uint32 <em>ssrc</em>&nbsp;) const<code> [inline]</code>
          </b></td>
        </tr>

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

<p>
Get the description of a source by its <code>SSRC<code> identifier.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>ssrc</em>
&nbsp;</td><td>
 SSRC identifier, int network order.  </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
 the <a class="el" href="class_RTPSource.html">RTPSource</a> object identified by <code>ssrc<code> </dl><dl compact><dt>
<b>Return values: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>a</em>
&nbsp;</td><td>
 dummy empty object if there is no source with the  given ssrc identifier </td></tr>
</table>
</dl>
<p>
Reimplemented in <a class="el" href="class_RTPQueue.html#a16">RTPQueue</a>.
<p>
Definition at line <a class="el" href="rtp_h-source.html#l00683">683</a> of file <a class="el" href="rtp_h-source.html">rtp.h</a>.
<p>
Referenced by <a class="el" href="rtp_h-source.html#l01095">RTPQueue::getSource</a>().    </td>
  </tr>
</table>
<a name="b4" doxytag="MembershipControl::getSourceBySSRC"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_RTPSource.html">RTPSource</a> &amp; MembershipControl::getSourceBySSRC (
          </b></td>
          <td valign="bottom"><b>
uint32 <em>ssrc</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
bool <em>create</em> = false&nbsp;)<code> [protected]</code>
          </b></td>
        </tr>

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

<p>
Get the description of a source by its <code>ssrc<code> identifier.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>ssrc</em>
&nbsp;</td><td>
 SSRC identifier, int network order.  </td></tr>
<tr><td valign=top><em>create</em>
&nbsp;</td><td>
 whether to create a new source if not found </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
 the <a class="el" href="class_RTPSource.html">RTPSource</a> object identified by <code>ssrc<code> </dl><dl compact><dt>
<b>Return values: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>a</em>
&nbsp;</td><td>
 dummy empty object if create == false and there is  no source with the given ssrc identifier </td></tr>
</table>
</dl>
<p>
Referenced by <a class="el" href="rtp_h-source.html#l00695">getOrCreateSource</a>().    </td>
  </tr>
</table>
<a name="c1" doxytag="MembershipControl::operator="></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
MembershipControl&amp; MembershipControl::operator= (
          </b></td>
          <td valign="bottom"><b>
const MembershipControl &amp; <em>o</em>&nbsp;)<code> [private]</code>
          </b></td>
        </tr>

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

<p>
    </td>
  </tr>
</table>
<a name="b5" doxytag="MembershipControl::removeSource"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool MembershipControl::removeSource (
          </b></td>
          <td valign="bottom"><b>
uint32 <em>ssrc</em>&nbsp;)<code> [protected]</code>
          </b></td>
        </tr>

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

<p>
Remove the description of the source identified by <code>ssrc</code>
<p>
<dl compact><dt>
<b>Returns: </b><dd>
 whether the source has been actually removed or it did not exist. </dl>    </td>
  </tr>
</table>
<hr><h2>Member Data Documentation</h2>
<a name="o0" doxytag="MembershipControl::SOURCE_BUCKETS"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
uint32 MembershipControl::SOURCE_BUCKETS<code> [private]</code>
          </b></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_h-source.html#l00774">774</a> of file <a class="el" href="rtp_h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<a name="q0" doxytag="MembershipControl::dummysource"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="class_RTPSource.html">RTPSource</a> MembershipControl::dummysource<code> [static, protected]</code>
          </b></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_h-source.html#l00764">764</a> of file <a class="el" href="rtp_h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<a name="o2" doxytag="MembershipControl::first"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_RTPSource.html">RTPSource</a> * MembershipControl::first<code> [private]</code>
          </b></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_h-source.html#l00777">777</a> of file <a class="el" href="rtp_h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<a name="o3" doxytag="MembershipControl::last"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_RTPSource.html">RTPSource</a> * MembershipControl::last<code> [private]</code>
          </b></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_h-source.html#l00777">777</a> of file <a class="el" href="rtp_h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<a name="o1" doxytag="MembershipControl::sources"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="class_RTPSource.html">RTPSource</a> ** MembershipControl::sources<code> [private]</code>
          </b></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_h-source.html#l00775">775</a> of file <a class="el" href="rtp_h-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_h-source.html">rtp.h</a></ul>
<hr><address><small>Generated at Fri Oct 5 10:28:26 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.5 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
 &copy;&nbsp;1997-2001</small></address>
</body>
</html>