Я пытаюсь выполнить проект, описанный также здесь: 0а>
Я изменил файл UdpBasicApp.cc в соответствии со своими потребностями и добавил в функцию handleMessage() фрагмент кода для получения длины очереди Ethernet маршрутизатора. Однако возвращаемое значение всегда равно 0.
Мой файл .ned, касающийся очереди маршрутизаторов, таков:
**.router*.eth[*].mac.queue.typename = "DropTailQueue"
**.router*.eth[*].mac.queue.packetCapacity = 51
Код, добавленный в файл UdpBasicApp.cc, выглядит следующим образом:
cModule *mod = getModuleByPath("router3.eth[*].mac.queue.");
queueing::PacketQueue *queue = check_and_cast<queueing::PacketQueue*>(mod);
int c = queue->getNumPackets();
Итак, мой вопрос таков: это правильный способ создать очередь в маршрутизаторе, связанном с другими узлами с помощью Ethernet-соединения? Я сомневаюсь, что, возможно, пакеты не проходят через указанный интерфейс, т.е. я установил параметры ini для неправильной очереди.