脉端到端延迟
end to end delay in Veins
本文关键字:延迟 更新时间:2023-10-16
我想在示例场景中计算端到端延迟。
我已经阅读了与这个主题相关的旧邮件,但它们并没有为这个问题提供真正的解决方案。
我使用getCreationTime()
和simTime()
函数。由此产生的延迟约为1.70*10^-4
。
这个延迟对我来说没有意义。它应该更多。我现在需要一些帮助。我使用mackPkt->creationTime()
函数获取macPkt
的创建时间,并从中提取simTime()
用于计算端到端延迟。然而,这没有意义。
我猜macPkt
不是由发送器创建的数据包。我需要在发送端创建数据包的时间。有人能帮我吗?计算端到端时延是许多用户的难题。我希望这个问题对很多用户有帮助。
对于单跳传输,这种量级的延迟是可以预期的。关于更详细的细分,请参见计算静脉中的端到端延迟的讨论。
如果您讨论的是多跳的端到端延迟,请注意数据包创建时间可能是一个可靠的指标。在这里,你可以使用' WaveShortMessage '的' timestamp '字段来存储创建时间,然后在接收端使用该字段来计算延迟。如果您使用自己的消息,只需添加一个您自己的字段。
我认为下面的代码可以帮助你端到端延迟,你应该改变它基于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();
}
我认为TraciDemo11p
中的OnWSM()
方法是适合接收WSM的地方。
相关文章:
- 如何仅为一个函数添加延迟
- 以在Qt中的IF语句中设置时间延迟
- 模板化类中静态成员的延迟初始化
- 在 Windows 8/10 技术中完全实时的屏幕捕获,没有延迟
- 将自定义函数传递到基抽象类中以延迟执行
- 我希望改进或要求我目前的延迟/睡眠方法。C++
- 如何在 c++ 中延迟?
- 如何测量管道延迟?
- 获取毫秒延迟的错误值
- C++异常被捕获延迟,可能导致这种情况的原因是什么?
- 我的子类的属性是延迟初始化的
- 为什么有些延迟加载 DLL 会立即使用 FFMPEG 卸载?
- 代码战士的延迟
- 为什么当通过 TCP 发送的消息速率增加时,请求-响应消息对的延迟会降低?
- C++延迟后的优化器调用函数
- 将作业传递给另一个函数,而不会延迟 arduino
- 延迟 _getch() 输入
- 为什么添加延迟会提高此多线程环境中的数据吞吐量?
- 如何延迟生成已完成的项目序列并对其进行迭代
- 呼叫 QSound,它们之间有延迟 Qt C++