Go to the documentation of this file.00001
00002 #if 0//XXX
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __INET_THRUPUTMETERINGCHANNEL_H
00022 #define __INET_THRUPUTMETERINGCHANNEL_H
00023
00024 #include <omnetpp.h>
00025 #include "INETDefs.h"
00026
00050 class SIM_API ThruputMeteringChannel : public cDatarateChannel
00051 {
00052 protected:
00053
00054 cPar *fmtp;
00055 unsigned int batchSize;
00056 simtime_t maxInterval;
00057
00058
00059
00060
00061 long numPackets;
00062 double numBits;
00063
00064
00065 simtime_t intvlStartTime;
00066 simtime_t intvlLastPkTime;
00067 unsigned long intvlNumPackets;
00068 unsigned long intvlNumBits;
00069
00070
00071 double currentBitPerSec;
00072 double currentPkPerSec;
00073
00074 protected:
00075 virtual void beginNewInterval(simtime_t now);
00076 virtual void updateDisplay();
00077
00078 public:
00082 explicit ThruputMeteringChannel(const char *name=NULL);
00083
00087 ThruputMeteringChannel(const ThruputMeteringChannel& ch);
00088
00092 virtual ~ThruputMeteringChannel();
00093
00097 ThruputMeteringChannel& operator=(const ThruputMeteringChannel& ch);
00098
00103 virtual ThruputMeteringChannel *dup() const {return new ThruputMeteringChannel(*this);}
00104
00108 virtual cPar& addPar(const char *s);
00109
00113 virtual cPar& addPar(cPar *p);
00114
00118 virtual bool deliver(cMessage *msg, simtime_t at);
00119 };
00120
00121 #endif
00122
00123
00124 #endif
00125