traverseLevel method

int traverseLevel(
  1. int iterations,
  2. State state
)

Implementation

int traverseLevel(int iterations, State state) {
  var queue = state.queue;
  var levelQueue = queue.drain();
  while (levelQueue.length() != 0) {
    iterations++;
    NodeOutput item = levelQueue.shift();
    traverseItem(item, state, levelQueue);
    if (iterations > MaxIterations) {
      throw "max iterations reached";
    }
  }
  return iterations;
}