从新版本的VEINS中删除getSenderPos()函数

时间:2017-09-03 18:15:14

标签: c++ omnet++ veins

也许我错了,但我注意到函数getSenderPos()在版本4.5 +

中被从WaveShortMessage移除/移动到BasicSafetyMessage

使用4.4版本 - 我使用getSenderPos()来计算2个节点之间的距离,但是想知道4.6 +版本的最佳方法是什么?

我是否应该在我的VEINS应用程序中重写为WSM交换编写的代码来进行BSM交换,或者我错过了什么?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

你是对的:与早期版本相比,Veins 4.6要求将更小的set of fields从应用程序传递到MAC层。实现这组字段的基类型(有点令人困惑)称为WaveShortMessage。您可以根据需要继承基本类型来扩展字段集,然后将收到的消息转换为onWSM方法中的类型。

对于快速实验,Veins附带的示例应用程序层BaseWaveApplLayer已经实现了模拟WSA和BSM的消息,但是很可能你想要使用全新类型的消息,所以我不会这样做。除了最简单的调查之外,建议建立这些类型的消息(即使这样,也要检查你是否正确设置了消息长度等参数)。