Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Examples

RTPDuplex Class Reference
[ccRTP Extension classesccRTP Extension classes]

RTP peer host over UDP. More...

#include <cc++/rtp.h>

Inheritance diagram for RTPDuplex:

RTPDataQueue IncomingDataQueue OutgoingDataQueue IncomingDataQueueBase MembershipBookkeeping OutgoingDataQueueBase DestinationListHandler RTPQueueBase SyncSourceHandler ParticipantHandler ApplicationHandler ConflictHandler Members RTPQueueBase List of all members.

Public Member Functions

 RTPDuplex (const InetAddress &bind, tpport_t local, tpport_t remote)
virtual ~RTPDuplex ()
UDPTransmit::Error connect (const InetHostAddress &host, tpport_t port=0)

Protected Member Functions

bool isPendingData (microtimeout_t timeout)
size_t sendData (const unsigned char *const buffer, size_t len)
size_t recvData (unsigned char *buffer, size_t len, InetHostAddress &na, tpport_t &tp)
void setDataPeer (const InetAddress &, tpport_t)
void setControlPeer (const InetAddress &, tpport_t)
size_t getNextDataPacketSize () const
SyncSourcegetPeer ()

Detailed Description

RTP peer host over UDP.

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.

Author:
David Sugar
Examples:

rtpduphello.cpp.


Constructor & Destructor Documentation

RTPDuplex::RTPDuplex const InetAddress &  bind,
tpport_t  local,
tpport_t  remote
 

Parameters:
bind network address this socket is to be bound
local transport port this socket is to be bound
remote peer transpor port

virtual RTPDuplex::~RTPDuplex  )  [virtual]
 


Member Function Documentation

UDPTransmit::Error RTPDuplex::connect const InetHostAddress &  host,
tpport_t  port = 0
 

Parameters:
host peer address
port peer port. If not specified, the same as the local is used
Returns:
socket status

size_t RTPDuplex::getNextDataPacketSize  )  const [inline, protected, virtual]
 

Implements IncomingDataQueue.

SyncSource& RTPDuplex::getPeer  )  [protected]
 

Returns:
the associated peer information

bool RTPDuplex::isPendingData microtimeout_t  timeout  )  [inline, protected, virtual]
 

Parameters:
timeout how much time to wait for new data
Returns:
if there is some new data

Implements RTPDataQueue.

size_t RTPDuplex::recvData unsigned char *  buffer,
size_t  len,
InetHostAddress &  na,
tpport_t &  tp
[inline, protected, virtual]
 

Parameters:
buffer where to store the retrieved data
len how many octets to read
na Source network address.
tp Source transport port.
Returns:
number of octets read

Implements IncomingDataQueue.

size_t RTPDuplex::sendData const unsigned char *const   buffer,
size_t  len
[inline, protected, virtual]
 

Parameters:
buffer pointer to data to be written
len how many octets to write
Returns:
number of octets written

Implements OutgoingDataQueue.

void RTPDuplex::setControlPeer const InetAddress &  ,
tpport_t 
[inline, protected, virtual]
 

Parameters:
- peer host network address.
- peer host RTCP transport port.

Implements OutgoingDataQueue.

void RTPDuplex::setDataPeer const InetAddress &  ,
tpport_t 
[inline, protected, virtual]
 

Parameters:
- peer host network address.
- peer host RTP data transport port.

Implements OutgoingDataQueue.


The documentation for this class was generated from the following file:
Generated on Sat Jul 23 03:08:27 2005 for ccRTP by  doxygen 1.4.3-20050530