Omnet++ omnet-Inet-哪个因素决定了节点的传输顺序

Omnet++ omnet-Inet-哪个因素决定了节点的传输顺序,omnet++,transmission,inet,Omnet++,Transmission,Inet,我有一个关于传输顺序的一般性问题。在INET->exapmles->manetrouting->dynamicondecreation中,它如何决定哪个节点应该启动信标传输。以及如何选择下一个节点进行传输 我试图通过tic-toc示例,其中initialize函数中的getIndex()用于选择传输节点(例如txc10.cc)。但我还没有在INET示例中找到这样的功能 有一种方法,我可以选择信标传输的相应节点作为Bi信标占用映射向量?< /P> 有一种方法,在这个方法中,我可以选择信标传输的节点

我有一个关于传输顺序的一般性问题。在INET->exapmles->manetrouting->dynamicondecreation中,它如何决定哪个节点应该启动信标传输。以及如何选择下一个节点进行传输

我试图通过tic-toc示例,其中initialize函数中的getIndex()用于选择传输节点(例如txc10.cc)。但我还没有在INET示例中找到这样的功能

有一种方法,我可以选择信标传输的相应节点作为Bi信标占用映射向量?< /P>

有一种方法,在这个方法中,我可以选择信标传输的节点,作为信标占用映射向量。


我请求你原谅我对这个问题不全面

我将以INET->examples->manetrouting->dynamicondecreation为例来回答我的问题。当我在omnet中运行此示例时,初始化(在运行时)后的第一个事件是fixhost的“beaconTimer”(在我的示例中是meshtest.fixhost2[4].wlan[0].magmt),因此基本上它从mgmt子模块开始。(如果您在运行时检查任何单个节点的层次结构,它将是:-Delayunit->wlan0,在wlan0中再次检查其管理->mac->radio。管理代码写在inet->source->linklayer->ieee80211->mgmt->ieee80211gmtap.cc中

现在在这个类的initialize函数中,有一个代码行
scheduleAt(simTime()+uniform(0,beacinterval),beaconTimer)
。此处,uniform是Omnet定义的统一分布函数,它给出一个随机值,beaconInterval是下一个超级帧开始的时间,beaconTimer是一条消息。此函数为所有节点(分别由其自己的管理模块)发送信标安排一个随机时间。因此,通过此统一函数获得最低值的设备将开始信标发送。其他设备应相应地进行发送


现在,如果我想以预定的方式发送信标,那么我将在提供scheduleAt()的同一模块中更改handleTimer函数功能用于下一个事件。

我刚刚发现,在INET框架中,大多数下一个通信机会是在退避计时器变为-1时授予的。该功能在mac.cc文件中实现。因此,一旦一个节点完成信标传输,所有其他节点接收到数据或噪声,所有节点都会通过mac启动一个随机退避计时器。抄送,然后是赢家(谁最早得到-1个计数器)亲爱的彼得,如果你认为你的评论是正确的,或者在你的问题的结尾加上评论作为补充,或者使用这个选项来回答你自己的问题。Hi @ USER 47 8627 1,我想说的是关于Mac Mod的随机退避过程。但是我实现了一个全新的评价。在mac层上设计一个新模块,在安装阶段,我使用了如下内容:-
scheduleAt(simTime()+uniform(0,beacinterval),beaconTimer)
。这里的uniform是Omnet定义的统一分布函数,它给出一个随机值,beaconInterval是下一个超帧开始的时间,beaconTimer是一条计时器消息。为什么不添加此解释作为此问题的答案?