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 __RTPSENDERINFO_H__ 00024 #define __RTPSENDERINFO_H__ 00025 00026 #include "omnetpp.h" 00027 00028 #include "types.h" 00029 #include "RTPParticipantInfo.h" 00030 #include "reports.h" 00031 00032 00037 class RTPSenderInfo : public RTPParticipantInfo { 00038 00039 public: 00040 00044 RTPSenderInfo(u_int32 ssrc = 0); 00045 00049 RTPSenderInfo(const RTPSenderInfo& senderInfo); 00050 00054 virtual ~RTPSenderInfo(); 00055 00059 RTPSenderInfo& operator=(const RTPSenderInfo& senderInfo); 00060 00064 virtual cObject *dup() const; 00065 00069 virtual const char *className() const; 00070 00074 virtual void processRTPPacket(RTPPacket *packet, simtime_t arrivalTime); 00075 00079 virtual void processReceptionReport(ReceptionReport *report, simtime_t arrivalTime); 00080 00086 virtual SenderReport *senderReport(simtime_t now); 00087 00092 virtual void setStartTime(simtime_t startTime); 00093 00098 virtual void setClockRate(int clockRate); 00099 00103 virtual void setTimeStampBase(u_int32 timeStampBase); 00104 00108 virtual void setSequenceNumberBase(u_int16 sequenceNumberBase); 00109 00113 virtual bool toBeDeleted(simtime_t now); 00114 00115 private: 00116 00120 simtime_t _startTime; 00121 00125 int _clockRate; 00126 00130 u_int32 _timeStampBase; 00131 00135 u_int16 _sequenceNumberBase; 00136 00140 u_int32 _packetsSent; 00141 00145 u_int32 _bytesSent; 00146 00147 }; 00148 00149 #endif