|
INET Framework for OMNeT++/OMNEST
|
00001 /*************************************************************************** 00002 reports.h - description 00003 ------------------- 00004 begin : Tue Oct 23 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 00023 #ifndef __INET_REPORTS_H 00024 #define __INET_REPORTS_H 00025 00026 #include "INETDefs.h" 00027 #include "IPAddress.h" 00028 00029 00034 class INET_API SenderReport : public cObject 00035 { 00036 00037 public: 00038 00042 SenderReport(); 00043 00047 SenderReport(const SenderReport& senderReport); 00048 00052 virtual ~SenderReport(); 00053 00057 SenderReport& operator=(const SenderReport& senderReport); 00058 00062 virtual SenderReport *dup() const; 00063 00067 virtual std::string info(); 00068 00072 virtual void dump(std::ostream& os) const; 00073 00077 virtual uint64 getNTPTimeStamp(); 00078 00082 virtual void setNTPTimeStamp(uint64 ntpTimeStamp); 00083 00087 virtual uint32 getRTPTimeStamp(); 00088 00092 virtual void setRTPTimeStamp(uint32 timeStamp); 00093 00097 virtual uint32 getPacketCount(); 00098 00102 virtual void setPacketCount(uint32 packetCount); 00103 00107 virtual uint32 getByteCount(); 00108 00112 virtual void setByteCount(uint32 byteCount); 00113 00114 protected: 00115 00119 uint64 _ntpTimeStamp; 00120 00124 uint32 _rtpTimeStamp; 00125 00129 uint32 _packetCount; 00130 00134 uint32 _byteCount; 00135 }; 00136 00137 00142 class INET_API ReceptionReport : public cObject 00143 { 00144 00145 public: 00149 ReceptionReport(); 00150 00154 ReceptionReport(const ReceptionReport& receptionReport); 00155 00159 virtual ~ReceptionReport(); 00160 00164 ReceptionReport& operator=(const ReceptionReport& receptionReport); 00165 00169 virtual ReceptionReport *dup() const; 00170 00174 virtual std::string info(); 00175 00179 virtual void dump(std::ostream& os) const; 00180 00184 virtual uint32 getSSRC(); 00185 00189 virtual void setSSRC(uint32 ssrc); 00190 00194 virtual uint8 getFractionLost(); 00195 00199 virtual void setFractionLost(uint8 fractionLost); 00200 00204 virtual int getPacketsLostCumulative(); 00205 00209 virtual void setPacketsLostCumulative(int packetLostCumulative); 00210 00214 virtual uint32 getSequenceNumber(); 00215 00219 virtual void setSequenceNumber(uint32 sequenceNumber); 00220 00224 virtual int getJitter(); 00225 00229 virtual void setJitter(int jitter); 00230 00234 virtual int getLastSR(); 00235 00239 virtual void setLastSR(int lastSR); 00240 00245 virtual int getDelaySinceLastSR(); 00246 00251 virtual void setDelaySinceLastSR(int delaySinceLastSR); 00252 00253 protected: 00254 00258 uint32 _ssrc; 00259 00263 uint8 _fractionLost; 00264 00268 int _packetsLostCumulative; 00269 00273 uint32 _extendedHighestSequenceNumber; 00274 00278 int _jitter; 00279 00283 int _lastSR; 00284 00289 int _delaySinceLastSR; 00290 00291 }; 00292 00293 #endif 00294