Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

RTCPPacket Class Reference

#include <RTCPPacket.h>

Inheritance diagram for RTCPPacket:

RTCPByePacket RTCPReceiverReportPacket RTCPSDESPacket RTCPSenderReportPacket List of all members.

Public Types

enum  RTCP_PACKET_TYPE {
  RTCP_PT_UNDEF = 0, RTCP_PT_SR = 200, RTCP_PT_RR = 201, RTCP_PT_SDES = 202,
  RTCP_PT_BYE = 203
}

Public Member Functions

 RTCPPacket (const char *name=NULL)
 RTCPPacket (const RTCPPacket &rtcpPacket)
virtual ~RTCPPacket ()
RTCPPacketoperator= (const RTCPPacket &rtcpPacket)
virtual const char * className () const
virtual cObject * dup () const
virtual void info (char *buf) const
virtual void writeContents (ostream &os) const
virtual int version ()
virtual int padding ()
virtual int count ()
virtual RTCP_PACKET_TYPE packetType ()
virtual int rtcpLength () const

Protected Attributes

int _version
int _padding
int _count
RTCP_PACKET_TYPE _packetType

Detailed Description

This is a base class for all types (except RTCPCompoundPacket) of rtcp packets. It isn't intended to be used directly.


Member Enumeration Documentation

enum RTCPPacket::RTCP_PACKET_TYPE
 

The values for the packet type field in the rtcp header as defined in the rfc.

Enumeration values:
RTCP_PT_UNDEF  default value undefined
RTCP_PT_SR  sender report
RTCP_PT_RR  receiver report
RTCP_PT_SDES  source description
RTCP_PT_BYE  bye


Constructor & Destructor Documentation

RTCPPacket::RTCPPacket const char *  name = NULL  ) 
 

Default constructor.

RTCPPacket::RTCPPacket const RTCPPacket rtcpPacket  ) 
 

Copy constructor.

RTCPPacket::~RTCPPacket  )  [virtual]
 

Destructor.


Member Function Documentation

const char * RTCPPacket::className  )  const [virtual]
 

Return the class name "RTCPPacket".

Reimplemented in RTCPReceiverReportPacket, RTCPSenderReportPacket, RTCPSDESPacket, and RTCPByePacket.

int RTCPPacket::count  )  [virtual]
 

Returns the value of the count field in the rtcp header. Depending on the type of rtcp packet it stands for number of receiver reports or number of sdes chunks contained in this packet.

cObject * RTCPPacket::dup  )  const [virtual]
 

Duplicates the RTCPPacket by calling the copy constructor.

Reimplemented in RTCPReceiverReportPacket, RTCPSenderReportPacket, RTCPSDESPacket, and RTCPByePacket.

void RTCPPacket::info char *  buf  )  const [virtual]
 

Writes a short info about this RTCPPacket into the given buffer.

Reimplemented in RTCPReceiverReportPacket, RTCPSenderReportPacket, and RTCPSDESPacket.

RTCPPacket & RTCPPacket::operator= const RTCPPacket rtcpPacket  ) 
 

Assignment operator.

RTCPPacket::RTCP_PACKET_TYPE RTCPPacket::packetType  )  [virtual]
 

Returns the packet type of this rtcp packet.

int RTCPPacket::padding  )  [virtual]
 

1 if padding exists, 0 otherwise. In this implementation only 0 is used.

int RTCPPacket::rtcpLength  )  const [virtual]
 

Returns the value of the field length in the rtcp header. The value isn't stored because it can be calculated with the length() method inherited from cPacket.

int RTCPPacket::version  )  [virtual]
 

Returns the rtp version of the rtcp packet. It's always 2.

void RTCPPacket::writeContents ostream &  os  )  const [virtual]
 

Writes a detailed report about this RTCPPacket into the given stream.

Reimplemented in RTCPReceiverReportPacket, RTCPSenderReportPacket, and RTCPSDESPacket.


Member Data Documentation

int RTCPPacket::_count [protected]
 

Depending on the packet type, here is stored how many receiver reports or sdes chunks are contained in the packet. Values from 0 to 31 are allowed.

RTCP_PACKET_TYPE RTCPPacket::_packetType [protected]
 

The packet type of the rtcp packet.

int RTCPPacket::_padding [protected]
 

Set to 1 if padding (bytes at the end of the packet to assure that the packet length in bytes is a multiple of a certain number; possibly needed for encryption) is used. In the simulation padding isn't needed, so it is always 0.

int RTCPPacket::_version [protected]
 

The rtp version used. Always 2.


The documentation for this class was generated from the following files:
Generated on Tue Sep 12 12:20:21 2006 for RTP model for OMNeT++ by  doxygen 1.4.2