Имеет ли какое-либо значение установка длины WSM через setWsmLength
или добавление большой полезной нагрузки через setWsmData
во время моделирования? Я пытаюсь смоделировать интенсивно используемую сеть, но изменение любого из этих двух значений, похоже, не имеет никакого значения. Я нашел это, но хотел подтвердить это. И если я хочу изменить размер WSM, нужно ли мне это реализовывать?
Изменение размера пакета WSM (WAVE Short Message) в Veins
Ответы (2)
Вы можете реализовать пакет для своего приложения в файле .msg
следующим образом:
cplusplus {{
#include "veins/modules/messages/WaveShortMessage_m.h"
}}
class WaveShortMessage;
message MyAppsPacket extends WaveShortMessage {
string sourceAddress;
string destinationAddress;
simtime_t sendingTime;
}
Затем в своем коде вы можете использовать встроенный setByteLength()
. Используйте подкласс cPacket для своих сообщений, потому что:
(cPacket) Подкласс cMessage, который можно использовать для представления пакетов (фреймов, * дейтаграмм, сообщений приложений и т. д.). cPacket добавляет к cMessage длину (измеряемую * в битах или байтах), флаг битовой ошибки и возможность инкапсуляции. * Флаг длины и битовой ошибки важен, когда пакет проходит через * cDatarateChannel или другой канал, поддерживающий скорость передачи данных и/или моделирование ошибок. *
Связанные вопросы и ответы, в которых показано приведение от cMessage
к cPacket
.
Я знаю, что это десятилетия спустя, но, возможно, это поможет некоторым новым любителям веников, таким как я.
В omnet++5.4.1 и Veins 4.7.1 в функции
заполнитьWSM()
определенный в BaseWaveApplLayer.cc (veins/modules/application/ieee80211p), вы можете установить битовую длину с помощью
wsm->setBitLength()
метод, и он изменяет размер пакета wsm. По умолчанию имеет длину заголовка
wsm->setBitLength (длина заголовка)
Я играл с этим и мог получить разные размеры пакетов.
Надеюсь, это полезно.