静脉的端到端延迟

时间:2015-08-17 06:40:52

标签: c++ simulation omnet++

我想计算Veins示例场景中的端到端延迟。

我已经阅读了与此主题相关的旧邮件,但它们没有提供问题的真正解决方案。

我使用了getCreationTime()simTime()个函数。产生的延迟约为1.70*10^-4

这种延迟对我来说没有意义。它应该更多。我现在需要一些帮助。我使用macPkt函数创建mackPkt->creationTime()的创建时间,并从中提取simTime()以计算端到端延迟。但是,它没有意义。

我猜macPkt不是发射机创建的数据包。我需要在发送器端创建数据包的时间。谁能帮我?计算端到端延迟是许多用户的问题。我希望这个问题可以帮助很多用户。

2 个答案:

答案 0 :(得分:0)

您可以使用'WaveShortMessage'的'timestamp'字段来存储创建时间,然后在接收器处使用此字段来计算延迟。如果您使用自己的消息,只需添加自己的字段。

答案 1 :(得分:0)

我认为以下代码可以帮助您实现端到端的延迟,您应该更改 它基于TraciDemo11p

class Sink : public cSimpleModule
{
protected:
cStdDev eedStats;
virtual void initialize();
virtual void handleMessage(cMessage *msg);
virtual void finish();
};
Define_Module(Sink);
void Sink::initialize()
{
eedStats.setName("End-to-End Delay");
}
void Sink::handleMessage(cMessage *msg)
{
simtime_t eed = simTime() - msg->getCreationTime();
eedStats.collect(eed);
delete msg;
}
void Sink::finish()
{
recordScalar("Simulation duration", simTime());
eedStats.record();
}

我认为OnWSM()中的TraciDemo11p方法适合接收WSM。