Этот код остановит моделирование, когда один узел (независимо от того, какой именно) напечатает 'ok'.
WAIT_UNTIL(msg.equals('ok'));
log.testOK();
Этот код означает, что узел 1 напечатает 'ok', а затем остановится.
WAIT_UNTIL(id == 1 && msg.equals("ok"));
log.testOK();
Я хочу остановить симуляцию, когда все узлы уже выводят «ok», то есть после каждого узла выводит «ok» хотя бы один раз.Я попробовал некоторые коды, но это не сработало.
Не работает (каждый узел уже печатает нормально, не останавливается) код (предположим, у меня есть 10 узлов):
var test = 0;
for (var i=1;i<11;i++)
{
if (id == i && msg.equals("ok")){
test = test+1;
}
}
WAIT_UNTIL(test == 10);
log.testOK();
Не работает (каждый узел уже печатает нормально, не останавливается) либо:
WAIT_UNTIL((id == 1 && msg.equals("ok"))&&(id == 2 && msg.equals("ok")....(id == 10 && msg.qeuals("ok"));
log.testOK();
Есть предложения?Заранее большое спасибо.Лучше, если мне не нужно указывать общее количество узлов в скрипте.