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 __REPORTS_H__ 00024 #define __REPORTS_H__ 00025 00026 #include "omnetpp.h" 00027 00028 #include "types.h" 00029 00030 00035 class SenderReport : public cObject { 00036 00037 public: 00038 00042 SenderReport(const char *name = NULL); 00043 00047 SenderReport(const SenderReport& senderReport); 00048 00052 virtual ~SenderReport(); 00053 00057 SenderReport& operator=(const SenderReport& senderReport); 00058 00062 virtual cObject *dup() const; 00063 00067 virtual const char *className() const; 00068 00072 virtual void info(char *buf) const; 00073 00077 virtual void writeContents(ostream& os) const; 00078 00082 virtual u_int64 ntpTimeStamp(); 00083 00087 virtual void setNTPTimeStamp(u_int64 ntpTimeStamp); 00088 00092 virtual u_int32 rtpTimeStamp(); 00093 00097 virtual void setRTPTimeStamp(u_int32 timeStamp); 00098 00102 virtual u_int32 packetCount(); 00103 00107 virtual void setPacketCount(u_int32 packetCount); 00108 00112 virtual u_int32 byteCount(); 00113 00117 virtual void setByteCount(u_int32 byteCount); 00118 00119 protected: 00120 00124 u_int64 _ntpTimeStamp; 00125 00129 u_int32 _rtpTimeStamp; 00130 00134 u_int32 _packetCount; 00135 00139 u_int32 _byteCount; 00140 }; 00141 00142 00147 class ReceptionReport : public cObject { 00148 00149 public: 00153 ReceptionReport(const char *name = NULL); 00154 00158 ReceptionReport(const ReceptionReport& receptionReport); 00159 00163 virtual ~ReceptionReport(); 00164 00168 ReceptionReport& operator=(const ReceptionReport& receptionReport); 00169 00173 virtual cObject *dup() const; 00174 00178 virtual const char *className() const; 00179 00183 virtual void info(char *buf) const; 00184 00188 virtual void writeContents(ostream& os) const; 00189 00193 virtual u_int32 ssrc(); 00194 00198 virtual void setSSRC(u_int32 ssrc); 00199 00203 virtual u_int8 fractionLost(); 00204 00208 virtual void setFractionLost(u_int8 fractionLost); 00209 00213 virtual int packetsLostCumulative(); 00214 00218 virtual void setPacketsLostCumulative(int packetLostCumulative); 00219 00223 virtual u_int32 sequenceNumber(); 00224 00228 virtual void setSequenceNumber(u_int32 sequenceNumber); 00229 00233 virtual int jitter(); 00234 00238 virtual void setJitter(int jitter); 00239 00243 virtual int lastSR(); 00244 00248 virtual void setLastSR(int lastSR); 00249 00254 virtual int delaySinceLastSR(); 00255 00260 virtual void setDelaySinceLastSR(int delaySinceLastSR); 00261 00262 protected: 00263 00267 u_int32 _ssrc; 00268 00272 u_int8 _fractionLost; 00273 00277 int _packetsLostCumulative; 00278 00282 u_int32 _extendedHighestSequenceNumber; 00283 00287 int _jitter; 00288 00292 int _lastSR; 00293 00298 int _delaySinceLastSR; 00299 00300 }; 00301 00302 #endif