reports.h

Go to the documentation of this file.
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