📄 measure.cc.cc
字号:
//MEASURE.CC
//Member function defenitions for Measure class
#include <iostream.h>
#include "measure.h"
//Measure constructor initializes each datamember to zero
Measure::Measure()
{
bind("off_cmn_",&off_cmn_);
bind("off_ip_",&off_ip_);
bind("off_rtp_",&off_rtp_);
seqno = 0;
flowid = 0;
uniqueid = 0;
size = 0;
arrivaltime = 0.0;
servicetime = 0.0;
classofpacket = -1;
}
// create the list of packets arrived into the network
void Measure::createPacketinfolist(Packet* p)
{
hdr_cmn* hdr = (hdr_cmn*)p->access(off_cmn_);
hdr_ip* iph = (hdr_ip*)p->access(off_ip_);
hdr_rtp* rh = (hdr_rtp*)p->access(off_rtp_);
seqno = rh->seqno();
flowid = iph->flowid();
uniqueid = hdr->uid();
size = hdr->size();
arrivaltime = hdr->arrivaltimestamp();
servicetime = hdr->servicetimestamp();
classofpacket = hdr->classofpacket();
}
void Measure::deletePacketinfolist()
{
seqno = 0;
flowid = 0;
uniqueid = 0;
size = 0;
arrivaltime = 0.0;
servicetime = 0.0;
classofpacket = -1;
}
void Measure::printPacketinfolist()
{
printf(" The sequenceno = %d, flowid = %d, uniqueid = %d, size = %d, arrivaltime
= %f, servicetime = %f, classofpacket = %d \n",seqno,flowid,uniqueid,size,arrivaltime,servicetime,classofpacket);
}
int Measure::getseqno()
{
return(seqno);
}
int Measure::getflowid()
{
return(flowid);
}
int Measure::getuniqueid()
{
return(uniqueid);
}
int Measure::getsize()
{
return(size);
}
double Measure::getarrivaltime()
{
return(arrivaltime);
}
double Measure::getservicetime()
{
return(servicetime);
}
int Measure::getclassofpacket()
{
return(classofpacket);
}
static class MeasureClass : public TclClass {
public:
MeasureClass() : TclClass("Measure") {}
TclObject* create(int, const char*const*) {
return (new Measure());
}
} measure_class;
int Measure::command(int argc, const char*const* argv)
{
Tcl& tcl = Tcl::instance();
return TclObject::command(argc, argv);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -