ost::RTPDuplex Class Reference
[ccRTP Extension classesccRTP Extension classes]

A peer associated RTP socket pair for physically connected peer hosts.RTP peer host over UDP. More...

#include <cc++/rtp.h>

Inheritance diagram for ost::RTPDuplex:

ost::RTPDataQueue ost::UDPReceive ost::UDPTransmit ost::IncomingDataQueue ost::OutgoingDataQueue ost::UDPSocket ost::UDPSocket ost::IncomingDataQueueBase ost::MembershipBookkeeping ost::OutgoingDataQueueBase ost::DestinationListHandler ost::Socket ost::Socket ost::RTPQueueBase ost::SyncSourceHandler ost::ParticipantHandler ost::ApplicationHandler ost::ConflictHandler ost::Members ost::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

A peer associated RTP socket pair for physically connected peer hosts.RTP peer host over UDP.

This has no RTCP and assumes the receiver is connected to a known transmitter, hence no "foreign" packets will arrive.

Author:
David Sugar


Constructor & Destructor Documentation

ost::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 ost::RTPDuplex::~RTPDuplex  )  [virtual]
 


Member Function Documentation

UDPTransmit::Error ost::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 ost::RTPDuplex::getNextDataPacketSize  )  const [inline, protected, virtual]
 

Implements ost::IncomingDataQueue.

SyncSource& ost::RTPDuplex::getPeer  )  [protected]
 

Returns:
the associated peer information

bool ost::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 ost::RTPDataQueue.

size_t ost::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 ost::IncomingDataQueue.

size_t ost::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 ost::OutgoingDataQueue.

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

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

Implements ost::OutgoingDataQueue.

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

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

Implements ost::OutgoingDataQueue.


The documentation for this class was generated from the following file:
Generated on Thu Apr 6 09:03:05 2006 for Bayonne Framework by  doxygen 1.4.6