1

我正在运行一个存在瓶颈队列的脚本(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);] 有效;没有丢弃以及在跟踪文件中。

任何人都可以在这个问题上帮助那些在 NS 2.35 中使用 LTE 模型的人吗?

/common/connector.cc

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

1 回答 1

0

? 您是否将新函数编译为新的可执行文件“ns”?

(“ns 运行时”不使用 files.cc)。

除此之外,ns2 是一个 tcl/otcl 应用程序,您必须调查是否还必须将新函数添加到 tcl/lib/{ [files].tcl } .... ( tcl/lib/* 中的更改必须也被编译成新的'ns'。)


于 2015-10-31T16:25:56.653 回答