从新版本的 VEINS 中删除 getSenderPos() 函数
getSenderPos() function removal from the new versions of VEINS
也许我错了,但我注意到函数 getSenderPos() 是 removed/moved 从 WaveShortMessage 到版本 4.5+
中的 BasicSafetyMessage
对于 4.4 版 - 我使用 getSenderPos() 来计算两个节点之间的距离,但想知道 4.6+ 版的最佳方法是什么?
我应该在我的 VEINS 应用程序中重写为 WSM 交换编写的代码以进行 BSM 交换,还是我遗漏了什么?
感谢您的帮助。
你是对的:与早期版本相比,Veins 4.6 要求将更小的 set of fields 从应用程序传递到 MAC 层。实现这组字段的基本类型(有点令人困惑)称为 WaveShortMessage
。随意通过继承基本类型来扩展字段集,然后在 onWSM
方法中将接收到的消息转换为您的类型。
为了快速实验,Veins 附带的示例应用层 BaseWaveApplLayer
已经实现了消息来模拟 WSA 和 BSM,但很可能您无论如何都想使用一种全新类型的消息,所以我不会除了最简单的调查之外,不建议在这些类型的消息上构建任何东西(并且,即便如此,也要检查您是否适当地设置了消息长度等参数)。
也许我错了,但我注意到函数 getSenderPos() 是 removed/moved 从 WaveShortMessage 到版本 4.5+
中的 BasicSafetyMessage对于 4.4 版 - 我使用 getSenderPos() 来计算两个节点之间的距离,但想知道 4.6+ 版的最佳方法是什么?
我应该在我的 VEINS 应用程序中重写为 WSM 交换编写的代码以进行 BSM 交换,还是我遗漏了什么?
感谢您的帮助。
你是对的:与早期版本相比,Veins 4.6 要求将更小的 set of fields 从应用程序传递到 MAC 层。实现这组字段的基本类型(有点令人困惑)称为 WaveShortMessage
。随意通过继承基本类型来扩展字段集,然后在 onWSM
方法中将接收到的消息转换为您的类型。
为了快速实验,Veins 附带的示例应用层 BaseWaveApplLayer
已经实现了消息来模拟 WSA 和 BSM,但很可能您无论如何都想使用一种全新类型的消息,所以我不会除了最简单的调查之外,不建议在这些类型的消息上构建任何东西(并且,即便如此,也要检查您是否适当地设置了消息长度等参数)。