отброшенный пакет отображается в файле .cc, но не включается в файл трассировки NS-2

Я запускаю скрипт с узкой очередью (Queue/LTEQueue/DLAirQueue, которая имеет два указателя объекта на очередь DropTail). Отброшенный пакет отображается при использовании этого файла очереди (проверка с помощью printf, let, drop packet=8000), но не включен в файл трассировки (.tr)(отсутствует 'd') .

1. $ns simplex-link $eNB $UE($i) 10Mb 2ms DropTail 
2. $ns simplex-link $eNB $UE($i) 10Mb 2ms LTEQueue/DLAirQueue 

Если используется 1, то работает [drop_->recv(p);]; пакеты отбрасываются как обычно, что также отображается в файле трассировки. Но если используется 2, то [Packet::free(p);] работает; Никаких падений, как и в файле трассировки.

Может ли кто-нибудь помочь в этом вопросе тем, кто использует модель LTE в NS 2.35?

/common/connector.cc

void Connector::drop(Packet* p)
{
if (drop_ != 0)
drop_->recv(p);
else
Packet::free(p);
}

person Munjure Mowla    schedule 31.10.2015    source источник


Ответы (1)



? Вы скомпилировали новую функцию в новый исполняемый файл 'ns'?

(файлы.cc не используются во время "ns runtime").

Кроме того, ns2 является приложением tcl/otcl, и вам придется выяснить, нужно ли добавлять новую функцию в tcl/lib/{ [files].tcl } .... ( Изменения в tcl/lib/* должны также быть скомпилировано в новый 'ns'.)


ns2

person Knud Larsen    schedule 31.10.2015
comment
@Kund: я создаю новую очередь, в которой используется очередь droptail. Я перекомпилирую и создаю новый исполняемый файл ns. При запуске droptail он показывает «d», но не показывает «d» при запуске моей очереди. Почему?? Я не понимаю. - person Munjure Mowla; 01.11.2015