INET Framework for OMNeT++/OMNEST
RTCPSenderReportPacket Class Reference

#include <RTCPPacket.h>

Inheritance diagram for RTCPSenderReportPacket:
RTCPReceiverReportPacket RTCPPacket

List of all members.

Public Member Functions

 RTCPSenderReportPacket (const char *name=NULL)
 RTCPSenderReportPacket (const RTCPSenderReportPacket &rtcpSenderReportPacket)
virtual ~RTCPSenderReportPacket ()
RTCPSenderReportPacketoperator= (const RTCPSenderReportPacket &rtcpSenderReportPacket)
virtual RTCPSenderReportPacketdup () const
virtual std::string info ()
virtual void dump (std::ostream &os) const
virtual SenderReportgetSenderReport ()
virtual void setSenderReport (SenderReport *senderReport)

Protected Attributes

SenderReport_senderReport

Detailed Description

This class represents rtcp sender report packets. A rtcp sender report packet is very similar to an rtcp receiver report packet with the only difference that it includes exactly one sender report. To express this similarity it is a subclass of RTPReceiverReportPacket.

See also:
SenderReport
ReceptionReport

Constructor & Destructor Documentation

RTCPSenderReportPacket::RTCPSenderReportPacket ( const char *  name = NULL)

Default constructor.

Referenced by dup().

                                                               : RTCPReceiverReportPacket(name) {
    _packetType = RTCP_PT_SR;
    _senderReport = new SenderReport();
    // a sender report is 20 bytes long
    addByteLength(20);
};
RTCPSenderReportPacket::RTCPSenderReportPacket ( const RTCPSenderReportPacket rtcpSenderReportPacket)

Copy constructor.

                                                                                                   : RTCPReceiverReportPacket() {
    setName(rtcpSenderReportPacket.getName());
    operator=(rtcpSenderReportPacket);
};
RTCPSenderReportPacket::~RTCPSenderReportPacket ( ) [virtual]

Destructor.

                                                {
    delete _senderReport;
};

Member Function Documentation

void RTCPSenderReportPacket::dump ( std::ostream &  os) const [virtual]

Writes a longer info about this RTCPSenderReportPacket into the given stream.

Reimplemented from RTCPReceiverReportPacket.

                                                      {
    os << "RTCPSenderReportPacket:" << endl;
    _senderReport->dump(os);
    for (int i = 0; i < _receptionReports->size(); i++) {
        if (_receptionReports->exist(i)) {
            //FIXME _receptionReports->get(i)->dump(os);
        };
    };
};
RTCPSenderReportPacket * RTCPSenderReportPacket::dup ( ) const [virtual]

Duplicates the RTCPSenderReportPacket by calling the copy constructor.

Reimplemented from RTCPReceiverReportPacket.

                                                          {
    return new RTCPSenderReportPacket(*this);
};
SenderReport * RTCPSenderReportPacket::getSenderReport ( ) [virtual]

Returns a copy of the sender report stored in this RTCPSenderReportPacket.

See also:
SenderReport

Referenced by RTCP::processIncomingRTCPPacket().

                                                      {
    return new SenderReport(*_senderReport);
};
std::string RTCPSenderReportPacket::info ( ) [virtual]

Writes a one line info about this RTCPSenderReportPacket into the given string.

Reimplemented from RTCPReceiverReportPacket.

                                       {
    std::stringstream out;
    out << "RTCPSenderReportPacket.ssrc=" << _ssrc;
    return out.str();
};
RTCPSenderReportPacket & RTCPSenderReportPacket::operator= ( const RTCPSenderReportPacket rtcpSenderReportPacket)

Assignment operator.

Referenced by RTCPSenderReportPacket().

                                                                                                              {
    RTCPReceiverReportPacket::operator=(rtcpSenderReportPacket);
    _senderReport = new SenderReport(*(rtcpSenderReportPacket._senderReport));
    return *this;
};
void RTCPSenderReportPacket::setSenderReport ( SenderReport senderReport) [virtual]

Sets the sender report.

See also:
SenderReport

Referenced by RTCP::createPacket().

                                                                 {
    delete _senderReport;
    _senderReport = report;
};

Member Data Documentation


The documentation for this class was generated from the following files: