我对传输顺序有一般性的疑问。在INET - > exapmles-> manetrouting-> dynamicNodeCreation中,它如何决定哪个节点应该启动信标传输。以及如何选择下一个节点进行传输。
我试图通过tic-toc示例,其中初始化函数中的getIndex()用于选择发送节点(例如txc10.cc)。但我还没有在INET示例中找到这样的功能。
有没有办法,我可以选择相应的信标传输节点作为我的信标占用地图矢量?
有没有办法,我可以选择信标传输的相应节点作为我的信标占用地图矢量。
我请求原谅因为不能全面解决这个问题。
答案 0 :(得分:0)
我将以INET - > examples-> manetrouting-> dynamicNodeCreation为例来回答我的问题。当我在omnet中运行这个例子时,初始化之后的第一个事件(在运行时)是' beaconTimer'对于一个fixhost(在我的例子中是meshtest.fixhost2 [4] .wlan [0] .magmt)所以基本上它从mgmt子模块开始。 (如果在运行时检查任何单个节点的层次结构,它将是: - Delayunit - > wlan0和wlan0中的mgmt-> mac-> radio。mgmt的代码用inet-> source来编写 - > linklayer-> ieee80211-> mgmt-> Ieee80211MgmtAP.cc
现在在这个类的initialize函数中,有一个代码行scheduleAt(simTime()+uniform(0,beaconInterval) , beaconTimer)
。这里uniform是Omnet定义的均匀分布函数并给出一个随机值,beaconInterval是下一个超帧开始的时间,beaconTimer是一个消息。该功能调度用于发送所有节点的信标的随机时间(分别通过它们自己的mgmt模块)。因此,无论哪个设备通过此统一功能获得最低值,都将启动信标发送。其他设备应该遵循相应的。
现在,如果我想以预先安排的方式发送信标,那么我将在同一模块中更改handleTimer函数,因为它为下一个事件提供了scheduleAt()函数。