Удаление функции getSenderPos () из новых версий VEINS

Может быть, я ошибаюсь, но я заметил, что функция getSenderPos () была удалена / перемещена из WaveShortMessage в BasicSafetyMessage в версиях 4.5+

С версией 4.4 — я использовал getSenderPos () для вычисления расстояния между двумя узлами, но мне было интересно, что будет лучшим подходом с версией 4.6+?

Должен ли я переписать код, написанный для обменов WSM, в моем приложении VEINS, чтобы вместо этого выполнять обмен BSM, или я что-то упустил?

Спасибо за помощь.

4

Решение

Вы правы: по сравнению с более ранними версиями, Veins 4.6 требует гораздо меньше набор полей для передачи из приложений на уровень MAC. Базовый тип, реализующий этот набор полей, называется (несколько странно) WaveShortMessage, Не стесняйтесь расширять набор полей, наследуя базовый тип по своему усмотрению, а затем приведите полученное сообщение к вашему типу в onWSM метод.

Для быстрого экспериментирования, пример прикладного уровня BaseWaveApplLayer который поставляется вместе с Veins, уже реализует сообщения для имитации WSA и BSM, но, скорее всего, вы все равно захотите использовать совершенно новый тип сообщений, поэтому я бы не советовал использовать эти типы сообщений для чего-либо, кроме самых простых исследований (и даже тогда, чтобы убедиться, что вы устанавливаете параметры, такие как длина сообщения, соответственно).

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]