尝试解决NS3报错【aodv-routing-protocol报错】

博客内容讲述了在替换NS3中的aodv模块后遇到TxErrHeader报错的问题。作者分析了错误原因,发现TxErrHeader已被弃用,需要更新traceSource。解决方案包括修改源码中的trace source名称,添加新的trace sink函数,并调整头文件。通过这些修改,成功解决了报错并使新的aodv模块正常工作。
摘要由CSDN通过智能技术生成

报错:替换了原先的aodv模块后,只要运行和aodv模块有关的代码就会出现如下错误。
在这里插入图片描述
分析:TxErrHeader被弃用,需要使用新的traceSource,例如NAckedMpdu trace和DroppedMpdu trace。
**解决方案:**将trace source的名字对应修改掉
解决思路:
1.找出现有aodv中和Tx traceSource有关的地方
一共有三处

.AddTraceSource ("Tx", "A new routing protocol packet is created and is sent", // trace
                     MakeTraceSourceAccessor (&RoutingProtocol::m_txTrace),
                     "ns3::Packet::TracedCallback")

AddTraceSource提供了用于连接到trace source 的钩子,可以使用Config系统连接到“外部世界”。
第一个参数是trace source 的名字,使其在Config系统中可见。
第二个参数是用于解释的帮助字符串。
第三个参数中的&RoutingProtocol::m_txTrace指明了一个被增加到该类中变量m_txTrace,它成为这个类的一个数据成员。
第四个参数表示TraceValue类型的typedef名称,它为正确的回调函数签名生成文档。

mac-
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值