【问题标题】:Not all timers are executing并非所有计时器都在执行
【发布时间】:2020-12-21 14:31:46
【问题描述】:

在我的 OMNeT++ 5.5.1 网络中,我有两个节点(node[0] 和 node[1]),它们使用以下代码设置计时器。 node[0] 和 node[1] 设置的定时器大部分时间都会被触发,但是有一段时间,node[0] 设置的定时器应该被触发,但它没有被触发。我确保 node[1] 没有与 node[0] 同时设置计时器,但计时器仍然没有触发。

代码如下:

MyWaitTimerMessage *myTimer = new MyWaitTimerMessage();
myTimer->setNodeId(myId);
double interval = 40.0 // In actual, the interval is calculating based on some criteria
scheduleAt(simTime() + interval, myTimer);

有谁知道它背后的问题是什么?以及哪些因素会导致定时器不触发?

另外,有没有办法在 OMNeT++ 中列出所有计划的计时器,以便我可以检查它是否存在于计时器的全局列表中?

此外,计时器之间是否可能发生冲突(实际上我已经确保所有计时器都安排在不同的时间,至少有几毫秒的差异)。

提前谢谢你。 亚西尔

【问题讨论】:

    标签: timer omnet++


    【解决方案1】:

    这个问题已经在 OMNeT++ google group 的帮助下解决了。

    实际上,我的网络中的节点是移动的,因此计时器未调用的节点[0]实际上由于移动性而离开了网络。由于它不再在网络中,因此它的计时器没有调用。

    以下是我的问题的 OMNeT++ 谷歌组链接,它帮助我解决了这个问题:

    https://groups.google.com/g/omnetpp/c/jQFuyhLsoVk

    最好的问候,

    亚西尔

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-29
      • 2020-05-25
      • 1970-01-01
      • 2021-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多