Изменение размера пакета WSM (WAVE Short Message) в Veins

Устанавливает ли длительность WSM через setWsmLength или добавляет большую полезную нагрузку через setWsmData во время моделирования? Я пытаюсь имитировать сильно используемую сеть, но изменение любого из этих двух значений, похоже, не имеет никакого значения. Я нашел этот, но хотел подтвердить это. И если бы я хотел изменить размер WSM, я должен его реализовать?

3
задан 23 февр. '16 в 0:19
источник поделиться
1 ответ

Вы можете реализовать пакет для своего приложения в файле .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 is) Подкласс cMessage, который может использоваться для представления пакетов (фреймы, * датаграммы, сообщения приложений и т.д.). cPacket добавляет длину (измеряется в * битах или байтах), флаг ошибки бит и инкапсуляция возможность для cMessage. * Знак длины и бит ошибки значительны когда пакет проходит через * cDatarateChannel или другой канал, который поддерживает моделирование скорости передачи данных и/или *. *

Связанный Q & A, который показывает кастинг от cMessage до cPacket.

3
ответ дан 23 февр. '16 в 14:54
источник

Другие вопросы по меткам или Задайте вопрос