omnet - Inet - какой фактор решает последовательность передачи узлов

У меня есть общий вопрос относительно последовательности передачи. В INET ->exapmles->manetrouting->dynamicNodeCreation, как он решает, какой узел должен инициировать передачу маяка. И как следующий узел будет выбран для передачи.

Я попытался пройти пример tic-toc, где getIndex() в функции initialize используется для выбора передающего узла (например, txc10.cc). Но я не понял такой функциональности в примерах INET.

Есть ли способ, которым я могу выбрать соответствующий узел для передачи маяка в качестве моего вектора карты занятости маяка?

Есть ли способ, с помощью которого я могу выбрать соответствующий узел для передачи маяка в качестве моего вектора карты занятости маяка.

Я прошу у вас прощения за то, что вы не исчерпали эту проблему.

1 ответ

Я возьму пример 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

Теперь в функции инициализации для этого класса есть строка кода scheduleAt(simTime()+uniform(0,beaconInterval) , beaconTimer), Здесь Равномерное - это функция равномерного распределения, определяемая Omnet, и дает случайное значение, beaconInterval - время, после которого начинается следующий суперкадр, а beaconTimer - сообщение. Эта функция планирует случайное время для отправки маяков для всех узлов (соответственно их собственным модулем mgmt). Поэтому, какое бы устройство не получило наименьшее значение с помощью этой единой функции, начнется отправка маяка. Другие устройства должны следовать соответственно.

Теперь, если я хочу отправлять маяки заранее запланированным образом, я бы изменил функцию handleTimer в том же модуле, который предоставляет функцию scheduleAt() для следующего события.

Другие вопросы по тегам