RTPSenderInfo.h

Go to the documentation of this file.
00001 /***************************************************************************
00002                           RTPSenderInfo.h  -  description
00003                              -------------------
00004     begin                : Wed Dec 5 2001
00005     copyright            : (C) 2001 by Matthias Oppitz
00006     email                : Matthias.Oppitz@gmx.de
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  *                                                                         *
00011  *   This program is free software; you can redistribute it and/or modify  *
00012  *   it under the terms of the GNU General Public License as published by  *
00013  *   the Free Software Foundation; either version 2 of the License, or     *
00014  *   (at your option) any later version.                                   *
00015  *                                                                         *
00016  ***************************************************************************/
00017 
00018 
00023 #ifndef __INET_RTPSENDERINFO_H
00024 #define __INET_RTPSENDERINFO_H
00025 
00026 #include "INETDefs.h"
00027 #include "RTPParticipantInfo.h"
00028 #include "reports.h"
00029 
00030 
00035 class INET_API RTPSenderInfo : public RTPParticipantInfo
00036 {
00037 
00038     public:
00039 
00043         RTPSenderInfo(uint32 ssrc = 0);
00044 
00048         RTPSenderInfo(const RTPSenderInfo& senderInfo);
00049 
00053         virtual ~RTPSenderInfo();
00054 
00058         RTPSenderInfo& operator=(const RTPSenderInfo& senderInfo);
00059 
00063         virtual RTPSenderInfo *dup() const;
00064 
00068         virtual void processRTPPacket(RTPPacket *packet, int id, simtime_t arrivalTime);
00069 
00073         virtual void processReceptionReport(ReceptionReport *report, simtime_t arrivalTime);
00074 
00080         virtual SenderReport *senderReport(simtime_t now);
00081 
00086         virtual void setStartTime(simtime_t startTime);
00087 
00092         virtual void setClockRate(int clockRate);
00093 
00097         virtual void setTimeStampBase(uint32 timeStampBase);
00098 
00102         virtual void setSequenceNumberBase(uint16 sequenceNumberBase);
00103 
00107         virtual bool toBeDeleted(simtime_t now);
00108 
00109     protected:
00110 
00114         simtime_t _startTime;
00115 
00119         int _clockRate;
00120 
00124         uint32 _timeStampBase;
00125 
00129         uint16 _sequenceNumberBase;
00130 
00134         uint32 _packetsSent;
00135 
00139         uint32 _bytesSent;
00140 
00141 };
00142 
00143 #endif
00144