Sophie

Sophie

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

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>RTPDuplex 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>RTPDuplex  Class Reference</h1>RTP peer host over UDP. 
<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 RTPDuplex::
<p><center><img src="classRTPDuplex.gif" usemap="#RTPDuplex_map" border="0"></center>
<map name="RTPDuplex_map">
<area href="classRTPQueue.html" alt="RTPQueue" shape="rect" coords="66,112,188,136">
<area href="classUDPReceive.html" alt="UDPReceive" shape="rect" coords="198,112,320,136">
<area href="classUDPTransmit.html" alt="UDPTransmit" shape="rect" coords="330,112,452,136">
<area href="classThread.html" alt="Thread" shape="rect" coords="0,56,122,80">
<area href="classMembershipControl.html" alt="MembershipControl" shape="rect" coords="132,56,254,80">
<area href="classMembers.html" alt="Members" shape="rect" coords="132,0,254,24">
</map>
<a href="classRTPDuplex-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="classRTPDuplex.html#a0">RTPDuplex</a> (const InetAddress &amp;bind, tpport_t local, tpport_t remote, int pri)</td></tr>
<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classRTPDuplex.html#a1">~RTPDuplex</a> ()</td></tr>
<tr><td nowrap align=right valign=top>sockerror_t&nbsp;</td><td valign=bottom><a class="el" href="classRTPDuplex.html#a2">Connect</a> (const InetHostAddress &amp;host, tpport_t port=0)</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="classRTPDuplex.html#b0">isPendingData</a> (<a class="el" href="rtp_8h.html#a1">microtimeout_t</a> <a class="el" href="classRTPQueue.html#o20">timeout</a>)</td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classRTPDuplex.html#b1">writeData</a> (const unsigned char *const buffer, size_t len)</td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classRTPDuplex.html#b2">readData</a> (unsigned char *buffer, size_t len)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="classRTPSource.html">RTPSource</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classRTPDuplex.html#b3">getPeer</a> ()</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="classRTPDuplex.html#o0">base</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
RTP peer host over UDP.
<p>
A peer associated RTP socket pair for physically connected peer hosts. This has no RTCP and assumes the receiver is connected to a known transmitter, hence no "foreign" packets will arrive.
<p>
<dl compact><dt><b>
Author: </b><dd>
David Sugar </dl><dl compact><dt><b>
Examples: </b><dd>

<p>
<a class="el" href="rtpduphello_8cpp-example.html#_a1">rtpduphello.cpp</a>.</dl>
<p>

<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02390">2390</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="RTPDuplex::RTPDuplex"></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" nowrap valign="top"> RTPDuplex::RTPDuplex </td>
          <td class="md">(&nbsp;</td>
          <td class="md">const InetAddress &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>local</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md">tpport_t</td>
          <td class="mdname">&nbsp; <em>remote</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md">int</td>
          <td class="mdname">&nbsp; <em>pri</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></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>local
</em>&nbsp;</td><td>
transport port this socket is to be bound </td></tr>
<tr><td valign=top><em>remote
</em>&nbsp;</td><td>
peer transpor port </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>    </td>
  </tr>
</table>
<a name="a1" doxytag="RTPDuplex::~RTPDuplex"></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" nowrap valign="top"> virtual RTPDuplex::~RTPDuplex </td>
          <td class="md">(&nbsp;</td>
          <td class="mdname1">&nbsp;          </td>
          <td class="md">)&nbsp;</td>
          <td class="md"><code> [virtual]</code></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="a2" doxytag="RTPDuplex::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" nowrap valign="top"> sockerror_t RTPDuplex::Connect </td>
          <td class="md">(&nbsp;</td>
          <td class="md">const InetHostAddress &amp;</td>
          <td class="mdname">&nbsp; <em>host</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"></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>host
</em>&nbsp;</td><td>
peer address  </td></tr>
<tr><td valign=top><em>port
</em>&nbsp;</td><td>
peer port. If not specified, the same as the  local is used </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
socket status </dl><dl compact><dt><b>
Examples: </b><dd>
<a class="el" href="rtpduphello_8cpp-example.html#a4">rtpduphello.cpp</a>.</dl>    </td>
  </tr>
</table>
<a name="b3" doxytag="RTPDuplex::getPeer"></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" nowrap valign="top"> <a class="el" href="classRTPSource.html">RTPSource</a>&amp; RTPDuplex::getPeer </td>
          <td class="md">(&nbsp;</td>
          <td class="mdname1">&nbsp;          </td>
          <td class="md">)&nbsp;</td>
          <td class="md"><code> [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>
the associated peer information </dl>    </td>
  </tr>
</table>
<a name="b0" doxytag="RTPDuplex::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" nowrap valign="top"> bool RTPDuplex::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, virtual]</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>
how much time to wait for new data </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
if there is some new data </dl>
<p>
Reimplemented from <a class="el" href="classRTPQueue.html#b7">RTPQueue</a>.
<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02425">2425</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<a name="b2" doxytag="RTPDuplex::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" nowrap valign="top"> size_t RTPDuplex::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, virtual]</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>
where to store the retrieved data  </td></tr>
<tr><td valign=top><em>len
</em>&nbsp;</td><td>
how many octets to read </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
number of octets read </dl>
<p>
Reimplemented from <a class="el" href="classRTPQueue.html#b12">RTPQueue</a>.
<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02443">2443</a> of file <a class="el" href="rtp_8h-source.html">rtp.h</a>.    </td>
  </tr>
</table>
<a name="b1" doxytag="RTPDuplex::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" nowrap valign="top"> size_t RTPDuplex::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, virtual]</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>
pointer to data to be written </td></tr>
<tr><td valign=top><em>len
</em>&nbsp;</td><td>
how many octets to write </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
number of octets written </dl>
<p>
Reimplemented from <a class="el" href="classRTPQueue.html#b10">RTPQueue</a>.
<p>
Definition at line <a class="el" href="rtp_8h-source.html#l02434">2434</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="RTPDuplex::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" nowrap valign="top"> tpport_t RTPDuplex::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#l02453">2453</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:52 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>